СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Программирование разветвляющихся алгоритмом

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Программирование разветвляющихся алгоритмом»

24. Программирование разветвляющихся алгоритмов


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

Его общий вид:

ИФ (условие) ЗЕН (оператор_1) ЭЛС (оператор _2).

Ветвление может быть не полным, тогда условный оператор выглядит так:

ИФ (условие) ЗЕН (оператор_1)

Перевод слов:

If - если;

then – то;

else - иначе.

Перед else знак «;» не ставится.

В качестве условий используются логические выражения:

простые – записанные с помощью операций отношения;

сложные – записанные с помощью логических операций.

Пример

Сравним два числа, результат выведем в следующем виде ab.

program P_1;

var a,b:integer;

begin

writeln (‘Сравнение двух чисел a и b’);

write(‘Введите a и b ’);

readln(a,b);

if ab then writeln(a,'b) {Если а меньше бэ, то вывести на экран а меньше бэ}

else if a=b then writeln(a,'=',b) {Иначе, если а равно бэ, то вывести на экран а равно бэ}

else writeln (a,'',b);{Иначе, вывести на экран а больше бэ}

end.

По примерам мы видим, что программа работает верно и выдает правильные значения.

Проверим, как работает неполная форма записи условного оператора.

Пример

Если введенное число положительное, то увеличим его в 2 раза.

program P_2;

var a:integer;

begin

writeln ('Введите число а');

write (‘a= ‘);

readln(a);

if a0 then a:=a*2;{если а больше ноля, то а присвоить а умноженное на 2.}

writeln(a);

end.

По примеру мы видим, что программа работает правильно, положительное число она умножает на 2, а отрицательное выводит без изменения.

В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условии требуется выполнить определенную последовательность операторов, то их объединяют в один составной оператор.

Конструкция составного оператора имеет вид:

Бегин (последовательность операторов) энд называется составным оператором.

Пример

Составим программу на языке Паскаль для решения квадратного уравнения.

program P_3;

var a, b, c:real;

var d: real;

var x, x1, x2: real;

begin

writeln ('Решение квадратного уравнения');

write (‘Введите коэффициенты a, b, c˃˃ ‘);

readln(a, b, c);

d:=b*b-4*a*c;

if dthen writeln (‘Корней нет’);{если дискриминант меньше нуля, то выводим сообщение корней нет}

if d=0 then {Если дискриминант равен нулю, то выполняем последовательность операторов сначала считаем х, а затем выводим на экран сообщение чему он равен}

begin

x:= -b/2/a;

writeln (‘Корень уравнения x= ’, x)

end;

if d0 then { Если дискриминант больше ноля, то выполняем последовательность операторов, сначала считаем х1 и х2, а затем выводим на экран сообщение, чему они равны}

begin

x1:= (-b+sqrt(d))/2/a;

x2:= (-b-sqrt(d))/2/a;

writeln (‘Корень уравнения: ’);

writeln (‘x1= ’, x1);

writeln (‘x2= ’, x2);

end

end.

Проверим.

Для а=7, b=8, c=4. Ответ программы - корней нет.

Все верно d= 8*8- 4*7*4= 64-112= -48. Дискриминант отрицательный, корней нет.

Еще пример:

Для а=2, b=7, c=3. Ответ программы х1= -0,5, х2= -3

Все верно d= 7*7- 4*2*3= 49-24= 25.

d0, тогда х1=   =  ,

х2=