Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Delphi.doc
Скачиваний:
67
Добавлен:
28.03.2015
Размер:
1.23 Mб
Скачать

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

  1. Опишите синтаксис оператора IF.

  2. Как работает оператор IF?

Лабораторная работа №4. Оператор ветвления case

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

case <переключатель> of

<список №1 значений переключателя>: <оператор 1>;

<список №2 значений переключателя>: <оператор 2>;

...

<список №N значений переключателя>: <оператор N>;

else <оператор N+1>

end;

Оператор case вычисляет значение переключателя (который может быть задан выражением), затем последовательно просматривает списки его допустимых значений в поисках вычисленного значения и, если это значение найдено, выполняет соответствующий ему оператор. Если переключатель не попадает ни в один из списков, выполняется оператор, стоящий за словом else. Если часть else отсутствует, управление передается следующему за словом end оператору.

Переключатель должен принадлежать порядковому типу данных. Использовать вещественные и строковые типы в качестве переключателя не допускается.

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

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

Day: 1..31;

begin

Readln(Day);

case Day of

20..31: Writeln('День попадает в диапазон 20 - 31.');

1, 5..10: Writeln('День попадает в диапазон 1, 5 - 10.');

else Writeln('День не попадает в заданные диапазоны.');

end;

Writeln('Press Enter to exit...');

Readln;

end.

Если значения переключателя записаны в возрастающем порядке, то поиск требуемого оператора выполняется значительно быстрее, так как в этом случае компилятор строит оптимизированный код. Учитывая сказанное, перепишем предыдущий пример:

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

Day: 1..31;

begin

Readln(Day);

case Day of

1, 5..10: Writeln('День попадает в диапазон 1, 5 - 10.');

20..31: Writeln('День попадает в диапазон 20 - 31.');

else Writeln('День не попадает в заданные диапазоны.');

end;

Writeln('Press Enter to exit...');

Readln;

end.

Задачи по лабораторной работе №4

№ Задачи

Вариант №1

3

7

9

Вариант №2

4

8

10

Вариант №3

1

5

9

Вариант №4

2

6

10

Задача 1.

По введенному номеру дня недели вывести его словесное наименование. Например, 1 - понедельник.

Задача 2.

По введенному номеру месяца вывести его словесное наименование. Например, 1 - январь.

Задача 3.

Написать программу, позволяющую получить словесное наименование школьных оценок. Например, 1 - очень плохо.

Задача 4.

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

Задача 5.

По введенному номеру музыкальной ноты вывести ее словесное наименование. Например, 3 - ми.

Задача 6.

По введенному номеру дня недели вывести количество часов занятий в вашей группе.

Задача 7.

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

X и Y в зависимости от номера координатной четверти.

Задача 8.

Чтобы определить на какую цифру оканчивается квадрат целого числа, достаточно знать последнюю цифру самого числа. Написать программу, которая по одной из цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 - последней цифре числа N - находит последнюю цифру квадрата этого числа.

Задача 9.

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

Задача 10.

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

знак операции, операнд1, операнд2,

где знак операции – 1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление,

операнды - числа, над которыми выполняются действия. Например, при вводе 3, 4, 5 результат - 20.