|
|
Строка 1: |
Строка 1: |
− | == Главная ==
| + | {{New}} |
− | | + | --[[Участник:Владимир Слесарев|<span title="Администратор проекта Летописи.ру"> Владимир Слесарев </span>]]<sup>[[Обсуждение участника:Владимир Слесарев|<span style="color:#333399"; title="Ящик для вопросов и ответов"> Ответить можно здесь </span>]]</sup> 15:04, 21 октября 2014 (MSK) |
− | <h1> Структура программы на языке Turbo Pascal</h1> | + | |
− | | + | |
− | <pre> Приведём простейший пример программы, единственная цель которой (
| + | |
− | вывести на экран какое-нибудь приветствие:
| + | |
− | program Hello;
| + | |
− | begin
| + | |
− | writeln('Hello, world!');
| + | |
− | readln;
| + | |
− | end.
| + | |
− | Первая строка ничего не делает, она просто содержит название программы.
| + | |
− | Затем, после слова begin начинаются собственно действия. В нашей программе
| + | |
− | их два: первое ( это вывод строчки «Hello, world» на экран, а второе (
| + | |
− | ожидание нажатия клавиши «Enter», оно нужно для того, чтобы можно было
| + | |
− | увидеть результат программы, а затем уже нажать «Enter» и вернуться в Турбо-
| + | |
− | Паскаль. И, наконец, слово end с точкой в последней строке говорит о том,
| + | |
− | что программа закончилась. Действия, из которых состоит программа,
| + | |
− | называются операторами, они отделяются друг от друга точкой с запятой.
| + | |
− | А теперь приведём пример, в котором программа уже не «глухая», то есть
| + | |
− | может запрашивать какие-либо данные у пользователя. Пусть требуется
| + | |
− | спросить у пользователя два числа, после этого вывести на экран их
| + | |
− | произведение:
| + | |
− | program AxB;
| + | |
− | var a,b: integer;
| + | |
− | begin
| + | |
− | writeln('Введите a и b');
| + | |
− | readln(a,b);
| + | |
− | writeln('Произведение равно ',a*b);
| + | |
− | readln;
| + | |
− | end;
| + | |
− | В этой программе перед словом begin появляется новая строчка,
| + | |
− | начинающаяся словом var. В ней мы указываем, что программе понадобится две
| + | |
− | переменные (a и b), в которых можно хранить целые числа (слово integer).
| + | |
− | О том, что делает первый оператор, нам известно: он выводит на экран
| + | |
− | строчку 'Введите a и b'. При выполнении второго оператора программа будет
| + | |
− | ждать, пока пользователь не введет число с клавиатуры и не нажмёт «Enter»;
| + | |
− | это число программа запишет в переменную a, затем то же самое делается для
| + | |
− | переменной b. Третьим оператором выводим на экран сначала надпись
| + | |
− | «Произведение равно », а потом значение выражения a(b («*» ( знак
| + | |
− | умножения). Четвёртый оператор пояснений не требует.
| + | |
− | А теперь рассмотрим структуру программы в общем виде. Любая программа на
| + | |
− | Турбо-Паскале состоит из трех блоков: блока объявлений, блока описания
| + | |
− | процедур и функций и блока основной программы. Ниже эти блоки расписаны
| + | |
− | более подробно.
| + | |
− | Блок объявлений:
| + | |
− | program ... (название программы)
| + | |
− | uses ... (используемые программой внешние модули)
| + | |
− | const ... (объявления констант)
| + | |
− | type ... (объявления типов)
| + | |
− | var ... (объявления переменных)
| + | |
− | Блок описания процедур и функций:
| + | |
− | procedure (function)
| + | |
− | begin
| + | |
− | ...
| + | |
− | end;
| + | |
− | ...
| + | |
− | Блок основной программы:
| + | |
− | begin
| + | |
− | ... (операторы основной программы) ...
| + | |
− | end;
| + | |
− | | + | |
− | Рассмотрим наиболее важные части вышеописанных блоков. Под заголовком
| + | |
− | программы понимается имя, помогающее определить её назначение. Имя, или
| + | |
− | идентификатор, строится по следующим правилам: оно может начинаться с
| + | |
− | большой или малой буквы латинского алфавита или знака «_», далее могут
| + | |
− | следовать буквы, цифры или знак «_»; внутри идентификатора не может стоять
| + | |
− | пробел. После имени программы следует поставить «;», этот знак служит в
| + | |
− | Паскале для разделения последовательных инструкций. Заметим, что имя
| + | |
− | программы может не совпадать с именем соответствующего файла на диске.
| + | |
− | После слова const помещаются описания постоянных, которые будут
| + | |
− | использованы в программе, например:
| + | |
− | | + | |
− | const Zero = 0;
| + | |
− | pi = 3.1415926;
| + | |
− | my_const = -1.5;
| + | |
− | Hello = 'Привет !';
| + | |
− | | + | |
− | За словом var следуют объявления переменных, которые понадобятся нам при
| + | |
− | написании программы. Переменные Паскаля могут хранить данные различной
| + | |
− | природы: числа, строки текста, отдельные символы и т. п. Ниже приводится
| + | |
− | часть типов переменных, которые можно применять.
| + | |
− | |Название типа |Возможные значения |Примеры значений |
| + | |
− | |integer |целые: -32768 ... 32767 |12, -10000 |
| + | |
− | |real |действительные (по модулю):|-9.81, 6.02e-23 |
| + | |
− | | |2,9x10-39... 1,7x1038 | |
| + | |
− | |string[n] |строка до n символов |‘abcde’, ‘привет’ |
| + | |
− | | |длиной, если [n] не | |
| + | |
− | | |указано, то до 255 | |
| + | |
− | |char |одиночный символ |‘F’, ‘!’, ’_’,’ю’ |
| + | |
− | | + | |
− | Объявления переменных записываются в следующей форме: var <переменная> :
| + | |
− | <тип>;
| + | |
− | Если описываются несколько переменных одного типа, то достаточно
| + | |
− | записать их имена через запятую, а после двоеточия поставить общий тип.
| + | |
− | Примеры объявления:
| + | |
− | var Number: integer;
| + | |
− | d,l: real;
| + | |
− | Name: string[20];
| + | |
− | Line: string;
| + | |
− | Key1,Key2: char;
| + | |
− | | + | |
− | Блок основной программы. Здесь, между словами begin и end. располагаются
| + | |
− | команды (точнее, операторы), которые будут выполняться один за другим при
| + | |
− | запуске программы. Рассмотрим простейшие типы операторов на следующем
| + | |
− | примере:
| + | |
− | | + | |
− | program First;
| + | |
− | const a2 = 3;
| + | |
− | a1 = -2;
| + | |
− | a0 = 5;
| + | |
− | var x,f: real;
| + | |
− | | + | |
− | begin
| + | |
− | write(‘Введите значение х ’);
| + | |
− | readln(x);
| + | |
− | f := a2*x*x+a1*x+a0;
| + | |
− | writeln(‘Значение квадратного трехчлена: ’,f);
| + | |
− | end.
| + | |
− | | + | |
− | Первая строка исполняемой (основной) части программы выводит на экран
| + | |
− | надпись «Введите значение х », для этого используется процедура write
| + | |
− | написанная разработчиками Турбо Паскаля, то есть набор команд, невидимый
| + | |
− | для нас, но существующий реально в недрах системы Турбо Паскаль. В качестве
| + | |
− | параметра этой процедуры используется наша строчка. Параметры всегда
| + | |
− | записываются в круглых скобках, апострофы означают, что параметр имеет
| + | |
− | строковый тип. Итак, в первой строке мы видим так называемый оператор
| + | |
− | вызова процедуры. Каждый оператор отделяется от следующего знаком «;». Во
| + | |
− | второй строке вызывается процедура ввода readln(x), которая ждет, пока
| + | |
− | пользователь наберет значение x с клавиатуры и нажмет клавишу «Enter», а
| + | |
− | затем переводит курсор на следующую строку (ln ( Line ( строка). В третьей
| + | |
− | строке вычисляется значение трехчлена и записывается в переменную f; этот
| + | |
− | оператор называется оператором присваивания, и обозначается символом ":=".
| + | |
− | В последней строке на экран выводится строка «Значение квадратного
| + | |
− | трехчлена: » и значение переменной f. Несложно заметить, что здесь
| + | |
− | процедуре writeln передается уже не один, а два параметра, причем они могут
| + | |
− | иметь разные типы. Вообще, процедуры ввода и вывода (т.е. write, writeln,
| + | |
− | read, readln) могут иметь любое число параметров различных типов,
| + | |
− | параметрами могут являться переменные, литералы (т.е. непосредственно
| + | |
− | записанные числа, строки; в нашем примере дважды были использованы
| + | |
− | строковые литералы), а также выражения. Используя выражение при выводе,
| + | |
− | можно заменить две последние строчки нашей программы одной:
| + | |
− | writeln('Значение квадратного трехчлена: ', a2*x*x+a1*x+a0);
| + | |
− | В арифметических выражениях на Паскале используются следующие знаки для
| + | |
− | обозначения операций: +, -, *, /. Для определения порядка действий
| + | |
− | используются круглые скобки согласно общепризнанным математическим
| + | |
− | правилам.
| + | |
− | Замечание об именах. Для обозначения переменных запрещается
| + | |
− | использование ряда слов, называемых зарезервированными, они играют в языке
| + | |
− | особую роль. Нам уже встречался ряд зарезервированных слов: program, begin,
| + | |
− | end, string, const, var, и т.п.</pre>
| + | |