Структура программы на языке программирования

Структура программы на языке программирования Паскаль

Структура программы, написанной на Турбо Паскале, состоит из заголовка программы и двух основных частей: раздела описаний и раздела операторов.

PROGRAM Name; {Заголовок программы} {Раздел описаний} BEGIN {Раздел операторов} END.

Слово PROGRAM зарезервировано в Pascal и используется для объявления имени программы. Заголовок программы необязателен и игнорируется компьютером.

Каждая операция описания, как и любое действие оператора, заканчивается символом « ; ».

Этот разделитель в языке Pascal отмечает конец оператора или описания. Использование особого разделителя позволяет располагать несколько операторов в одной строке.

Зарезервированное слово BEGIN сигнализирует компилятору о начале другой части программы – раздела операторов. Завершает всю программу зарезервированное слово END. Точка оповещает компилятор о конце текста программы.

Обязательной частью являются лишь тело программы (раздел операторов). Заголовок программы является хотя и необязательным, но желательным элементом.

Раздел описаний

Раздел описаний состоит из следующих подразделов:

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

· Описание меток, используемых в программе;

· Описание констант, объявляются идентификаторы, которые не могут изменять своего значения в «теле» программы. Исключение составляют лишь типизированные константы;

· Задание типов, определение идентификаторов типов для дальнейшего их использования;

· Объявление переменных, описываются идентификаторы, которые могут изменять свои значения в "теле" программы;

· Описание функций и процедур, содержит процедуры и функции, написанные программистом.

PROGRAM Name; {Заголовок программы} Uses <имена модулей>; {Раздел подключения модулей} {---------- РАЗДЕЛ описаний ----------} Label {Раздел описания меток} <имя метки>; Const {Раздел описания констант} <имя константы>= <значение>; <имя константы>:<тип>=<значение>; Type {Раздел описания типов} <имя типа>=<тип>; Var {Раздел описания переменных} <имя переменной>:<тип>; Function <имя > (параметры); {Раздел описания функций и процедур} …………… end; Procedure <имя > (параметры); {Раздел описания функций и процедур} …………… end; BEGIN {Раздел операторов} END.

Порядок размещения подразделов произвольный, можно создавать несколько одинаковых подразделов.

Раздел операторов

Раздел операторов содержит все операторы (команды), которые будут выполнены во время запуска программы, выделяется словами

BEGIN {Раздел операторов} END.

После END ставится точка, что означает конец программы. Всё, что в дальнейшем буден написано после «END.» не воспринимается компилятором, и соответственно, будет проигнорировано в процессе исполнения программы.

Алфавит языка. Лексика языка

Язык программирования Turbo Pascal (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.

Алфавитом языка называют совокупность всех допустимых символов, которые можно использовать в этом языке.

Синтаксис – система правил для записи допустимых конструкций языка программирования.

Семантика определяет смысловое значение предложений языка.

Основными понятиями в языках программирования обычно являются алфавит языка, константы, переменные, встроенные функции, логические и арифметические выражения.

Алфавит языка Паскаль включает:

  1. Прописные и строчные буквы латинского алфавита от A до z. Нет различий между заглавными и строчными буквами при их использовании для определения имен идентификаторов, кроме случая, когда слово связано с текстовыми константами;
  2. Символ подчеркивания ( _ ), который тоже считается буквой;
  3. Арабские цифры 0 1 2 3 4 5 6 7 8 9;
  4. Знаки арифметических операций: + - * / ^
  5. Специальные символы: . , : ; { } [ ] ( )% # ! $ & @
  6. Буквы русского алфавита используются только для записи текстовых констант и комментариев к программе.

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

:=

знак присваивания;

>=

больше или равно;

<=

меньше или равно;

<>

не равно;

(* *)

ограничители комментариев (наряду с { });

(. .)

эквивалент [ ]

Пробелы — это символ пробела (ASCII-32) и все управляющие символы кода ASCII (от 0 до 31).

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

Служебные слова языка Турбо Паскаль: absolute, and, array, begin, case, const, div, do, downto, else, end, external, file, for, forward, function, goto, if, implementation, in, inline, interface, interrupt, label, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor.

Последние версии языка Турбо Паскаль содержат также ряд служебных слов, относящихся к работе с объектами и встроенным ассемблером.

Идентификаторы

Идентификатором называется символическое имя определенного программного объекта. Идентификатор - произвольная последовательность латинских букв, арабских цифр и символов подчеркивания. Идентификатор необходим для обозначения основных объектов языка: константы, переменные, типы данных, процедуры, функции, программы.

В языке программирования Паскаль нельзя использовать в качестве идентификаторов:

· зарезервированные слова (выделяются белым цветом);

· имена встроенных процедур и функций;

· имена, начинающиеся не с латинской буквы или не с символа подчеркивания;

· имена, содержащие символы кроме латиницы, арабских цифр и символа подчеркивания;

· слова, разделенные пробелом.

Строчные и прописные буквы в идентификаторах и служебных словах не различаются.

Длина идентификатора ограничена длинной программной строки (126 символов), но компилятор различает только первые 63 символа.

Комментарии

Конструкции следующего вида представляют собой комментарии и, поэтому, игнорируются компилятором:

(любой текст, не содержащий символ «}»}

(* любой текст, не содержащий символы «*)» *)

Например:

//Комментарий 1

{Комментарий 2}

Комментарий, содержащий знак $ после открывающей скобки является директивой компилятора.

Например:

{$I+}-проверка ошибок ввода/вывода;

{$R+}-проверка границ переменных;

Комментарий может располагаться в любом месте программы.

Типы данных языка программирования Турбо Паскаль

Любые данные Турбо Паскаля характеризуются своими типами. Тип определяет:

  1. Формат представления данных в памяти компьютера;
  2. Множество допустимых значений, принимаемое переменной или константой, принадлежащей к выбранному типу;
  3. Множество допустимых операций применимых к этому типу;

Тип переменной определяется при ее декларации. Одна из базовых концепций Паскаля заключается в жесткой проверке соответствия типов в операциях присваивания.

Типы данных в языке ТП делятся на 5 основных классов:

  1. Простые типы;
  2. Структурированные типы;
  3. Ссылочные типы;
  4. Процедурные типы;
  5. Объектные типы;

Простые типы данных

К простым типам данных относятся числовые (целые и вещественные) типы, логический, символьный, перечисляемый и диапазонный (интервальный) тип.

Типы данных Турбо Паскаля

Идентификатор

Длина, байт

Диапазон (множество) значений

Целые типы

Byte

(целое длиной в байт)

1

0..255

Word (длиной в слово)

2

0..65535

Shortint (короткое целое)

1

-128..127

Integer (целое)

2

-32768..32767

Longint (длинное целое)

4

-2147483648..2147483647

Вещественные типы

Real

6

2,9Е-39 – 1,7Е+38 (11 – 12)

Single

4

1,5Е-45 – 3,4Е+38 (7 – 8)

Double

8

5,0Е-324 – 1,7Е+308 (15 – 16)

Extended

10

З,4Е-4932 – 1,1Е+4932 (19 – 20)

Логический тип

Boolean

1

True, False

Символьный тип

Char

1

Все символы кода ASCII

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

Например:

Var Month: (May, June, July, August);

Диапазонный (интервальный) тип представляет собой подмножество значений целого, символьного или перечисляемого типа и описывается в виде a..b, где a – нижняя граница, b – верхняя граница диапазона.

Например:

Var a: 0..10;

b: 'a'.. 'b';

Тип, на основе которого строится диапазонный тип, называется базовым для этого диапазонного типа.

Выражения и операции. Оператор присваивания. Правила записи выражений и операций

Арифметические операции

К арифметическим типам данных относятся группы вещественных и целых типов данных. К ним применимы арифметические операции и операции отношений.

Различают операции над данными унарные (применимые к одному операнду) и бинарные (применимые к двум операндам).

Унарная арифметическая операция одна — это операция изменения знака следующего формата:

— <величина>.

Бинарные арифметические операции стандартного языка Паскаль описаны в таблице, где I - данные целого типа, a R - вещественного.

Знак

Выражение

Типы операндов

Тип результата

Операция

+

A+B

R,R

I,I

I,R; R,I

R

I

R

Сложение

-

A-B

R,R

I,I

I,R; R,I

R

I

R

Вычитание

*

A*B

R,R

I,I

I,R; R,I

R

I

R

Умножение

/

A/B

R,R

I,I

I,R; R,I

R

R

R

Деление

div

A div B

I,I

I

Целочисленное деление

mod

A mod B

I,I

I

Остаток от целочисленного деления

Арифметическое выражение задает порядок выполнения действий над числовыми величинами. Арифметические выражения содержат арифметические операции, функции, операнды, круглые скобки. Одна константа или одна переменная — это простейшая форма арифметического выражения.

Например, математическое выражение

записанное по правилам языка Паскаль будет иметь вид

.

Стандартные математические функции ТурбоПаскаля

Обращение

Тип аргумента

Тип результата

Примечание

Abs(x)

R, I

R, I

Модуль аргумента x

ArcTan(x)

R, I

R

Арктангенс x,(значение в радианах)

Cos(x)

R, I

R

Косинус x, угол в радианах

Exp(x)

R, I

R

- экспонента x

Frac(x)

R

R

Дробная часть числа

Int(x)

R, I

R

Целая часть числа

Ln(x)

R, I

R

Логарифм натуральный числа

Pi

-

R

3,141592653

Sin(x)

R, I

R

Синус x, угол в радианах

Sqr(x)

R, I

R, I

Квадрат числа

Sqrt(x)

R, I

R

Корень квадратный из числа

Random

-

R

Псевдослучайное число в интервале [0, 1]

Random(I)

I

I

Псевдослучайное число в интервале [0, I]

Round(x)

R

I

Округление до ближайшего целого

Trunc(x)

R

I

Отбрасывание дробной части числа, ближайшее целое, не превышающее число по модулю

Div(x)

I

I

Целая часть числа при делении

Mod(x)

I

I

Остаток от деления

Правила записи выражений и операций

При записи арифметических выражений необходимо придерживаться следующих правил и ограничений:

  1. Все символы выражения записываются в одну сторону, т.е. на одном уровне. Запрещены многоэтажные выражения и верхние и нижние индексы.
  2. Два знака арифметических операций не должны располагаться рядом. Знак умножения опускать нельзя.
  3. Операции в арифметическом выражении выполняются в порядке приоритета. Порядок убывания приоритетов операций следующий:

1) вычисление функций;

2) унарная операция смены знака (-);

3) возведение в степень;

4) умножение и деление;

5) целочисленное деление;

6) деление по модулю;

7) сложение и вычитание.

  1. Операции равного старшинства выполняются по порядку слева направо.
  2. Часть выражения, заключенная в скобки, вычисляется в первую очередь.
  3. Не следует записывать выражения, не имеющие математического смысла, например: деление на нуль, логарифм отрицательного числа и т.п.

Тип арифметического выражения определяется типом ее результата.

Тест.Структура программы на языке программирования


    Инструкция
  1. Какого пункта нет в структуре программы?
    Раздел пояснения программы
    Конец программы
    Раздел описания переменных

  2. Каждое выражение(каждый оператор) в программе отделяется друг от друга ...
    Дефисом
    Точкой
    Точкой с запятой

  3. Раздел var это ...
    Конец программы
    Раздел описания переменных
    Раздел подключения библиотек

  4. При выводе текста командой write он ...
    Заключается между двумя запятыми
    Заключается в одинарные кавычки
    Заключается между двумя точками

  5. Система программирования PascalABC относится к ...
    Инструментальному программному обеспечению
    Прикладному программному обеспечению
    Системному программу обеспечению

    

Назад Далее
Наверх