Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_k_labam_po_informatike11.doc
Скачиваний:
5
Добавлен:
11.09.2019
Размер:
218.62 Кб
Скачать

Лабораторная работа № 3 Оператор варианта

Цель работы. Знакомство с работой оператора варианта (оператора выбора) caseofend.

Краткая теория. Для ситуаций, где имеется несколько (три и более) альтернатив, больше подходит оператор варианта, предназначенный для замены конструкций из вложенных операторов Ifthen. Общий вид оператора выглядит следующим образом:

Рассмотрим элементы этой конструкции. Во-первых, это зарезервированные слова: case, of, else и end. Между словами case и of находится выражение, принимающее значение, которое, возможно, имеется в одном из списков значений, находящихся слева от двоеточий. Данное выражение называется селектором оператора case. Выполнение оператора выбора начинается с вычисления этого выражения. Если результат вычисления равен одной из перечисленных ниже констант, то выполняется соответствующий оператор. Затем управление передается за пределы оператора выбора. Если значение выражения не совпадает ни с одной константой, то выполняется оператор стоящий после else (если эта ветвь присутствует), либо выполняется следующий за case оператор.

Примечание.

1. В списках значений оператора case допустимыми являются типы переменных, называемые скалярными, включая целые и исключая вещественные типы.

2. Тип константы должен совпадать с типом выражения.

3. Ветвь else заключена в квадратные скобки, т.к. эта часть оператора выбора необязательна.

4. В этой конструкции перед else стоит точка с запятой.

5. В качестве оператора может быть и составной оператор.

Пример. Необходимо преобразовать целое число N в зависимости от величины остатка от его деления на 17 следующим образом:

если N mod 17 =0, то N:=0;

если N mod 17 =1 или 6, то N:=-N;

если N mod 17 =2,3 или 5, то N:=2N;

если N mod 17 =4, то N:=3N;

во всех прочих случаях N:=5N.

Program Primer4;

var n: integer;

begin

writeln (‘Введите целое число’)’

readln (n);

case n mod 17 of

0 : n:=0;

1,6 : n:=-n;

2,3,5 : n:=2*n;

4 : n:=3*n;

else n:=5*n;

end;

writeln (‘В результате преобразований n=’,n:3);

readln;

end.

В данном примере селектором является выражение n mod 17. Кроме этого, имеются 4 списка значений и ветвь else. Константы в этом случае перечисляются через запятую, но допускается использование диапазона значений (например, 3..6).

Решение задач.

  1. Составить программу, определяющую к какой группе принадлежит введенный символ (английские буквы, русские буквы, цифры, спец. символы).

  2. Написать программу, которая по заданной дате определяет время года. Программа должна проверять корректность введенной даты.

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

  4. Дано неотрицательное число k, не превышающее 10 000. Напечатать фразу «прилетело k ворон», учитывая изменение окончания.

  5. Даны натуральные числа, обозначающие число, месяц и год. Используя «вечный календарь» определить день недели, на который падает указанная дата.

  6. Составить программу, определяющую принадлежит введенный символ английскому алфавиту, и если принадлежит, то гласной или согласной буквой он является.

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

  8. Вычислить значение функции у= , где х - принадлежит интервалу (-100,100).

  9. Даны целые числа х, у. Если сумма х и у отрицательна, то каждое значение заменить его модулем; если неотрицательна, то оба значения увеличить на 5; если сумма принадлежит отрезку [5, 20], то оба значения уменьшить в 10 раз; в остальных случаях х и у оставить без изменения.

  10. Даны целые числа a,b,c,d. Если их произведение равно цифре большей 100, то каждое число уменьшить в 10 раз; если произведение меньше 10, то числа оставить без изменения; в противном случае все числа заменяются их квадратами.

  11. Дана последовательность из 5 символов. Подсчитать сколько раз в ней встречаются знаки арифметических операций (+, -, *, /).

  12. Дана последовательность из 5 символов. Преобразовать ее, заменив в ней: все восклицательные знаки вопросительными, все двоеточия точками; все запятые точками с запятой, в остальных случаях заменить символы на звездочки.

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

  14. Вычислить значение, если

  15. Вычислить значение, если

  16. Вычислить значение, если

  17. Дано натуральное число n, не превышающее 100, которое определяет возраст человека (в годах). Дать для этого числа наименования «год», «года», «лет».

  18. Используя следующие денежные единицы – 1 рубль, 2 рубля, 5 рублей, 10 рублей разменять некоторую денежную единицу монетами одного наименования. Если это невозможно сделать, то написать «не могу разменять вашу купюру».

  19. Дано натуральное число n, не превышающее 100, которое определяет возраст человека. Дать для этого числа определение возрастной категории человека (младенчество, детство, отрочество, юность, молодость, зрелость, старость).

  20. В соответствии с доходом человека и прожиточным минимумом определить социальную группу (за чертой бедности, малообеспеченные граждане, среднего достатка, превышающие средний уровень, олигархи).

  21. Дано положительное число х, обозначающее количество денег. Записать фразу «я сегодня могу потратить х рублей», учитывая окончания.

  22. Определить успеваемость ученика младших классов по 6 основным предметам (двоечник, троечник, хорошист, отличник).

23-24. Для функций, представленных на графиках вычислить у(х).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]