СОСТАВНОЙ ОПЕРАТОР
Составной оператор используется как один оператор, но он может содержать внутри несколько других операторов.
Составной оператор имеет вид:
begin [оператор 1]; [оператор 2]; [оператор 3]; end;begin и end; - ключевые слова или так же называются операторными скобками
[оператор 1]; [оператор 2]; [оператор 3]; - различные операторы.
Пример составного оператора приведен ниже.
ОПЕРАТОР УСЛОВИЯ
Условный оператор предназначен для выполнения какого-нибудь действия при выполнении определенного условия.
Условный оператор имеет вид:
if [условие] then [оператор 1] else [оператор 2];[условие] - некоторое логическое выражение (например: a=5); [оператор 1] - простой или составной оператор, который выполняется только в том случае если [условие] - истинно (верно) [оператор 2] - простой или составной оператор, который выполняется только в том случае если [условие] - ложно (не верно)
Замечание!
- Так как простой и составной операторы выполняются как один оператор, то в дальнейшем они будут просто названы - оператор.
- Перед else символ ; (точка с запятой) не ставится.
- else [оператор 2]; - могут отсутствовать, если в этом нет необходимости.
В таком случае условный оператор принимает вид:if [условие] then [оператор 1];
Пример13.1 Программа выводит пример 12+16= , а пользователь вводит ответ решения этого примера. А после этого программа проверяет: правильно ли ввел пользователь ответ, если правильно, то пишет "Ответ правильный!".
VAR
a:integer;
BEGIN
writeln('Решите этот пример и введите ответ:');
write('12+6=');
readln(a); {ввод ответа}
if a=12+6 then writeln('Ответ правильный!'); {это сам опреатор if}
END.
В данном примере при выполнении программы. если вы вводите число 18, то пишется "Ответ правильный!".
Пример13.2 В предыдущем примере условный оператор не использовал else [оператор 2];, а в этом примере будем. Напишем ту же программу и добавим, что если ответ введен не верно, то программа напишет "Ответ не верный!"
VAR
a:integer;
BEGIN
writeln('Решите этот пример и введите ответ:');
write('12+6=');
readln(a);
if a=12+6 then writeln('Ответ правильный!')
else writeln('Ответ не верный!');
END.
Теперь если вы вводите число 18, то пишется "Ответ правильный!", а если другое число, то пишется "Ответ не верный!".
Пример13.3 В предыдущем примере все хорошо, но не понятно будет если ввели не правильный ответ, то какой ответ правильный. Для того чтобы при не правильном ответе выводилось, что ответ не правильный и выводился правильный ответ, будем использовать составной оператор.
VAR
a:integer;
BEGIN
writeln('Решите этот пример и введите ответ:');
write('12+6=');
readln(a);
if a=12+6 then writeln('Ответ правильный!') else
begin {начало составного оператора}
writeln('Ответ не верный!');
writeln('Правильный ответ - ', 12+6);
end; {конец составного оператора}
END.
Теперь если вы вводите число 18, то пишется "Ответ правильный!", а если другое число, то пишется две строчки "Ответ не верный!" и "Правильный ответ - 18".