Лекция №1.1: Начальные сведения о программах на языке Pascal

страницы: 1 2 3

Начальные сведения об алгоритмах, компиляции, отладке и тестировании. Начальные сведения о программах на языке Pascal. Идентификаторы. Переменные и типы данных. Константы. Метки. Простейшие операторы. Ввод с консоли и вывод на консоль.

Содержание

Алгоритм и программа

Наш курс посвящён изучению не только языка Pascal, но и некоторых алгоритмов, решающих наиболее известные задачи программирования, поэтому начнём мы со знакомства с некоторыми основополагающими понятиями.

Алгоритм — это последовательность действий, которые необходимо выполнить, чтобы решить поставленную задачу.

Программа же представляет собой набор команд на языке, понятном исполнителю, реализующий некоторый алгоритм. В нашем случае исполнителем является компьютер, а языком программирования будет язык высокого уровня Pascal. К сожалению, любой язык высокого уровня удобен только человеку, пишущему или отлаживающему программу, но совершенно непонятен компьютеру. Программа на таком языке называется исходным текстом и хранится во внешнем файле с расширением .pas.

Для перевода программы на язык низкого уровня, понятный исполнителю-компьютеру, существуют специальные программы–переводчики — компиляторы. Результатом работы компилятора (иными словами, результатом процесса компиляции) является исполняемый код, который записывается в файл с расширением .exe.

Свойства алгоритма

Любой алгоритм должен обладать следующими свойствами:

  • массовостью: (алгоритм должен уметь решать не одну конкретную задачу, а целый класс однотипных задач);
  • результативностью: (алгоритм должен выдавать результат своей работы);
  • определённостью: (на каждом шаге выполнения алгоритма исполнитель должен точно знать, какой шаг будет следующим).

Эти же свойства присущи и программам, реализующим алгоритмы. Если же хотя бы одно из них оказывается невыполненным, программа полностью теряет смысл.

Компиляция, отладка и тестирование

Никто не станет спорить с тем, что неграмотно написанный текст очень сложно, а порой и вовсе невозможно правильно перевести на другой язык. Это верно для естественных языков, это верно и для языков программирования. Но если переводчик–человек иногда может как–то догадаться, что же именно хотел сказать автор неграмотного текста, то программе–переводчику такое не по силам. Любой компилятор требует, чтобы программа, подаваемая ему для перевода, была абсолютно правильно составлена.

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

Отладка — это поиск и исправление ошибок в программе. Тестирование — это составление специальных наборов входных и выходных данных (тестов), а затем исполнение программы и проверка полученных результатов в поисках возможных семантических или логических ошибок.

Чтобы уменьшить затраты времени и сил на отладку, нужно писать синтаксически и логически правильные программы. Технологиям написания надежных программ, их тестирования и отладки будет посвящена последняя лекция нашего курса.

Средства разработки программ

Существует довольно большое количество средств написания программ на языке Pascal, позволяющих составлять, компилировать, исполнять и отлаживать программы на этом удобном языке структурного программирования . Самыми известными сегодня являются Turbo Pascal (он же Borland Pascal), Object Pascal (не путать с Delphi) и Free Pascal1. Их различные, в том числе и бесплатные, версии можно найти в Сети. Для определённости мы будем опираться на самую распространённую (хотя и не во всём соответствующую стандартам ISO) реализацию — Turbo Pascal School Pak (Скачать Turbo Pascal). Другие версии использовать не рекомендуется.

Итак, в составе среды разработчика Turbo Pascal имеются:

  • текстовый редактор, в котором можно набирать тексты программ;
  • компилятор, превращающий исходные тексты в исполняемый код;
  • отладчик, помогающий обнаруживать и исправлять ошибки в программе

Из многочисленных возможностей, предоставляемых средой Turbo Pascal, мы упомянем лишь самые важные — те, без которых написание программ становится совсем уж затруднительным.

  • Нажатие клавиш F1, Alt+F1, Ctrl+F1 открывает экранную подсказку (вся информация из встроенной справочной системы есть на этом сайте).
  • Нажатие клавиши F2 позволяет сохранить исходный текст программы.
  • Нажатие клавиши F3 открывает диалог выбора нужного файла (по умолчанию отображаются только файлы с расширением .pas).
  • Нажатие клавиши Alt+F5 показывает консоль (см. п. «Ввод и вывод: консоль» ниже) с результатами работы программы.
  • Нажатие клавиши Ctrl+F9 начинает процесс выполнения программы Если она еще не была откомпилирована, предварительно будет вызван компилятор.
  • Клавиши F7 и F8 обеспечивают трассировку — пошаговое выполнение программы, позволяющее проследить за процессом её выполнения.
  • Дополнительное окно Debug/Watch показывает текущее состояние выбранных переменных.

Более подробно о возможностях среды Turbo Pascal можно узнать в любом руководстве по её использованию (в том числе и во встроенном Help, который можно читать на Тум Су).

Структура Pascal–программы

Для того чтобы Pasсal–компилятор правильно понял, какие именно действия от него ожидаются, ваша программа должна быть оформлена в полном соответствии с синтаксисом (правилами построения программ) этого языка.

Приступим же к изучению этих правил.

Любая Pascal–программа может состоять из следующих блоков (напомним, что квадратными скобками здесь и далее помечены необязательные части):

 [ program <имя_программы>; ]
 [ uses <имена_подключаемых_модулей>;]  (см. лекцию 13)
 [ label <список_меток>;]
                 (см. п. «Метки и безусловный переход» ниже)
 [ const <имя_константы> = <значение_константы>;]
              (см. п. «Константы» ниже)
 [ type <имя_типа> = <определение_типа>;] (см. лекцию 2)
 [ var <имя_переменной> : <тип_переменной>;]  
                 (см. п. «Переменные и типы данных» ниже)
 [ procedure <имя_процедуры> <описание_процедуры>;]
               (см. лекцию 8)
 [ function <имя_функции> <описание_функции>;]
 begin   {начало основного тела программы}
 <операторы>
 end.  (* конец основного тела программы *)

Сразу же необходимо сделать важную оговорку: поздние версии компиляторов языка Pascal уже не требуют указывать название программы, то есть, строку

program <имя_программы>;

вообще говоря, можно опустить. Но это возможно только в том случае, если вся программа содержится в одном модуле–файле. Если же программа состоит из нескольких самостоятельных кусков — модулей (см. лекцию 13), то каждый из них должен иметь заголовок (program или unit).

Любой из перечисленных необязательных разделов может встречаться в тексте программы более одного раза, их общая последовательность также может меняться, но при этом всегда должно выполняться главное правило языка Pascal: прежде, чем объект будет использован, он должен быть объявлен и описан.

Внешний вид исходного текста программы

Компиляторы языка Pascal не различают строчные и прописные буквы, а пробельные символы игнорируют, поэтому текст программы можно структурировать так, чтобы читать и отлаживать его было наиболее удобно.

Например, операторы каждого логически единого блока программы стоит записывать с небольшим отступом от левого края экрана, и чем глубже вложенность блока, тем шире должны быть отступы перед входящими в него операторами. Этому правилу подчиняются все примеры, приводимые в курсе наших лекций2. Кроме того, встроенный редактор среды Turbo Pascal автоматически выравнивает левые края строк. И ещё один полезный совет: для облегчения отладки программы не следует записывать на одну строку несколько операторов.

страницы: 1 2 3

Примечания

  1. ^ На языке Паскаль развитие императивных языков не остановилось. Среди «потомков» Паскаля особенного внимания заслуживает Ада. В ходе усовершенствования языка синтаксис получился несовместимым с языком Паскаль, и ни программы, ни учебные курсы без небольших изменений не могут быть перенесены на Аду. Видимо, по этой причине Ада уступает в популярности более бедному возможностями Free Pascal, у которого единственные достоинства — хорошая совместимость с Turbo Pascal и Delphi, а также кроссплатформенность.
  2. ^ Отклонения от этого правила возможны в связи с ограничениями, связанными с вёрсткой книги.
Код для вставки: :: :: :: ::
Поделиться: // //