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

Оператор выбора

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

Структура оператора выбора в Паскале такова:

Case <ключ_выбора> of

<список_выбора>

[else <оператор_иначе>] end

Здесь case, of, else, end – зарезервированные слова (случай, из, иначе, конец);

<ключ_выбора> - выражение порядкового типа;

<список_выбора> - одна или более конструкций вида:

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

<константа_выбора> - константа того же типа, что и выражение <ключ_выбора>;

<операторы> - произвольные операторы Паскаля.

Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности <список_выбора> отыскивается константа, равная вычисленному значению. Выполняется оператор, который следует за найденной константой, после чего оператор выбора завершает работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else <оператор_иначе> можно опустить, тогда при отсутствии в списке выбора нужной константы не будет выполнено никаких действий, и оператор выбора просто завершит свою работу.

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

Program dni_nedeli;

Var n: byte;

Begin

Readln(n);

Case n of

1: writeln(‘понедельник’);

2: writeln(‘вторник’);

3: writeln(‘среда’);

4: writeln(‘четверг’);

5: writeln(‘пятница’);

6: writeln(‘суббота’);

7: writeln(‘воскресенье’);

else writeln(‘дня недели с номером’,n,’нет’);

end;

end.

Следует помнить, что все константы из списка выбора должны быть различны.

Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми. Например, следующая программа при вводе одного из символов ‘y’ или ‘Y’ выведет на экран «Да», а при вводе ‘n’ или ‘N’ – слово «Нет».

Var ch: char;

Begin

Readln(ch);

Case ch of

N, n: writeln(‘Да’);

Y, y: writeln(‘Нет’);

End;

End.

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

Лабораторная работа №2 Тема: Логические выражения. Логический тип. Условный оператор. Оператор выбора. Программирование разветвляющихся алгоритмов

Задание 1

Указание к выполнению: задание 1 выполняется в тетради по вариантам.

Вариант 1

  1. Вычислить значение выражения при a= true и b= false: a or b and not a

  2. Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: точка (x,y) лежит вне круга радиуса r с центром в точке (1,0)

Вариант 2

  1. Вычислить значение выражения при a= true и b=false: (a or b) and not a

  2. Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: уравнение ax2+bx+c=0 (a0) не имеет вещественных корней.

Вариант 3

  1. Вычислить значение выражения при a= true и b=false: not a and b

  2. Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: x принадлежит отрезку [2,5] или [-1,1]

Вариант 4

  1. Вычислить значение выражения при a= true и b=false: not (a and b)

  2. Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: x лежит вне отрезков [2,5] и [-1,1]

Вариант 5

  1. Вычислить значение выражения при c=true: not (pred(c) or (ord(c)=1))

  2. Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: каждое из чисел x, y, z положительно

Вариант 6

  1. Вычислить значение выражения при p=q=true: (p< true)=(q= false)

  2. Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: хотя бы одно из чисел x, y, z положительно

Вариант 7

  1. Вычислить значение выражения при a=false, b=true: a and b > a or b

  2. Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: ни одно из чисел x, y, z не является положительным

Вариант 8

  1. Если a=true и x=1, то какое значение получит логическая переменная d после присваивания d:= not a or odd(x) ?

  2. Нарисовать область, в которой истинно выражение: (abs(x)<=1) and (abs(y)>=1)

Вариант 9

  1. Если a=true и x=1, то какое значение получит логическая переменная d после присваивания d:= ord(a) <> x ?

  2. Нарисовать область, в которой истинно выражение: (sqr(x)+sqr(y)<=4) and (y<=x)

Вариант 10

  1. Написать оператор присваивания, в результате которого логическая переменная t получает значение true, если выполняется указанное условие: числа x, y, z равны между собой

  2. Нарисовать область, в которой истинно выражение: (y>=x) and (y+x>=0) and (y<=1)

Вариант 11

  1. Написать оператор присваивания, в результате которого логическая переменная t получает значение true, если выполняется указанное условие: из чисел x, y, z только два равны между собой

  2. Нарисовать область, в которой истинно выражение: (y>=x2) and (x>=0) and (y<=1)

Вариант 12

  1. Написать оператор присваивания, в результате которого логическая переменная t получает значение true, если выполняется указанное условие: p делится нацело на q (p и q натуральные числа)

  2. Нарисовать область, в которой истинно выражение: (sqr(y)+sqr(x)<1) or (y>0) and (abs(x)<=1)

Вариант 13

  1. Вычислить значение выражения при t=true, p=101010: t and (p mod 3=0)

  2. Записать выражение истинное при выполнении условия: сумма цифр двухзначного числа нечетна

Вариант 14

  1. Вычислить значение выражения при t=15: t mod 7= t div 5 –1

  2. Записать выражение истинное при выполнении условия: точка с координатами (x,y) лежит в первой или третьей четверти координатной плоскости

Вариант 15

  1. Вычислить значение выражения при p=0.182: odd( trunc(10*p))

  2. Записать выражение истинное при выполнении условия: цифра 5 входит в десятичную запись трехзначного натурального числа

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