Lab_rab_Pascal_OZO / Lab_05_Оператор_варианта
.docЛабораторная работа № 5.
Оператор варианта.
Цель: изучение и приобретение навыками использования оператора варианта (выбора) и получение дальнейших навыков по отладке и тестированию программ.
Оборудование и программное обеспечение: компьютер, Turbo Pascal 7.0.
Место проведения:
Время:
Теоретические сведения:
Управляющая конструкция "выбор" является идеальным средством для обработки ситуаций с многими (более чем двумя) исходами, т.е. в случае, когда условие может принимать более двух значений. Оператор "выбор" имеет следующую структуру:
case <ключ выбора> of
<значение 1>: <оператор 1>;
<значение 2>: <оператор 2>;
. . .
<значение N>: <оператор N>;
[else <оператор N+1>];
end;
где < ключ выбора > - порядковая переменная значение, которой проверяется;
<значение> - константы, с которыми сравнивается значение порядковой переменной;
<оператор> - простой или составной операторы.
Если для нескольких констант нужно выполнять один и тот же оператор, их можно перечислить через запятую сопроводив их одним оператором. Существует возможность указать диапазон возможных значений.
CASE i OF
0, 2, 4, 6, 8: Writeln('Чётная цифра');
1, 3, 5, 7, 9: Writeln('Нечётная цифра');
10 .. 100: Writeln('Число от 10 до 100');
ELSE
Writeln('Отрицательное число или больше 100');
END;
Пример 1: Составить программу, которая анализирует человека по возрасту и относит к одной из четырех групп: дошкольник, ученик, работник, пенсионер, долгожитель.
Program Primer;
Uses CRT;
Var vozr:Integer;
Begin
ClrScr;
Writeln('Какой возраст человека ?');
Readln(vozr);
Case vozr Of
1..6 : Writeln('Это - дошкольник !');
7..17 : Writeln('Это - ученик !');
18..60 : Writeln('Это - работник !');
60..100 : Writeln('Это - пенсионер !');
End;
Readln;
End.
Порядок выполнения работы:
Задание:
Создать и отладить программу для решения следующей задачи (см. Приложение).
Содержание отчета по каждому заданию:
-
исходные данные (условие задачи);
-
алгоритм (блок-схема) решения задачи;
-
текст программы (или основной фрагмент программы);
-
результаты выполнения программы
-
тестовый вариант в форме с фиксированной точкой.
Контрольные вопросы:
-
Что понимают под алгоритмом выбора?
-
Как обозначается конструкция «выбор» в блок-схемах?
-
Какие операторы выбора существуют в языке Turbo Pascal?
-
Какую структуру имеет оператор CASE?
-
Какие различия между обычной и расширенной формой оператора CASE?
-
Как работает оператор выбора CASE?
Приложение: (ваш номер по журналу соответствует номеру варианта)
-
Написать программу, которая бы по введённому номеру времени года (1-зима, 2-весна, 3-лето, 4-осень) выдавала соответствующие этому времени года месяцы, количество дней в каждом из месяцев.
-
Написать программу, которая бы по введённому номеру единицы измерения (1-децеметр, 2-километр, 3-метр, 4-миллиметр, 5-сантиметр) и длине отрезка L выдавала бы соответствующее значение длины отрезка в метрах.
-
Написать программу, которая по данному натуральному числу от 1 до 12 (номеру месяца) выдаёт все приходящиеся на этот месяц праздничные дни (например, если введено число 1, то: 1 января - Новый год, 7 января - Рождество).
-
Составить программу, позволяющую получить словесное описание школьных отметок (1-плохо, 2-неудовлетворительно, 3-удоволетворительно, 4-хорошо, 5-отлично).
-
Имеется пронумерованный список деталей 1) шуруп 2) винт 3) гвоздь 4) гайка 5) болт. Написать программу, которая по номеру детали выводит на экран её название.
-
Написать программу, которая бы по введённому номеру единицы измерения (1-миллиграм, 2-грамм, 3-килограмм, , 4-центнер, 5-тонна) и масса M выводит соответствующее значение массы в килограммах.
-
Написать программу, которая по номеру месяца выдавала название следующего за ним месяца (при m=1 получаем февраль, 4-май).
-
Написать программу, которая выдавала бы на экран словесное представление числа в диапазоне от 0 до 9 (0-нуль, 1-единица и т.д.).
-
Составить программу, которая по введённому пользователем номеру дня недели выводит на экран его название.
-
Составить программу, которая при вводе одного из символов: y или Y выводит на экран слово “Да”, а при вводе n или N – слово “Нет”.
-
Введите время (только часы). Напечатайте соответствующее этому времени сообщение: "Доброе утро", "Добрый день", "Добрый вечер", "Доброй ночи".
-
Введите количество посадочных мест. Напечатайте соответствующий этому количеству вид транспорта: "велосипед", "мотоцикл", "легковой автомобиль", "микроавтобус", "автобус".
-
Составить программу, которая выводит сообщение о своих возможностях. Введите номер необходимой операции: 1 - сумма; 2 - разность; 3 - произведение; 4 – частное.
-
Составить программу, которая выводит сообщение о своих возможностях. Введите номер необходимой функции: 1 - квадрат; 2 - корень квадратный; 3 - синус; 4 – косинус.
-
Напишите программу для вычисления степени введённого с клавиатуры числа. Степень в диапазоне 0 .. 9.