Лабораторный практикум по программированию на языке Pascal. Суркова Е.В. - 14 стр.

UptoLike

Составители: 

13
begin
writeln;
writeln(’ АвторИванов И.П., студент гр. ИСЭд-11’);
writeln(’ Вариант 100’);
writeln(’Программа вводит целое число от 1 до 10 и приписывает
окончание к слову ученик’);
writeln;
После вывода информации приступаем к вводу исходных данных, т. е.
нужно вывести подсказку пользователю и ввести число учеников.
write('Число учеников --> '); readln(n);
Далее программа должна вывести на экран введенное число, слово «уче-
ник» и с помощью оператора выбора определить и вывести окончание этого
слова.
write(n,' ученик');
case n of
2..4: write('а');
5..10: write('ов');
end;
Заметим, что нулевое окончание не требует дополнительного вывода, по-
этому если пользователь введет число 1, программа выведет слово «ученик», и
не выберет никакой из вариантов оператора
case.
Но представим ситуацию, если пользователь вводит число, выходящие за
границы диапазона от 1 до 10, например, 12. В этом случае программа выдаст
некорректный результат. Так как значение 12 не подходит ни под какой вариант
оператора выбора, то слово «ученик» будет написано с нулевым окончанием
(как в случае со значением 1). На экране появится текст «
12 ученик», хотя
должно быть «
12 учеников».
Для устранения этой «слабости» программы добавим проверку введенного
пользователем числа, и если это число входит в допустимый диапазон, тогда
нужно будет выполнить предыдущий фрагмент, в противном случаевыдать
сообщение об ошибке.
if (n>=1) and (n<=10) then
begin
write(n,' ученик');
case n of
2..4: write('а');
5..10: write('ов');
end;
end
else
writeln(' ошибка ввода!');
В данном случае условный оператор содержит, во-первых, сложное усло-
вие, составленное из двух условных выражений с помощью логической связки