2/24/18
Основные алгоритмические структуры
Алгоритмы
- Линейные
- Разветвляющиеся
- Циклические (повторяющиеся)
Линейные алгоритмы
Начало
В основе лежит структурная команда следования .
Ввод данных
Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, без пропусков, ответвлений и повторений.
Действие
…… .
Вывод результатов
Конец
Задача 1
Даны две простые дроби и .
Требуется получить дробь ,
являющуюся результатом их деления.
Протестируйте схему с данными:
a = 5; b = 9; c = 7; d = 13
Разветвляющиеся алгоритмы
Разветвляющимися называются алгоритмы, в которых имеется команда ветвления.
Команда ветвления – это команда, по которой исполнитель выбирает один из двух путей выполнения алгоритма с непременным выходом на общее продолжение.
Выбор происходит по какому - либо условию.
Структура ветвления
неполная
полная
Полное ветвление
условие
нет
да
Серия 2
Серия 1
Если
То
Иначе
Конец ветвления
Полное ветвление
Пример 1
На
улице идет
дождь?
нет
да
Обуть
туфли
Обуть
сапоги
Выйти из дома
Неполное ветвление
условие
нет
да
Серия
Если
То
Конец ветвления
Неполное ветвление
Пример 2
На
улице идет
дождь?
нет
да
взять
зонт
Выйти из дома
Даны два числа A и B.
Требуется выбрать большее из них. Используйте полное ветвление.
Протестируйте схему с данными:
A = 5; B = 13 .
Даны два числа A и B.
Требуется выбрать большее из них. Используйте неполное ветвление.
Протестируйте схему с данными:
A = 5; B = 13 .
Задание 1
Составить блок-схему алгоритма нахождения значения функции Y :
0
3
5
А на этом участке
Y = X-1
На этом участке координатной прямой
Y = X 2
В этой точке
Y = 2*X
5 2 , если = 3 X Вводим значение X Проверяем - X X НЕТ ДА Если ДА, то Y присваиваем значение X 2 , Выводим значение Y X 5 Y = X 2 ДА НЕТ иначе (стрелка НЕТ)… Проверяем - X 5 ? Y = X - 1 X = 3 НЕТ Y ДА Если ДА, то Y присваиваем значение X - 1, Выводим значение Y Y Y = 2*X иначе (стрелка НЕТ)… Проверяем - X = 3 ? Y Если ДА, то Y присваиваем значение 2*X, Выводим значение Y иначе (стрелка НЕТ) … Ничего! КОНЕЦ В любом случае – КОНЕЦ! " width="640"
Первый блок – это всегда НАЧАЛО
НАЧАЛО
Стрелки показывают направление перехода
2 , если
Y = 1, если Х 5
2 , если = 3
X
Вводим значение X
Проверяем - X
X
НЕТ
ДА
Если ДА, то Y присваиваем значение X 2 ,
Выводим значение Y
X 5
Y = X 2
ДА
НЕТ
иначе (стрелка НЕТ)…
Проверяем - X 5 ?
Y = X - 1
X = 3
НЕТ
Y
ДА
Если ДА, то Y присваиваем значение X - 1,
Выводим значение Y
Y
Y = 2*X
иначе (стрелка НЕТ)…
Проверяем - X = 3 ?
Y
Если ДА, то Y присваиваем значение 2*X,
Выводим значение Y
иначе (стрелка НЕТ) … Ничего!
КОНЕЦ
В любом случае – КОНЕЦ!
Алгоритмы циклической структуры
Циклический алгоритм - это такой алгоритм, который содержит команду повторения.
Команда повторения – это команда исполнителю многократно повторять указанную последовательность действий.
Циклический алгоритм
Цикл – до
Цикл – пока
Цикл с параметром
Цикл – пока
условие
нет
да
Серия
Пока
Все
Задание 2
Составить блок-схему алгоритма копания траншеи «от забора и до обеда»
Начало
Подойти к забору
Обед
начался?
да
нет
Выкопать 10 см 3
траншеи
Идти обедать
Конец
Найти N! = 1*2*...*N (N факториал) - произведение последовательности натуральных чисел от 1 до N.
Протестируйте схему при N = 5 .
Цикл – до
Серия
условие
нет
да
До
Все
Задание 3
А теперь давайте вспомним Тома Сойера – какой алгоритм он использовал при покраске забора
Начало
Подойти к забору
Покрасить 1 доску
Забор
закончился?
нет
да
Отнести кисть и краску
и идти гулять
Конец
Задача 5
Составить блок-схему алгоритма вычисления суммы целых чисел от 1 до 5.
Дано : натуральные числа от 1 до 5
Найти : S
S := S + I;
I:=I+1
начало
S:=0
I:=1
S:=S+I
I:=I+1
да
I≤5
нет
Вывод S
конец
Цикл с параметром
Счетчик цикла
Серия
команд
Задание 4
К 1 сентября в школу привезли 15 новых мониторов для компьютерного класса. Составить алгоритм для робота, который будет переносить эти мониторы из машины в класс.
Начало
Счетчик=1, 15
Подойти к машине
Взять 1 монитор
Отнести его в класс
Поставить на стол
Идти отдыхать
Конец
Домашнее задание
- §§ 4.2, 4.2.1, 4.2.2;
- выучить конспект урока;
- решить задачи на карточке