Условный оператор Автор: Облицова Татьяна Александровна,учитель информатики МБОУ СОШ № 6, г.Боготол, Красноярский край
Условный оператор реализует «ветвление», т.е. изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия.
Полная форма условного оператора IF <условие> THEN <оператор1> ELSE <оператор2>; Перед словом Else,знак ; отсутствует. Для наглядности программы операторы можно писать в несколько строк После слов Then и Else можно использовать только один оператор. Если (IF) условие истинно, тогда (THEN) выполняется оператор1, иначе (ELSE) выполняется оператор2.
Условие – это логическое выражение, которое может быть записано в операторе явно или вычислено в программе Операции отношения:>- больше<- меньше=- равно>=- больше или равно<=- меньше или равно<>- не равно Примеры:A>5B<-4A=BX>=0S<=D+3A-5<>B*2
Если по условию задачи после THEN или ELSE необходимо выполнить больше одного оператора, то тогда используют операторные скобки BEGIN…END IF <условие> THEN BEGIN<оператор 1>;<оператор 2>;…<оператор n>;END ELSE BEGIN<оператор 1>;<оператор 2>;…<оператор n>;END;
Задача1. Из двух чисел А и В найти большее и вывести его на экран. PROGRAM zadacha1;VAR A,B:INTEGER;BEGINWRITE(‘A=’);READLN(A);WRITE(‘B=’);READLN(B);WRITE (‘Большее число : ‘);IF A>B THEN WRITELN (A) ELSE WRITELN (B); END. Описываем переменные А и В целыми числами Вводим числа А и В Если А>В, то выводим на экран А, иначе выводим В
Неполная форма условного оператора IF <условие> THEN <оператор1> ; Пример: Удвоить число Х, если оно положительное:IF X>0 THEN X:=X*2;
Задача2. Составить программу для решения квадратного уравнения ax2 +bx + c = 0 Блок-схема алгоритмаВложенное условие
Программа для решения квадратного уравнения PROGRAM zadacha2;VAR a,b,c,D,x,x1,x2:REAL; BEGINWRITE(‘a=’); READLN(a);WRITE(‘b=’); READLN(b);WRITE(‘c=’); READLN(c);D:= b*b - 4*a*c; WRITE (‘Корни уравнения: ‘); IF D>0 THEN BEGINx1:=(-b+SQRT(D))/(2*a); x1:=(-b-SQRT(D))/(2*a);WRITELN (‘x1= ‘,x1:5:2,’x2= ‘,x2:5:2);END ELSEIF D=0 THEN BEGINx:= -b/(2*a);WRITELN (‘x= ‘,x:5:2);ENDELSEWRITELN (‘Корней нет’);END. Внешнее условие Вложенное условие
Сложные условия В сложных условиях используются логические выражения, записанные с помощью логических операций. Логические операции:Not- НеAnd- ИOr- Или Мультипликативные операции:Div- целая часть от деленияMod- остаток от деления Примеры:Определить, есть ли среди чисел a, b, c хотя бы одно равное нулю.IF (a>0) Or (b=0) THEN WRITELN(‘YES’) ELSE WRITELN(‘NO’);Определить, является ли число а – нечетным. IF a Mod 2<>0 THEN WRITELN(‘YES’) ELSE WRITELN(‘NO’);
Задача3. Написать программу, проверяющую, принадлежит ли число интервалу (0;5]. PROGRAM zadacha3;VAR x:REAL; BEGINWRITE(‘x=’); READLN(x);IF (x>0) and (x<=5) THEN WRITELN (‘YES’) ELSE WRITELN (“NO’); END.
Коротко о главном Формы записи условного оператора:IF <условие> THEN <оператор_1> ELSE <оператор_2> ;IF <условие> THEN <оператор>;Перед ELSE знак ; не ставитсяОперации отношения: > < = <> >= <=Логические операции: Not Or AndМультипликативные операции: Mod Div
На слайде 1 использована картинка из следующего источника: Энциклопедия для детей. Т.22. Информатика/Глав. ред. Е.Хлебалина; вед. науч.ред. А.Леонов.- М.: Аванта+, 2005.