Передовица » Макулатура » Другая периодика » Наука и Жизнь 5/84

Наука и Жизнь 5/84 "Программируют школьники"

О компьютеризации общества вообще и об операционной системе "Школьница" в частности. На первой фотографии, на экране программа MOSS.

На наших глазах происходит всё углубляющееся внедрение вычислительной техники в самые различные отрасли народного хозяйства. Элементарные знания и навыки программирования должны стать одним из непреложных компонентов образованности современного человека.

Наш корреспондент И. Данилов побывал в Вычислительном центре Сибирского отделения АН СССР, сотрудники которого уже в течение многих лет преподают программирование школьникам Новосибирского Академгородка. К программированию детей приобщает система "Школьница", созданная сотрудником ВЦ СО АН СССР Г.А. Звенигородским и школьниками Н. Глаголевой, П. Земцовым, Е. Налимовым, Л. Рабиновичем и В. Цикозой.

И. ДАНИЛОВ, специальный корреспондент журнала "Наука и жизнь". Группа сайта просит вас связаться с нами! (ЗАЧЕМ ЭТО?)

ПРОГРАММИРОВАНИЕ - ВТОРАЯ ГРАМОТНОСТЬ

Так назывался доклад члена-корреспондента АН СССР А.П. Ершова, прочитанный на открытии всемирной конференции "Применение ЭВМ в обучении", которая состоялась в позапрошлом году в Лозанне.

Подобно тому, как в своё время с развитием книгопечатания наступила всеобщая грамотность, так в наш век распространение ЭВМ ведёт ко всеобщему умению программировать.

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

Можно не сомневаться, что вычислительная техника станет вскоре таким же атрибутом нашей работы и нашего быта, как электролампа или телефон.

Конечно, не следует думать, что все без исключения будут владеть алгоритмическими языками* и знать устройстве ЭВМ. Большинству подобные знания нужны не больше, чем телефонному абоненту подробности работы телефонного аппарата.

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

* Пояснения специальных терминов см. в словарике к статье;

Термин <программирование> принято связывать с вычислительной техникой. Но программой можно назвать предварительный план любой работы. Учёный планирует (читай: программирует) проведение эксперимента. Токарь обдумывает (читай: программирует) процесс обтачивания детали. Хозяйка рассчитывает (читай: программирует) семейный бюджет... И поскольку каждый, чем бы он ни занимался, в той или иной мере планирует, рассчитывает, обдумывает свою деятельность, можно утверждать, что каждый из нас так или иначе занимается программированием. Стало быть, освоение рациональных приёмов, научных методов программирования чрезвычайно полезно каждому для планирования и проведения всякой деятельности.

Но вот вопрос: когда и с какого возраста целесообразно учить программированию?

ДОЛЖЕН ЛИ ШКОЛЬНИК УМЕТЬ СЧИТАТЬ?

Конечно, должен. А не отучит ли его от этого раннее приобщение к микрокалькуляторам и ЭВМ?

В одном из американских журналов была такая карикатура. Мальчик сидит среди кучи карманных калькуляторов. Над ним склонилась измученная мама, терпеливо повторяющая вопрос: "Ну, посмотри: у тебя пять калькуляторов; если от них отнять два, то сколько останется?"

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

Есть ли основания у таких мрачных прогнозов? Действительно, завтрашний школьник вряд ли вычислит в уме 517х384. Но ведь и сегодня это могут сделать только уникумы. А что касается вычислений на бумаге, когда ЭВМ доступна каждому, - ведь это всё равно, что копать яму лопатой, когда рядом стоит экскаватор. Проще нажать несколько клавиш на калькуляторе.

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

А вот на вопрос, не отучит ли машина человека мыслить, можно ответить определённо - нет. Напротив, она научит мыслить чётче, рациональнее.

Впрочем, лучше всего об этом говорит опыт использования системы "Школьница" в экспериментальных классах одной из новосибирских школ, где занятия ведут сотрудники возглавляемой А.П. Ершовым лаборатории информатики Вычислительного центра СО АН СССР.

"ШКОЛЬНИЦА" УЧИТ ШКОЛЬНИКОВ

"Школьница" - это программная система, реализованная на микроЭВМ "Агат" и специально предназначенная для обеспечения учебного процесса в школе.

Представьте себе школьный кабинет, оборудованный "Агатами". На каждом столе цветной телевизор, или, как его называют, дисплей с клавиатурой. Преподаватель со своего пульта может управлять всеми дисплеями школьников: на их экранах появляются вопросы, условия задач. Дети, сидящие перед экранами, отвечают на эти вопросы, набирая ответы на клавиатуре.

Идёт урок математики, и преподаватель со своего пульта запустил пакет * прикладных программ "Арифметика". Дальше каждый школьник работает на своей ЭВМ самостоятельно. Машина показывает на экране, как складывать многозначные числа в столбик. Потом предлагает пример для решения. От ребёнка требуется только нажимать на клавиши с цифрами. Всё остальное машина сделает сама: укажет на ошибки, попросит повторить вычисления. Короче говоря, машина учит. Но этого мало, она и приучает. Приучает пользоваться дисплеем, аккуратно нажимать клавиши, осмысливать ответные сообщения машины. Процесс освоения арифметики идёт параллельно с привыканием ребёнка к ЭВМ.

Но не только арифметике может учить машина. Её можно использовать и на уроках родного языка. У "Школьницы" есть пакет программ "Предметный мир". Для того чтобы работать с ним, требуется только знание букв. Машина выводит на экран изображение предмета и предлагает по буквам набрать его название. Потом роли меняются. Ребёнок набирает название предмета и его признаки: цвет, размер, - а машина даёт изображение предмета на экране. Этот пакет можно использовать даже в детских садах. С его помощью ребёнок может научиться самостоятельно читать и писать. Важно отметить, что первое знакомство со "Школьницей" напоминает игру. Может быть, поэтому дети без особых усилий привыкают к ней.

"Школьница" найдёт общий язык со всяким, кто обращается к ней, независимо от его познаний в программировании. Начинающему она предложит поупражняться в управлении роботом. Робот этот появляется на экране дисплея. Сидящий за дисплеем школьник управляет им "понарошку", набирая на клавиатуре команды. Машина принимает их, если они понятны ей и выполнимы, отвечает "не понимаю", если они составлены неверно, или "не могу", если они невыполнимы, не соответствуют ситуации, которая сложилась в итого выполнения предыдущих команд.

У этого робота несколько специальностей. Одна из них, например, - дежурный по школьному классу. Набор команд, которые он может выполнить, прост: "открой окно", "закрой окно", "сотри с доски"... Учитель со своего пульта задаёт исходную ситуацию, скажем: "Окно открыто, доска исписана..." Школьник, сидящий за дисплеем, приказывает: "Сотри с доски". Команда принята. "Открой окно", - отдаёт школьник новый приказ. "Не могу", - отвечает машина: ведь окно уже открыто. "Закрой окно", - следует новая, верная команда.

Так, составляя самые простенькие наборы команд, школьник осваивает азы программирования.

А вот другой робот - "Муравей", тоже "обитающий" на экране дисплея. Можно заставить его толкать перед собой кубики с буквами, складывать из них слова. Задания для "Муравья" игрушечные, а вот программы настоящие. Написав несколько раз простые распоряжения типа: ВВЕРХ, ВВЕРХ, ВВЕРХ; ВПРАВО, ВПРАВО, - школьник быстро убеждается, что хорошо бы писать такие программы короче. Что-то вроде: 3 РАЗА ВВЕРХ, 2 РАЗА ВПРАВО И здесь ему на помощь приходит первый в его жизни алгоритмический язык - "Робик". В нём есть все конструкции современных языков программирования: циклы*, ветвления*, процедуры*. Они имеют простую и ясную форму. К примеру: "ПОВТОРИТЬ 3 РАЗА: ВВЕРХ". Просто и понятно. Впрочем, это и неудивительно. Ведь авторы "Робика" - сами школьники. Транслятор* с этого языка и многие другие составные части "Школьницы" написали под руководством младшего научного сотрудника ВЦ СО АН СССР Г.А. Звенигородского школьники Н. Глаголева, В. Цикоза, Е. Налимов, П. Земцов, Л. Рабинович. Самый старший из них в начале работы над программами учился в восьмом классе, а самый младший - в четвёртом. Одно это доказывает возможность и целесообразность раннего обучения программированию.

Вычислительная машина "Агат" - первая из советских ЭВМ, специально предназначенная для применения в школах и других учебных заведениях. Она принадлежит к семейству персональных ЭВМ. По величине "Агат" чуть меньше чемоданчика-дипломата. Внутри "чемодана" - процессор, магнитные диски, откидная клавиатура, другие устройства. Для завершения комплектации следует подключить ещё дисплей и накопитель на магнитных лентах. Роль дисплея может выполнять любой серийный телевизор, лучше цветной, а роль накопителя - бытовой кассетный магнитофон.


Общая схема персональной ЭВМ. Основа всякой ЭВМ - процессор. Он управляет работой всех остальных устройств, выполняет арифметические и логические операции, принимает и выполняет команды человека. Память ЭВМ хранит разнообразную информацию: числа, тексты, рисунки, программы. Она состоит из нескольких устройств. ОЗУ - оперативное запоминающее устройство. Используется для хранения промежуточной информации, возникающей при решении задач. ПЗУ - постоянное запоминающее устройство. Хранит самые важные программы - программы работы самой машины. Если в ОЗУ можно записывать информацию, то из ПЗУ её можно только извлекать. При отключении машины от сети информация в ОЗУ стирается, а в ПЗУ сохраняется. Кроме ОЗУ и ПЗУ - внутренних запоминающих устройств, есть и внешние - диск и магнитная лента. Они предназначены для долговременного хранения информации. Диск подобен гибкой грампластинке, да и информация записывается здесь на дорожки. Диски и магнитные ленты можно менять, наращивая таким образом библиотеку программ, используемых машиной. Дисплей представляет собой обычный телевизор. Только подключен он не к кабелю от телеантенны, а к ЭВМ. На его экране появляются символы нажимаемых клавиш, тексты программы и результаты работы машины - таблицы, графики, рисунки. Печатающее устройство позволяет получать те же таблицы, рисунки и тексты на бумаге.


На схеме - структура системы "Школьница". Система автономна, то есть не привязана к какой-либо конкретной ЭВМ и потому может ставиться на различные машины. Центральная часть рисунка схематически изображает ядро системы, управляющее всей её работой. Дисковая операционная система "заведует" гибкими магнитными дисками, монитор - остальными элементами памяти. Синтаксический анализатор переводит программу, написанную на "Робине", "Рапире" и т.п. в команды "Рапир-машины", а интерпретатор выполняет эти команды. В полях, окружающих центральную часть схемы, представлены алгоритмические языки, на которых можно писать программы для "Школьницы", а также устройство, позволяющее исправлять программы прямо на экране дисплея (текстовой редактор). В полях, расположенных по краям схемы, названы имеющиеся у "Школьницы" пакеты прикладных программ, которые применяются при изучении различных школьных дисциплин - от арифметики и русского языка до физики и химии. Библиотека учебных программ постоянно пополняется самими учащимися, овладевшими основами программирования.


Это изображение нарисовано с помощью системы "Шпага". Для его построения использовался довольно простой алгоритм. Какой же именно? Ответ на стр.96.

ЛАБОРАТОРИЯ НА ЭКРАНЕ

"Школьнице" есть что предложить и для старшеклассников. У неё имеются, например, тематические пакеты прикладных программ по физике и химии. Скажем, изучая в 9-м классе газовые законы, школьник может воспользоваться пакетом "Динамика". На экране перед ним изображение экспериментальной установки: цилиндр с поршнем, газовый баллон, нагреватель, охладитель, измерительные приборы. Для управления установкой достаточно посылать однобуквенные команды. Набор команд приводится в инструкции. По команде Н включается нагреватель, по команде П поршень двигается вправо. Все, что происходит с системой, видно на экране. То вправо, то влево скользит поршень, мерцает спираль нагревателя, меняются показания приборов.

С помощью подобных пакетов можно резко расширить "экспериментальную" базу физического кабинета. Далеко не в каждой школе есть действующая модель паровой машины. А "Школьница" демонстрирует такую модель на экранах дисплеев: с ней можно ставить разнообразные опыты, управляя ею с клавиатуры.

Для химиков тоже есть экранная лаборатория. Можно наблюдать течение химических реакций, изменение цвета растворов, выпадение осадков, выделение газов.

Использование всех этих пакетов не требует знакомства с программированием, однако знание его, естественно, расширяет возможности пользователя. Можно не только наблюдать опыты, но и составить определённую программу их проведения, построить соответствующие графики, вывести формулы.

С "РАПИРОЙ" и "ШПАГОЙ"

Освоив "Робик", школьник довольно легко переходит к следующему этапу - программированию на "Рапире". "Рапира" - основной язык системы "Школьница". По своим возможностям он превосходит такие языки, как "Алгол-60", "Фортран", "Бэйсик". Кроме чисел, в нём используются такие математические объекты, как множества, кортежи*. Есть возможность работать с текстами, рисунками. Упомянутые выше пакеты программ написаны на <Рапире>. Школьник, овладевший этим языком, может с помощью ЭВМ решить практически любую проблему, возникающую при изучении той или иной школьной дисциплины: отыскать корни уравнения, построить модель электрической схемы, проверить текст сочинения, составить двуязычный словарь.

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

УЧИТЕЛЬ И ЭВМ

Итак, машина помогает, воспитывает, учит. Короче, делает все то, что должен делать учитель. А какова же при этом роль учителя? Может быть, он и не нужен? Может быть, достаточно иметь квалифицированного инженера, который включал бы машины, следил за их исправностью и подсказывал школьникам, какие кнопки нажимать?

Разумеется, нет. Учитель нужен. Только роль его изменится, когда он получит прекрасного электронного помощника, избавляющего его от значительной части рутинной работы: высвободится время для духовного воспитания детей, больше будет возможностей заинтересовать ребят, приучить их к самостоятельной работе. Но, конечно, для такой перестройки учитель должен обладать большим запасом знаний, ориентироваться в программировании. Именно таких преподавателей нужно готовить сегодня в педагогических институтах. Курс программирования, в котором слушатели знакомятся с возможностями использования вычислительной техники в выбранной ими специальности, необходим сегодня каждому студенту педагогического вуза вне зависимости от факультета. Ведь им предстоит учить новое поколение, для которого программирование и вообще вычислительная техника станут завтра такими же привычными и естественными, как сегодня грамотность и книга.


На вкладке представлены некоторые учебные программы, составленные новосибирскими школьниками, которым преподают программирование сотрудники Вычислительного центра СО АН СССР.

Программа "Муравей" (слева вверху). Её работа заключается в том, что "муравей" движется вверх-вниз или вправо-влево с клетки на клетку разграфлённого поля. Если клетка, к которой подошёл "муравей", занята, то он толкает её содержимое перед собой в направлении своего движения. Начальное положение "муравья" и содержимое отдельных клеток задаёт преподаватель.

Вот программа на языке "Робик", с помощью которой "муравей" из кубиков с буквами составляет слово МАМА.
 ПОВТОРИТЬ 6 РАЗ: ВНИЗ; ПОВТОРИТЬ 4 РАЗА: ВПРАВО; ПОВТОРИТЬ 3 РАЗА: ВВЕРХ; ВПРАВО; ВВЕРХ; ВВЕРХ; ВЛЕВО; ВПРАВО; ВНИЗ; ВНИЗ; ВЛЕВО; ВВЕРХ; ПОВТОРИТЬ 5 РАЗ: ВНИЗ; ВПРАВО; ВПРАВО; ПОВТОРИТЬ 5 РАЗ: ВВЕРХ; ВПРАВО; ВВЕРХ; ВЛЕВО; ВСЕ.
 Программы, научившие "Муравья" понимать и выполнять подобные распоряжения, составил семиклассник С. Гавриленко.

Пакет прикладных программ "Химия" (справа вверху). Один из примеров его использования заключается в том, что машине сообщают, растворы каких соединений сливаются, а машина демонстрирует на экране дисплея, каков результат реакции, выпадет ли осадок, станет ли выделяться газ... Пузырьки газа не только видно, но и слышно!
 Авторы пакета - А. Петров (8-й класс), Д. Бакланов, Ф. Толстов, Ю. Баркаган (9-й класс), Н. Погосян (10-класс).

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

Внизу: кадры из научно-технического мультфильма "Спиновая динамика свободных радикалов". Фильм заснят, а точнее - запрограммирован с помощью системы "Шпага". На отдельных кадрах видно, как меняется состав электронных пар при нарастании магнитного поля. Фильм сделан по заказу Института химической кинетики и горения СО АН СССР четвероклассницей А. Филатовой и третьеклассницей С. Урюпиной.

На вкладке: пакеты учебных прикладных программ "Химия", "Динамика" и другие, созданные школьниками из Новосибирского академгородка.
Рис. М.Аверьянова. Группа сайта просит вас связаться с нами! (ЗАЧЕМ ЭТО?)


СЛОВАРИК

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

Байт - единица количества информации, представляющая собой группу двоичных разрядов (битов), которой ЭВМ оперирует как единым целым. Более крупные единицы: 1 килобайт = 1024 байта, 1 мегабайт = 1024 килобайта (коэффициент перехода выбран так, чтобы быть точной степенью числа 2: 1024 = 210).

Ветвление - переход при работе программы от последовательного выполнения инструкций к одной из альтернативных их групп (ветви программы) в зависимости от выполнения или невыполнения некоторого условия. Реализуется с помощью операторов или команд условного перехода.

Пакет прикладных программ - набор программ, предназначенных для решения задач определённого класса.

Кортеж (или запись) - набор взаимосвязанных данных. Например: фамилия - возраст - профессия - адрес. Группа кортежей образует файл - массив однотипных записей.

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

Транслятор - "программирующая" программа, предназначенная для перевода (трансляции) описаний алгоритмов с одного языка на другой. Первый из них - входной. Это язык более высокого уровня (то есть более понятный человеку), чем машинный или промежуточный.
 Различают два типа трансляторов - интерпретаторы и компиляторы. Интерпретаторы совмещают процесс перевода с выполнением, то есть выполняют каждый оператор языка сразу после перевода. Это напоминает дословный перевод, "подстрочник". Компиляторы сначала переводят всю программу, создавая свой аналог её, и затем уже её-то и выполняют. (Можно сказать, что при этом возникает своего рода "литературный" перевод, где соответствие между отдельными словами найти подчас трудно, но сохраняются смысл и "дух" исходного текста.)
 Интерпретаторы более медленны (особенно при работе с циклами: ведь приходится многократно переводить одно и то же), занимают больше места в памяти машины (нужно постоянно хранить не только исходную программу, но и саму программу-транслятор), но более удобны при работе в режиме диалога и при необходимости модернизировать программы в процессе выполнения. Они чаще используются на малых ЭВМ.

Цикл - последовательность операторов или команд, многократно повторяемая в процессе выполнения программы. Повторение цикла завершается в соответствии с условием выхода из неё.


Ответ на задачу.

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

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *