Квант

50

Искусство программирования

Г. Звеницгородский,
Ю. Первин,
А. Сосинский

V Всегоизная
летняя школа
юных программтов

С 25 июля по 10 августа 1980 года в Новосибирском академгородке состоялась V Всегоизная летняя школа юных программтов, организационная Сибирским отделением Академии наук СССР, редакцией журнала «Квант», Новосибирским государственным университетом и Министерством просвещения СССР. Впервые отбор учащихков произвелся через Заочную школа программирования, материалы которого публикуются на страницах нашего журнала. Лучшие учащиеся 3ШП, а также победители Олимпiadы по программированию («Квант», 1979, № 3), были приглашены на Летнюю шкoly. Таким образом были отобраны все 145 учащихков Летней школы. Они приехали со всего Союза: от Калининграда до Сахалина, от Норильска до Ташкента; были ребята из крупных городов и из сельской местности. В основном, это были школьники 6—9 классов, но было немало и учащихся 4—5 классов. С том, как проходила эта необходимая школа, и рассказано в этой статье.

Знакомство

Вычислительный центр СО АН СССР. Одна из терминальных комнат. Мерцалот экраны трех дисплеев, в сосредоточенной тишине слышится гудение вентилятора и тихое постукивание клавишей терминалов. За первым терминалом черноволосая смуглая девочка «разговаривает» с ЭВМ БЭСМ-6:

ПРОГРАММА РЕГИСТРАТОР
НАЧИНАЕТ РАБОТУ
ВАШЕ ИМЯ?
высвечивает на экране. Девочка неуверенно набирает на клавиатуре ответ:

— АБДРАХМАНОВА ГУЛЯ
ВАШ АДРЕС?
— КАЗАХСТАН, АКТЮБИНСКАЯ ОБЛАСТЬ, ПОС. КУРАЙЛИ
КАКИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫ ЗНАЕТЕ?

Разговор теперь идет у溜еннее, быстрее, и не только у Гули: войко стучат клавиши на двух других терминалов. За их работой следит консультант, опытный программист Сергей Гавриленко; он отвечает на вопросы и исправляет ошибки.

Для Гули — это перваяочная встреча с комьютером; с програм-

52

Позному о новых языках и системах программирования оказалось возможным расссказать очень кратко: достаточно было отметить отличия от уже известных по «Кванту» Рапиры и Шпаги.

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

Не остались в стороне от учебного процесса Летней школьи и взрослые — воспитатели и руководители делегации, родители. Предназначенный для них цикл lekций о проблемах школьного программирования вызвал живую дискусцию слушателей. О затеяном директором Летней школьи Ю. А. Первиным споре взрослись на тему «Зачем детей учат программированию?» мы напишем подробнее в следующем номере.

Научная конференция школьников

Пожалуйста, наиболее интересными событиями Летней школьи стал конференция, состоявшее 28 июля и 8 августа. На первой юные программные расссказали о работах, выполняшихся в течение учебного года, на второй — непосредственно на Летней школе.

Доклады первого конференции были распределенны по пяту секциям: системное программрование, моделирование и оптимизация на ЭВМ, применение ЭВМ в учебном процессе и прикладные задачи обработки данных, управление технологическими процесами, игровые и спортивные программы. Заседание каждой секции проводил ученный или специалист, хорошо знакомый со спецификой применения ЭВМ в соответствии оценки области: проектор Новосибирского государственного университета д.т.н., проф. Н. Г. Загорийко, с.н.с. НИИ ЭВМ (Минск) М. В. Ходош, с.н.с. ВЦ СО АН В. Э. Малышкин, сотрудник Ленинградского института авиационного приборостроения Н. Н. Бровин, с.н.с. Институтики АН УССР Л. Н. Иваенко.

Слово — системным программстам

По общему mnению наиболее сильной оказысь первая секция (системное программрование): три из пяты докладов на этой секции были удостоены дипломами I степени.

Девятиклассник Виталий Цикоза (Новосибирск, диллом I степени) расссказал о разработанной им новой версии графического системы Шпага, получившей название Шпага-5. Учащимся Летней школью очень понaviлась включенная им в Шпагу-5 процедура ДУГАТ, позволяющая проводитьдуг окружности через три заданные точки: теперь отпала необходимость возиться с определенным радиуса и направлениямидуги. В своем докладе Виталий говорил и о прог-

ГРАФИЧЕСКАЯ СИСТЕМА <<ШПАГА-5>>
экспериментальная версия РАССАЛ-Монтир

Рис. 1.

53

раммных особенностей системы НУ ПОГОДИ, с которой все участники перед этим уже работали на терминальной практике (рис. 1).

Десятиклассик Михаил Эпикетов (Алма-Ата, диплом I степени) разработал систему SONAR для отладки программ на EC ЭВМ. Для ускорения отладки во многих языках и системах программирования (например, в ОС ЕС, в АЛГОЛЕ — БАРРОУЗ) предусмотрена возможность следить за значением различных имен, обращениями к процедурам и т.п., но в операционной системе ДОС ЕС программист сам должен организовать отладку. Для этого можно после каждого присваивания в программе ставить оператор печати и следить по распечатке, как использовать программа, но объем программы тогда возвращает вдвое, а при выбрасывании дополнительных операторов печати часто в программу «заносится» новые ошибки. Система SONAR позволяет программисту при помощи одного — двух операторов организовать отладочную печать для всей программы или заданных ее участков и также просто «выключить» эту печать после окончания отладки.

Девятикклассик Серей Котов (Новосибирск, диплом I степени) по заказу лаборатории экспериментальной информации ВЦ СО АН разработал комплект для анализа программы микропроцессора INTEL-8080. Микропроцессоры —クロхотные вы-

Кольцевая ОВС
Линейная ОВС
Центральная ОВС
Звездчатая ОВС

Рис. 2.

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

Дипломами II степени и III степени были удостоены доклады Михаила Симбирское (Харьков, 9 кл.) о работе с чисlamи нестандартийной длины и Светланны Уропиной (Новосибирск, 5 кл.) о ее программе для лексического анализа текстов на различных языках программирования.

Программы моделируют и помогают на производстве

На второй секции диплом I степени получила Ольга Хорошевская (Новосибирск, 9 кл.), рассказавшая об оптимизации структуры вычислительной сети, связывающей несколько ВЦ. Построив на языке АЛГОЛ-ГДР подробную модель работы сети и удално применив стохистическую оптимизацию (метод Пейджа), Оля показала, что из нескольких вариантов организации связи между ВЦ самой выдающей кольцевая структура. По общему мнению Олин доклад был лучшим по использованию и диапositивы (выполненные ЭВМ на Шпаге — см. рис. 2).

54

Большой интерес на третьей секции вызывал доклад Сердея Гавриленко (Новосибирск, 5 кл.), удостоенный диплома II степени. Сережина программа «Вопрос — ответ» позволяет воспеть в машину определенным образом записанные данные из любой предметной области, а затем распрашивать ЭВМ про эти данные, получая при этом, как выражлся докладчик, «ответы на уровень смысла».

Диплом I степени на четвертой секции получили друзья-соавторы Михаил Дун и Андрей Кадал (Харьков, 9 кл.) за два доклада: «Моделирование технологических процессов изготовления изделия из термореaktивных полимеров» и «Автоматизация проектирования и изготовления центрально роликовых кулачковых механизмов». Эти работы уже внедрены на производстве: они были отмещены специальной премией как разработки с наиболее практическим значением.

Много еще было интересных работ. Мы отметим лишь доклады Павла Земцова (Новосибирск, 6 кл.), который на языке «Симуля — I» проделировал работу производственного цеха, Игоря Мезенцева (Ангарск, 9 кл.) о системе регистрации «Прогулящик», Николая Вербы (Харьков, 6 кл.), нашедшего на ЭВМ все 92 решения «задачи о 8 ферзях» (см. «Квант», 1977, № 12, с. 22), Виктории Волковой (Новосибирск, 5 кл.) о применении метода Эйлера к решению уравнения движения самолета и, наконец, знакомой нашим читателем (как разработчики Шпаги-І) Асии Салиховой, рассказавшей про перспективную работу о моделировании случаяных блужданий по кристалличекой решетке.

Чему мы научились

На первой конференции высоким уровнем выделились доклады школьников из Новосибирска и Харькова, где издавна работают свои школьных программистов. И хотя интересные работы из Эстони (Ньюсская с. ш.), Ангарска, Алма-Аты, Москвы, Туймазы, Куйбышева, большинство учащихся

ЗШП — до Летней школа не имели возможность для подобных совместных работ с компьютером.

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

Руководители делегатей (педагоги и специалисты по применению ЭВМ) были поржены тем, какие интересные и сложные программы сумели составить и отладить за две недели школьники, впервые перед этим выSEDшие на машину. Не имея возможность расскаазать о всех интересных работах, мы назовем лишь несколько из них.

Диплом I степени получили три бригады за работы «Экзаменаторскойультант по химии» (докладчик — М. Эпиктегов), «Школьный журнал» (докладчика — С. Бродецкая) и «Задание по реакции окисления» (докладчик — Е. Корнилин). Из интересных работ, получивших дипломы II степени, отметим следующие три: «Робот-домохозяйка» (Н. Наварова), «Дешифатор» (Е. Забокрицкий), «Шахматный судья» (Л. Нехамкин).

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

55

Призеры Олимпiadы по программированию
Дипломы I степени

Баталов С. (Арзамас, с.ш. № 2, 8 кл.).
Вейцман Б. (Одесса, с.ш. № 53, 8 кл.).
Забокрицкий Е. (Ленинград, с.ш. № 536, 7 кл.).
Земцов П. (Новосибирск, с.ш. № 25, 5 кл.).
Куприков Ю. (Подольск Московской обл., с.ш. № 3, 7 кл.).
Лиепины Я. (п. Вангажи Латвийской ССР, с.ш., 8 кл.).
Робсман Д. (Москва, с.ш. № 91, 9 кл.).
Цикоза В. (Новосибирск, с.ш. № 130, 8 кл.).

Список читателей, приславших правильные решения задач из Задачника «Кваンタ»
(Начало см. на c. 44)

(п. Черноголовка Московской обл.) 8—12; А. Осипов (Сосновый Бор Ленинградской обл.) 8, 11, 12, 17; И. Осовяк (с. В. Дедеркалы Терпопольской обл.) 6; Ю. Павлов (Ленинград) 16; А. Пакал (Тукумс) 16, 17; О. Панаценко (Киев) 4, 6—12; А. Пантелеев (Ростов-на-Дону) 9, 11, 12; С. Паценко (Киев) 16, 17; В. Пентезов (Киев) 6, 11, 16, 17; Г. Перельман (Ленинград) 6; К. Пивницкая (Москва) 4; С. Подорелов (Киев) 11, 12; А. Полисский (Киев) 4, 6, 11, 12, 17; Е. Поляков (Калининград Московской обл.) 9, 12; А. Пономаренко (Киев) 8, 9, 11, 12, 17; О. Потылцина (Жуковский) 11, 12; С. Равняго (Золочев Львовской обл.) 9; В. Романчук (Запорожье) 17; С. Ромашкин (Александров) 17; Б. Рублев (Киев) 4, 6—9, 11, 12; Г. Рыбкин (Смоленск) 4, 6, 7; С. Рязанцева (Борисоглеськ) 7, 9, 11, 12, 17; Б. Сафронов (Донецк) 17; Ю. Свистунов (Запорожье) 16, 17; С. Селифанов (С. Полелево Калужской обл.) 9—12; Т. Серцецев (Челябинск) 4, 6—12; А. Середа (Донецк) 4; В. Середа (Львов) 6, 7, 9, 11, 12, 16, 17; Ф. Серкс (Оргеев) 11, 12; А. Сидоренков (Смоленск) 4; В. Сидорин (Ретов) 7; Н. Сирых (Ярославль) 6—8; А. Сок (Талгар) 4, 6—9, 12, 16, 17; О. Сконцов (Ангарск) 4, 8, 12, 16; А. Смирнов (Курган) 9, 11, 12; Н. Смирнов (Москва) 8, 9, 11, 12, 16; Р. Смирнов (Москва) 4, 6; С. Смирнов (Ташкент) 7—9, 11, 12; А. Сокол (п. Черноголовка Московской обл.) 17; Г. Солдак (Минск) 4, 6; С. Соломко (Мелуэз) 17; И. Соловей (Донецк) 16; Д. Сорока (Запорожье) 4, 6—9, 12; А. Спивак (Стерлитамак) 7, 12; И. Ставицкий (Фрунзе) 6, 8, 9, 17; П. Страдиь (Рига) 4, 17; А. Стрешинский (Донецк) 6—9, 11, 12; Д. Стыркас (п. Черноголовка Московской обл.) 9, 11, 12; Е. Сырицева (Вышний Волочек) 16, 17; Ю. Талденко (Сумы) 16, 17; А. Уливанов (Горький) 11, 12, 16, 17; В. Троицкий (Киев) 9, 11, 12; Л. Уткин (Вологда) 4, 9, 11, 12; В. Фарбер (Баку) 6, 9, 11, 12; Н. Федин (Омск) 4, 6—9, 11, 12, 16, 17; А. Федоров (с. Сполыцы ЯАССР) 17; В. Федокович (Киев) 8, 9, 11, 12, 16, 17; А. Фетискин (Рязань) 7; А. Флеров (Рига) 4, 6, 7, 9, 17; И. Фоменко (Днепропетровск) 4, 7, 9, 10, 12; О. Фонарев (Сумгант) 6; А. Фролов (Тула) 8, 9, 11, 12; А. Харценко (Киев) 16, 17; С. Хосид (Алма-Aта) 4, 6, 7, 17; Л. Хризман (Киев) 4, 9, 11, 12; А. Цеханский (п. Запрудня Московской обл.) 16; М. Цолик (Орск) 6, 7, 9, 12; Ю. Цыканков (Дрожжановский р-н ТАССР) 4, 6—10, 12, 17; А. Чепуров (ст. Григорополисская Ставропольского кр.) 4; А. Чулков (р. п. Мучкапский Тамбовской обл.) 17; А. Чумадин (Баку) 6—9, 11, 12; А. Чумаков (Куйбышев) 8, 11; В. Шаблинский (Киев) 4, 6, 7; Я. Шапиро (Ворошиловград) 17; В. Шаповал (Винница) 7; С. Шары (Семипалатин) 8, 12; А. Шевченko (Артемовск Донецкой обл.) 12, 17; М. Шевченko (Артемовск Донецкой обл.) 17; А. Шершенев (Москва) 4; С. Шитов (Пенза) 17; И. Шкрадок (Ногинск) 4, 6—9; С. Шлаков (Саратов) 7, 9, 12, 17; А. Шучкин (Душанбе) 7—9, 11, 12, 16, 17; М. Эскеров (Махачкала) 7; К. Яковлев (Киев) 16; С. Якуш (Краснодар) 17.