Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 13.11.2019
Сообщений: 102

Ошибка в программе:написать программу, которая бы по введенному числу от 1 до 4 (номеру курса)

10.10.2021, 06:02. Показов 1028. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Правильно работает если ввожу только первый курс, если ввожу 2-4 то постоянно выдаёт 'Проверь ещё раз правильность введённого курса'
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program one;
  var k:integer;
begin
  write ('Введите на каком вы курсе (1-4)');
  readln(k);
  
    if (k) =  1 then begin
     write('Привет первокурсник');
     if (k) =  2 then 
     write('Привет второкурсник');
     if (k) =  3 then 
     write('Привет третьекурсник');
     if (k) =  4 then 
     write('Привет четверокурсник');
     end
 else 
  write('Проверь ещё раз правильность введённого курса');
  end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.10.2021, 06:02
Ответы с готовыми решениями:

написать программу, которая бы по введенному номеру единицы измерения
написать программу, которая бы по введенному номеру единицы измерения ( 1- микрометр, 2-миллиметр, 3- метр, 4- дециметр, 5- километр) и...

Написать программу, которая по введенному номеру выводит фамилию студента
)Написать программу, которая по введенному номеру выводит фамилию студента вашей подгруппы

Написать программу, которая бы печатала название дня недели по введенному номеру
Написать программу, которая бы печатала название дня недели по введенному номеру.

1
Модератор
10445 / 5737 / 3406
Регистрация: 17.08.2012
Сообщений: 17,450
10.10.2021, 18:47
Лучший ответ Сообщение было отмечено S3X как решение

Решение

Вопрос пишите в теме, а не в заголовке темы. Заголовок темы должен кратко отражать суть вопроса темы.

Алгоритмическая ошибка: из-за условия в строке 7, составной оператор (строки 7..15) будет выполнен только тогда, когда k = 1, и будет напечатано только сообщение из строки 8, все остальные сообщения печататься не будут. Почему? Ну так, k = 1. При k <> 1 будет напечатано сообщение из строки 17.

Исправить можно так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  k: integer;
begin
  write('Введите, на каком вы курсе (1-4): ');
  readln(k);
  if k in [1..4] then
    begin
      if k = 1 then writeln('Привет, первокурсник');
      if k = 2 then writeln('Привет, второкурсник');
      if k = 3 then writeln('Привет, третьекурсник');
      if k = 4 then writeln('Привет, четверокурсник')
    end
  else writeln('Проверь ещё раз правильность введённого курса');
end.
Но лучше применить составной условный оператор:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  k: integer;
begin
  write('Введите, на каком вы курсе (1-4): ');
  readln(k);
  if k = 1 then writeln('Привет, первокурсник')
  else
    if k = 2 then writeln('Привет, второкурсник')
    else
      if k = 3 then writeln('Привет, третьекурсник')
      else
        if k = 4 then writeln('Привет, четверокурсник')
        else writeln('Проверь ещё раз правильность введённого курса');
end.
Ещё лучше это сделать через оператор выбора:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  k: integer;
begin
  write('Введите, на каком вы курсе (1-4): ');
  readln(k);
  case k of
    1: writeln('Привет, первокурсник');
    2: writeln('Привет, второкурсник');
    3: writeln('Привет, третьекурсник');
    4: writeln('Привет, четверокурсник')
    else writeln('Проверь ещё раз правильность введённого курса')
  end
end.
Ещё можно применить константный массив строк:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const
  m: array[1..4] of string = (
    'Привет, первокурсник',
    'Привет, второкурсник',
    'Привет, третьекурсник',
    'Привет, четверокурсник');
var
  k: integer;
begin
  write('Введите, на каком вы курсе (1-4): ');
  readln(k);
  if k in [1..4] then writeln(m[k]) 
  else writeln('Проверь ещё раз правильность введённого курса')
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2021, 18:47
Помогаю со студенческими работами здесь

Написать программу, которая по введенному номеру месяца выводит время года
data segment mes1 db 10, 13, 'January$' mes1_e db 10, 13, 'Neverno$' mes2 db 10, 13, 'February$' mes3 db 10, 13, 'March$' ...

Написать программу, которая по введенному номеру выводит фамилию студента вашей подгруппы
1)Определить, верно ли, что при делении неотрицательного целого числа а на положительное число b получается остаток, равный одному из...

Написать программу,которая по введенному четырехзначному числу выводит сумму его цифр
Написать программу,которая по введенному четырехзначному числу выводит сумму его цифр.

Написать программу, которая по введенному номеру выдает все приходящиеся на этот месяц празднечные дни
Написать программу, которая по введенному числу от 1 до 12 (номеру месяца) выдает все приходящиеся на этот месяц праздничные дни...

Написать программу, которая бы по введённому номеру единицы измерения выводит соответствующее значение массы в килограммах.
Написать программу, которая бы по введённому номеру единицы измерения (1-миллиграм, 2-грамм, 3-килограмм, , 4-центнер, 5-тонна) и масса M ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru