Чем отличается полное ветвление от неполного кратко
Обновлено: 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
Читайте также: