Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

284

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
2.76 Mб
Скачать

Const

var1='A';

4. Строковые константы определяются произвольным набором символов, заключенных в апострофы, например,

Const

stroke='IBM';

Переменной называется элемент программы, который предназначен для хранения, коррекции и передачи данных внутри программы. Раздел описания переменных начинается с зарезервированного слова Var. Для объявления переменной необходимо указать имя переменной и ее тип. Однотипные переменные могут перечисляться через запятую перед указанием их типа, например,

Var

a:integer;

b:boolean; c, b: real;

Все переменные делятся на глобальные и локальные. Гло-

бальными являются переменные, объявленные вне

процедур

и функций, а локальными – объявленные внутри

процедур

и функций. TP накладывает ряд ограничений на использование переменных:

1)среди глобальных переменных не может быть двух

содинаковыми идентификаторами;

2)среди локальных переменных в пределах одной процедуры или функции не может быть двух с одинаковыми идентификаторами;

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

Оператор присваивания – это основной оператор любого языка программирования. Данный оператор позволяет помес-

21

elib.pstu.ru

тить определенное значение в необходимую вам переменную. Оператор присваивания имеет вид

идентификатор:=выражение;

например, a : 5 ; b : 8 ;

c : a +b ;

Важно! Не путать оператор присваивания «:=» и обычный знак равенства «=», который является оператором ло-

гического сравнения. Исключением является описание констант, когда знак равенства «=» является оператором присваивания.

1.2.5.Выражения.

Стандартные математические функции

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

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

функции (табл. 1.5).

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

 

Тип

Тип

 

Выражение

результа-

Операция

операндов

 

 

та

 

 

Real, Real

Real

 

A B

Integer, Integer

Integer

Сложение

Integer, Real

Real

 

 

 

Real, Integer

 

 

 

 

22

elib.pstu.ru

 

 

 

Продолжение табл. 1.5

Выражение

Тип

Тип

 

Операция

операндов

результата

 

 

 

Real, Real

Real

 

 

A B

Integer, Integer

Integer

 

Вычитание

Integer, Real

Real

 

 

 

 

 

Real, Integer

 

 

 

 

 

 

 

Real, Real

Real

 

 

A * B

Integer, Integer

Integer

 

Умножение

Integer, Real

Real

 

 

 

 

 

Real, Integer

 

 

 

 

 

 

 

Real ,Real

Real

 

 

A / B

Integer, Integer

Real

 

Деление

Integer, Real

Real

 

 

 

 

 

Real, Integer

 

 

 

 

 

 

A div B

Integer, Integer

Integer

 

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

 

деления

 

 

 

 

A mod B

Integer, Integer

Integer

 

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

 

деления

 

 

 

 

Abs(x)

Integer

Integer

 

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

Real

Real

 

та

 

 

Sin(x)

Integer

Real

 

Синус аргумента

Real

 

(х – в радианах)

 

 

 

 

Integer

 

 

Косинус

Cos(x)

Real

 

аргумента

Real

 

 

 

 

(х – в радианах)

 

 

 

 

Exp(x)

Integer

Real

 

ex – экспонента

Real

 

аргумента

 

 

 

Ln(x)

Integer

Real

 

Натуральный ло-

Real

 

гарифм аргумента

 

 

 

Sqr(x)

Integer

Real

 

Квадрат аргумен-

Real

 

та

 

 

 

Sqrt(x)

Integer

Real

 

Корень квадрат-

Real

 

ный аргумента

 

 

 

 

 

 

 

23

elib.pstu.ru

 

 

 

Окончание табл. 1.5

 

 

Тип

 

 

Выражение

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

ре-

 

Операция

 

 

зультата

 

 

Arctan(x)

Integer

Real

 

Арктангенс аргу-

Real

 

мента в радианах

 

 

 

 

 

 

 

Округление аргу-

Round(x)

Real

Integer

 

мента до бли-

 

жайшего целого

 

 

 

 

 

 

 

 

числа

Int(x)

Integer

Real

 

Целая часть аргу-

Real

 

мента

 

 

 

 

 

 

 

Генерация псев-

Random

Real

 

дослучайного

 

числа в интервале

 

 

 

 

0,1

 

 

 

 

Генерация псев-

Random(x)

Integer

Integer

 

дослучайного

 

числа в интервале

 

 

 

 

0, x 1

Trunc(x)

Real

Integer

 

Целая часть аргу-

 

мента

 

 

 

 

Frac(x)

Integer

Real

 

Дробная часть x

Real

 

 

 

 

 

1.2.6.Логические операции, операции отношений

Логические операции применяются к величинам логического типа (boolean), результат операции – тоже логического типа

(boolean).

Not – логическое НЕ (отрицание); And – логическое И;

Or – логическое ИЛИ; Xor– исключающее ИЛИ.

24

elib.pstu.ru

Пусть заданы две логические переменные P и Q . Результат

применения к ним вышеперечисленных логических операций при всех возможных значениях P и Q представлен в табл. 1.6.

 

 

 

 

 

Таблица 1.6

 

Результаты действия логических операторов

P

Q

Not P

P And Q

P Or Q

P Xor Q

True

True

False

True

True

False

True

False

False

False

True

True

False

True

True

False

True

True

False

False

True

False

False

False

В TP используются следующие операции отношения: = – равно; <> – не равно; < – меньше;

>– больше;

<= – меньше или равно; >= – больше или равно.

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

 

Таблица 1.7

Приоритетность операций

Приоритет

Операция

1

Not

2

*, /, Div, Mod, And

3

+, –, Or, Xor

4

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

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

25

elib.pstu.ru

1.2.7.Операторы ввода/вывода

TP содержит четыре оператора ввода/вывода: read, readln, write, writeln. Оператор read осуществляет ввод данных с клавиатуры и размещение. Вводимые данные размещаются в качестве значений переменных, имена которых перечислены в круглых скобках за оператором read, например

read(a,b,c);

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

Оператор readln выполняет аналогичные действия, но по окончании ввода переводит курсор на следующую строку.

Оператор write осуществляет вывод на экран или печатающее устройство. Оператор может выводить сообщение или значение переменной (выражения). Сообщения записываются в апострофах. Для вывода значения переменной указывается имя переменной (вид выражения) без апострофов. Сообщения и переменные можно чередовать в одном списке, разделяя их запятыми. Курсор остается за последним выведенным данным. Например,

write(‘a = ’,a,’b = ’,b);

Оператор writeln выполняет аналогичные действия и переводит курсор на следующую строку. Операторы write и writeln допускают так называемый форматированный вывод данных:

write(a:5:2);

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

26

elib.pstu.ru

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

1.2.8.Безусловный оператор

Оператор языка представляет собой неделимый элемент программы, который позволяет выполнять определенные алгоритмические действия. Все операторы можно условно разделить на две группы: простых операторов и структурированных операторов. К простым относятся те операторы, которые не содержат других операторов. К структурированным – те, которые состоят из других операторов. В TP существует один оператор безусловного перехода Goto и четыре безусловных функции:

Break, Continue, Exit, Halt.

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

goto <метка>;

Здесь <метка> – это идентификатор или целое число от 0 до 9999, объявленное в разделе меток label.

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

Функция Break позволяет досрочно закончить цикл. Функция Continue – позволяет начать новую итерацию цикла, даже если предыдущая не была завершена. Функция Exit – позволяет завершить работу текущего программного блока. Функция Halt(n), где n – некоторое целое число, – позволяет завершить работу программы с кодом завершения n.

27

elib.pstu.ru

Помимо простых и структурированных операторов различают еще составной оператор. Он представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки Begin и End. Например,

Begin

<оператор 1>; <оператор 2>;

<оператор n>;

End;

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

Составной оператор трактуется как один оператор.

1.2.9.Условный оператор

Условный оператор, или оператор ветвления, имеет на языке TP следующую структуру:

If <expr> Then <oper_1> Else <oper_2>;

Здесь <expr> – логическое выражение или переменная. Если логическое выражение <expr> принимает значение True, то выполняется оператор <oper_1>, если же нет, то оператор

<oper_2>.

Часть структуры условного оператора, которая начинается со слова Else, можно опускать.

If <expr> Then <oper_1>;

Вэтом случае при равенстве логического выражения <expr> значению False будет выполняться оператор, следующий за данным логическим оператором.

Вкачестве операторов <oper_1> и <oper_2> могут применяться любые операторы, т.е. простые операторы, составные операторы или структурированные. В случае использования со-

28

elib.pstu.ru

ставных операторов структура условного оператора будет следующей:

If <expr> Then begin

<oper1_1>;

<oper1_n>;

end

Else

begin

<oper2_1>;

<oper2_m>;

end;

Используя в качестве операторов <oper_1> и <oper_2>, другие условные операторы, можно получать вложенные условия и программировать сложные алгоритмы ветвления. Например,

If <expr_1> Then

If <expr_2> Then <oper_1> Else <oper_2>

Else <oper_3>;

Схематическое представление условного оператора отображено на рис. 1.3.

Если логические выражения <expr_1>, <expr_2>,…, <expr_n> независимы, т.е. вычисление их значений в любом порядке дает один и тот же результат для каждого из них, имеет смысл располагать их в таком порядке, чтобы выражение, с наибольшей вероятностью принимающее значение «истина», стояло на первом месте, принимающее значение «истина» с меньшей вероятностью, – на втором и т.д. Это уменьшит время выполнения данного фрагмента программы.

29

elib.pstu.ru

1.2.10. Циклические операторы

Операторы цикла являются важнейшими операторами. Циклы позволяют многократно выполнить одно или несколько действий. В TP имеется несколько разновидностей оператора цикла.

Цикл с предусловием

Цикл с предусловием (цикл–пока) на языке TP имеет следующую структуру:

While <expr> Do <oper>;

При выполнении этого циклического оператора вначале вычисляется значение логического выражения <expr>. Если это значение истинно, выполняется оператор <oper>, затем значение логического выражения проверяется вновь и так далее, до тех пор, пока оно не примет значение «ложь». Если выражение <expr> принимает значение «ложь» при первой же проверке, то оператор <oper> не выполняется вообще.

В качестве оператора <oper> могут применяться любые операторы, т.е. простые операторы, составные операторы или структурированные. В случае использования составного оператора структура цикла с предусловием будет следующей:

While <expr> Do begin

<oper_1>;

<oper_n>;

end;

Схематическое представление цикла с предусловием отображено на рис. 1.6.

Цикл с постусловием

Цикл с постусловием на языке TP имеет следующую структуру:

Repeat <oper> Until <expr>;

30

elib.pstu.ru