Similar presentations:
slides5-4
1. Алгоритмы и программирование
1Алгоритмы и
программирование
§ 10. Алгоритмы и исполнители
§ 11. Линейные алгоритмы
§ 12. Циклы
§ 13. Циклы с условием
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
2. Алгоритмы и программирование
2Алгоритмы и
программирование
§ 10. Алгоритмы и исполнители
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
3. Алгоритм = инструкция
Алгоритмы и программирование, 5 класс3
Алгоритм = инструкция
? Что это?
? Сколько действий?
? Нужно ли их выполнять по порядку?
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
4. Что такое алгоритм?
Алгоритмы и программирование, 5 класс4
Что такое алгоритм?
Алгоритм – это порядок выполнения
действий.
Исполнитель – это тот, кто выполняет
алгоритм.
Алгоритм — это точное описание
порядка действий некоторого
исполнителя.
Мухаммед ал-Хорезми
(ок. 783–ок. 850 гг.)
? Может ли исполнитель алгоритма что-то
решать сам?
? «Добавить соли по вкусу»?
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
5. Исполнитель
Алгоритмы и программирование, 5 класс5
Исполнитель
Исполнитель – это устройство или одушевлённое
существо (человек), способное понять и выполнить
команды, составляющие алгоритм.
Формальный исполнитель выполняет команды, не
понимая их, не задумываясь об их смысле и
последствиях.
? Какие есть неформальные исполнители?
? Как задать исполнителя?
• среда, в которой работает исполнитель
• система команд исполнителя (СКИ)
• как выполняется каждая команда
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
6. Исполнитель Удвоитель
Алгоритмы и программирование, 5 класс6
Исполнитель Удвоитель
Система команд:
1. прибавь 1
2. умножь на 2
6
10
Пример:
умножь на 2
прибавь 1
прибавь 1
умножь на 2
2
5
программа
2112
1
10
К.Ю. Поляков, Е.А. Ерёмин, 2024
?
5
1
11
2
12
24
http://kpolyakov.spb.ru
7. Исполнитель Удвоитель
Алгоритмы и программирование, 5 класс7
Исполнитель Удвоитель
Задача. Какое число получит Удвоитель из
числа 1, если выполнит программу 121212?
1
1
2
2
1
4
К.Ю. Поляков, Е.А. Ерёмин, 2024
2
5
1
10
2
11
22
http://kpolyakov.spb.ru
8. Управление исполнителями
Алгоритмы и программирование, 5 класс8
Управление исполнителями
Ручное (непосредственное, «с пульта»):
! Можно и без плана!
Программное (по готовой программе):
бортовой
компьютер
Программа — это алгоритм,
записанный на языке, понятном
компьютеру.
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
9. Управление компьютером
Алгоритмы и программирование, 5 класс9
Управление компьютером
Компьютер – это автоматическое устройство, способное
выполнять разные программы.
Программы пишут на языках программирования.
Python, C++, C#, Java, Go, …
! Компьютер – формальный исполнитель!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
10. Алгоритмы и программирование
10Алгоритмы и
программирование
§ 11. Линейные алгоритмы
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
11. Что такое линейный алгоритм?
Алгоритмы и программирование, 5 класс11
Что такое линейный алгоритм?
В линейном алгоритме команды выполняются в том
порядке, в котором они записаны.
Каждая команда выполняется один раз.
это линейный
алгоритм
Удвоитель: программа 2112
2
5
1
10
1
11
2
12
24
Программа – это алгоритм, записанный на языке
программирования.
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
12. Исполнитель Водолей
Алгоритмы и программирование, 5 класс12
Исполнитель Водолей
Среда: работает с двумя банками для воды без делений
СКИ:
наполни А
вылей А
перелей из А в Б
наполни Б
вылей Б
перелей из Б в А
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
13. Исполнитель Водолей
Алгоритмы и программирование, 5 класс13
Исполнитель Водолей
Задача. Пусть объём банки А – 2 литра, а объём банки Б
– 3 литра. Как набрать 1 литр воды?
Решение:
наполни Б
перелей из Б
в А
К.Ю. Поляков, Е.А. Ерёмин, 2024
А
Б
0
0
0
3
2
1
http://kpolyakov.spb.ru
14. Исполнитель Водолей
Алгоритмы и программирование, 5 класс14
Исполнитель Водолей
Задача. Пусть объём банки А – 2 литра, а объём банки Б
– 3 литра. Как набрать 1 литр воды?
? Другой способ?
А
Б
Решение:
0
0
наполни А
2
0
перелей из А
0
2
в Б
2
2
наполни А
1
3
перелей из А
в Б Какой способ лучше? Почему?
?
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
15. Исполнитель Водолей
Алгоритмы и программирование, 5 класс15
Исполнитель Водолей
Задача. Пусть объём банки А – 2 литра, а объём банки Б
– 4 литра. Как набрать 1 литр воды?
! Решения нет. Почему?
2 и 4 – чётные числа, можно набрать только 0, 2 или 4 л.
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
16. Решение через таблицу
Алгоритмы и программирование, 5 класс16
Решение через таблицу
Задача. Пусть объём банки А – 2 литра, а объём банки Б
– 3 литра. Как набрать 1 литр воды?
! Ищем пары с разницей в 1!
А
Б
2
3
4
6
6
9
А
Б
А
Б
А
Б
А
Б
8
12
2
3
2
3
2
3
2
3
10
15
4
6
4
6
4
6
4
6
6
9
6
9
6
9
6
9
8
12
8
12
8
12
8
12
10
15
10
15
10
15
10
15
Докажите, что с помощью банок объёмом 2 литра и 4
литра нельзя набрать 1 литр воды.
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
17. Исполнитель Робот
Алгоритмы и программирование, 5 класс17
Исполнитель Робот
Среда:
СКИ:
вперёд
назад
поверни налево
поверни направо
это стена
! При поворотах Робот остаётся в той же клетке,
где и был!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
18. Исполнитель Робот
Алгоритмы и программирование, 5 класс18
Исполнитель Робот
Задача. Привести Робота на базу – в клетку в буквой Б.
Решение:
поверни
направо
вперёд
поверни
направо
вперёд
вперёд
поверни
направо
Другой способ?
вперёд
?
К.Ю. Поляков, Е.А. Ерёмин, 2024
? Как решить?
http://kpolyakov.spb.ru
19. Робот сажает цветы на грядках
Алгоритмы и программирование, 5 класс19
Робот сажает цветы на грядках
СКИ:
посад
и
Решение:
назад
посади
поверни
налево
вперед
посади
вперёд
посади
поверни
направо
вперёд
К.Ю. Поляков, Е.А. Ерёмин, 2024
здесь нужно
посадить
цветы
? Другой способ?
http://kpolyakov.spb.ru
20. Проверьте программу
Алгоритмы и программирование, 5 класс20
Проверьте программу
Решение:
назад
назад
посади
поверни
налево
вперед
вперёд
посади
поверни
направо
вперёд
посади
! В программе есть ошибки!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
21. Ошибки в программах
Алгоритмы и программирование, 5 класс21
Ошибки в программах
Синтаксические: исполнитель не понимает команду, так
как она неверно записана.
прямо
поверни влево
вперёд
поверни налево
Логические: исполнитель понимает и выполняет
команды, но делает не то, что нужно.
посади
поверни налево
посади
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
22. Ошибки в программах
Алгоритмы и программирование, 5 класс22
Ошибки в программах
! Логические ошибки могут привести к отказу!
назад
посади
назад
посади
столкновение
со стенкой
При вычислениях: деление на 0.
Отладка – это поиск и исправление ошибок в
программе.
! Можно выполнять программу по шагам!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
23. Алгоритмы и программирование
23Алгоритмы и
программирование
§ 12. Циклы
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
24. Что такое цикл?
Алгоритмы и программирование, 5 класс24
Что такое цикл?
Цикл – это команда для многократного выполнения
одинаковых действий.
Циклические алгоритмы – это алгоритмы, в которых
есть циклы.
заголовок цикла
Решение:
тело цикла
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
25. Цикл с несколькими командами
Алгоритмы и программирование, 5 класс25
Цикл с несколькими командами
? В чём отличие?
Решение:
тело цикла
(2 команды)
! До и после цикла могут быть другие команды!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
26. Выбор начального положения
Алгоритмы и программирование, 5 класс26
Выбор начального положения
A
! Можно сначала перейти в клетку A!
Решение:
! В конце цикла Робот в клетке Б!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
27. Вложенные циклы
Алгоритмы и программирование, 5 класс27
Вложенные циклы
В клетку 1:
Нижний ряд:
Из 2 в 3:
Левый ряд:
К.Ю. Поляков, Е.А. Ерёмин, 2024
? Где остановится?
? Что дальше?
http://kpolyakov.spb.ru
28. Полная программа
Алгоритмы и программирование, 5 класс28
Полная программа
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
29. Вложенные циклы
Алгоритмы и программирование, 5 класс29
Вложенные циклы
Вложенный цикл – это цикл, который находится
в теле другого цикла (который называется
внешним циклом).
внешний
цикл
К.Ю. Поляков, Е.А. Ерёмин, 2024
вложенный
цикл
http://kpolyakov.spb.ru
30. Алгоритмы и программирование
30Алгоритмы и
программирование
§ 13. Циклы с условием
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
31. Логические команды
Алгоритмы и программирование, 5 класс31
Логические команды
! Расстояние до стены неизвестно!
?
? Что у Робота вместо
Как пойдёт человек?
органов чувств?
датчики
К.Ю. Поляков, Е.А. Ерёмин, 2024
СКИ:
впереди
свободно
сзади свободно
слева свободно
справа
свободно
http://kpolyakov.spb.ru
32. Логические команды
Алгоритмы и программирование, 5 класс32
Логические команды
Логическая команда – это запрос, на который
исполнитель может ответить «да» или «нет»,
используя сигналы с датчиков.
управляющий
компьютер
команды
управления
сигналы
с датчиков
обратная связь
Обратная связь – это данные, которые
поступают от датчиков к управляющему
компьютеру.
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
33. Цикл с условием
Алгоритмы и программирование, 5 класс33
Цикл с условием
Решение:
заголовок цикла
цикл
условие
Цикл с условием работает, пока выполняется условие в
заголовке цикла (пока условие истинно, верно).
? Сколько раз выполнится?
К.Ю. Поляков, Е.А. Ерёмин, 2024
неизвестно!
http://kpolyakov.spb.ru
34. Блок-схема алгоритма
Алгоритмы и программирование, 5 класс34
Блок-схема алгоритма
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
35. Зацикливание
Алгоритмы и программирование, 5 класс35
Зацикливание
? Что будет?
Зацикливание (или бесконечный цикл) – это ситуация,
когда цикл выполняется бесконечно.
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
36. Робот идёт до конца стены
Алгоритмы и программирование, 5 класс36
Робот идёт до конца стены
Решение:
? Сработает?
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
37. Робот идёт до конца стены
Алгоритмы и программирование, 5 класс37
Робот идёт до конца стены
Решение:
отрицание
? Можно идти по
2 клетки?
К.Ю. Поляков, Е.А. Ерёмин, 2024
? Что, если Робот
в клетке А?
http://kpolyakov.spb.ru
38. Вложенный цикл
Алгоритмы и программирование, 5 класс38
Вложенный цикл
! Расстояние между стенами неизвестно!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
39. Сначала сделаем один ряд
Алгоритмы и программирование, 5 класс39
Сначала сделаем один ряд
… и в конце прийти в клетку Б
Решение:
вперёд до
стены
назад и в
клетку Б
? Можно ли поменять местами?
нет!
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
40. Полное решение (4 ряда)
Алгоритмы и программирование, 5 класс40
Полное решение (4 ряда)
внешний
цикл
4
вложенный
цикл
вложенный
цикл
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru
41. Конец фильма
Алгоритмы и программирование, 5 класс41
Конец фильма
ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 174, г. Санкт-Петербург
[email protected]
ЕРЕМИН Евгений Александрович
к.ф.-м.н., доцент кафедры мультимедийной
дидактики и ИТО ПГГПУ, г. Пермь
[email protected]
К.Ю. Поляков, Е.А. Ерёмин, 2024
http://kpolyakov.spb.ru