Е-86
В статье описывается программная система Е-практикум 86 для ввода, редактирования и выполнения программ, задач и упражнений из пробного учебного пособия «Основы информатики и вычислительной техники», разработанная в лаборатории вычислительных методов механико-математического факультета МГУ под руководством А. Г. Кушниренко.
Разработку предшествующих версий Е-практикума проводили Г. В. Лебедев, М. В. Лебедев, Е. Л. Лебедева, Ф. Н. Шерстюк, А. Г. Леонов.
В разработке настоящей версии для ПЭВМ «Ямаха» на языке «С» кроме авторов статьи принимали участие А. Г. Леонов и М. Г. Эпиктетов.
Е-86 поддерживает алгоритмический язык практически в полном объеме учебников пробного учебного пособия.
Создание и изменение программ. В процессе работы с программой в Е-практикуме она хранится в памяти ЭВМ и постоянно изображается на экране практически так же, как это делается в учебнике. Текст программы можно осматривать и менять. При этом на экране с помощью курсора указывается то место, где вы «находитесь» и которое можете менять. Если программа длинная, то она целиком не видна — экран представляет собою как бы «окно», через которое вы видите часть программы. При передвижении курсора это окно смещается, двигаясь вслед за ним. Видимый в окне текст разделен на две части вертикальной чертой из восклицательных знаков: слева от нее виден текст программы, а справа, «на полях»,— замечания ЭВМ по поводу программы (сообщения об ошибках и т. п.). Например, в начале работы с Е-практикумом в левой части экрана появляется следующая картина:
* * * Е-практикум 86 * * * алг
_
арг
рез
нач
кон
При этом курсор (он изображен подчеркиванием) устанавливается за служебным словом «алг», как бы приглашая ввести заголовок алгоритма. Курсор можно перемещать в области текста (левее черты) с помощью клавиш со стрелками, однако перевести курсор правее черты, т. е. на поля, нельзя. Эта область отведена для сообщений ЭВМ, и человек не может в ней что-либо изменить. Компьютер же «не вмешивается» в область текста программы, а лишь сообщает «свое мнение» о программе на полях.
Рассмотрим процесс создания программы на примере решения квадратного уравнения. Пусть в формуле для дискриминанта набрано «4ас» вместо «4*а*с», тогда при попытке выхода из ошибочной строки система сообщит об ошибке на полях и установит курсор на место ошибки: д=в**2—4ас
В этот момент можно нажать на клавишу INS, чтобы вставить пробел между «4» и «а», затем — на клавишу «*» и получить «4*ас». Если затем снова попытаться выйти из строки (например, нажать «стрелку вниз»), то на полях появится комментарий «имя не описано», а курсор установится под символом «а» выражения «4*ас».
Действительно, «ас» воспринимается как имя новой, еще не описанной переменной, а не как имена «а» и «с», между которыми пропущен знак операции. Эту ошибку можно исправить, нажав на клавиши INS, * и ЕТХ.
Отсутствие сообщений на полях означает, что программа в данный момент не содержит синтаксических ошибок, хотя может быть и незаконченной.
Опишем процесс изменения программы человеком более подробно. Чтобы изменить какое-то место, подведите курсор с помощью стрелок к нужному месту и нажмите клавишу с тем символом, который вы хотите видеть на этом месте. В большинстве случаев этот символ появится на экране. Вставить пробел («раздвинуть» строку) или удалить символ можно с помощью клавиши INS и DEL, соответственно; те же клавиши при нажатой клавише SHIFT приводят к появлению пустой строки или к удалению одной из строк. В тексте программы, однако, встречаются служебные слова («алг», «арг», «рез», «нач» и т. п.), бесконтрольное назначение которых могло бы привести к нарушению структуры программы. Если, например, в команде ветвления
если . то . иначе все
удалить слово «то», оставив неизменным все остальное, то программа утратит всякий смысл. Поэтому создание и удаление таких конструкций проводится только целиком.
Чтобы вставить конструкцию «если—то—иначе—все», надо последовательно нажать всего на две клавиши ESC и Е (Е — первая буква слова «если»). После этого она появится, раздвигая текст программы, где был курсор. Курсор будет установлен сразу за словом «если» в место, куда человек должен вводить условие. Теперь остается лишь заполнить оставшиеся пустые места, написав условие после слова «если» и нужные команды после слов «то» и «иначе» (вставляя, если это необходимо, пустые строки).
Вставка остальных конструкций алгоритмического языка производится аналогичным образом: нажатием на ESC и А вставляется «алг—арг— рез—нач—кон»; нажатием на ESC и В — «выбор—все»; нажатием на ESC и : — «при—:»; нажатием-на ESC и И — «иначе»; нажатием на ESC и П — «пока—нц—кц»; нажатием на ESC и Д — «для—нц—кц».
После вставки курсор оказывается внутри конструкции в ближайшем незаполненном месте.
Для удаления конструкции следует установить курсор в первую ее строку (например, в строку «если») и нажать на клавиши ESC и DEL. После этого конструкция целиком исчезнет с экрана (вместе со всеми командами, входящими внутрь ее). Если нажать клавиши ESC и DEL, когда курсор стоит в строке со словом «иначе», то исчезнет эта строка и останется команда ветвления в сокращенной форме.
Такой способ позволяет избежать многих ошибок, тем не менее возможность для них остается: можно неправильно записать условие или выражение, использовать переменную как целую, хотя она описана как литерная, и т. п. Такие ошибки отмечаются на полях программы и отметки сохраняются пока не будет устранена ошибка.
Выполнение программ. В Е-практикуме выполнить созданную программу можно либо всю целиком, либо по шагам — команда за командой.
Чтобы выполнить программы целиком, надо нажать клавишу SHIFT и, не отпуская ее, — клавишу F4.
####
В процессе выполнения программы на полях справа показывается ход выполнения, т. е. аргументы программы, а также результаты проверок условий и выполнения команд присваивания. По окончании выполнения в строке «рез» показываются результаты. Значения аргументов в строке «арг» можно изменить и снова выполнить программу. Естественно, что если в алгоритме аргументы заданы явно, то при попытке использовать его как вспомогательный будет выдано сообщение об ошибке «уже определено», так как значения аргументов вспомогательного алгоритма будут уже определены к моменту вызова основного алгоритма.
Выполнение программы в любой момент можно прервать, нажав на клавишу CTRL и, не отпуская ее, на клавишу С.
Нажимая только на клавишу F4, можно выполнять программу и по шагам — команда за командой. При этом вызов вспомогательного алгоритма будет считаться одним шагом. Для того чтобы заглянуть «внутрь» вспомогательного алгоритма и посмотреть, как он выполняется по шагам, нужно в тот момент, когда курсор стоит в строке с вызовом вспомогательного алгоритма, нажать клавиши ESC и «стрелка вниз». Нажимая после этого клавишу F4, мы увидим пошаговое выполнение вспомогательного алгоритма. Когда оно закончится, очередное нажатие F4 вернет нас к исполнению основного алгоритма. После любого шага выполнение программы можно прекратить, для этого достаточно нажать на любую клавишу, отличную от F4.
Если в процессе выполнения программы выяснилось, что она работает неверно, ее нужно исправить так, как это описано выше, и попробовать выполнить снова.
Заключение. Цель работы в Е-практикуме — изучение ряда основных понятий информатики и вычислительной техники: алгоритм, алгоритмический язык, процесс исполнения алгоритма. Сам Е-практикум при этом служит всего лишь инструментом и играет второстепенную, подчиненную роль. Удобный инструмент должен быстро осваиваться и не требовать к себе внимания в процессе работы. Мы надеемся, что Е-86 окажется именно таким и позволит новичку — как школьнику, так и учителю — быстро освоить алгоритмический язык и получить навыки решения задач с его использованием.
Д. Варсанофьев, А. Дымченко Московский государственный университет им. М. В. Ломоносова |
August 29 2022 10:09:37
September 15 2023 18:17:59
May 08 2024 10:57:00