Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab_rab_Pascal_OZO / Lab_05_Оператор_варианта

.doc
Скачиваний:
24
Добавлен:
21.03.2015
Размер:
42.5 Кб
Скачать

Лабораторная работа № 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.

Порядок выполнения работы:

Задание:

Создать и отладить программу для решения следующей задачи (см. Приложение).

Содержание отчета по каждому заданию:

  • исходные данные (условие задачи);

  • алгоритм (блок-схема) решения задачи;

  • текст программы (или основной фрагмент программы);

  • результаты выполнения программы

  • тестовый вариант в форме с фиксированной точкой.

Контрольные вопросы:

  1. Что понимают под алгоритмом выбора?

  2. Как обозначается конструкция «выбор» в блок-схемах?

  3. Какие операторы выбора существуют в языке Turbo Pascal?

  4. Какую структуру имеет оператор CASE?

  5. Какие различия между обычной и расширенной формой оператора CASE?

  6. Как работает оператор выбора CASE?

Приложение: (ваш номер по журналу соответствует номеру варианта)

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

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

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

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

  5. Имеется пронумерованный список деталей 1) шуруп 2) винт 3) гвоздь 4) гайка 5) болт. Написать программу, которая по номеру детали выводит на экран её название.

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

  7. Написать программу, которая по номеру месяца выдавала название следующего за ним месяца (при m=1 получаем февраль, 4-май).

  8. Написать программу, которая выдавала бы на экран словесное представление числа в диапазоне от 0 до 9 (0-нуль, 1-единица и т.д.).

  9. Составить программу, которая по введённому пользователем номеру дня недели выводит на экран его название.

  10. Составить программу, которая при вводе одного из символов: y или Y выводит на экран слово “Да”, а при вводе n или N – слово “Нет”.

  11. Введите время (только часы). Напечатайте соответствующее этому времени сообщение: "Доброе утро", "Добрый день", "Добрый вечер", "Доброй ночи".

  12. Введите количество посадочных мест. Напечатайте соответствующий этому количеству вид транспорта: "велосипед", "мотоцикл", "легковой автомобиль", "микроавтобус", "автобус".

  13. Составить программу, которая выводит сообщение о своих возможностях. Введите номер необходимой операции: 1 - сумма; 2 - разность; 3 - произведение; 4 – частное.

  14. Составить программу, которая выводит сообщение о своих возможностях. Введите номер необходимой функции: 1 - квадрат; 2 - корень квадратный; 3 - синус; 4 – косинус.

  15. Напишите программу для вычисления степени введённого с клавиатуры числа. Степень в диапазоне 0 .. 9.