Чем отличается полное ветвление от неполного кратко

Обновлено: 05.07.2024

Учебная – углубление, обобщение и систематизация знаний по программированию.

Развивающая – развитие алгоритмического мышления, памяти, внимательности.

Воспитательная – развитие познавательного интереса, логического мышления.

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

Задание 2.1. Найти ошибку в записи программы:

Программа с ошибками Исправленная программа
Programm Задача;

Var R, l, S – real

Write ln (ввести значение R)
Readln (R);
L = 2*Pi*R;
S = Pi * Sqrt (R);
Writeln (‘S=’, S:7);
Writeln (‘l=’, l:7);

Var R, l, S : real;

Writeln (‘ввести значение R’);
Readln (R);
L := 2*Pi*R;
S := Pi * Sqr (R);
Writeln (‘S=’, S:7:2);
Writeln (‘l=’, l:7:2);

3. Введение нового материала

Задание 3.1.Чтобы определить вид алгоритмической структуры, которую мы будем изучать на уроке, необходимо отгадать ребус:


Ответ: вЕТ вЛЕ НиЕ

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

Общий вид блок-схем алгоритмической структуры “ветвление”


Задание 3.2. Составим блок схему сказочного алгоритма: “Поехал Иван – Царевич на сером волке за Жар – Птицей. Ехал он, ехал, глядь – перед ним лежит огромный камень. На камне надпись: “Направо пойдешь – коня потеряешь, налево пойдешь – голову сложишь…”


Задание 3.3. По условию в блок-схеме определить результат:


Ответ: 1 – кислая среда; 2 – щелочная среда; 3- нейтральная среда.

Синтаксис на языке программирования TurboPascal:

Полное ветвление: if then else ;

Неполное ветвление: if then ;

Если истинно (true), то выполняется , в противном случае (false) - .

- логическое выражение типа Boolean;

Если несколько, то они заключаются в скобки и объединяются ключевыми словами: and, or, not.

В TurboPascal, если в качестве оператора должны выполняться серия операторов, то они объединяются в операторные скобки Begin – end;

Задание 4.1. Даны два числа А и В. Найти наибольшее из них.

(Задача решается на основе этапов решения задач на ПК)


write (‘а=’); readln (a);

write (‘b=’); readln (b);

writeln (‘а - наибольшее’)
else
writeln (‘b - наибольшее’);

Задание 4.2. Дополним “Задание 4.1.”: найти наибольшее из трех заданных чисел А, В, и С.

Обратим внимание на отличие в записи блок-схемы и программы.


Var a,b,c : integer;

write (‘а=’); readln (a);

write (‘b=’); readln (b);

write (‘c=’); readln (c);

if (a>b) and (b>c) then

writeln (‘а - наибольшее’)
else
iIf b>c then
writeln (‘b - наибольшее’)
else
writeln (‘c - наибольшее’);

5. Подведение итогов.

Задание 5.1. Если а = - 3, то чему будет равно Z после выполнения фрагмента программы:

больше или равно

Справа и слева от знака сравнения должны стоять величины, относящиеся к одному типу. В результате сравнения получается логическая величина, имеющее значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE).

Пример:
5 именно проверяем, а не утверждаем, что 8=12 );

Предыдущие конструкции позволяли обойти или выполнить серию оператор в зависимости от справедливости условия. Это еще не было ветвлением. Чтобы вычисления могли разветвляться по нескольким направлениям, служит конструкция IF. THEN. ELSE. END IF .

Если условие справедливо (ИСТИНА), то выполняются (стоящие между THEN и ELSE ), а (стоящие между ELSE и END IF ) будут пропущены.
Если условие не справедливо (ЛОЖЬ), то игнорируются и выполняются .

IF - если, THEN - тогда, ELSE - иначе.

Если в комнате темно, тогда надо включить свет.

Если пойдет дождь, тогда надо взять зонтик,
иначе , зонтик не брать.

REM сравнить число со каким-то значением
INPUT "Введите а", а
IF a=7 THEN PRINT "Числа равны"
END

Пример: Определить большее из двух чисел, вывести его на экран, затем - увеличить его в двое и вывести результат на экран.

REM определить большее из двух чисел.
INPUT "Введите а", а
INPUT "Введите b", b
IF a>b THEN
PRINT "Большее число: ", a
с=2*a
ELSE
PRINT "Большее число: ", b
с=2*b
END IF
PRINT "результат: ", c
END

Сначала программа запрашивает оба числа, затем проверяет условие a>b. Если условие верно, то на экран выводится число a, затем это число удваивается. Иначе на экран выводится число b, затем число b удваивается. В завершении на экран выводится удвоенное значение большего числа.

Обратите внимание: программа имеет один недостаток - не учитывается тот случай, когда введенные числа равны. Исправим это, использовав вложение одного условия в другое.

REM определить большее из двух чисел.
INPUT "Введите а", а
INPUT "Введите b", b
IF a=b TNEN
PRINT "Числа равны"
с=2*a
ELSE
IF a>b THEN
PRINT "Большее число: ", a
с=2*a
ELSE
PRINT "Большее число: ", b
с=2*b
END IF
END IF
PRINT "результат: ", c
END

Пример: Решение квадратного уравнения.
Решение квадратного уравнения зависит от значения дискриминанта.

REM Решение квадратного уравнения
INPUT "Введите коэффициент a: ", а
INPUT "Введите коэффициент b: ", b
INPUT "Введите коэффициент c: ", c
d=b*b-4*a*c
IF d Структура "Выбор".

Структура IF. позволяет выбрать между двумя вариантами. Если требуется осуществить выбор между большим числом вариантов, то это можно организовать используя лишь структуру IF . Но можно (что чаще проще) и с помощью структуры "Выбор". Эта структура имеет вид:

SELECT CASE
CASE

CASE

.
CASE ELSE

END SELECT

Выражение, заданное после ключевых слов SELECT CASE , сравнивается с определенными значениями - условиями и если они истинны, то выполняется соответствующая серия команд. Если не одно условие не истинно, то выполняется серия команд между CASE ELSE и END SELECT.

Пример: Выдать словесное значение числа

REM Преобразование чисел в слова
INPUT "Введите число", a
SELECT CASE a
CASE 1
PRINT "один"
CASE 2
PRINT "два"
CASE 3
PRINT "три"
.
CASE 10
PRINT "десять"
CASE ELSE
PRINT "это число не могу перевести"
END SELECT
END

Читайте также: