Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pril1.doc
Скачиваний:
26
Добавлен:
31.05.2015
Размер:
604.67 Кб
Скачать

Структура программы на Паскале

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

Program имя;

USES– раздел вызова модулей

CRT– модуль работы с экраном и клавиатурой;

GRAPH– для работы с графикой;

TYPE– раздел описания типов, определенных пользователем;

CONST– раздел описания констант;

VAR– раздел описания переменных

LABEL– раздел описания меток

– в виде меток можно использовать только буквенные символы и целые числа

PROCEDURE

FUNCTION

BEGIN

Операторная часть программы

END.

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

операция

*

умножение

/

деление

div

Целочисленное деление (15 div2=7)

mod

Остаток от деления (15 mod2=1)

-

вычитание

+

сложение

Основные стандартные функции, определенные в Паскале:

Математика

PASCAL

X2

SQR(X)

SQRT(X)

ABS(X)

SIN X

SIN(X)

COSX

COS(X)

ex

EXP(X)

LN X

LN(X)

XY

EXP(Y*LN(X))

Логические операции

операция

значение

not

Отрицание

and

Логическое умножение (коньюнкция) И

or

Логическое сложение (дизьюнкция) ИЛИ

xor

Исключающее ИЛИ

=

равно

<>

не равно

<

меньше

<=

не больше

>

больше

>=

не меньше

ПОРЯДОК ВЫПОЛНЕНИЯ ОПЕРАЦИЙ

Операция

Приоритет

Вид операции

@, NOT

Первый (высший)

Унарная операция

*, /, DIV,MOD,AND

Второй

Операция типа умножение

+, -, OR,XOR

Третий

Операция типа сложения

=, <>, <, >, <=, >=, IN

Четвертый (низший)

Операция отношения

Для определения старшинства операций имеется четыре основных правила:

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

  2. Операция, находящаяся между двумя операциями с равными приоритетами, связывается с той операцией, которая находится слева.

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

  4. Операции с равным приоритетом производятся слева направо с возможным регулированием порядка выполнения скобками.

Типы данных

Паскаль имеет развитую систему типов данных. Их принято делить на группы:

1. Простые типы:

▪ скалярные:

    • целые;

    • вещественные;

    • символьные;

    • булевский (логический) тип;

    • перечислимые;

▪ ограниченные;

2. Составные типы:

▪ регулярные (массивы);

▪ комбинированные (записи);

▪ файловые;

▪ множественные;

▪ строковые;

▪ объекты;

3. Ссылочные типы;

4. Процедурные типы.

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

Таблица Скалярные типы

Название

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

Множество допустимых значений

Размер памяти

Целые типы

Короткий целый

Shortint

-128..127

1 байт

Байтовый

Byte

0..255

1 байт

Слово

Word

0..65 535

2 байта

Целый

Integer

-32 768..32 767

2 байта

Длинный целый

Longint

-2147483648 .. 2147483647

4 байта

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

Вещественный

Real

-1,7х1038.. -2,9х10-39,

6 байт

2,9x10-39.. 1,7х1038

С одинарной точностью

Single

-3,4x1038 .. -1,5x10-45,

4 байт

1,5х1045.. 3,4х1038

Символьный

Символьный

Char

Символы из расширенного набора символов кода ASCII

1 байт

Булевский

Булевский

Boolean

False, True

1 байт

Вопросы для повторения:

  1. Какого типа будет результат деления 15/4 (16/4, 16.4/2) ?

  2. Какие из приведенных ниже записей вещественных чисел являются неправильными и почему?

  3. а) 7.

    Д) -ОЕ-2 и) -71

    б) -6.1

    е) 0.1Е-5

    к) 0.31

    в) 0.0

    ж) -5.3Е4

    л) .456

    г) 9

    з)+2.3Е+3 ы) 2,1

    Определить тип результата следующих выражений:

а) I*I+J*J+2*K/2; б) X<Y

в) SIN(X)+2*COS(Y)+Z; г) I+SQRT(J), если известно, что I, J, K:INTEGER; X, Y, Z:REAL.

  1. Вычислить значения выражений, если А =2,5; В=7,8; С= -17,3; М=5; Х=8,7; E=TRUE:

а) (А+В)/С*М

б) 2+Х*Х/(Х+(А+В)/5)

в) (А<В) AND (X+A<B) OR (C<M) OR Е

  1. Какого типа будет значение выражения: 10/2 + 5?

  2. Можно ли утверждать, что в Паскале значение выражения (1/3)*3–1 равно нулю?

  3. Укажите порядок выполнения операций в выражении: a mod b + a div b*c.

  4. Есть ли разница (с точки зрения языка Паскаль) между числами 100 и 100.0, между 20 и 2Е1?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]