Составитель: Учитель информатики и ИКТ Баранов Виктор Николаевич Для подготовки к ЕГЭ ( часть С3)
Знакомство Для общения с компьютерами создано множество специальных компьютерных языков. Они называются языками программирования. Американские ученые, изучая проблему управления, «играли» с механической игрушкой- черепашкой, которая понимала некоторые очень просты команды. Язык управления черепашкой был назван Лого, что в переводе с греческого означает «СЛОВО».
Исполнитель Исполнитель – физический или виртуальный объект, производящий выполнение алгоритма. Примеры Примеры: 1. Черепашка - перемещается по плоскости. Умеет поворачиваться в разные стороны и на определённый угол. 2.Робот 2.Робот – перемещается по линейному коридору и может закрашивать каждую клетку в определённый цвет. Может двигаться пока перед ним свободное пространство. Может обрабатывать различные условия.
Исполнитель Черепашка – исполнитель среды ЛогоМиры. Черепашкой можно управлять, задавая ей команды: Перемещать; Поворачивать; Изменять её свойства.
Команды Краткая записьРасшифровкаДействие ПОПеро опустиОставляет след ПППеро поднимиНе оставляет след СГСотри графикуЭкран очищается ДОМОЙИсходное положение ВПЕРЕД Движение по прямой «вперед» НАЗАД Движение по прямой «назад» Направо Поворот по часовой стрелки НАЛЕВО Поворот против часовой стрелки
Аннотация На слайде 7 предлагается поэтапное построение результата программы на языке ЛогоМиры исполнителем Черепашка. Каждый щелчок по значку «Человечек» выполняет одну команду, исключение ПП (перо поднять) и ПО (перо опустить). Значок выхода закрывает презентацию. Стрелка – переход к следующему слайду.
Нажав на человечка, получим результат программы ПО Вперед 4 Направо 90 Вперед 3 Направо 90 Вперед 4 ПП Домой КОНЕЦ
1.Программа Начало Начало Команды программы Команды программы Конец программы Конец программы Тело программы 1.Программа Начало Начало Команды программы Команды программы Конец программы Конец программы Тело программы 1.Программа Начало Начало Команды программы Команды программы Конец программы Конец программы Тело программы 1.Программа Начало Начало Команды программы Команды программы Конец программы Конец программы Тело программы 1.Программа Начало Начало Команды программы Команды программы Конец программы Конец программы Тело программы 2. Проц. 2. Проц. Начало Начало Команды процедуры Команды процедуры Конец процедуры Конец процедуры Тело процедуры
3. Конструкции ветвления в полной форме Если Если То То Иначе Иначе Конец Конец 4. Конструкции ветвления в неполной форме Если Если То То Конец Конец
3. Конструкции ветвления в полной форме 4. Конструкции ветвления в неполной форме данет данет
Пока сверху свободно делать Пока сверху свободно делать Вверх Вверх Конец Конец
Тело цикла 6. Пока делать Конец Конец 5. Повторить … раз Конец Конец Тело цикла Повторить 15 раз Повторить 15 раз вправо вправо Конец Конец Сверху свободно Снизу свободно Слева свободно Справа свободно Закрашена
Логические операции: 1. И (конъюнкция) 2. ИЛИ (дизъюнкция) 3. НЕ (отрицание) D Если Сверху свободно И Слева свободно Если Сверху свободно ИЛИ Справа свободно Если НЕ Сверху свободно Если (НЕ Сверху свободно) И (НЕ Справа свободно)
D
D D
Кто может быть исполнителем алгоритма? Исполнителем алгоритма может быть не только человек, но и автоматическое устройство (реальное или воображаемое). В этом случае шаги алгоритма часто называют командами и вводят их в устройство в той форме, в которой оно сможет их обрабатывать. Языки алгоритмического управления устройствами являются формальными. Алгоритм, представленный на языке устройства, называется программой для этого устройства.
Разработка и исполнение Разрабатывает алгоритмы: человек, Исполняют алгоритмы: люди и устройства – компьютеры, роботы, станки, спутники, сложная бытовая техника, детские игрушки. Исполнитель решает задачу по заданному алгоритму, строго следуя по предписаниям (программе) не вникая и не рассуждая, почему он так делает.
Исполнителя характеризует: Системой команд Исполнителя называется совокупность всех команд, которые может выполнить Исполнитель. Совокупность всех действий, которые он может выполнить в ответ на эти команды, называется системой допустимых действий Исполнителя. Среда – это обстановка, в которой работает исполнитель Элементарное действие – действие, совершаемое исполнителем после вызова команды. Отказы. Возникают при вызове команды в недопустимом для данной команды состоянии среды.
Некоторые основные понятия теории графов Граф – рисунок, состоящий из множества точек и множества отрезков, оба конца которых принадлежат заданному множеству точек. Степень вершины называется число ребер графа, которым принадлежит эта вершина. Путь графе от А1 до Аn в графе называется такая последовательность ребер, ведущая от А1 до Аn, в которой каждые два соседних ребра имеют общую вершину и никакое ребро не встречается более одного раза. Цикл в графе называется путь, в котором совпадают его начальная и конечная вершины. Граф называется несвязным, если существуют хотя бы две вершины несвязные путем Граф называется деревом, если для каждой пары вершин существует единственный соединяющий их путь Рис. 2 Рис. 1
Отыскание пути На рисунке изображена схема местности. Передвигаться из пункта в пункт можно только в направлении стрелок. В каждом пункте можно бывать не более одного раза. Сколькими способами можно попасть из пункта 1 в пункт 9? У какого из путей наименьшая длина? У какого наибольшая длина?
Решение задачи ярус 2 ярус 3 ярус 4 ярус 5 ярус 6 ярус 7 ярус Кратчайший путь: Его длинна 2. Длина наиболее продолжительного пути 7: Число путей
Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 3, а во второй – 2 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди. Ход состоит в том, что игрок или увеличивает в 3 раза число камней в какой-то куче, или добавляет 1 камень в какую-то кучу. Выигрывает игрок, после хода которого общее число камней в двух кучах становится не менее 16 камней. Кто выигрывает при безошибочной игре – игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте. 2 ход 2 игрок 3,9, 12 12,2, 14 4,6, 10 5,2, 7 27,2, 29 3 ход 1 игрок 4 ход 2 игрок 15,3,18 12,4,16 12,9,21 12,4,16 36,3,39 13,3,16 12,9,21 4,27,31 3,18, 21 4,4, 8 5,3, 8 12,3, 15 4,9, 13 4,3, 7 3,4, 7 1 ход 1 игрок 3,6, 9 4,2, 6 3,3, 6 9,2, 11 3,2, 5
Решение задачи Правильное указание выигрывающего игрока и его ходов со строгим доказательством правильности (с помощью дерева игры) Оценивается максимальным кол-вом баллов. Выигрывает второй игрок. Для доказательства рассмотрим неполное дерево игры Числа соответствуют количеству камней на каждом этапе игры, в первой и второй кучах соответственно и их сумма. Второй игрок выигрывает на четвертом ходу, после любого ответа первого игрока. Дерево содержит все возможные варианты ходов первого игрока. Из него видно, что при любом ходе первого игрока у второго имеется ход, приводящий к победе.
Ещё пример задачи У исполнителя Утроитель две команды, которым присвоены номера: 1. прибавь 1, 2. умножь на 3. Первая из них увеличивает число на экране на 1, вторая – утраивает его. Программа для Утроителя – это последовательность команд. Сколько есть программ, которые число 1 преобразуют в число 29? Ответ обоснуйте.
ЧислоКак можно получить? Количество программ * = * = * = * = * = * = ЧислоКак можно получить? Количество программ 21+1*312+3= *315+3= *318+5=
Все возможные программы получения из чиcла 1 числа 29. 1) …+1=29 2)(1*3) …+1=29 3)(1+1)* …+1=29 4)(1+1+1)* …+1=29 5)(3*1)* …+1=29 6)( )* …+1=29 7)((3*1)+1+1)* …+1=29 8) ( )*3+1+…+1=29 9) ((3*1)+1+1+1)*3 +1+1…+1=29 12) ((1+1)*3)* …+1=29 13) ((1+1)*3+1) …+1=29 14) ( )*3 +1…+1=29 15) ((1*3) )*3 +1…+1=29 16) ( )*3 …+1=29 17) ((1*3) *3 …+1=29 18) ((1+1)*3+1+1)*3 +1…+1=29 19) ( )*3 +1+1=29 20) (1*3)*3*3 +1+1=29 21) ((1+1)* )*3 +1+1=29 22) (1+1+1)*3*3 +1+1=29 23) (3*1)*3*3 +1+1=29