end else begin
Задание
1. Изучить условный и составной операторы и особенности их использования;
2. Составить, отладить и выполнить программу по одному из вариантов задаваемых преподавателем из таблицы 2 (см. ниже). Распечатать текст программы.
3. Оформить отчет о лабораторной работе.
Указания по выполнению работы
- Условный оператор в общем случае имеет вид: IF A THEN В ELSE С,
где А - выражение логического типа, В - оператор или группа операторов, которые выполняются, если выражение А принимает значение "истина" (TRUE), С -оператор или группа операторов, которые выполняются, если выражение А принимает значение "ложь" (FALSE). Т. е. условный оператор работает следующим образом: "если А истинно, то выполнять В, иначе выполнять С, что соответствует "ветвлению". Часть "иначе" (ELSE) может отсутствовать и тогда реализуется "обход".
В приведенной ниже программе реализуется расчет значения функции
Program Primer;
Var
х,у : real;
Begin
Write('Введите х');
Read(x); Writeln;
if x < 1 then у • ABS(x-l)
else у := 5*Ln(x) ;
Write('у = ',у);
End.
В данной программе обе ветви условного оператора имеют по одному оператору (у = ABS(x-l) и у = 5LN(x)). Если разветвления должны состоять из нескольких операторов, используется составной оператор, который объединяет несколько операторов в единое целое с помощью ключевых слов "begin" и "end":
begin оператор; оператор;.....; end;
Если за составным оператором в разделе "THEN" условного оператора следует раздел "ELSE", то после "end" точка с запятой не ставится.
Например, для предыдущей задачи требуется дополнительно выводить сообщения "х < 1" или "х > 1":
program primer;
var х,у : real;
Begin
write('Введите х ');
read(x); writeln;
if x < 1 then begin
write(' x < 1 '); y= abs(x-l);
end else begin
write(' x > 1 ');
у =5* (x) ;
end;
write(‘y=’,y);
End.
- Для одного из вариантов задания разработать программу, в которой предусмотреть элементы диалога при вводе и выводе данных и результатов.
- отчет о работе должен содержать распечатку текста и блок-схему программы.
Таблица 2.1. - Варианты заданий
Номер варианта | Ввести значения | Действия, которые необходимо выполнить |
х и у | Напечатать большее из значений х и у | |
x | Напечатать значение х, если оно отрицательно; в противном случае вывести сообщение "Значение х положительно" | |
x | Если значение х - четное, вывести сообщение "х - четное число", иначе - сообщение "х - нечетное число' | |
х и у | Напечатать сначала меньшее, а затем большее из значений х,у | |
х и у | Напечатать сумму х+у, если х >= у, разность х-у, если х < у | |
x | Если значение х - целое, вывести сообщение "х - целое число", иначе - вывести дробную часть | |
х и у | Если оба значения (х и у) положительны, напечатать их сумму, в противном случае - модуль разности | |
x | Если х кратно 5, вывести значение х | |
x,y,z | Напечатать значение суммы x+y+z, если она больше трех, в противном случае рассчитать и напечатать разность x-y-z | |
х и у | Напечатать значение квадратного корня из суммы х+у, есл* она положительна, в противном случае вывести сообщение "подкоренное выражение отрицательно" | |
x | Если значение х положительное напечатать результат округления х до ближайшего целого | |
x,y,z | Напечатать введенные значения в порядке возрастания |
В вариантах 3,6,8,11 можно использовать функцию Trunc(X) или Round(X) (целая часть от х). Например, чтобы определить является ли число х кратным достаточно проверить условие равенства х/5 и целой части от х/5.
Контрольные вопросы
1. Пояснить составленную программу
2. Как работает условный оператор?
3. Назначение составного оператора?