Алгоритмическая форма ветвление полная форма Информатика ФГОСС

advertisement
Информатика ФГОСС
Алгоритмическая
форма ветвление
полная форма
Информатика
ФГОСС
Алгоритмическая конструкция ветвления «Полная
форма»
Алгоритмическая
конструкция ветвления.
Полная форма.
Информатика 8 класс
Токар И.Н.
Алгоритмическая конструкция «Повторение».
Цели урока
На этом уроке вы
• Разберем примеры решения задач с
помощью этих структур;
• Рассмотрим способы записи данных
структур.
Алгоритмическая конструкция ветвления «Полная форма»
Разветвляющиеся алгоритмы
Задача. Ввести два целых числа и вывести на экран наибольшее
из них.
Идея решения: надо вывести на экран первое число, если оно
больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых
условий (если … иначе …).
Ветвление- алгоритмическая конструкция, в которой
в зависимости от результата проверки условия(«да»
или «нет» предусмотрен выбор одной из двух
последовательностей действий (ветвей)).
Алгоритмы, в которых последовательность шагов
зависит от выполнения некоторых условий,
называются разветвляющимися.
Алгоритмическая конструкция ветвления «Полная форма»
Полная форма ветвления
если <условие>
то <действия 1>
иначе <действия 2>
все
Условие
Действие 1
Пример
алг правописание частиц НЕ, НИ
нач
если частица под ударением
то писать НЕ
иначе писать НИ
все
кон
Действие 2
Алгоритмическая конструкция ветвления «Полная форма»
Блок-схема Полной формы ветвления
начало
блок "решение"
ввод a,b
да
a > b?
max:= a;
полная форма
ветвления
нет
max:= b;
Действие № 2
вывод max
конец
?
Если a = b?
Алгоритмическая конструкция ветвления «Полная форма»
Сокращённая форма ветвления
если <условие>
то <действия 1>
все
Условие
Действие 1
Пример:
алг сборы на прогулку
нач
если на улице дождь
то взять зонтик
все
кон
Алгоритмическая конструкция ветвления «Полная форма»
Блок-схема не полной формы ветвления
начало
блок "решение"
ввод a,b
да
a > b?
Не полная
форма
ветвления
нет
max:= a;
вывод max
конец
?
Если a = b?
Алгоритмическая конструкция ветвления «Полная форма»
На алгоритмическом языке программирования команда
ветвления записывается так
program qq;
var a, b, max: integer;
begin
writeln('Введите два целых числа');
read ( a, b );
полная форма
if a > b then begin
условного
оператора
end
else begin
end;
writeln ('Наибольшее число ', max);
end.
Алгоритмическая конструкция ветвления «Полная форма»
Условный оператор
if <условие> then begin
{что делать, если условие верно}
end
else begin
{что делать, если условие неверно}
end;
Особенности:
• перед else НЕ ставится точка с запятой
• вторая часть (else …) может отсутствовать
(неполная форма)
• если в блоке один оператор, можно убрать слова
begin и end
Алгоритмическая конструкция ветвления «Полная форма»
Что неправильно?
if a > b then begin
a := b;
end
elsebegin
b := a;
end;
if a > b then begin
a := b; end
else begin
b := a;
end;
if a > b then begin
a := b;
end
elsebegin
b > a begin
b := a;
end;
if a > b then begin
a := b;
end;
end
else begin
b := a;
end;
Алгоритмическая конструкция ветвления «Полная форма»
Блок-схема
начало
ввод a,b
max:= a;
да
b > a?
max:= b;
вывод max
конец
нет
неполная форма
ветвления
Алгоритмическая конструкция ветвления «Полная форма»
Вариант 1. Программа
program qq;
var a, b, max: integer;
begin
writeln('Введите два целых числа');
read ( a, b );
неполная форма
max := a;
условного
оператора
if b > a then
max := b;
writeln ('Наибольшее число ', max);
end.
Алгоритмическая конструкция ветвления «Полная форма»
Вариант 2. Программа
program qq;
var a, b, max: integer;
begin
writeln('Введите два целых числа');
read ( a, b );
max := b;
if a???
> b then
???:= a;
max
writeln ('Наибольшее число ', max);
end.
Алгоритмическая конструкция ветвления «Полная форма»
Что неправильно?
if a > b then begin
b;
a := b
else b := a;
if a > b then
b
a := b;
else b := a; end;
if a > b then begin
a := b;
end;
end
else b := a;
if b >= a then
b := a;
Алгоритмическая конструкция ветвления «Полная форма»
Простые и составные условия
Простые условия состоят из одной операции сравнения.
Составные условия получаются из простых с помощью
логических связок and (и), or (или), not (не).
Пример. Алгоритм определения принадлежности точки Х
отрезку [A; B].
A, B, X
да
(X>=A) and (X<=B)
ДА
нет
НЕТ
Ответ:
Ответ:Не
Принадлежит
принадлежит
A=2
X=4
B=4
B=6
X=6
Алгоритмическая конструкция ветвления «Полная форма»
Наибольшая из 3-х величин
Переменной Y присваивается значение большей из трёх
величин A, B и C.
YY
B
>Y
AB
C= =
Шаг
Y:=A
да
B>Y
нет
Y:=B
1
Константы
А
В
С
10
30
20
Переменная
Y
10
2
да
Y:=C
C>Y
30 > 10 (Да)
нет
3
Условие
30
4
20 > 30 (Нет)
Ответ: Y = 30
Алгоритмическая конструкция ветвления «Полная форма»
Решение линейного уравнения ax + b = 0
Список данных
a, b, x - вещ
a, b
да
x:=-b/a
нет
a<>0
да
Корней нет
b<>0
нет
Любое число
Алгоритмическая конструкция ветвления «Полная форма»
Задания
"4": Ввести три числа и найти наибольшее из них.
Пример:
Введите три числа:
4
15
9
Наибольшее число 15
"5": Ввести пять чисел и найти наибольшее из них.
Пример:
Введите пять чисел:
4
15
9
56
Наибольшее число 56
4
Алгоритмическая конструкция ветвления «Полная форма»
Вопросы и задания
Известно,
чтоалгоритм
31 января
года 9приходится
Дополните
из2011
примера
так, чтобы на
с его
понедельник.
Какиебыло
значения
быть присвоены
помощью можно
найтидолжны
наибольшую
из четырёх
Запишите
Запишите
Определите,
Какие алгоритмы
Приведите
алгоритм
алгоритм
пример
есть называют
липравописания
разветвляющегося
определения
среди
цифр
разветвляющимися?
заданного
принадлежности
приставок,
алгоритма
целого
из
Составьте
алгоритм,
с
помощью
которого
можно
литерной
переменной
y
в
алгоритме,
определяющем
Запишите
Составьте
алгоритм
алгоритм,
определения
с
помощью
которого
количества
можно
чётных
величин
A,
B,
C
и
D.
Составьте
Даны
две
точки
алгоритм
на
плоскости.
возведения
чётного
числа в
Какая
задача
решается
с
помощью
следующего
точки
Х
отрезку
[А;
В]
с
использованием
комбинации
из
начинающихся
трёхзначного
повседневной
числа
с
жизни.
буквы
одинаковые
«з»
(«с»).
определить,
существует
ли
треугольник
с
длинами
чисел
среди
заданных
целых
чисел
А,
В
и
С.
определить,
является
ли
треугольник
с
заданными
день
недели
для
любого
числа
(chislo)
января
2011
Определите,
квадрат,
а нечётного
какая из- них
в куб.
находится ближе к началу
алгоритма?
двух
ветвлений.
сторон
a, сторон
b, с. a, b, с равносторонним.
года?
длинами
координат.
Y:=A
chislo:= chislo mod 7
К:=0
если chislo=3 то у:='…‘
да Да
нет
А>=0 Нет
B>Y
если chislo=4 то у:='…‘
K:=K+1
если chislo=5Y:=B
то у:='…‘
B>=0 Нет
если chislo=6 то у:='…‘Да
K:=K+1
если chislo=0 то у:='…‘
да
нет
если chislo=1 то у:='…‘ C>Y
K
если chislo=2 то у:='…'
Y:=C
Алгоритмическая конструкция ветвления «Полная форма»
Опорный конспект
Ветвление - алгоритмическая конструкция, в которой в
зависимости от результата проверки условия (да или нет)
предусмотрен выбор одной из двух последовательностей действий
(ветвей).
Алгоритмы, в основе которых лежит структура «ветвление»,
называют разветвляющимися.
Условие
Действие 1
Действие 2
Полная форма ветвления
Условие
Действие 1
Сокращённая форма ветвления
Алгоритмическая конструкция ветвления «Полная форма»
Источники информации
1. http://school-sector.relarn.ru/dckt/projects/kolobok3/3road.jpg - развилка
дорог
2. http://img-fotki.yandex.ru/get/4608/sovaryaz-sova.1/0_5c8b9_728f857d_L
развилка дорог
3. http://wallpaper.goodfon.ru/image/101271-800x600.jpg - дождь
4. http://wiki.vspu.ru/_media/workroom/ikto/m5/tatiana_du/0004-007-razrjadychastits.png - Незнайка
5. http://www.shemetov.ru/images/consult.jpg - сравнение
Download