ТЕМА №2: РАБОТА В СРЕДЕ TURBO-PASCAL
ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. Turbo-Pascal 5.
ЦЕЛИ И ЗАДАЧИ: Знакомство с порядковыми транслятор, компилятор, интерпретатор; со средой Turbo-Pascal; правилами набора и корректировки текста; с порядком выполнения и отладки программы.
ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ:
Учащиеся должны знать:
- Что такое транслятор, компилятор, интерпретатор;
- Какие загрузить Turbo-Pascal;
- Элементы главного меню редактора Turbo-Pascal;
- Правила набора и корректировки текста программы;
- Что такое пошаговое выполнение программы и ее трассировка;
- Как сохранять и вызывать программу, а так же запускать на выполнение.
Учащиеся должны уметь:
- Работать в среде Turbo-Pascal;
- Набирать, корректировать и отлаживать программы;
- Работать одновременно с несколькими окнами;
- Пользоваться «горячими» клавишами;
- Пользоваться справочной системой Turbo-Pascal.
ПЛАН-СОДЕРЖАНИЕ УРОКА
Транслятор, компилятор, интерпретатор.
Программы, написанные на языке программирования, в компьютере должны обязательно проходить процесс преобразования или трансляции. Осуществляется это с помощью специальных программ (трансляторов).
Транслятор (англ, translator — переводчик) - это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.
Компилятор (англ, compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется (файл с расширением ЕХЕ).
Интерпретатор (англ, interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.
После того как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы. Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Turbo Pascal ориентирован либо на компиляцию, либо на интерпретацию. Для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.
Среда Turbo Pascal
Чтобы с большей эффективностью разрабатывать программы, нужно хорошо знать среду Turbo Pascal и уметь в ней работать. Программы пишутся и отлаживаются в редакторе, который вызывается из файла Тurbo.exe. Тurbo.exe находится в подкаталоге BIN каталога Pascal.
После загрузки редактора Тurbo.exe можно в рабочем поле набирать программу или корректировать ее с помощью клавиатуры или пунктов меню. Строка главного меню расположена в верхней части экрана:
Кнопка, закрывающая окно программы. Стрелка для увеличения размера окна
Турбо-среда предоставляет удобные средства работы с программой: ее хранение, запуск на счет, отладку и т. д. Доступ к этим средствам осуществляется через главное меню, которое состоит из следующих опций:
File |
Позволяет выполнять все основные операции с файлами (создавать новые, загружать имеющиеся, сохранять созданные и отредактированные файлы и т.п.). |
Edit |
Позволяет выполнять все основные операции редактирования текста (копировать, восстанавливать, удалять фрагменты текста, а так же восстанавливать первоначальный вариант редактируемого текста). |
Search |
Позволяет осуществлять поиск фрагментов текста и при необходимости производить замену найденного фрагмента новым. |
Run |
Позволяет запускать программу, находящуюся в рабочей зоне, а также при необходимости пошагово выполнять данную программу или ее часть. |
Compile |
Позволяет осуществить компиляцию программы, которая находится в рабочей зоне. |
Debug |
Содержит команды, облегчающие процесс поиска ошибок в программе (Breakpoints —точки остановки, окно отладки Watch, окно используемых подпрограмм, окно регистров, окно выходных результатов и некоторые другие). |
Tools |
Позволяет выполнять некоторые программы, не выходя из Среды Турбо Паскаля. |
Options |
Позволяет установить необходимые для работы параметры компилятора и самой среды. |
Windows |
Позволяет выполнять все основные операции с окнами (открывать, закрывать, перемещать, изменять размер). |
Help |
Позволяет получить имеющуюся в системе справочную информацию. Необходимое подчиненное меню активизируется (открывается). |
Войти в выбранное меню можно при помощи комбинации клавиш [Alt+клавиша первой буквы имени подчиненного меню], а также путем последовательной активизации клавиш [F10] и клавиши первой буквы имени подчиненного меню. Выйти из подчиненного меню можно, нажав клавишу [ESC].
Выход из Турбо-среды осуществляется нажатием Alt—X.
Удобным способом создания новых программ является модификация ранее созданных. Основной формой хранения текста программы являются файлы — поименованная область внешней памяти. Для этого необходимо научиться записывать программы в файлы, читать из файлов и т. д. Для этого необходимо пользоваться опциями подменю File:
New |
Новый файл |
Очищает память редактора и переводит его в режим создания нового файла. Вновь создаваемому файлу присваивается имя NONAME.PAS, которое можно изменить при записи файла на диск. |
Open |
F3 Читать файл |
На экране появится окно со списком файлов. В нем можно выбрать необходимый файл, который загружается в память редактора Турбо-Паскаль и таким образом делает его доступным для возможных изменений, а также прогона или отладки программы. |
Save |
F2 Сохранить файл |
Переписывает файл из памяти редактора на диск. Файл записывается под своим именем, однако, если к этому моменту имя файла было NONAME.PAS, среда запросит, хотите ли Вы его переименовать. Опцию можно вызвать из режима редактирования с помощью клавиши F2. |
Save as |
Сохранить с новым именем |
Переименовывает редактируемый файл и записывает его на диск под новым именем. |
Save all |
Сохранить все в окнах |
Записывает содержимое всех окон редактора в соответствующие дисковые файлы. |
Change dir |
Смена каталога |
Позволяет изменить установленный по умолчанию диск и/или каталог. (см. рис. ниже) |
Print/Print setup... |
Печать файла |
Позволяет напечатать файл на принтере. |
DOS shell |
Выход в DOS |
Позволяет временно выйти из Турбо-Паскаля без выгрузки его из памяти. После такого выхода вы получаете доступ ко всем командам операционной системы DOS. Для возврата в Турбо-Паскаль достаточно ввести команду EXIT, и экран тотчас же окажется в том состоянии, которое было перед вызовом этой опции. |
Exit |
Alt-X Выход |
Осуществляет выход из Турбо-Паскаля и выгрузку его из памяти. Эту опцию можно вызвать непосредственно из режима редактирования с помощью комбинации ALT-X. |
Набор текста программы
Перед началом набора программ в редакторе Турбо Паскаль необходимо провести установку (или проверку) опций конфигурации редактора:
- войти в меню Option;
- открыть дополнительное меню Environment;
- проверить установки в окне Preferences:
Для набора текста программы требуется открыть рабочее окно (новое или с уже набранной программой).
Максимальная длина строки редактора составляет 249 символов. Вы получите сигнал, если попытаетесь печатать больше. Однако компилятор будет обнаруживать только до 126 символов. Ширина окна редактора-77 колонок. Если вы напечатали последнюю 77 колонку, то введённый Вами ранее текст по мере печати будет сдвигаться влево.
Набирая текст программы, рекомендуется делать отступы, выделяя отдельные операторы или их части. Эти отступы облегчают чтение текста и поиск ошибок.
Набор каждой строки программы завершается нажатием клавиши Enter.
При наборе текста программы полезно пользоваться следующими «горячими» клавишами:
Ins (Ctrl+V) |
изменение режима «Вставка/Замена» |
Del |
удаление символа над курсором |
BackSpase |
удаление символа перед курсором |
Home/ End |
перенос курсора в начало/конец текущей строки |
PgUp/PgDn (Ctrl+R/C) |
перенос курсора на предыдущую/следующую страницу файла (программы) |
Ctrl+PgUp/PgDn |
перенос курсора в начало/конец файла |
Ctrl+ Home/ End |
перенос курсора в начало/конец экрана |
Left/ Right |
перенос курсора на один символ влево/вправо |
Ctrl+ Left/ Right |
перенос курсора на одно слово влево/вправо |
Ctrl+W/Z |
экран сдвигается вверх/вниз по тексту (при этом курсор неподвижен) |
Shift+Left/ Right |
выделение символов слева/справа от текущего символа |
Shift +Up/Dn |
выделение строк вниз/вверх от текущей строки |
Ctrl+Y |
удаление текущей строки |
Alt+ BackSpase |
восстановление удаленной информации |
Ctrl+T |
удаление слова справа от курсора |
Ctrl+Q+Y |
удаление части строки от курсора до конца строки |
Ctrl+N |
вставка строки |
Ctrl+Ins |
копирование выделенного блока в буфер обмена |
Shift+Ins |
вставка информации из буфера обмена |
Shift+ Del |
перенос выделенного блока в буфер обмена (удаление с сохранением в памяти) |
Ctrl+ Del |
полное удаление выделенного блока |
F5/F6 |
перемещение по открытым окнам с программами |
Alt+ F3 |
закрытие текущего окна |
F5 |
развернуть окно на весь экран |
Ctrl-F2 |
удаление голубой полосы |
Ctrl+F8 |
удаление красной полосы |
Выполнение программы
Турбо- Паскаль позволяет выводить на экран несколько окон с программами одновременно. Выполнять можно программу, которая находится в активном (текущем) окне. Признак активного окна — двойная рамка вокруг него.
Для выполнения программы надо выйти в меню и в пункте Run выполнить команду Run (или одновременно нажать клавиши Ctrl + F9), при этом опция Destination из меню Options/Compiler должна быть Memory. Система сначала запускает транслятор (интерпретатор), который переводит программу с Паскаля на язык машинных кодов и ищет синтаксические ошибки в программе. Если ошибки найдены, то программа не будет выполняться, произойдет возврат в редактор. Поверх текста программы появляется красная строка с сообщением об ошибке. После нажатия Esc окно исчезает, курсор устанавливается в строку с ошибкой. Для получения информации об ошибке надо нажать Ctrl+F1.
Когда все ошибки исправлены, программа начинает выполняться. Просмотреть результаты работы можно, нажав Alt+F5 (выводится окно пользователя). Возврат обратно в окно редактора – нажатие любой клавиши.
Прерывание работы «зацикленной» программы - Ctrl +Break.
Отлаженную программу компилируют следующим образом:
- Зайти в меню Compiler;
- Установить в области Destination значение Dick;
- Компиляция без запуска программы - Alt+F9;
- Компиляция с одновременным запуском программы на выполнение - Ctrl + F9.
Работа со справочной системой Турбо-Среды
Если Вы забыли, как точно пишется имя процедуры и какие аргументы ей требуются, то справочная система может Вам помочь. Ее можно вызвать, нажав клавишу F1. Эта справка является контекстно-зависимой, то есть можно получать информацию о текущем объекте. Передвигая курсор по тексту справки, выбирая те или иные отмеченные элементы и нажимая затем клавишу Enter, можно получить более подробную информацию.
Если курсор не находится на зарезервированном слове и транслятор ошибок не обнаружил, то нажатие комбинации клавиш Ctrl+Fl приводит к выдаче предметного указателя справок (зарезервированных слов, операторов и функций, и т.д.).
Двойное нажатие на Fl приводит к вызову меню доступных справок. Это меню построено по иерархическому принципу. Передвижение по нему вверх производится клавишами Alt+F1.
В Турбо Паскале имеется возможность переноса текста из справки в редактируемый текст:
- выделяем фрагмент справки стрелками, удерживая клавишу Shift;
- отмеченный фрагмент комбинацией Ctrl+Ins;
- переходим в редактор клавишами Alt+l (номер окна);
- копируем фрагмент на место - Shift+Ins.
Справочная система разбита на несколько подразделов, список которых можно увидеть в меню Help:
Contents |
вызывает экран содержимого справочника Borland Pascal Help |
Index |
выводит список ключевых слов, по которым имеется информация в справочной системе (Shift+F1) |
Topic search |
выводит справочную информацию о термине, на котором расположен курсор (Ctrl+F1) |
Previous topic |
выводит содержимое предыдущего окна информационной помощи (Alt+F1) |
Using help |
выводит справочные сведения о системе контекстной помощи |
Files… |
позволяет подключить к системе Help другие справочные файлы |
Compiler directives |
выводит список директив компилятора |
Reserved words |
выводит список зарезервированных слов |
Standart units |
выводит список стандартных модулей |
Turbo Pascal language |
выводит список основных элементов ТП 7.0 |
Error message |
выводит справочную информацию об ошибках |
About… |
выводит справочную информацию о самом пакете ТП 7.0. |
Отладка программы
Турбо- Паскаль может обнаружить ошибки на этапе компиляции и при выполнении программы. В первом случае это синтаксические ошибки типа пропущенной точки с запятой, скобки или написанного с ошибкой служебного слова. На стадии выполнения обнаруживаются такие ошибки, как попытка деления на 0 или извлечения квадратного корня из отрицательного числа. Однако вы можете допустить ошибки, которые Турбо-Паскаль не обнаружит. (Например, если при вычислении y=X2, было написано y:=sqrt(x)).
Каждое из окон, с которыми вы работаете, занимает всю площадь экрана. Часто бывает полезно уменьшить размеры окон и вывести их на экран одновременно. Изменение размера окна производится мышью. Указатель мыши устанавливаете на правый нижний угол окна, нажимаете левую клавишу и, не отпуская клавишу, перетаскиваете угол окна в нужное положение. Все окно целиком можно переместить по экрану, перетаскивая его таким же образом за верхнюю строку. В любой момент вы сможете развернуть окно на весь экран, нажав клавишу F5, и таким же образом придать ему первоначальный размер. Прокручивать текст в окне можно при помощи полос прокрутки на правой и нижней стороне окна. Удаляется окно клавишами Alt+F3 или щелчком мыши по кнопке в левом верхнем углу окна.
Перейти из одного окна в другое можно, щелкнув мышью в нужном окне или нажав на клавишу F6.
Для отладки программ Турбо-Паскаль предлагает ряд средств: пошаговый режим выполнения программы (меню Run-Step Over или клавиша F8), трассировка программы (меню Run-Trace into или клавиша F7). После компиляции программы Турбо-Паскаль остановится перед началом выполнения программы, а строку BEGIN выделит голубой полосой. Для следующего шага вновь нажмите на F8/ F7. Каждый раз выполняется очередная строка программы и выделяется строка, которая будет исполняться далее.
Отличие этих режимов в том, что при пошаговом выполнение, подпрограммы выполняются как один оператор, а при трассировке – подпрограммы так же выполняются по шагам.
В любой момент пошагового выполнения программы вы можете вместо F8/ F7 выбрать Run-Run (клавиши Ctrl+F9) и программа продолжит выполняться в обычном режиме. Чтобы прервать пошаговый режим (убрать голубую закраску строки), выберите Run-Program reset (клавиши Ctrl-F2).
При пошаговом выполнении программы возникает необходимость следить, как изменяются в процессе выполнения программы значения тех или иных переменных. Для этого Турбо-Паскаль предлагает окна — окно наблюдений (меню Debug-Watch) и окно пользователя (меню Debug-Output). Чтобы было удобно работать, лучше измените размеры окон и расположить их все на экране.
В окне наблюдений можно задать имена тех переменных, за изменением которыми требуется проследить (меню Debug-Add watch или клавиши Ctrl-F7). В диалоговом окне вводится имя переменной, если переменных несколько, процедура повторяется.
При отладке в пошаговом режиме удобно пользоваться точками прерывания (Breakpoints). До этой точки (строки программы) можно выполнять программу в обычном режиме (через Ctrl-F9), а дальше в пошаговом (через F7). Устанавливаются точки прерывания нажатием Ctrl+F8, когда курсор стоит на выбранной строке (строка заливается красным цветом). Убираются они так же через Ctrl+F8.
Еще один способ указать Турбо-Паскалю место прерывания выполнения программы — Run-Go to cursor (Иди до курсора). Нужно установить курсор в нужную строку и нажать F4. Программа будет выполняться до этой строки. Можно комбинировать различные способы выполнения программы — Ctrl-F9, F7 и F4.
Кроме того, можно использовать для отладки не системные средства, а включают в программу дополнительные операторы Write и ReadLn. Когда программа будет отлажена, эти дополнительные операторы убирают.
ЗАМЕЧАНИЕ. Прежде чем проводить пошаговую отладку программы или трассировку, необходимо убедиться, что опция Options/Debugger/Integrated активизирована