Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Решения для различных исполнителей






Конкретный вид решения, разумеется, сильно зави­сит от системы команд исполнителя. Тем не менее, для некоторых из них алгоритмы выглядят очень, похоже. Ниже показаны решения задачи для исполнителей " Че­репашка" (язык Лого) и " Кенгуренок". В обоих из них после некоторых подготовительных действий четыре раза выполняется процедура р1, которая рисует по три стороны фигуры (первый раз это АБ, ВС и СО, за­тем по той же программе изображаются стороны ОЕ, ЕР и РО и т.д.).

 

Программа для Logo Writer   Программа для исполнителя " Кенгуренок"  
То таin: Х   прыжок  
Ноmе   прыжок  
С1еаn   прыжок  
Right 90   прыжок  
Repeat 4 [р1: Х]   сделай р1  
Епd   сделай р1  
    сделай р1  
    сделай р1  
То р1: Х   процедура р1  
Forward.: Х   сделай 1ine  
Left 90   поворот  
Forward: Х   сделай 1ine  
Right: 90   поворот  
Forward: Х   поворот  
Left 90   поворот  
Еnd   сделай 1ine  
    поворот  
    коней процедуры  
    процедура 1ine  
    шаг  
    шаг  
    шаг  
    шаг  
    конец процедуры  

 

Поскольку исполнитель " Кенгуренок" обладает мень­шими возможностями (например, поворачивается только налево и не умеет подсчитывать количество повторений), программа для него заметно длиннее.

А вот для исполнителя " Чертежник", описанного в учебнике А.Г. Кушниренко с соавторами, алгоритм будет несколько другим. Причина состоит в том, что в отличие от двух предыдущих исполнителей " Чертежник" не име­ет понятий " вперед" и " назад", а пользуется системой координат, связанной с листом бумаги. С другой сторо­ны, благодаря такому принципу работы он не нуждается в поворотах. Поэтому для " Чертежника" фигура разделя­ется не на четыре, а на две повторяющиеся части; их границей служит точка G на рисунке. Команды рисования обеих частей рисунка совпадают с точностью до зна­ка аргумента Х, именно поэтому повторный вызов вспо­могательного алгоритма р1 содержит знак " минус" пе­ред аргументом. Обратите также внимание на то, что алгоритмы рисования линий АВ—ВС и СО—ОЕ для дан­ного исполнителя одинаковы, что позволяет во вспомога­тельном алгоритме р1 использовать цикл повторения не­обходимых действий два раза (разумеется, если ученик вместо такого цикла дважды напишет повторяющуюся пару команд, это не будет ошибкой!).

Исполнитель " Чертежник"

алг плюс (арг веш X)

нач

поднять перо

сместиться на вектор(X, 0)

опустить перо

р1(Х)

р1(-X)

кон

алг р1 (арг веа X)

Нач

нц 2 раза

сместиться на вектор(X, 0)

сместиться на вектор(0, X)

кц

сместиться на вектор(—X, 0)

сместиться на вектор(0, X)

кон

Наконец, рассмотрим еще одного исполнителя, кото­рый также описывается в этом же учебнике, — это " Робот". " Робот" не умеет рисовать, поэтому для него придется несколько переформулировать задачу. Двига­ясь вдоль стены, он должен будет обойти вокруг всей фигуры из начального положения, показанного на ри­сунке около буквы А.

Кстати говоря, данное небольшое изменение зада­чи приводит к существенному изменению ее реше­ния. Дело в том, что размеры стены, вдоль которой движется " Робот" (если хотите, для наглядности ее можно называть забором), теперь заданы, и ему не надо заботиться о длине пути — достаточно контро­лировать свое положение относительно стены. Именно поэтому в решении отсутствуют какие-либо геомет­рические параметры.

И еще об одной особенности решения для данного исполнителя. Из-за довольно " жесткой" системы команд — только на одну клетку строго в указанном направлении — решение получается очень громоздким. Может быть, стоит даже упростить задачу, убрав, на­пример, выступ стены РСН1. Нам удалось написать ал­горитм, используя 8 однотипных вспомогательных ал­горитмов, т.е. по два на каждое направление (напом­ню, что всего у фигуры 12 сторон). Три первых алго­ритма (для сторон АВ, ВС и СО) приведены в правой колонке, остальные легко могут быть восстановлены чи­тателями по аналогии.

Исполнитель " Робот"

алг обход

Нач

право 1

верх 2

право 1

верх 1

лево 2

верх 1

лево 1

низ 2

лево1

низ1

право 2

низ1

кон

алг право1

нач

нц пока сверху стена

| вправо

кц кон

алг верх 2

Нач

нц пока сверху свободно

1 вверх

кц кон

алг верх1.

Нач

нц пока слева стена

| вверх

кц

кон

Так выглядят решения предложенной задачи для че­тырех различных исполнителей. Разумеется, учитель мо­жет использовать и любого другого исполнителя.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал