Очарование Logo

Я абсолютно убеждён в необходимости повсеместного изучения основ программирования в курсе информатики средних школ и непрофильных вузов. Программирование - это фундаментальная основа информатики как науки и незаменимое мощнейшее средство развития логического, образного и алгоритмического мышления. Я убеждён в этом, не взирая на широко распространенное мнение о том, что учить нужно лишь то, что пригодится в будущей профессиональной деятельности. За данной внешне вполне разумной, привлекательной, но поверхностной точкой зрения, как правило, прячутся бездельники, которые просто вообще не желают учиться... Без изучения программирования информатика превращается в курсы машинописи. Кажущиеся полезными навыки, полученные на таких курсах, устареют раньше, чем сегодняшние школьники и студенты приступят к своей профессиональной деятельности. Алгоритмизация и программирование - универсальная компетенция, которую по значимости в современном мире вполне можно сравнить со знанием основ математики и естественных наук. Без представления о программировании немыслим современный образованный человек.

В этой связи возникает вопрос: какие средства и языки наиболее пригодны для данных фундаментальных образовательных целей. Опыт преподавания, особенно последнего времени, к сожалению, убеждает в том, что в ряде случаев даже весьма дружественный и специально разработанный для образовательных целей Basic для непрофильных студентов-гуманитариев оказывается крепким орешком. Одним из возможных и очень привлекательных альтернативных вариантов может быть язык Logo. Язык Logo был разработан в 1967 году в лаборатории искусственного интеллекта Массачусетского технологического института на базе языка Lisp при участии крупного специалиста по искусственному интеллекту, изобретателя персептрона Сеймура Пейперта. Он также известен своими пионерскими идеями в области педагогического применения компьютеров. Одно время Пейперт работал совместно с крупнейшим швейцарским детским психологом Жаном Пиаже и испытал влияние его психологических и педагогических идей.

Язык Logo чрезвычайно занимательная, простая и, вместе с тем, мощная среда программирования. Забавляться с Logo вполне может и ребёнок младшего школьного возраста, и студент, и профессор. Характерной особенностью Logo является особый графический объект, называемый черепашкой. Черепашка может выполнять простые команды типа - вперед, назад, налево, направо. В сочетании с циклами и рекурсией это даёт замечательные и разнообразные визуально зримые результаты.

Язык Logo занимает свою определенную нишу в системе современных языков программирования, являясь, прежде всего, средством развития интеллекта и средой постановки занимательных компьютерных опытов. Существует специализированная международная некоммерческая организация Logo Foundation (el.media.mit.edu/logo-foundation), способствующая развитию и распространению Logo. Сам язык живёт и развивается. Существует достаточное количество интересных методических разработок по его применению в учебном процессе. Среди современных реализаций языка выделяется MSWLogo - достаточно современная, полная и мощная система программирования. Она распространяется свободно. MSWLogo можно скачать по адресу www.softronix.com/logo.html. При всех бесспорных и многочисленных достоинствах данная реализация всё же не лучшим образом подходит декларированным целям предельно простого знакомства школьников и непрофильных студентов с программированием. Во многом из-за английского языка и всё же сложной для указанного контингента учащихся среды.

Недавно мне удалось скачать ещё одну, на мой взгляд, весьма занятную российскую реализацию - Game Logo (www.myrobot.ru/logo). Очень удобно, очень просто и красиво!

С удовольствием повозился некоторое время. Программы сохраняются в виде обычных текстовых файлов. Всё на русском языке. Большие яркие кнопки. Кнопок не много. Интерфейс интуитивно абсолютно очевиден. Всё происходит играючи и шутя. Правда, сам язык мне показался несколько обеднённым, но для начального ознакомления с программированием вполне достаточно. В качестве примера приведу программку не рекурсивного построения фрактального дерева Пифагора восьмого порядка методом Монте-Карло.

переменная длина
переменная красный
переменная ширина
фон=белый_фон.GIF
спрятать черепаху
повторить 525
{
 домой
 ширина=8
 перо ширина
 красный=64
 цвет RGB(красный, 0, 0)
 длина=100
 вперед длина
 повторить 8
  {
   ширина=ширина-1
   перо ширина
   красный=красный+(255-64)/8
   цвет RGB(красный, 0, 0)
   если случайный>0,5 то налево 45 иначе направо 45
   вперед длина
   длина = длина*0,6
  }
}

Программка постепенно строит показанное на рисунке фрактальное дерево. Первоначально я окрасил его в оттенки зелёного цвета, но потом решил, что переход от тёмно-красного к алому делает похожим весь рисунок наподобие развётвлённых кровеносных сосудов, что ещё раз даёт повод задуматься над рекурсивным характером алгоритмов построения живых структур. Я думаю, что это универсальное и общее свойство любых живых форм на различных планетах.

Следует отметить, что язык Logo оказал определённое и существенное влияние на разработку языковых средств для изучения алгоритмизации и программирования на занятиях по информатике в СССР и позже уже у нас в Белоруссии. Речь идёт о так называемых исполнителях типа "Робот", "Чертёжник". В частности, наша отечественная разработка "Интал" содержала интересные языковые решения, хотя и производила несколько скучноватое внешнее впечатление. В целом же, потенциал Logo как средства обучения и интеллектуального развития весьма велик и далеко не исчерпан. Особенно интересны крайне простые и понятные элементы объектно-ориентированного программирования, реализованные в последних версиях Logo, а также широкие возможности по моделированию поведения сложных коллективных, в том числе и социальных, систем в мультиагентных средах Logo.

А. КОЛЕСНИКОВ,
andr61@mail.ru

Версия для печатиВерсия для печати

Номер: 

52 за 2007 год

Рубрика: 

Азбука программирования
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!