Просмотр содержимого документа
«Практическая работа №16»
Практическая работа №16
Программирование алгоритмов разветвляющейся структуры.
Разветвляющимся называется алгоритм в котором порядок выполнения действий зависит от некоторого условия.
Общий вид блок-схем алгоритмической структуры “ветвление”

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

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

рис. 4.
Ответ: 1 – кислая среда; 2 – щелочная среда; 3- нейтральная среда.
Синтаксис на языке программирования TurboPascal:
Полное ветвление: if условие then оператор1 else оператор2;
Неполное ветвление: if условие then оператор1 ;
Если условие истинно (true), то выполняется оператор_1, в противном случае (false) - оператор_2.
Условие - логическое выражение типа Boolean;
Если условий несколько, то они заключаются в скобки и объединяются ключевыми словами: and, or, not.
| Математическая запись | Запись на языке TurboPascal |
| =  | = = |
В TurboPascal, если в качестве оператора должны выполняться серия операторов, то они объединяются в операторные скобки Begin – end;
if условие then
begin
операторы;
end;
else
begin
операторы;
end;
4. Осмысление
Задание 4.1. Даны два числа А и В. Найти наибольшее из них.
(Задача решается на основе этапов решения задач на ПК)
| 1. Постановка задачи | Дано: А и В – целые Найти: наибольшее из А или В |
| 2. Математическая постановка задачи | Если АB, то А – наибольшее число, иначе В – наибольшее. |
| 3. Разработка алгоритма |  рис. 5. |
| 4. Разработка программы на изучаемом языке программирования | Язык программирования TurboPascal: Program Vetvlenie1; Uses Crt; Var a,b: integer; Begin ClrScr; write (‘а=’); readln (a); write (‘b=’); readln (b); if ab then writeln (‘а - наибольшее’) else writeln (‘b - наибольшее’); end. |
| 5. Реализация программы на ПК и её отладка. |
| 6. Тестирование | a=3 b= 4 b – наибольшее a=4 b= 3 a - наибольшее |
Задание 4.2. Дополним “Задание 4.1.”: найти наибольшее из трех заданных чисел А, В, и С.
Обратим внимание на отличие в записи блок-схемы и программы.
| 1. Постановка задачи | Дано: А, В, С – целые Найти: наибольшее из трех чисел |
| 2. Математическая постановка задачи | Если АB и АC, то А – наибольшее число. Далее можно сравнить только два числа: если ВC, то В – наибольшее, иначе С – наибольшее. |
| 3. Разработка алгоритма |  рис. 6. |
| 4. Разработка программы на изучаемом языке программирования | Язык программирования TurboPascal: Program Vetvlenie2; Uses Crt; Var a,b,c : integer; Begin ClrScr; write (‘а=’); readln (a); write (‘b=’); readln (b); write (‘c=’); readln (c); if (ab) and (bc) then writeln (‘а - наибольшее’) else iIf bc then writeln (‘b - наибольшее’) else writeln (‘c - наибольшее’); end. |
| 5. Реализация программы на ПК и её отладка. |
| 6. Тестирование | a=3 b= 4 c=1 b – наибольшее a=4 b= 3 c= 1 a – наибольшее а= 3 b = 1 c=4 с – наибольшее |
5. Подведение итогов.
Задание 5.1. Если а = - 3, то чему будет равно Z после выполнения фрагмента программы:
if a=0 then z:=10;
if a
if a=-5 then if a
Ответ: z = 0