Как уже говорилось, сразу после запуска Турбо Паскаля среда переходит в режим редактирования текста, в котором можно подготовить новую программу или исправить существующую.
Основной формой хранения текстов программ вне среды являются файлы. После завершения работы с Турбо Паскалем можно сохранить текст новой программы в дисковом файле с тем, чтобы использовать его в следующий раз. Для обмена данными между дисковыми файлами и редактором среды предназначены клавиши F2 (запись в файл) и F3 (чтение из файла). Если Вы создаете новую программу, то среда еще не знает имя того файла, в который Вы захотите поместить текст этой программы, и поэтому она присваивает ей стандартное имя NONAME00.PAS (NO NAME – нет имени). Для сохранения текста программы в файле нужно нажать F2. В этот момент среда проверит имя программы и, если это стандартное имя NONAME, спросит, нужно ли его изменять: на экране появится небольшое окно запроса с надписью Save File as (Сохранить в файле с именем...).
Ниже надписи располагается поле для ввода имени файла, в котором можно написать нужное имя и нажать Enter – текст будет сохранен в файле. Если в имени опущено расширение, среда присвоит файлу стандартное расширение PAS. Если Вы захотите завершить работу с Турбо Паскалем, а в редакторе остался не сохраненный в файле текст, на экране появится окно с запросом NONAMEOO.PAS has been modified. Save? (Файл NONAME00.PAS был изменен. Сохранить?).
В ответ следует нажать Y (Yes – да), если необходимо сохранить текст в файле, или N (No – нет), если сохранять текст не нужно.
Прогон и отладка программы
После подготовки текста программы можно попытаться исполнить ее, т. е. откомпилировать программу, связать ее (если это необходимо) с библиотекой стандартных процедур и функций, загрузить в оперативную память и передать ей управление. Вся эта последовательность действий называется прогоном программы и реализуется командой Ctrl-F9.
Если в программе нет синтаксических ошибок, то все действия выполняются последовательно одно за другим, при этом в небольшом окне сообщается о количестве откомпилированных строк и объеме доступной оперативной памяти. Перед передачей управления загруженной программе среда очищает экран (точнее, выводит на экран окно прогона программы), а после завершения работы программы вновь берет управление компьютером на себя и восстанавливает на экране окно редактора.
Если на каком-либо этапе среда обнаружит ошибку, она прекращает дальнейшие действия, восстанавливает окно редактора и помещает курсор на ту строку программы, при компиляции или исполнении которой обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение о причине ошибки. Все это позволяет очень быстро отладить программу, т. е. устранить в ней синтаксические ошибки и убедиться в правильности ее работы. Если ошибка возникла на этапе прогона программы, простое указание того места, где она обнаружена, может не дать нужной информации, так как ошибка может быть следствием неправильной подготовки данных в предыдущих операторах программы. Например, если ошибка возникла в результате извлечения квадратного корня из отрицательного числа, будет указан оператор, в котором осуществляется извлечение корня, хотя ясно, что первопричину ошибки надо искать где-то раньше, там, где соответствующей переменной присваивается отрицательное значение. В таких ситуациях обычно прибегают к пошаговому исполнению программы с помощью команд, связанных с клавишами F4, F7 и F8. Пока еще не накоплен достаточный опыт отладки, можно воспользоваться одной клавишей F7, после нажатия на которую среда осуществит компиляцию, компоновку (связь с библиотекой стандартных процедур и функций) и загрузку программы, а затем остановит прогон перед исполнением первого оператора. Строка программы, содержащая этот оператор, будет выделена на экране указателем (цветом). Теперь каждое новое нажатие F7 будет вызывать исполнение всех операций, запрограммированных в текущей строке, и смещение указателя к следующей строке программы. В подозрительном месте программы можно просмотреть текущее значение переменной или выражения. Для этого нужно установить курсор в то место строки, где находится имя интересующей Вас переменной, и нажать Ctrl-F4. На экране появится диалоговое окно, состоящее из трех полей (в верхнем поле будет стоять имя переменной, два других поля будут пустыми). Нажмите Enter, чтобы в среднем поле получить текущее значение переменной. Если перед нажатием Ctrl-F4курсор стоял на пустом участке строки или указывал на имя другой переменной, верхнее поле диалогового окна также будет пустым или содержать имя этой другой переменной. В этом случае следует ввести с помощью клавиатуры имя нужной переменной и нажать Enter.
Алфавит языка Паскаль
Теперь рассмотрим алфавит языка программирования Паскаль – совокупность допустимых в языке символов (или групп символов, рассматриваемых как единое целое). В языке Турбо Паскаль все компоненты формируются из множества символов стандарта ASCII. Элементы алфавита можно условно разбить на четыре группы:
· символы, используемые в идентификаторах;
· разделители;
· специальные символы;
· неиспользуемые символы.
Идентификатор – имя любого объекта программы – может включать буквы, цифры и символ подчеркивания.
Буквы – это 26 латинских букв (прописных и строчных) от А до Z и от а до z. Помимо идентификаторов буквы могут использоваться в шестнадцатеричных числах для обозначения цифр от 10 до 15 (буквы от А до F и от а до f), строковых константах, служебных словах и комментариях. Следует иметь в виду, что прописные и строчные буквы в идентификаторах, числах и служебных словах не различаются.
Цифры – это арабские цифры от 0 до 9. В идентификаторах они могут присутствовать в любой позиции, кроме первой. Цифры используются также в изображении числовых констант. Символ подчеркивания может находиться в любой позиции.
Длина идентификатора может быть любой, но значимыми являются только первые 63 символа, и, по этим символам все идентификаторы должны быть уникальными.
Разделители используются для отделения друг от друга идентификаторов, чисел, зарезервированных слов. В качестве разделителей можно использовать:
· пробел;
· любой управляющий символ (коды от 0 до 31), включая символ возврата каретки (код 13);
· комментарий.
В любом месте программы, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании.
Комментарии заключаются либо в фигурные скобки { }, либо в скобки вида (* *) и могут занимать любое число строк. Комментарий, в котором за открывающей скобкой идет знак $, является директивой компилятора. Во время компиляции программы все комментарии, за исключением директив компилятора, игнорируются.
Специальные символы, выполняющие в языке определенные функции, можно разделить на три категории:
· разделители (знаки пунктуации);
· знаки операций;
· зарезервированные слова.
Знаки операций предназначены для обозначения тех или иных арифметических, логических или других действий. Они бывают двух типов: состоящие из небуквенных символов (например, + - * и т. д.) и буквенные операции (например, not, div, mod и т. д.), представляющие собой зарезервированные слова (табл. 1 и 2).