2. Алгоритм— это ясный и точный список команд, выполняя который исполнитель достигает поставленной цели. Каждый исполнитель имеет свою систему команд. Для правильной записи алгоритмов применяется алгоритмический язык. Исполнители алгоритмического языка: «робот», «чертежник», «мышь», «графический исполнитель». 12.03.2010
3. Исполнитель «Робот» Робот — механическое устройство, которое работает на клетчатом поле. Размер поля 9*15 клеток. Поле огорожено стенами. Между клетками на поле также могут быть расположены стены. Робот умещается целиком в одной клетке. 12.03.2010
4. Робот умеет выполнять 5 команд: вверх вниз влево вправо закрасить По командам вверх, вниз, вправо, влеворобот перемещается на соседнюю клетку в указанном направлении. В некоторых случаях эти команды могут быть невыполнимы. По команде закрасить робот закрашивает клетку, в которой находится. Если клетка уже была закрашена, то повторном закрашивании она очищена не будет! 12.03.2010
5. Общий вид алгоритма алгимя алгоритма даноусловия применимости алгоритма надоцель выполнения алгоритма нач | тело алгоритма (последовательность команд) кон 12.03.2010
6. Пример алгоритма алгПутешествие дано!Робот в точке А надо!Робот в точке Б. Путь закрашен нач | закрасить | вверх | закрасить | вверх | закрасить | вправо | закрасить кон 12.03.2010
7. Слова алг, дано, надо, нач и кон называются служебными словами. Часть алгоритма до служебного слова нач называется заголовком алгоритма. Часть алгоритма между служебными словами нач и кон называется телом алгоритма. Имя алгоритма должно быть уникальным и отражать содержание алгоритма. 12.03.2010
10. Циклические алгоритмы. Арифметический цикл. Цикл N раз Циклом называется такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз до тех пор, пока выполняется некоторое условие. Данная последовательность действий называется телом цикла. Цикл, в котором заранее известно число повторений, называется арифметическим. 12.03.2010
11. Общий вид простейшего арифметического цикла в алгоритмическом языке: нцчисло повторенийраз | тело цикла кц Вызов конструкции цикла на экран: ESC + Ц 12.03.2010
12. Пример. Нарисовать с помощью Робота. алгбуква дано! Робот в точке А надо! Робот нарисовал букву П нач | нц 5 раз | | закрасить | | вверх | кц | нц 2 раз | | закрасить | | вправо | кц | нц 5 раз | | закрасить | | вниз | кц | закрасить кон 12.03.2010
16. Пример. Робот находится на поле. Справа от него в пяти клетках стена. Нужно составить алгоритм, который доводит Робота до стены. алг стена1 нач | нц5 раз | | вправо | кц кон
17. Теперь решим такую задачу. Робот находится на поле. Справа от него есть стена. Составить алгоритм, который доводит Робота до стены. Мы не знаем количество клеток между Роботом и стеной, поэтому цикл N раз нам не подходит. Робот должен идти вправо, пока не встретит стену. Цикл, тело которого выполняется, пока выполняется некоторое условие , называется итерационным.
18. Общий вид итерационного цикла в алгоритмическом языке: нцпокаусловие | тело цикла кц Вызов структуры данного цикла на экран ESC + П Вместо «условия» должна стоять одна из логических команд Робота: сверху свободно справа свободно снизу свободно слева свободно сверху стена справа стена снизу стена слева стена клетка закрашена
19. Итак, решим поставленную задачу: алг стена2 нач |нцпока справа свободно | | вправо | кц кон Мы выяснили, что итерационный цикл работает до тех пор, пока условие в заголовке цикла истинно. Значит в процессе работы цикла должна возникнуть ситуация, когда данное условие станет ложным. Можно сделать вывод, что тело цикла должно влиять на условие, то есть Робот должен приближаться к стене или закрашенной клетке, если условием стоит поиск стены или закрашенной клетки (или наоборот). Иначе грозит зацикливание— ситуация, когда цикл будет выполняться бесконечное число раз.
21. До последнего времени Робот решал задачи, которые не требуют никаких подсчетов. Но настало время научить Робота считать. Для этого надо уметь запоминать, изменять и использовать информацию в памяти ЭВМ. Для этого в алгоритмическом языке используются так называемые величины. Каждая величина имеет имя, значение итип. Имя величины служит для обозначения величины в алгоритме. Во время выполнения алгоритма в каждый конкретный момент времени величина имеет какое-то значение или не определена. Если значением величины может быть только целое число, то величина называется целочисленной, если любое число – вещественной. Эта характеристика величины называется типом величины.
22. Величины бывают трех видов: Аргументы — величины, обозначающие входные данные. Аргументы менять во время выполнения программы нельзя! Результаты — величины, обозначающие выходные данные. Результаты могут меняться во время выполнения алгоритма несколько раз. Аргументы и результаты описываются в заголовке алгоритма. Предусмотрены случаи, когда какая-то величина может быть одновременно и аргументом и результатом. Промежуточные переменные— величины, требующиеся только на время выполнения алгоритма, не являющиеся ни аргументами, ни результатами. Описываются промежуточные величины в строке нач.
23. алг Пример(аргцел А,резцел В) аргументрезультат начцел С промежуточная переменная Для того чтобы изменить значение величины, в алгоритмическом языке используется команда присваивания, которая имеет вид: имя величины := выражение
24. Выражение может быть арифметическим, логическим или литерным. Важно, что тип величины был согласован с видом выражения. Арифметические выражения должны быть записаны в так называемой линейной записисогласно следующим правилам: выражение должно быть записано в виде линейной цепочки символов; нельзя опускать знаки операций. используемые операции приведены в таблице:
25. Название операции Форма записи Сложение x+y Вычитание x-y Умножение x*y Деление x/y возведение в степень x**y 12.03.2010
26. Примеры решения задач 1.Справа от Робота есть стена. Нужно найти расстояние от Робота до стены. алг Считалка1 (резцел N) нач ¦ N:=0 ¦ нцпока справа свободно ¦ ¦ вправо ¦ ¦ N:=N+1 ¦ кц кон 2. Робот находится внутри огороженной прямоугольной области. Найти периметр этой области.