УСЛОВНЫЙ ОПЕРАТОР
язык программирования Pascal .
Я услышал и забыл.
Увидел и запомнил.
Сделал и понял!
Чарльз Бэббидж.
Учитель информатики:
Гусейнова Асият Магомедовна
больше a5 = больше или равно t=r не равно a+b0 = равно s mod 2 = 0 " width="640"
Разветвляющимся называется алгоритм, в котором выбирается одна из нескольких возможных серий команд. Каждый подобный путь называется ветвью алгоритма.
Признаком разветвляющегося алгоритма является наличие операций проверки условия. Условие – это логическое выражение, которое может быть записано в операторе явно или вычислено в программе. Для записи простых условий используются операции отношения:
y
больше a5
= больше или равно t=r
не равно a+b0
= равно s mod 2 = 0
0) and (х" width="640"
В ветвлении можно проверять несколько условий одновременно. Для этого условия связываются между собой логическими операциями. Получается сложное условие .
Если необходимо проверить одновременное выполнение нескольких условий, для их связи используют логическую операцию AND (И)
Например, условие 0 , в ветвлении будет выглядеть так:
(х0) and (х
9) Логическая операция NOT (НЕ ) меняет значение условия на противоположное. Например, необходимо взять все значения х, кроме 1 : not (x=1) При связывании нескольких условий логическими операциями, необходимо заключать простые условия в скобки. " width="640"
Если же нужно чтобы выполнялось хотя бы одно из нескольких условий, то для их связи используют операцию OR (ИЛИ)
Например, условия y9 будет выглядеть следующим образом:
(yor (y9)
Логическая операция NOT (НЕ ) меняет значение условия на противоположное.
Например, необходимо взять все значения х, кроме 1 :
not (x=1)
При связывании нескольких условий логическими операциями, необходимо заключать простые условия в скобки.
Основные варианты структуры ветвления:
если - то; если – то - иначе;
да
нет
нет
условие
да
условие
серия команд 2
серия команд 1
серия команд 1
полное ветвление
неполное ветвление
Запись команды ветвления на языке программирования Pascal.
IF (условие)
THEN ( оператор 1 );
Запись полного ветвления
на языке программирования Pascal.
IF (условие)
THEN ( оператор 1 )
ELSE ( оператор 2 );
;
B , то наибольшее число А, иначе наибольшее число В} IF AB THEN max :=A ELSE max :=B; WRITELN (‘Большее число = ‘, max ); END. " width="640"
ЗАДАЧА 1 . Из двух чисел А и В найти набольшее.
PROGRAM zadacha1;
VAR A, B, max: INTEGER; {описываем переменные А , В и max целыми числами}
BEGIN
WRITE(‘A=’); {Вводим с клавиатуры числа А и В}
READLN(A);
WRITE(‘B=’);
READLN(B);
{Если AB , то наибольшее число А, иначе наибольшее число В}
IF AB THEN max :=A
ELSE max :=B;
WRITELN (‘Большее число = ‘, max );
END.
B THEN begin max :=A; min :=B; end ELSE begin max :=B; min :=A; end; WRITELN (‘max=‘, max, ‘ min=‘, min); END. " width="640"
ЗАДАЧА 2 . Из двух чисел А и В найти набольшее и наименьшее.
PROGRAM zadacha2;
VAR A, B, max, min: INTEGER;
BEGIN
WRITE(‘A=’); READLN(A);
WRITE(‘B=’); READLN(B);
IF AB THEN begin
max :=A;
min :=B;
end
ELSE begin
max :=B;
min :=A;
end;
WRITELN (‘max=‘, max, ‘ min=‘, min);
END.
Вложенное ветвление:
да
нет
Условие 1
да
нет
серия команд 1
Условие 2
серия команд 3
серия команд 2
IF (условие)
THEN ( оператор 1 )
ELSE IF (условие) THEN ( оператор 1 )
ELSE ( оператор 2 );
B THEN begin max :=A; min :=B; WRITELN (‘max=‘, max, ‘ min=‘, min); end ELSE IF A max :=B; min :=A; WRITELN (‘max=‘, max, ‘ min=‘, min); end ELSE WRITELN (‘Числа равны друг другу‘); END. " width="640"
ЗАДАЧА 2 . Из двух чисел А и В найти набольшее и наименьшее.
PROGRAM zadacha2;
VAR A, B, max, min: INTEGER;
BEGIN
WRITE(‘A=’); READLN(A);
WRITE(‘B=’); READLN(B);
WRITE (‘Большее число : ‘);
IF AB
THEN begin
max :=A;
min :=B;
WRITELN (‘max=‘, max, ‘ min=‘, min);
end
ELSE IF A
max :=B;
min :=A;
WRITELN (‘max=‘, max, ‘ min=‘, min);
end
ELSE WRITELN (‘Числа равны друг другу‘);
END.
b then if ac then max:=a else max:=c else if bc then max:=b else max:=c; writeln(‘ большее число равно ’, max); End . " width="640"
Задача 3. Найти наибольшее из трёх данных чисел
a, b, c.
Program zadacha3;
Var a, b, c, max: Integer;
Begin
writeln(‘ введи числа ’);
readln( а ,b,c);
if ab then
if ac then max:=a
else max:=c
else
if bc then max:=b
else max:=c;
writeln(‘ большее число равно ’, max);
End .
ЗАДАЧА 3.
Дано действительное число х. Вычислить f(х), если
Решение:
Program alg1;
Var x,f:real;
Begin
writeln(‘введите действительное число:’);readln(x);
if x
then f:=0
else if x
else f:=sqr(x)-sin(Pi*x*x); writeln(‘значение функции F(x) при x=‘,x,’равно’,f);
End.
ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
1. Санкт-Петербург менял свое название несколько раз. Составить программу которая на введенную дату выдает название города. Если:
- с 1703 – 1914 г. – Санкт Петербург
- с 1914 – 1924 г. Петроград
- с 1924 – 1991 г. Ленинград
- с 1991г. – Санкт Петербург
2. Определить количество дней в году, который вводит пользователь (високосный, кратны 4, но некратны 100 - 366 дней, не високосный – 365 дней)
3. Дано действительное число х. Вычислить f(x) , если