< 5; 1.2 > -6.8; 'A' < 'C'; true > false; MO > TH

Алгоритмический язык Паскаль
Базовые структуры языков программирования Структура Паскаль - программы < 5; 1.2 > -6.8; 'A' < 'C'; true > false; MO > TH Операторы процедур. Ввод/вывод информации СТРУКТУРНЫЕ ОПЕРАТОРЫ. ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ И ЦИКЛОВ Организация циклов. Операторы повторения ОРГАНИЗАЦИЯ ПОДПРОГРАММ. ПРОЦЕДУРЫ И ФУНКЦИИ Функции пользователя. Рекурсивные функции МАССИВЫ. ДАННЫЕ ТИПА ARRAY Способы работы с массивами Массивы литер Процедура STR(преобразование в строку) Печать множеств Оператор WITH Определение и описание файла Основные приемы работы с файлами ССЫЛОЧНЫЙ ТИП. ПЕРЕМЕННЫЕ С УКАЗАТЕЛЯМИ Создание динамических переменных. Процедура NEW Операции над указателями Действия над динамическими переменными Заполнить поля ELEM значениями UKSTR^.ELEM:='P'; ПОНЯТИЕ ОБ ИНФОРМАЦИИ. ДАННЫЕ. СТРУКТУРЫ ДАННЫХ Прямой выбор Массив дан случайным образом СТРУКТУРЫ ПОСЛЕДОВАТЕЛЬНОГО ДОСТУПА. ЛИНЕЙНЫЕ СПИСКИ Стек Общие приемы работы с линейными списками ДЕРЕВЬЯ Основные операции над деревьями Некоторые дополнительные возможности работы с динамическими структурами
274963
знака
85
таблиц
0
изображений

3 < 5; 1.2 > -6.8; 'A' < 'C'; true > false; MO > TH.


2.4 Объявление данных


С помощью объявлений программист сообщает компилятору, какие данные, процедуры и функции пользователя будут задействованы в программе. Описательная часть программы (объявления) состоит из 5 разделов, которые должны располагаться в следующем порядке:

раздел модулей;

раздел меток;

раздел констант;

раздел типов;

раздел переменных;

раздел процедур и функций.

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

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

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

LABEL 342,11,1445;

Раздел определения констант начинается со служебного слова CONST. Определение каждой константы содержит идентификатор (имя) константы, знак равенства и значение. Определения отделяются друг от друга точкой с запятой, как показано на диаграмме:

НАПРИМЕР:

const PI = 3.1415927; E = 2.7182818; Z = 'информатика'.

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

Раздел определения типов начинается со служебного слова TYPE.

Каждому определенному типу соответствует имя. Данный раздел применяется для описания нестандартных типов (перечислимых, диапазонных и др.).

НАПРИМЕР:

type COLOR = (black, white, blue, green, red);

DEN = 1..31;

За разделом типов следует раздел описания переменных. Этот раздел начинается со служебного слова VAR. При объявлении переменных компилятору указывается, сколько переменных используется в программе, какие имена у них и данные, какого типа будут храниться в этих переменных.

НАПРИМЕР:

var X,Y,Z Ж integer; AD1,AD2: real;

TEXT: char; Q: DEN; D: 17..76.

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

3. ПРОСТЫЕ ОПЕРАТОРЫ. ВВОД/ВЫВОД ДАННЫХ


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

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

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


3.1 Оператор присваивания и выражения


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

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

а) переменные выражения получают свои значения;

б) вычисляется значение выражения;

в) переменной присваивается полученное значение.

В простейшем случае, когда выражение задано константой или другой переменной, вычислений не производится и переменная сразу получает свое значение.

НАПРИМЕР:

RAZN:= A - 3.5;

N:= 25; C:= D; Y:= 'программа';

L:= true; P:= X > 10.

В языке Паскаль существует несколько типов выражений: арифметические, литерные, логические (булевские). В этом пункте мы рассмотрим только арифметические выражения.

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

В Tурбо-Паскале определены следующие операции над числами:

*, /, +, -, DIV, MOD, где DIV - деление нацело, MOD - вычисление остатка от деления.

Приоритет: *, /, DIV, MOD - высший;

+, - - низший.

НАПРИМЕР:

A:=13 DIV 5;(результат: A=2),

B:=13 MOD 5;(результат: B=3).

Выражения арифметического типа включают в себя числовые константы, переменные и математические функции. Каждое арифметическое выражение может иметь типы: INTEGER и REAL. Тип константы определяется самим видом константы; тип переменной задается в ее объявлении.

Тип арифметического выражения определяется по следующему правилу:

а) для операций "*, +, -", результат имеет тип REAL, если один из операндов имеет тип REAL; если оба операнда типа INTEGER, то результат имеет тип INTEGER;

б) для "/" результат всегда имеет тип REAL;

в) для "DIV, MOD" операнды и результат имеют тип INTEGER.

Значение переменной интервального типа, образованной на основе INTEGER, всегда имеет тип INTEGER. При использовании оператора присваивания нужно соблюдать типизацию объектов слева и справа от знака ":=". Смешение типов недопустимо, за исключением, когда слева от знака ":=" может стоять тип REAL, а справа - тип INTEGER.

В Паскале при написании выражений используются стандартные функции, которые разделяются на следующие виды.

1. Арифметические (математические) функции:

а) ABS(X), X - REAL и INTEGER, на выходе тот же тип;

б) ARCTAN(X), COS(X), SIN(X), EXP(X), LN(X), SQR(X), SQRT(X).

Для этих функций X есть REAL или INTEGER, а результат всегда REAL.

2. Функции преобразования типов:

а) CHR(X), где X - INTEGER;

Результат - символ, кодом которого является число X.

Например: CHR(65) = 'А'.

б) ORD(X), где X - CHAR;

Результат - число типа INTEGER.

Например: ORD('А') = 65.

Эту функцию можно использовать в определении номера элемента в перечислимом типе. Например, пусть имеется фрагмент программы:

type DAY=(mo,tu,we,th,fr,sa,su);

var DEN: DAY;

DEN:=tu; I:=ORD(DEN);

Значением переменной I будет 1, т.к. нумерация начинается с нуля.

в) ROUND(X), где X - REAL;

Результат INTEGER - ближайшее целое к X.

г) TRUNC(X), где X - REAL.

Результат INTEGER - целая часть X.

НАПРИМЕР:

TRUNC(5.8)=5; ROUND(3.14)=3;

ROUND(5.8)=6; TRUNC(-7.7)=-7;

TRUNC(3.14)=3; ROUND(-7.7)=-8.

Функцию ROUND можно выразить через TRUNC следующим образом:

-

¦ TRUNC(X+0.5), если X Є 0;

ROUND(X)={

¦ TRUNC(X-0.5), если X < 0.

L

3. Функции упорядоченных типов:

а) PRED (N) - предшествующий N элемент;

Функция не определена, если N - первый по порядку элемент.

Например: PRED(TU)=MO.

б) SUCC(N) - следующий за N элемент.

Функция не определена, если N - последний элемент типа.

Например: SUCC(MO)=TU.

в) ODD(I), где I - INTEGER, результат - BOOLEAN;

Если I - четное, то значение TRUE;

Если I - нечетное, то значение FALSE.

Эти функции работают в области упорядоченных (ординальных) скалярных типов, т.е. всех простых типов, исключая REAL.



Информация о работе «Алгоритмический язык Паскаль»
Раздел: Информатика, программирование
Количество знаков с пробелами: 274963
Количество таблиц: 85
Количество изображений: 0

Похожие работы

Скачать
168304
7
26

... .....-46.780 Program Prim24; Var r1,r2:real; BEGIN r1:=-46.78; r2:=-46.78; writeln('r1=',r1:12:3,' r2=',r2:9:4); writeln('_______________________________'); readln; END. 6. Массивы   6. 1. Описание массивов В языке Паскаль можно обрабатывать не только отдельные переменные, но и их совокупности. Одной из таких совокупностей (структурированных) данных является массив. ...

Скачать
112819
0
0

... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...

Скачать
91405
0
0

... с внешнего устройства (из входного файла) в основную память ЭВМ, операция вывода - это пересылка данных из основной памяти на внешнее устройство (в выходной файл). Файлы на внешних устройствах часто называют физическими файлами. Их имена определяются операционной системой. В программах на языке Паскаль имена файлов задаются с помощью строк. Например, имя файла на диске может иметь вид: ...

0 комментариев


Наверх