Основные элементы программирования
В настоящей главе обобщается материал по программированию на языке Pascal для синтеза знания, полученные студентами в средних и средне-специальных учебных заведениях. Изучение языка программирования начинается со знакомства с формальными правилами записи алгоритмов для их последующего выполнения компьютером. Эта формальность проистекает из принципов, заложенных в архитектуру вычислительных устройств, и жесткости математической логики. Как и любой алгоритм, являющийся последователь-ностью инструкций, программа на Pascal состоит из команд (операторов), записанных в определенном порядке и формате. Команды позволяют получать, сохранять и обрабатывать данные различных типов. Однако кроме команд в записи программы участвуют еще, так называемые, «служебные слова». Это и есть элементы формальности, организующие структуру программы. Служебные слова можно использовать только по своему прямому назначению. Переопределять их нельзя. Pascal позволяет реализовывать идеи структурного программирования и структурной организации данных, что особенно важно при решении прикладных задач. Для этого в процессе решения задачи на компьютере пользователю необходимо вводить обрабатываемые данные с указанием способов их обработки и задавать способы вывода полученных результатов Для программирования условно можно выделить семь основных элементов построения программ: ввод, данные, операции, вывод, условное выполнение, циклы и подпрограммы. Ввод - считывание значений с клавиатуры, диска или из порта ввода-вывода. Данные - объекты языка (константы, переменные и структуры, содержащие числа, текст или адреса), над которыми производятся определенные действия. Операции - присваивание и сравнение (равные, неравные и др.) значений, их комбинирование (сложение, деление и др.). Вывод - запись информации на экран дисплея, диск или в порт ввода-вывода. Условное выполнение - выполнение набора команд в случае, если является истинным некоторое условие (если оно не удовлетворяется, то команды пропускаются или же выполняется другой набор команд) или если некоторый элемент данных имеет специальное значение либо значение из спектра. Цикл - набор команд, выполняемый фиксированное число раз пока является истинным некоторое условие или пока некоторое условие не стало истинным. Подпрограмма - набор команд со своим именем, который может быть неоднократно вызван из любого места программы по его имени. Программирование - написание, ввод и редактирование текста программы, ее трансляция и отладка. Для выполнения каждого этапа применяются средства: Написание, ввод и редактирование текста осуществляется пользователем при помощи редактора текстов; Редактор текстов имеет следующие возможности: • поддержку мыши; • • перемещаемые и масштабируемые окна редактора; • мультифайловые возможности для одновременного открытия нескольких файлов; • многочисленные окна, позволяющие иметь несколько представлений одного и того же файла или разных файлов; • разумный макроязык, позволяющий создавать свои собственные команды редактирования; • выбор примеров из окна справочной информации; • редактируемый портфель, допускающий вырезание, копирование и его передачу между окнами. Для управления редактором используются клавиши: Shift+стрелки (None) - выбор фрагмента текста в активном окне редактирования; Ctrl+Del (Edit/Clear) - удаление выбранного текста из окна без его помещения в портфель; Ctrl+Ins (Edit/Copy) - копирование выбранного текста в портфель; Shift+Del (Edit/Cut) - перемещение выбранного текста в портфель с последующим его удалением; Shift+Ins (Edit/Paste) - перемещение выбранного текста из портфеля в активное окно; Ctrl+L (Search/Search) - повторение последней команды Find или Replace. Текст любой программы не понятен компьютеру, поэтому требуется перевести его на машинный язык. Трансляция - перевод программы с языка программирования на язык машинных кодов (translation -перевод). Трансляция выполняется программами-трансляторами трех видов: интерпретаторами, компиляторами, ассемблерами. Интерпретатор - транслятор, производящий пооператорную обработку и выполнение исходной программы. Компилятор - преобразователь программы в модуль на машинном языке, с последующей записью этой программы в память компьютера для дальнейшего исполнения. Ассемблер - переводчик программы, написанной на языке ассемблера (автокода), в программу на машинном языке. Любой транслятор решает следующие задачи: • анализирует транслируемую программу, в частности определяет, содержит ли она синтаксические ошибки; • генерирует выходную программу (ее часто называют объектной или рабочей) на языке команд ЭВМ (в некоторых случаях транслятор генерирует выходную программу на промежуточном языке, например, на языке ассемблера); • распределяет память для выходной программы (в простейшем случае это заключается в назначении каждому фрагменту программы, переменным, константам, массивам и другим объектам своих адресов участков памяти). Для трансляции прикладной программы нужен компилятор, а для построения исполняемого программного модуля с объединением разрозненных откомпилированных модулей и библиотекой стандартных процедур - компоновщик (linker). Для трансляции можно использовать «горячие клавиши»: Alt+F9 (Compile/Compile) - компиляция последнего файла в окне редактора; Ctrl+F2 (Run/Program Reset) - переустановка выполняемой программы; Ctrl+F4 (Debug/Evaluate/Modity) - вычисление выражения; Ctrl+F7 (Debug/Add Watch) - добавление выражения для просмотра; Отладчик (debugger) - необходим для отладки программы (прогона) с анализом ее поведения, поиском ошибок, просмотром и изменением содержимого ячеек памяти ЭВМ; Прогон - последовательность действий по исполнению программы, т.е. компиляция текста, связь программы (если это необходимо) с библиотекой стандартных процедур и функций, загрузка в оперативную память с передачей ей управления. Перед передачей управления загруженной программе среда выводит на экран окно прогона программы, а после завершения работы программы вновь берет управление компьютером на себя и восстанавливает на экране окно редактора. Если в программе нет синтаксических ошибок, то все действия выполняются последовательно одно за другим, а на экране выводятся сообщения о количестве строк откомпилированной программы и объеме доступной оперативной памяти. Если среда обнаружила ошибку, то она прекращает дальнейшие действия, восстанавливает окно редактора и помещает курсор на ту строку программы, при компиляции или исполнении которой обнаружена ошибка. При этом в верхней строке появляется диагностическое сообщение о причине ошибки. Если ошибка возникла на этапе работы программы, указание того места, где она обнаружена, может не дать нужной информации, т.к. ошибка может явиться следствием неправильной подготовки данных, в этом случае применяется пошаговое исполнение программы. Для запуска и отладки программ используются клавиши: Ctrl+F9 (Run/Run) - запуск программы. Систему программирования Pascal часто называют интегрированной (integration - объединение отдельных элементов в единое целое) средой программирования, т.к. она объединяет в себе возможности ранее разрозненных средств, используемых при разработке программ: редактора текстов, компилятора, компоновщика, отладчика, и при этом обеспечивает хорошие сервисные возможности. Среда программирования - создание текстов программ, их компиляция, компоновка программ из отдельных частей, включая стандартные модули, отладку, выполнение программ. Pascal характеризуется хорошо развитой библиотекой модулей, позволяющих использовать возможности операционной системы, создавать оверлейные структуры, организовывать ввод-вывод, формировать графические изображения и др. Все управление средой осуществляется в основном с помощью системы последовательно разворачивающихся меню. Меню - прямоугольный участок экрана, содержащий кодовые слова и предназначенный для диалогового выбора продолжения работы. Меню фиксирует некоторое текущее состояние диалоговой среды и предлагает несколько альтернативных путей перехода из этого состояния. Содержащиеся в меню кодовые слова обозначают возможные альтернативы. Их называют опциями. Главное меню постоянно присутствует на экране, остальные разворачиваются по мере выбора продолжений. Главное меню содержит фактически лишь оглавление дополнительных меню. В этих меню сгруппированы близкие по своему роду действия, условное название которых и служит кодовым словом соответствующей опции главного меню: File (файл) - поиск текста, процедуры, функции или места ошибки; Edit (редактировать) - восстановление испорченной строки и операции с временным буфером; Search (искать) - поиск текста, процедуры, функции или места ошибки; Run (работа) - прогон программы; Compile (компилировать) - компиляция программы; Debug (отладка) - отладка программы; Tools (инструменты) - вызов вспомогательных программ; Options (варианты) - установка параметров среды; Window (окно) - работа с окнами; Help (помощь) – обращение F1 к справочной службе. Среда программирования кроме главного меню, позволяющего выполнять все необходимые действия по созданию программы, также обладает локальным меню (окном), в котором сосредоточены наиболее часто выполняемые операции. Окно - информационный обмен между пользователем и средой программирования. Одновременно на экране может присутствовать сразу несколько окон, однако только одно из них является активным. Активное окно - окно, используемое для работы в данный момент времени. Любая выбранная команда или набранный текст относится к активному окну. Активное окно очерчивается двойной рамкой, неактивное - одинарной. Если окна перекрываются, то активное окно находится над остальными. Для активации окон существуют «горячие клавиши»: Fl (Help) - вывод на экран окна справочной информации; F2 (File/Save) - сохранение файла, находящегося в активном окне редактора; F3 (File/Open) - появление диалогового окна с возможностью открытия файла; F4 (Run/Go to Cursor) - запуск программы до строки, на которой находится курсор; F5 (Window/Zoom) - масштабирование активного окна; F6 (Window/Next) - переход к следующему открытому окну; F7 (Run/Trace Into) - запуск программы в режиме отладки с заходом внутрь процедур; F8 (Run/Step Over) - запуск программы в режиме отладки, минуя вызовы процедур; F9 (Compile/Make) -компиляция/создание текущего окна; F10 (Nоnе) - возвращение к полосе меню. Для управления окнами существуют «горячие клавиши»: Alt+# (None) - просмотр окна, где # - номер окна; Alt+0 (Window/List) - просмотр списка открытых окон; Alt+F3 (Window/Close) - закрытие активного окна; Alt+F5 (Window/User Screen) - просмотр экрана пользователя; Shift+F6 (Window/Previous) - прохождение вперед через все активные окна; Ctrl+F5 (Window/Size/Move) - изменение размера или позиции активного окна; Существует несколько типов окон, но большинство из них имеют следующие элементы: • полоса заголовка, имя и номер окна; • закрывающая кнопка; • полосы скролинга; • уголок для изменения размеров окна; • кнопка масштабирования; Полоса заголовка - верхняя горизонтальная строка окна, содержащая имя и номер окна. Окно делается активным посредством нажатия клавиши Alt в комбинации с номером окна, масштабируется - если дважды нажать кнопку, находясь на полосе заголовка. Вы можете также тащить за строку заголовка для перемещения окна. Каждое открытое окно имеет номер в верхнем правом углу, а имя - в центре полосы заголовка. Закрывающая кнопка окна - кнопка в левом верхнем углу для быстрого закрытия окна. Окно справочной информации рассматривается как временное и может быть закрыто посредством нажатия клавиши Esc. Полосы скролинга используются для перемещения содержания окна с помощью мыши. Для смещения содержания окна нажимается соответствующая стрелка. Для непрерывного перемещения необходимо держать кнопку мыши нажатой. Уголок изменения размеров находится в нижнем правом углу и служит для изменения размера окна. Найти уголок изменения размеров можно по рамке из одной линии вместо рамки из двойной линии, используемой в других местах окна. Кнопка масштабирования находится в верхнем правом углу окна. Если значок в этом углу изображает стрелку вверх, то можно нажать эту стрелку для увеличения окна до максимально возможного размера. Если окно уже имеет свой максимальный размер, то значок - двуглавая стрелка и при нажатии на нее окно вернется к своему предыдущему размеру. В справочном окне выводятся подсказки, в окно редактора помещается текст программы, а в отладочном окне пользователь наблюдает за изменением переменных в процессе отладки программы. С помощью диалогового окна пользователь уточняет выбранное действие. Внутри диалогового окна может быть несколько полей. В поле ввода подготавливается текстовая строка. В поле выбора среда предлагает несколько возможных имен файлов. В поле переключаемой опции можно установить необходимую настройку среды, с помощью командных полей - передать среде ту или иную команду. Выбор любого пункта меню выполняется клавишами: Аlt+пробел - переход в System меню; Alt+C - переход в Compile меню; Alt+D - переход в Debug меню; Alt+E - переход в Edit меню; Alt+F - переход в File меню; Alt+H - переход в Help меню; Аlt+О - переход в Options меню; Alt+R - переход в Run меню; Alt+S - переход в Search меню; Alt+W - переход в Window меню; Alt+X - завершение работы с выходом в Dos (Windows). Pascal характеризуется расширенными возможностями встроенной справочной системы, которая позволяет пользователю не только получить контекстно-ориентированную справку, но и делать в текст создаваемой программы вставки кода примеров для каждой библиотечной процедуры и функции. Для получения справочной информации (за исключением случаев, когда управление переходит к Вашей программе), можно воспользоваться «горячими клавишами». F1, F1 (Help/Help on Help) - вызов справки (при нахождения в справочной системе F1 нажимается только один раз); Shift+F1 (Help/Index) - вызов оглавления справки; Alt+F1 (Help/Index Help/Previous Topic) - показ предыдущего экрана справочной информации; Ctrl+F1 (Help/Topic Search) - вызов специфической информации по языку только в редакторе. Любой экран справочной информации содержит одно или несколько ключевых слов (высвеченных элементов), по которым можно получить дополнительную информацию.
|