Тогда, в 1981 году, уже существовал язык программирования для детей Logo. Он был основан на том же принципе — тоже управлял движениями некоего объекта — «черепашки», но был гораздо более разработан и, главное, реализован на компьютере. Поэтому наша разработка выглядит сегодня чем-то вроде изобретения деревянного велосипеда. Я даже некоторое время колебался, не выбросить ли всё это из книги. Потом решил оставить. Очень жалко было бы терять и целый пласт задач, и ту атмосферу энтузиазма, которую породил наш «проект» сначала среди нас — взрослых, а потом этот энтузиазм естественным образом передался детям. К тому же о Logo мы тогда ничего не знали, компьютеров не имели и даже об этом не мечтали; ну, и, наконец, изобретение деревянных велосипедов — это, если вдуматься, не такое уж дурацкое занятие. Надо бы как-нибудь вернуться к этому вопросу.
Перейду к описанию самого языка. Язык допускает расширения; сначала я опишу его основной костяк, а потом возможные расширения.
1. Движущийся объект.
Из Диминого деревянного конструктора я склеил стрелку, показанную на рис. 55. Она называется роботом. Клетки, в которых помещается такой робот, имеют размер 8 смх8 см.Рис. 55.
2. Комната.
На большом листе «бумаги для эскизов» поместилась комната 5x7 клеток; естественно, комнату от задания к заданию можно менять.3. Исполняемые операторы.
Их пока четыре: «сделать шаг вперёд», «повернуться направо», «повернуться налево», «повернуться кругом». Все повороты делаются внутри одной клетки. Изображаются они так, как показано на рис. 56.Рис. 56.
4. Логические условия.
Их тоже четыре: «стена спереди», «стена справа», «стена слева», «стена сзади». Они показаны на рис. 57. (Почти во всех программах использовалось одно лишь первое условие.)Рис. 57.
5. Стрелки.
Требуются стрелки всех длин, кратных 1,5 см. На некотором количестве трёхсантиметровых стрелок пишутся слова ДА и НЕТ. Следует обратить внимание на то, что каждое их этих слов должно быть написано на стрелках в четырёх видах: от головы к хвосту, от хвоста к голове и вверх и вниз по вертикали (рис. 58, где показаны только три стрелки из восьми необходимых).Рис. 58.
6. Начало и конец.
Каждая программа начинается полукругом, диаметр которого обращён вниз, и кончается полукругом, диаметр которого обращён вверх. Пока использовались лишь полукруги со словами НАЧАЛО и КОНЕЦ (рис. 59). В дальнейшем, когда появится входная и выходная информация, они будут помещаться именно в эти полукруги.Рис. 59.
7. Подпрограммы.
Пока подпрограммы никак не использовались. В дальнейшем предполагается использовать их следующим образом:(А) Заводится тетрадь, в которую (на отдельных страницах) заносятся все готовые программы. Каждая программа получает свой
(Б) При необходимости использовать в качестве подпрограммы некоторую программу из тех, что записаны в тетради, в блок-схему вставляется большой квадрат 6 см х 6 см с двумя полукругами; внутри большого квадрата просто ставится номер программы из тетради (рис. 60). При необходимости иметь входные и выходные данные, они записываются в полукругах.
Рис. 60.
Форма элемента, задающего такую вот процедуру-подпрограмму, должна подчеркнуть, что это целая программа, имеющая начало и конец (полукруги) и выполняющая не просто одно действие, а много действий (большой квадрат). Вообще следует обратить внимание на относительные размеры элементов блок-схем. Правильные пропорции между ними необходимо соблюдать для того, чтобы выкладываемые на столе блок-схемы не оказывались «кособокими».