Разветвлённый алгоритм

Содержание

Слайд 2

План лекции

Разветвленный алгоритм
Примеры разветвленных алгоритмов
Условный оператор
Составной оператор
Вложенные условные операторы
Оператор выбора
Решение задач

План лекции Разветвленный алгоритм Примеры разветвленных алгоритмов Условный оператор Составной оператор Вложенные

Слайд 3

Разветвленный алгоритм

Разветвленным алгоритмом называется такой алгоритм, в котором выбирается один из нескольких

Разветвленный алгоритм Разветвленным алгоритмом называется такой алгоритм, в котором выбирается один из
возможных путей (вариантов) вычислительного процесса.
Ветвью алгоритма называется каждый подобный путь.

Слайд 4

Полная разветвленная алгоритмическая структура

Действие 1

Действие 2

. . .

условие

. . .

да

нет

Полная разветвленная алгоритмическая структура Действие 1 Действие 2 . . . условие

Слайд 5

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

Действие 1

. . .

условие

. . .

да

нет

Неполная разветвленная алгоритмическая структура Действие 1 . . . условие . . . да нет

Слайд 6

Условный оператор

Оператор if выбирает между двумя вариантами развития событий:
if <условие>
(если)
then

Условный оператор Оператор if выбирает между двумя вариантами развития событий: if (если)
<один_оператор>
(тогда)
[else <один_оператор>];
(иначе)
Обратите внимание, что перед словом else (когда оно присутствует, конечно же) символ ";" не ставится - ведь это разорвало бы оператор на две части.

Слайд 7

Условный оператор

Условный оператор if работает следующим образом:
Сначала вычисляется значение <условия> - это

Условный оператор Условный оператор if работает следующим образом: Сначала вычисляется значение -
может быть любое выражение, возвращающее значение типа boolean.
Затем, если в результате получена "истина" (true), то выполняется оператор, стоящий после ключевого слова then, а если "ложь" (false) - без дополнительных проверок выполняется оператор, стоящий после ключевого слова else. Если же else-ветвь отсутствует, то не выполняется ничего.

Слайд 8

Составной оператор

Составной оператор - объединение нескольких операторов в одну группу. Группа операторов

Составной оператор Составной оператор - объединение нескольких операторов в одну группу. Группа
внутри составного оператора заключается в операторные скобки (begin-end).
begin   оператор 1;   оператор 2; end;

Слайд 9

Составной условный оператор

Если в качестве оператора должна выполниться серия операторов, то они

Составной условный оператор Если в качестве оператора должна выполниться серия операторов, то
заключаются в операторные скобки begin-end. Конструкция Begin ... End называется составным оператором.
if <логическое выражение>   then     begin оператор 1;       оператор 2;       ...     end   else begin       оператор 1;       оператор 2;       ...     end;

Слайд 10

Пример разветвленного алгоритма

Задача 1. Вычислить отношение двух целых чисел.
Var
a,b : integer;
ratio

Пример разветвленного алгоритма Задача 1. Вычислить отношение двух целых чисел. Var a,b
: real;
Begin
writeln(‘Введите два числа: ‘);
read (a,b);
ratio:= a / b;
writeln (‘Отношение = ‘,ratio:6:2);
End.
Когда вы введете 0 для второго значения, программа напечатает сообщение об ошибке
(Divide by zero - Деление на ноль) и остановится.

Слайд 11

Ввод a,b

Вывод ratio

b=0

да

нет

Делить на 0 нельзя.

ratio=a/b

Program z1 (input, output);
Var
a,b: integer;
ratio :real;
Begin

Ввод a,b Вывод ratio b=0 да нет Делить на 0 нельзя. ratio=a/b
writeln (‘Введите a, b’);
read (a, b);
if b=0 then
writeln (‘Делить на 0
нельзя ‘)
else
begin
ratio:=a/b; write (ratio)
end
End.

начало

конец

Слайд 12

Полная разветвленная структура

Задача 2. Вывести на экран большее из двух данных чисел.
Program

Полная разветвленная структура Задача 2. Вывести на экран большее из двух данных
z2; Var   x, y : integer; {вводимые числа} Begin   writeln(‘Введите 2 числа ‘); {вводим два целых числа через пробел}   readln(x,y);   if x>y     then       writeln (x) {если х больше y, то выводим х}     else       writeln (y) {иначе выводим y}     readln; End.

Слайд 13

Неполная разветвленная структура

Задача 3. Составить программу, которая, если введенное число отрицательное меняет

Неполная разветвленная структура Задача 3. Составить программу, которая, если введенное число отрицательное
его на противоположное.
Program Chisla; Var   x : integer; {вводимое число} Begin   writeln(‘Введите число ‘); {вводим целое число}   readln(x);   if x<0     then       x:=-x;       writeln (x);       readln; End.

Слайд 14

Вложенные условные операторы

Program z4; Var   a, b, c : integer; Begin   writeln(‘Введите числа

Вложенные условные операторы Program z4; Var a, b, c : integer; Begin
a, b, c’); readln(a,b,c);   if (a<=b) and (b<=c)     then       begin         a:=sqr(a);         b:=sqr(b);         c:=sqr(c);       end     else       if (a>b) and (b>c)         then           begin             b:=a;              c:=a;           end         else           begin             a:=-a;             b:=-b;             c:=-c;           end   writeln(a,b,c);   readln; End.

Задача 4. Даны целые числа a, b, c. Если a ≤ b ≤ c, то все числа заменить их квадратами, если a>b>c, то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа.

Слайд 15

Оператор выбора

Оператор case позволяет сделать выбор между несколькими вариантами:
case <переключатель> of
<список_констант>

Оператор выбора Оператор case позволяет сделать выбор между несколькими вариантами: case of
: <один_оператор>;
[<список_констант> : <один_оператор>;]
[<список_констант> : <один_оператор>;]
[else <один_оператор>;]
end;

Слайд 16

Оператор выбора

Существуют дополнительные правила, относящиеся к структуре этого оператора:
Переключатель должен относиться только

Оператор выбора Существуют дополнительные правила, относящиеся к структуре этого оператора: Переключатель должен
к порядковому типу данных, но не к типу longint.
Переключатель может быть переменной или выражением.
Список констант может задаваться как явным перечислением, так и интервалом или их объединением.
Повторение констант не допускается.
Тип переключателя и типы всех констант должны быть совместимыми

Слайд 17

Оператор выбора

Пример оператора выбора:
case symbol of
'a'..'z', 'A'..'Z' : writeln('Это латинская буква');

Оператор выбора Пример оператора выбора: case symbol of 'a'..'z', 'A'..'Z' : writeln('Это
'а'..'я', 'А'..'Я' : writeln('Это русская буква');
'0'..'9' : writeln('Это цифра');
' ',#10,#13,#26 : writeln('Это пробельный символ');
else writeln('Это служебный символ');
end;

Слайд 18

Оператор выбора

Задача 5. Написать программу преобразования цифр в слова.
Program z5; Var   a, b,

Оператор выбора Задача 5. Написать программу преобразования цифр в слова. Program z5;
c : integer; Begin   writeln(‘Введите цифру ‘); readln(a);   case a of     0 : writeln (‘ноль‘);     1 : writeln (‘один‘);     2 : writeln (‘два‘);     3 : writeln (‘три‘);     4 : writeln (‘четыре‘);     5 : writeln (‘пять‘);     6 : writeln (‘шесть‘);     7 : writeln (‘семь‘);     8 : writeln (‘восемь‘);     9 : writeln (‘девять‘)   else writeln (‘Это число не является цифрой‘);   end;   readln; End.

Слайд 19

Решение задач

Задача 6. Чтобы получить одну молекулу серной кислоты H2SO4 нужно 2

Решение задач Задача 6. Чтобы получить одну молекулу серной кислоты H2SO4 нужно
атома водорода (Н), 1 атом серы (S) и 4 атома кислорода (О).В химическом реакторе имеется А атомов водорода, В атомов кислорода и С атомов серы. Составьте алгоритм или напишите программу, вычисляющую, сколько молекул серной кислоты может получится из такого количества атомов?

Слайд 20

Решение задач

Алгоритм решения этой задачи может быть записан следующим образом:
Переменные: тип -

Решение задач Алгоритм решения этой задачи может быть записан следующим образом: Переменные:
целый A,B,C,M1,M2,K;
Ввести A,D,C;
Вычислить целую часть от деления А на 2
М1=цел.часть (А/2);
Вычислить целую часть от деления B на 4
М2=цел.часть (B/4);
Найти минимальное из трех чисел С, М1, М2
K=min(C,M1,M2);
Выдать на печать: В редакторе образуется К молекул кислоты.

Слайд 21

Решение задач

Задача 7. Определить принадлежит ли точка А(X0,Y0) данной фигуре.

Решение задач Задача 7. Определить принадлежит ли точка А(X0,Y0) данной фигуре.

Слайд 22

Решение задач

Задача 8. Напишите программу, которая вычисляет стоимость междугородного телефонного разговора (цена

Решение задач Задача 8. Напишите программу, которая вычисляет стоимость междугородного телефонного разговора
одной минуты определяется расстоянием до города, в котором находится абонент). Исходными данными для программы являются код города и длительность разговора. Ниже приведены коды некоторых городов.
Имя файла: Разветвлённый-алгоритм.pptx
Количество просмотров: 305
Количество скачиваний: 0