Алгоритмы и программирование
Алгоритмы и программирование
Алгоритм = инструкция
Что такое алгоритм?
Исполнитель
Исполнитель Удвоитель
Исполнитель Удвоитель
Управление исполнителями
Управление компьютером
Алгоритмы и программирование
Что такое линейный алгоритм?
Исполнитель Водолей
Исполнитель Водолей
Исполнитель Водолей
Исполнитель Водолей
Решение через таблицу
Исполнитель Робот
Исполнитель Робот
Робот сажает цветы на грядках
Проверьте программу
Ошибки в программах
Ошибки в программах
Алгоритмы и программирование
Что такое цикл?
Цикл с несколькими командами
Выбор начального положения
Вложенные циклы
Полная программа
Вложенные циклы
Алгоритмы и программирование
Логические команды
Логические команды
Цикл с условием
Блок-схема алгоритма
Зацикливание
Робот идёт до конца стены
Робот идёт до конца стены
Вложенный цикл
Сначала сделаем один ряд
Полное решение (4 ряда)
Конец фильма
3.50M
Категория: ПрограммированиеПрограммирование

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
English     Русский Правила