Тема: «Структура программы на Turbo Pascal»

advertisement
Структура программы в Turbo Pascal
Язык программирования.
Для представления алгоритма в виде, понятном компьютеру, служат
языки программирования. Сначала разрабатывается алгоритм действий, а
потом он записывается на одном из таких языков. В итоге получается текст
программы - полное, законченное и детальное описание алгоритма на языке
программирования. Затем этот текст программы специальными служебными
приложениями, которые называются трансляторами, либо переводится в
машинный код (язык нулей и единиц), либо исполняется.
Транслятор — средство для преобразования текстов из одного языка,
понятного человеку, в другой язык, «понятный» компьютеру. Трансляторы
бывают двух типов — интерпретаторы и компиляторы. Отличие между ними
заключается в том, что интерпретатор последовательно анализирует и
исполняет каждую строку программы, а компилятор проводит полный анализ
написанной программы и формирует уже готовый к исполнению машинный
код.
Языки программирования - искусственные языки. От естественных они
отличаются ограниченным числом "слов", значение которых понятно
транслятору, и очень строгими правилами записи команд (операторов).
Для написания текста программы можно использовать обычный
текстовый редактор (например, Блокнот), а затем с помощью компилятора
перевести её в машинный код, т.е. получить исполняемую программу. Но
проще и удобнее пользоваться специальными интегрированными средами
программирования.
На заре компьютерной эры, в 50-е годы XX века, программы писались
на машинном языке и представляли собой очень длинные
последовательности нулей и единиц. Составление и отладка таких программ
было чрезвычайно трудоемким делом.
В 60—70-е годы для облегчения труда программистов начали
создаваться языки программирования высокого уровня, формальные языки,
кодирующие алгоритмы в привычном для человека виде (в виде
предложений). Такие языки программирования строились на основе
использования определенного алфавита и строгих правил построения
предложений (синтаксиса).
Наиболее широко распространенным типом языков программирования
высокого уровня являются процедурные языки. В таких языках широко
используются управляющие конструкции (операторы), которые позволяют
1
закодировать различные алгоритмические структуры (линейную, ветвление,
цикл).
Одним из первых процедурных языков программирования был
известный всем Бейсик (Basic), созданный в 1964 году. В течение
последующего времени Бейсик развивался, появлялись его различные версии
(MSX-Basic, Бейсик-Агат, QBasic и др.). Другим широко распространенным
языком программирования алгоритмического типа является Pascal.
Первая версия языка Паскаль была разработана швейцарским ученым
Никлаусом Виртом в 1968 году. Первоначально язык предназначался для
целей обучения, поскольку он является достаточно детерминированным, т.е.
все подчиняется определенным правилам, исключений из которых не так
много. Основные характеристики: относительно небольшое количество
базовых понятий, простой синтаксис, быстрый компилятор для перевода
исходных текстов в машинный код.
В 1992 г. фирма Borland International выпустила два пакета, основанных
на языке Паскаль: Borland Pascal 7.0 и Turbo Pascal 7.0. Первый может
работать в трех режимах - обычном и защищенном режимах MS DOS и в
системе Windows. Для него необходимо порядка 30 Мбайт на жестком диске
и около 2 Мбайт оперативной памяти. Турбо Паскаль 7.0 работает только в
обычном режиме MS DOS и менее требователен к характеристикам
компьютера. Поскольку основные компоненты, которые мы будем
рассматривать в нашем курсе, совпадают в обоих продуктах, в дальнейшем
будет использоваться название Турбо Паскаль.
Пакет включает в себя алгоритмический язык программирования
высокого уровня, встроенный редактор и среду, предназначенную для
отладки и запуска программ. Кроме того, пакет содержит большой объем
справочной
информации
(англоязычной).
Как
известно,
языки
программирования делятся на два типа: интерпретаторы и компиляторы.
Турбо Паскаль относится к компиляторным языкам.
Благодаря языкам программирования высокого уровня, программы
которые мы будем составлять, будут больше напоминать инструкции,
обращенные к человеку, нежели к машине.
Однако следует иметь в виду, что в языках программирования не
допускаются даже незначительные (с точки зрения человека) нарушения в
правилах написания программ. Ведь даже маленькая неточность может
вызвать невыполнимость программы или трудно уловимую ошибку.
В языках программирования высокого уровня программа - это перечень
действий. Исполнение этих действий определено в самом языке
программирования, и их принято называть операторами.
2
Алфавит языка программирования Турбо Паскаль.
Под алфавитом языка понимают совокупность допустимых символов.
В языке Турбо Паскаль используются символы ASCII (американский
стандартный код обмена информацией). Можно выделить четыре основные
группы символов: символы, используемые в идентификаторах, разделители,
специальные символы и неиспользуемые символы.
Идентификатор - это имя любого объекта языка. Он может состоять
из латинских букв (a...z), цифр (0...9) и знака подчеркивания и не должен
начинаться с цифры. Прописные и строчные буквы в идентификаторах и
зарезервированных словах считаются идентичными, они различаются лишь в
строковых константах. Длина идентификатора не ограничена, но значимыми
являются лишь первые 63 символа.
Разделители используются для отделения друг от друга
идентификаторов, чисел и зарезервированных слов. К разделителям
относятся, например, пробел и комментарий. В любом месте программы, где
разрешается один пробел, их можно вставить любое количество.
Комментарии заключаются либо в фигурные скобки { комментарий 1 },
либо в символы (* комментарий 2 *) и могут занимать любое количество
строк.
К специальным знакам относятся знаки пунктуации (. () [] .. : ;), знаки
операций и зарезервированные слова. Знаки операций могут быть как
символьные (+, -, *, / и т.д.), так и буквенными (mod, div, not).
Зарезервированные слова являются служебными и не могут быть
переопределены пользователем, т.е. их нельзя использовать как имена
пользовательских объектов.
Неиспользуемые символы - это коды ASCII, которые используются
только в комментариях и символьных строках, но не в языке. К ним
относятся все русские буквы, а также символы %, &, ! и т.п.
Структура программы.
Любая программа на Паскале имеет определенную структуру:
program имя_программы;
uses
Подключение модулей
const
3
Раздел описания констант
label
Раздел описания меток
type
Раздел описания типов
var
Раздел описания переменнных
begin
Тело программы
end.
Начинается программа с заголовка. После заголовка на схеме
представлены разделы описания констант, меток, типов, переменных, а также
раздел, в котором подключаются используемые модули. Причем Турбо
Паскаль вовсе не предписывает порядок в каком порядке должны идти эти
разделы. Однако если в одном из разделов объявлен элемент программы, на
который имеется ссылка в другом разделе, то описание, на которое имеется
ссылка должно предшествовать ссылающему описанию. Например, если в
разделе объявления переменных объявляется переменная того типа, который
описывается в разделе описания типов, то сначала описывается тип, а затем
переменная.
type
IntList = array[1..100] of Integer;
var
mylist : IntList;
Обязательной частью является лишь тело программы, которое
начинается словом begin, а заканчивается словом end с точкой. Операторы в
Паскале разделяются точкой запятой.
Вопросы:
4
Практическая часть.
В качестве примера рассмотрим программу вычисления площади
прямоугольника (блок-схему этого алгоритма мы записывали на прошлом
занятии):
program SquareRectangle; {вычисление площади прямоугольника}
uses WinCrt;
var
a, b, s: real;
begin
write('Введите высоту: ');
readln(a);
write('Введите ширину: ');
readln(b);
s:=a*b;
writeln('Площадь равна: ',s:5:2);
end.
Программа начинается со слова program. После служебного слова
program записывается имя программы. В нашей программе именем является
SquareRectangle. Имя программы записывается на английском языке и
задается произвольно автором программы. В конце первой строки, после
имени программы стоит ";" - точка с запятой. Этот знак указывает на то, что
некоторая инструкция закончена и за ней будет записана следующая
инструкция. Точка с запятой является обязательным разделительным знаком
в языке Паскаль.
5
Далее идет блок подключения модуля WinCrt (для Borland Pascal for
Windows).
В следующем разделе описываются переменные. В программе
используются 3 переменные (a, b, s), все они имеют тип real.
Далее в программе следует служебное, зарезервированное, слово begin
(начать), которым начинается раздел операторов.
В этом разделе последовательно записываются команды, операторы,
которые разделяются ";" - точкой с запятой. Они будут выполняться
компьютером.
Значения переменных в нашей программе вводятся с клавиатуры. Для
ввода ширины и длины используется процедура ввода readln. Подробнее о
стандартных процедурах ввода и вывода мы поговорим позднее. Запустим
программу и проверим ее работу.
Программа заканчивается служебным словом end, после которого стоит
точка. Она является обязательной во всех паскалевских программах. Точка
оповещает о конце текста программы.
Запустите программу и изучите ее работу.
Теперь исправьте программу для вычисления периметра квадрата.
6
Download