Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
новая метода.docx
Скачиваний:
10
Добавлен:
07.05.2019
Размер:
610.3 Кб
Скачать

10. Записать операторы ввода-вывода:

  1. для ввода в одной строке значений нескольких переменных с «подсказками»;

для вывода в одной строке значений нескольких переменных с «подсказками».

Лабораторная работа № 8 оператор выбора. Разветвляющиеся вычислительные процессы

1. Теоретический материал

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

Оператор if обеспечивает передачу управления на одну из двух ветвей вычислений, а оператор case — на одну из произвольного числа ветвей. Рассмотрим сначала задачи с применением оператора case.

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

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

Рис. 1. Структурная схема оператора выбора

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

case выражение of

константы_1 : опердтор_1;

константы_2 : оператор_2;

константы_n : оператор_n

[ else : оператор]

end;

Если по какой-либо ветви требуется записать не один, а несколько операторов, они заключаются в блок с помощью ключевых слов begin и end.

В квадратных скобках [ ] указывается необязательный элемент оператора case. Хотя наличие слова el se не обязательно, рекомендуется всегда обрабатывать слу­чай, когда значение выражения не совпадает ни с одной из констант. Это облегчает поиск ошибок при отладке программы.

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

Постановка задачи.

Исходными данными для этой программы являются два вещественных операнда и знак операции, представляющий собой символ.

Рекомендуемый вид экрана во время выполнения программы:

Простейший калькулятор.

Введите первый операнд: 5

Введите операцию: +

Введите второй операнд: 6

Результат: 30

Алгоритм работы программы очевиден: в зависимости от значения введенного знака операции выполнить со­ответствующее действие над операндами (рис.2).

Рис. 2

Программирование.

При программировании вводим переменную error типа Boolean, которая принимает значение true, если введена недействительная операция.

Program calculator:

var

A, B, C : real; {исходные данные и результат}

op : char: {операция}

error : boolean; {признак недопустимой операции}

begin

write!n( 'Простейший калькулятор'):

write!n( ' Введите первый операнд: '):

readln(A):

writeln ( ' Введите операцию: '):

readln(op):

writeln( ' Введите второй операнд: '):

readln(B);

error := false; {считаем, что введена действительная операция}

case op of

'+' : С := A + B;

'-' : С := A – B;

'*' : С := A * B;

'/' : С := A / B;

else

begin

writeln( ' Недопустимая операция '};

error := true;

end;

end; {case}

if not error

then writeln(' Результат: ',C:6:2);

end. {конец программы}

Условный оператор if

Формат оператора: if выражение then оператор_1 else оператор_2;

Сначала вычисляется выражение, которое должно иметь логический тип. Как правило, в выражении используются знаки операций отношения (меньше <, больше >, равно =, не равно <> , меньше или равно <=, больше или равно >=). Если требуется проверить несколько условий, их объединяют знаками логических операций and (И), or (ИЛИ), хог (исключающее ИЛИ) и not (отрицание).

Если выражение имеет значение true, выполняется первый оператор, иначе — второй (рис. 3а). Ветвь else может отсутствовать (рис.3б). В этом случае формат оператора имеет следующий вид: