Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 3 Pascal, лр1-9.doc
Скачиваний:
56
Добавлен:
22.05.2015
Размер:
654.85 Кб
Скачать

2 Оператор варианта case

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

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

Формат оператора Case:

case <селектор> of

<константа_выбора1>: <оператор1>;

<константа_выбора2>: <оператор2>;

...

<константа_выбораN>: <операторN>;

[else <оператор>]

end;

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

Пример 5:

case Ch of

‘A’..’Z’: WriteLn(‘Латинский алфавит’);

‘А’..’Я’: WriteLn(‘Русский алфавит’);

end;

В случае, когда переменная Ch является одной из A…Z, то на печать выводится "Латинский алфавит", а когда Ch является одной из A…Я, то на печать выводится "Русский алфавит".

Пример 6:

case I of

0, 2, 4, 6, 8: Writeln('Четная цифра');

1, 3, 5, 7, 9: Writeln('Нечетная цифра');

else

Writeln('Цифра не принадлежит диапазону 0..9!');

end;

Если переменная I равна 0, 2, 4, 6, 8, то выводится текст "Чётная цифра", если переменная I равна 1,3,5,7,9, то выводится текст "Нечётная цифра"

Примечание. Во всех примерах оператор end; означает завершение данного блока операторов, а не всей программы. Конец программы Pascal записывается оператором end. (end с точкой).

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

1 Назначение условного оператора и оператора варианта.

2 Формат и действие оператора IF.

3 Формат и действие оператора Case.

4 Задание

4.1 Задание по условному оператору

вар

Задание

1

2

1

1.1 Составить алгоритм и программу нахождения корней уравнения ax2+bx+c=0. Предусмотреть варианты двух, одного корня, а также, когда действительных корней нет.

1.2 Вычислить y=max{a,b,min{c,d}}, a, b, c, d – числа.

2

2.1 Составить алгоритм и программу вычисления функции y0 (x,y- даны)

2.2 Вычислить (x вводится с клавиатуры).

3

3.1 Составить алгоритм и программу вычисления функции (х вводится)

3.2 Вычислить: y=min{max{a,b},c}, a, b, c, d – даны.

4

4.1 Составить алгоритм и программу вычисления функции, x вводится с клавиатуры.

4.2 Вычислить:

(а,b,c,d – вводятся)

5

5.1 Составить алгоритм и программу вычисления функции, x, a, b, c – вводится с клавиатуры.

5.2 Вычислить y=min{a,b,c}+max{d,f}, где a, b, c, d, f – даны

6

6.1 Составить алгоритм и программу вычисления функции, x – вводится с клавиатуры.

6.2 Вычислить: (a, b, c, d – вводятся с клавиатуры)

7

7.1 Составить алгоритм и программу вычисления функции, x, y – вводится с клавиатуры.

7.2 Написать программу, которая в зависимости от введенных А, В и С считает их произведение, если они все положительны; или сумму, если хотя бы одно отрицательно.

8

8.1 Известно, что из четырёх чисел a, b, c, d одно отлично от трех других, равных между собой. Найти сумму данного числа с любым из трех оставшихся.

8.2 Вычислить:

U = max(x,y)+2*(min(x,y,z)) ( x, y, zвводится с клавиатуры)

9

9.1 Даны координаты двух точек. Определить, какую из осей пересекает отрезок, соединяющий две этих точки.

9.2 Найти квадратный корень из числа А (вводится с клавиатуры). Проверить корректность ввода числа.

10

10.1 Дан номер года. Найти число дней в этом году.

Указание . В современном (григорианском) календаре каждый год, номер которого делится на 4, является високосным, за исключением тех, которые делятся на 100 и не делятся на 400. Например, 1990 год - не високосный, 2000 год – високосный

10.2 Вычислить

(x,y,z,v – вводятся с клавиатуры и принадлежат [-7;7])

11

11.1 Логической переменной T присвоить значение TRUE или FALSE в зависимости от того, является натуральное число k кратно 5 или нет

11.2 Вычислить

(x вводится с

клавиатуры)

12

12.1 Определить и вывести на печать номер квадранта, в котором расположена точка М(x,y), x и y заданные вещественные числа.

12.2 Вычислить

(a,b,c,d вводятся

с клавиатуры)

13

13.1 Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.

13.2 Написать программу, которая проверяла бы справедливость неравенства, в результате выводила бы True или False:

14

14.1 Время в полете вычисляется по формуле T=S/V, где S – расстояние между пунктами, V – скорость полета самолета. Определить время в полете при отсутствии ветра и при наличии встречного ветра (V1 – скорость ветра).

15.1 Написать программу проверки трех введенных чисел на четность/нечетность. Вывести, сколько из них четно, сколько нечетно.

15

15.1 Написать программу, которая проверяла бы справедливость неравенства, в результате выводила бы True или False:

(n вводится с клавиатуры)

16

16.1 Вычислить

, где x,y,z,a,b-вводятся, причем а,b должны быть кратны 5, иначе выдать соответствующее сообщение

16.2 Ввести возраст человека в годах и в зависимости от числа добавить «лет» или «года». Например, 25 лет, 2 года.

17

17.1 Вычислить сумму А,В и С, если все они четны, разность, если есть хотя бы одно нечетное.

17.2 Найти max(min(a,b);min(c,d)).

18

18.1 Найти максимум из трех чисел. Если он больше некоторого числа А, то найти сумму этих чисел, иначе – произведение.

18.2 Ввести трехзначное число и найти сумму цифр этого числа.

19

19.1 Вычислить

, где x,y,z,a,b-вводятся, причем а,b четные, иначе выдать соответствующее сообщение

19.2 Ввести три числа и определить, есть ли среди них четные и кратные 3 одновременно.

20

20.1 Найти среднее арифметическое трех чисел. Если оно больше некоторого числа А, то возвести его в квадрат, иначе удвоить.

20.2 Вычислить