Стандарты языка Pascal

Специальные символы языка Pascal: идентификаторы, числа, константы, переменные. Арифметические и логические операции. Стандартные функции, используемые в выражениях. Скалярные, пользовательские, структурированные типы данных. Структура программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.06.2014
Размер файла 49,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

ВВЕДЕНИЕ

Сообщение о языке программирования PASKAL появилось в 1968 году. Первая версия языка, предложенного его автором- профессором Швейцарского Федерального Института технологии Николосом Виртом, появилась как альтернатива существующим и все усложняющимся языкам программирования, таким как PL/1,ALGOL, FORTRAN. Интенсивное развитие языка PASCAL привело к появлению уже в 1973 году его стандарта в виде пересмотренного сообщения, а число трансляторов с этого языка уже в 1979 году перевалило, по оценке Н. Вирта, за 80.

В начале 80-х годов PASCAL еще более упрочил свои позиции с появлением трансляторов MS-PASCAL и TURBO-PASCAL для персональных ЭВМ. С этого времени язык PASCAL становится одним из наиболее важных и широко используемых языков программирования.

Цель данного руководства - познакомить пользователя со стандартом языка PASCAL.

1. АЛФАВИТ PASCAL

Программа на языке PASCAL формируется из букв, цифр и специальных символов.

БУКВЫ:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z и пробел.

ЦИФРЫ:

1 2 3 4 5 6 7 8 9

СПЕЦИАЛЬНЫЕ СИМВОЛЫ:

+ - * / > < [ ] . , ( ) : ; { } ' #

Комбинации специальных символов образуют составные символы:

<> >= <= := .. (* *)

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

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

ПРИМЕР. Min, Name, F15, homework.

НЕПРАВИЛЬНО: My name, 1WP, Up-1, 5432k, TIM:6

Идентификаторы подразделяются на зарезервированные (служебные) слова и идентификаторы пользователя.

Зарезервированные слова составляют основу языка и имеют строго фиксированное написание.

ПРИМЕР. ARRAY BEGIN CONST и т. д.

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

ПРИМЕР. Sort, GR1, Vs12

1.2 Числа, константы, переменные

Все данные в программе интерпретируются как константы или переменные. Те и другие могут быть представлены целым или вещественным числом. Для записи чисел используется обычная десятичная запись. Целые числа - это последовательность десятичных цифр без десятичной точки со знаком или без него. Величина целых чисел не может превышать максимума, который зависит от ЭВМ.

ПРИМЕР. 12, 43151, -1320, 0, -151, +14

НЕПРАВИЛЬНО: 1,350 24.242 - точки и запятые в целых числах не допускаются.

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

ПРИМЕР. -11.142 +12.0 -0.11 0.0415 0.0

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

5.3Е+03 N.0Ep, где Ер-степень10 (10р), N.0-число, которое нужно умножить на 10р, чтобы получить запись исходного числа в обычном виде.

Константы не изменяют своего значения до завершения работы программы и описываются зарезервированным словом CONST, за которым идет список имен констант, каждому из которых с помощью символа «=» присваивается значение:

CONST mst=184; nme='Alx';

Значение констант можно задавать выражением. Например:

CONST Min=0; Mar=45+Min; Ht=90+Min;

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

ПРИМЕР. VAR sal, adv: integer;

X, y, sum : real;

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

2. ВЫРАЖЕНИЯ И ОПЕРАЦИИ

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

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

Арифметические операции выполняют арифметические действия в выражениях над значениями операндов целочисленных и вещественных типов. ( см. Табл.1)

ТАБЛИЦА 1. Арифметические операции.

операция

действие

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

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

+

сложение

Целый

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

Целый

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

-

вычитание

Целый

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

Целый

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

*

умножение

Целый

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

Целый

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

/

деление

Целый

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

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

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

Div

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

целый

Целый

Mod

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

целый

Целый

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

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

Таблица 2. Операции отношения

операция

действие

выражение

Результат

=

равно

А=В

TRUE, если A=B

<>

Не равно

A<>B

TRUE, если A<>B

>

Больше

A>B

TRUE, если A>B

<

Меньше

A<B

TRUE, если A<B

>=

Больше или равно

A>=B

TRUE, если A>=B

<=

Меньше или равно

A<=B

TRUE, если A<=B

in

принадлежность

A in M

TRUE, если A находится в списке М

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

Результатом выполнения логических (булевских) операций является логическое значение TRUE или FALSE. Операндами служат данные типа BOOLEAN.(см. табл. 3)

Таблица 3. Логические операции.

операция

действие

выражение

А

В

Результат

Not

Логическое отрицание

Not A

True

False

False

True

And

Логическое И

A and B

True

True

False

False

True

False

True

False

True

False

False

False

Or

Логическое ИЛИ

A or B

True

True

False

False

True

False

True

False

True

True

True

False

2.4 Приоритет операций

Выполнение каждой операции происходит с учетом ее приоритета. (см. табл.4)

Таблица 4. Порядок выполнения операций

операция

приоритет

Вид операции

Not

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

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

* / div mod and

Второй

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

+ - or

Третий

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

= <> < > <= >= in

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

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

2.5 Стандартные функции, используемые в выражениях

функция

имя

Математическое обозначение

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

Тип функции

Вычисление абсолютного значения

ABS(x)

I x I

Целый

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

Целый

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

Возведение в квадрат

SQR(x)

X2

Целый

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

Целый

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

Усечение числа

TRUNC(x)

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

целый

Округление числа

ROUND(x)

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

целый

Выбор последующего значения

SUCC(x)

Любой порядковый тип

Любой порядковый тип

Выбор предыдущего значения

Pred(x)

Любой порядковый тип

Любой порядковый тип

Вычисление синуса

Sin(x)

Sin x

Целый

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

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

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

Вычисление косинуса

Cos(x)

Cos x

Целый

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

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

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

Вычисление арктангенса

Arctan(x)

Arctg x

Целый

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

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

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

Вычисление натурального логарифма

Ln(x)

Ln x

Целый

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

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

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

Вычисление экспоненты

Exp(x)

ex

Целый

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

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

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

Вычисление корня квадратного

Sqrt(x)

x

Целый

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

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

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

Определение порядкового номера символа

Ord(x)

символьный

целый

Определение символа по порядковому номеру

Chr(x)

целый

символьный

Определение нечетности числа

Odd(x)

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

булевский

3. ДАННЫЕ

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

Для описания каждого типа данных в PASCAL существует свой стандартный идентификатор: для целых- INTEGER, для дробных- REAL, для строк- STRING и т. д. Пользователь может образовывать собственные типы данных и давать им произвольные имена.

3.1 Скалярные типы данных

Скалярные типы являются основой, на которой строятся все другие структуры данных.

Целочисленный тип данных представляет собой значения, которые могут использоваться в арифметических выражениях. Требуемая память для представления числа -2 байта. Для описания целочисленного типа используется зарезервированное слово INTEGER. В PASCAL введена константа MAXINT, которая указывает наибольшее целое значение, с которым ЭВМ еще может работать (его величина зависит от применяемой версии языка PASCAL). Для 16-разрядных ЭВМ диапазон целых чисел равен (-32768..+32767).

Пример. VAR x, a, b: INTEGER;

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

Для описания вещественного типа используется зарезервированное слово REAL. PASCAL допускает представление вещественных значений как с фиксированной точкой, так и с плавающей (экспоненциальная форма записи числа). Диапазон вещественных чисел равен (2.9Е-39 .. +1.7Е38).

Пример. VAR y, z, r : REAL;

Литерный (символьный) тип определяется множеством значений кодовой таблицы ПЭВМ. Для переменной литерного типа требуется 1 байт. Для описания символьного типа используется зарезервированное слово CHAR. В программе значения переменных и констант типа CHAR должны быть заключены в апострофы.

Пример. VAR Simvol: CHAR;

. . . . . . . . . .

Simvol :='A';

Булевский тип представлен двумя значениями: TRUE (истина) и FALSE (ложь). Он широко применяется в логических выражениях и выражениях отношения. Для описания булевского типа используется зарезервированное слово BOOLEAN. Требуемая память- 1 байт.

Пример. VAR Flag1, Flag2 : BOOLEAN;

3.2 Пользовательские типы

Кроме стандартных типов, PASCAL поддерживает скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы. Данные этих типов занимают в памяти 1 байт, поэтому любой пользовательский тип не может содержать более 256 элементов. Ввод- вывод данных пользовательских типов должен организовывать собственными средствами программист.

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

Пример. TYPE Animals = (cat, dog, horse, cow);

Birds = (vorona, sinica, golub);

VAR

Animal : Animals;

Bird : Birds:

. . . . . . . .

Animal:= cat;

Bird:= sinica;

. . . . . . .

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

Пример. CONST min = 1;

Max = 100;

TYPE

Temperatura= min .. Max;

. VAR T: Temperatura;

. . . . .

T:= 45;

. . . . .

3.3 Структурированные типы

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

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

ПРИМЕР описания массивов различной размерности:

CONST

Min=10;

Max=255;

TYPE

DataM= array[1..100] of real;{одномерный массив}

DataN = array[1..20,1..50] of integer;{двумерный массив}

DataW = array[1..10,1..20,1..30] of char;{трехмерный массив}

VAR

M : dataM; N : dataN; W: dataW;

Mas: array[1..Min,1..Max] of char;

Sum: real;

Несколько примеров работы с массивами:

Begin

N:=0; {ошибка, нельзя обращаться к массиву в целом}

For i:=1 to 100 do read(M[i]); { ввод значений масссива М}

For i:=1 to 20 do

For j:=1 to 50 do

N[i, j] :=0.0; {обнуление массива N}

For i :=1 to 10 do

For j :=1 to 20 do

For k :=1 to 30 do

Read(W[i, j, k]); {ввод значений массива W }

Sum :=0;

For i :=1 to 100 do

Sum :=Sum + M[i]; { сумма элементов массива М}

For i:=1 to 100 do

Write(M[i]); { вывод на печать массива М}

Writeln(`сумма элементов массива М=', Sum);

End.

Упакованные массивы символов. PASCAL дает возможность объявлять переменные, которым могут непосредственно присваиваться последовательности символов. Обычно этот тип объявляют под именем STRING. Он не является стандартным, его нужно определять путем объявления типа.

ПРИМЕР. . . .

TYPE STRING = PACKED ARRAY[1..10] OF CHAR;

VAR NA: STRING:

BEGIN

NA := `LINCOLN `;

. . .

Число символов, которое присваивается, всегда должно совпадать с числом, указанным в объявлении типа STRING.

Множество - это структурированный тип данных, представляющий набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества. Элементы множества должны принадлежать какому-либо скалярному типу. Этот тип называется базовым типом множества.

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

[1, 2, 3, 4], [`a', `b', 'c', `d'], [`a' .. `z'].

Если множество не имеет элементов, оно называется пустым и обозначается [ ].

Для описания множественного типа используется словосочетание SET OF (множество из…).

ПРИМЕР.

TYPE Pros= set of (3,5,7,11,13);

Nomer= set of 1..31;

VAR
pr: Pros;
n: Nomer;
bukva: set of (`a','e','i','j');
Количество элементов множества не должно превышать 256, соответственно номера значений базового типа должны находиться в диапазоне 0..255 (для 16-разрядных ЭВМ).
При работе с множествами допускается использование операций отношения:
= <> >= <= объединения + пересечения* разность множеств - операция in (которая применяется для проверки принадлежности какого-либо значения указанному множеству,. обычно применяется в условных операторах). Например:
if 2 in [1,2,3] then… {результат =TRUE}
if `V' in [`A'..'F'] then…{результат =FALSE}
В качестве примера использования множеств приведем фрагмент, описывающий две группы символов: специальные и арифметические:
TYPE
Simvols = set of char;
Var sp,ar: Simvols;
Begin
Sp:=[`$','&', `%']; {специальные}
Ar:=[`+','-`,'*','/']; {арифметические}
End.
Записи - это структурированный тип данных, состоящий из фиксированного числа компонент одного или нескольких типов. Определение типа записи начинается идентификатором RECORD и заканчивается зарезервированным словом END. Между ними заключен список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля. В качестве примера опишем запись, содержащую информацию об имени, домашних и рабочих телефонах некоторых лиц. Включим также поле, содержащее любые дополнительные сведения об интересующем нас лице (например, адрес):
TYPE
Namestr= packed array[1..30] of char;
Phonestr= packed array[1..10] of char;
Infostr= packed array[1..60] of char;
Phonerec= RECORD
Name:Namestr;
Workph1, Workph2,
Houseph1, Houseph2 : Phonestr;
Info : Infostr;
END;
Var
Rv : Phonerec;{ Rv - переменная для доступа к полям записи}
Для доступа к полям записи используется переменная типа запись. Обращение к полю осуществляется посредством идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем.
Например, чтобы получить доступ к полям записи Phonerec, надо записать:
Rv.Name :='Петров А. Н.';
Rv.Workph1:='34-84-06';
Rv.Houseph1:= `34-65-12';
Составные имена можно применять, в частности, в операторах ввода-вывода:
READ(Rv.Name,Rv.workph1,Rv.workph2);
Обращение к полям записи имеет несколько громоздкий вид, что особенно неудобно при использовании мнемонических идентификаторов длиной более 5 символов. Для решения этой проблемы предназначен оператор WITH, который имеет формат:
WITH < переменная типа запись> DO < оператор >;
Один раз указав переменную типа запись в операторе WITH, можно работать с именами полей как с обычными переменными, т. е. Без указания перед идентификатором поля имени переменной, определяющей запись. Например:
WITH Rv DO Begin
Name :='Петров А. Н.';
Workph1:='34-84-06';
Houseph1:='34-65-12';
End;
Описанная выше запись имеет строго фиксированную структуру. В некоторых случаях это резко ограничивает возможности их применения. Поэтому имеется возможность задать тип записи, содержащий произвольное число вариантов структуры. Такие записи называются записями с вариантами. Они состоят из необязательной фиксированной и вариантной частей. Вариантная часть формируется с помощью оператора CASE. Он задает особое поле записи- поле признака, которое определяет, какой из вариантов в данный момент будет активизирован. Значением признака в каждый текущий момент выполнения программы должна быть одна из расположенных далее констант. Константа, служащая признаком, задает вариант записи и называется константой выбора. Формат:
TYPE
ZAP=RECORD
< поле: тип;>
< поле: тип;>
CASE<поле признака>: <имя типа> OF
<константа выбора1>: (поле, …:тип);
. . .
<константа выбора n>: (поле, …:тип);
END;
Компоненты каждого варианта (идентификаторы полей и их типы) заключаются в круглые скобки. У части CASE нет завершающего END.
ПРИМЕР.
TYPE СЕМПОЛОЖЕНИЕ=(женат, вдовец, холостяк);
STRING= PACKED ARRAY[1..30] OF CHAR;
ДАТА=RECORD
Месяц: (янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек);
День: 1..31;
Год: 1900..2000
END;
ЧЕЛОВЕК=RECORD
Фамилия: STRING;
Пол: (муж, жен);
Рождение: ДАТА;
Дети: 0..20;
CASE статус: СЕМПОЛОЖЕНИЕ OF
Женат, вдовец: ( брак: ДАТА);
Холостяк: (рост : 120..150; военнообязан: BOOLEAN)
END; {ЧЕЛОВЕК}
Файловые типы. Файл представляет собой сколь угодно длинную последовательность однотипных элементов. С каждым файлом f связана буферная переменная f^, в которую можно писать информацию и брать ее оттуда. Для непосредственной работы доступна только буферная переменная.
Число компонентов файла, т. е. его длина, в определении файла не фиксируется. Файл без компонентов называется пустым.
Определение файлового типа имеет вид:
TYPE < имя файлового типа> = FILE OF < тип>;
Пример
TYPE data = FILE OF INTEGER;
Буферную переменную можно трактовать как окно, которое передвигается по файлу и через которое мы «видим» элементы файла (они становятся доступными для обработки). При работе с файлами последний передвигается относительно буферной переменной на один элемент или на весь файл. Если окно f^ дойдет до конца файла, то стандартная функция EOF(f) (END of FILE- конец файла) выдаст значение TRUE, в других случаях она дает значение FALSE.
Для работы с файлами имеются следующие стандартные функции:
RESET(f) устанавливает окно файла в начало и готовит файл для чтения. Первый элемент файла переписывается в f^. Функция EOF(f) дает FALSE, если файл не пустой. Если же он пуст, то значение f^ не определено, а EOF(f)=TRUE.
REWRITE(f) создает новый файл f, т. е. делает f пустым. Значение EOF(f) становится TRUE.
GET(f) передвигает окно файла на следующий элемент и переписывает его в буферную переменную f^. Если следующего элемента нет, то EOF(f) выдает значение TRUE, а f^ не определено. Оператор GET(f) имеет смысл только тогда, когда перед его выполнением EOF(f)=FALSE.
PUT(f) значение буферной переменной f^ добавляется в конец файла f. Оператор PUT(f) имеет смысл, если только перед его выполнением EOF(f) равно TRUE. После выполнения EOF(f) остается равным TRUE, а значение f^ не определено.
Вводятся еще две стандартные функции- READ и WRITE, сочетающие обращение к файлу с продвижением по нему:
READ(f, x) эквивалентно x:= f^; get(f);
WRITE(f, x) эквивалентно f^:=x; put(f);
Элементы файла могут быть любого сколь угодно простого или сложного типа.
ПРИМЕР. Пусть в файле хранятся сведения о сотрудниках: фамилия, год окончания учебного заведения и образование (начальное, среднее, высшее). Элементы файла в этом примере будет запись сотрудник с полями фамилия, год и образование. Элементы файла записаны в нем в порядке неубывания даты окончания учебного заведения.
Требуется написать программу, которая сливает два таких файла f и g в один файл h, упорядоченный по датам окончания учебного заведения.
Program слияние;
TYPE сотрудник = RECORD
Фамилия : строка;
Год : 1920 .. 2000;
Образование: (нач, сред, высш)
END;
VAR f, g, h : FILE OF сотрудник;
Endfg : boolean;
Begin RESET (f); RESET(g); RESET(h);
While not (eof(f) or eof(g)) do
Begin if f^.год< g^.год
then begin h^:=f^; get(f) end
else begin h^:=g^; get(g)end;
put(h)
end;
while not eof(f) do begin h^:=f^; put(h) get(f) end; {дописывание «хвоста» f }
while not eof(g) do begin h^:= g^; put(h); get(g) end{дописывание «хвоста» g}
end.
Текстовые файлы. Файл, элементами которого являются символы, называется текстовым. Тип text определяется в виде
TYPE text = FILE OF char;
Тексты обычно разбиваются на строки, для чего есть специальные управляющие символы. Например, в коде ДКОИ (двоичный код обмена информацией), принятом в качестве стандарта на отечественных ЭВМ, это «возврат каретки» и «перевод строки». Эти символы невидимы, но их можно «узнать» или сформировать с помощью специальных операций над текстами:
Writeln(x) заканчивает текущую строку текстового файла x, т. е. вставляет в его конец управляющий символ «возврат каретки» и «перевод строки»;
Readln(x) пропускает все символы до начала следующей строки текстового файла x, а x^ становится равным первому символу следующей строки;
Eoln(x) (end of file- конец строки) булевская функция, указывающая, достигнут ли конец текущей строки в текстовом файле x. Если eoln(x)= true, то x^ соответствует позиции разделителя строчек, но значение x^ равно символу пробела.
Можно пользоваться двумя более компактными процедурами (f-текстовый файл, а ch- символьная переменная):
Полная форма Компактная форма
f^:= ch; put(f); write(f, ch);
ch:=f^; get(f); read(f, ch);
ПРИМЕР. Копирование текста x в текст y с сохранением построчной структуры x.
. . .
RESET(x); REWRITE(y);
While not eof(x) do
Begin {копирование строки}
While not eoln(x) do
Begin read(x,c); write (y, c) end;
Readln(x); writeln(y);
End.
Стандартные файлы INPUT и OUTPUT. Для связи программы с внешними устройствами ЭВМ используются два стандартных файла INPUT и OUTPUT: первый служит для ввода данных, второй - для вывода. Поскольку эти файлы стандартны, то в операторах READ, WRITE, READLN, WRITELN и в предикатах EOF и EOLN их можно не указывать. Так запись
Write(ch) означает write(output,ch);
Readln означает readln(output),
Eof означает eof(input).
К файлам INPUT и OUTPUT нельзя применить стандартную процедуру RESET.
Ссылочные типы. До сих пор мы рассматривали переменные, которые можно назвать статическими. Такое название они получили потому, что однажды появившись в программе, они остаются там на все время ее работы. Существует класс переменных, получивших название динамические переменные, которые могут появляться и исчезать во время работы программы.
Пусть, например, речь идет о списке людей. Каждый элемент списка «знает», за кем он стоит.
Верхнее поле указывает, кто за кем стоит. За человеком 1 никто не стоит, поэтому поле ссылки у него пустое.
Список все время меняется: появляются новые фамилии, которые могут быть вставлены в любое место списка, из списка вычеркиваются фамилии по тем или иным причинам и т. д. Таким образом, в программе необходимо создать механизм, с помощью которого можно было бы: во- первых, порождать новые элементы списка и, во-вторых, организовывать ссылки одного элемента на другой. Динамическую переменную нельзя указать явно в описании переменных и ее нельзя обозначить с помощью имени. Вместо этого при порождении динамической переменной создается ссылочное значение (ссылка) на нее.
Определение ссылочного типа имеет вид:
TYPE <имя> ^<имя типа>;
Если p - ссылочная переменная, связанная с типом T с помощью описания
VAR p: ^T;
То p- ссылка на переменную типа T, а p^- обозначение этой самой переменной. Для того чтобы создать (сформировать) такую переменную, используется стандартная процедура NEW.
Обращение NEW(p) создает переменную типа T и ссылка на нее (адрес) присваивается переменной p. Существует специальное ссылочное значение NILL, представляющее собой пустую ссылку, т. е. ссылку в «никуда».
Пример. Рассмотрим уже упоминавшийся ранее список, где каждый человек представлен записью. Добавим к этой записи ссылку, с помощью которой будем строить список:
TYPE связь = ^человек;
Человек = RECORD
. . . след: связь; . . . END;
Пусть программа вводит количество детей каждого человека. Необходимо построить список из n человек.
VAR первый, p: связь;
i : integer;
. . .
первый:= nill;
for i :=1 to n do begin read(d);
new(p);{создание нового элемента}
p^.след:= первый;{ссылка на соседа справа}
p^.дети :=d;{значение числа детей}
первый :=p {ссылка на первый элемент}
end;
Пусть требуется вставить в середину списка еще одного человека. Стандартная процедура NEW(p) резервирует память ЭВМ под новую переменную и выдает в p ссылку на нее. Пусть новичок будет ссылка на человека, подлежащего вставке в очередь, и q-ссылка на тот элемент, после которого будет вставлен новый человек. Включение делается путем изменения ссылок:
новичок^.след:=q^.след; q^.след:=новичок;
Исключение элемента, следующего за тем, на который указывает переменная q , производится в одно действие:
q^.след:= q^.след^.след;
4.ПРОЦЕДУРЫ ВВОДА-ВЫВОДА
Процедуры ввода. Для выполнения операций ввода служат две процедуры;
READ и READLN.
Процедура чтения READ обеспечивает ввод числовых данных, символов, строк для последующей их обработки операторами программы.
Формат: READ(fv,x1,x2,x3, . . .,xn);
где fv -имя устройства, откуда вводятся данные; х1,х2,х3, . . .,хn-список идентификаторов вводимых переменных. По умолчанию значение fv=con (консоль), поэтому при вводе данных с клавиатуры fv можно не указывать.
Например, READ(x, y); READ(A);
Вводимые значения набираются на клавиатуре минимум через один пробел и высвечиваются на экране.
Процедура чтения READLN аналогична процедуре READ, единственное отличие заключается в том, что после считывания значений всех переменных для одной процедуры READLN данные для следующей процедуры READLN будут считываться с начала новой строки. В процедурах READ и READLN параметры можно не указывать:
READ; READLN;
Процедуры вывода. Процедура вывода WRITE производит вывод числовых данных, символов, строк, булевских значений. Формат:
WRITE(fv,y1,y2,y3, . . . ,yn);
где fv - имя устройства, на которое осуществляется вывод. По умолчанию fv = con (при выводе con - экран); y1, y2, y3, . . . ,yn-результаты выполнения выражений, константы, имена переменных. Процедура WRITELN аналогична процедуре WRITE, но после выполнения происходит переход в начало следующей строки.
ПРИМЕР. WRITE(`сумма 5 + 6 =',5+6);
Форматированный вывод. В процедурах вывода на экран и печать имеется возможность указать константу (или выражение), определяющую ширину поля вывода. Это значение указывается через двоеточие сразу после имени выводимой единицы:
B:=56; a:=102; WRITE(`B=',B:6,'a=',a:4); результат: B= 56;a=_102;
Вещественные значения могут выводиться в форматах как с плавающей, так и с фиксированной точкой. В первом случае указывается только ширина поля, во втором дополнительно фиксируется количество символов в дробной части.
ПРИМЕР. WRITE(655.04:15); 6.550400000E+02
WRITE(655.04:8:4); 655.0400
5. СТРУКТУРА ПРОГРАММЫ
Синтаксически программа состоит из необязательного заголовка и блока. Блок состоит из двух частей: описательной и исполнительной. Первая часть может отсутствовать, без второй блок не имеет смысла. Блок, который не входит ни в какой другой, называется глобальным. Если в глобальном блоке находятся другие блоки, они называются локальными. Глобальный блок - это основная программа, он должен присутствовать в любом случае. Локальные блоки - это процедуры и функции, их присутствие необязательно. Объекты программы (типы, переменные, константы и т. д.) соответственно называются глобальными и локальными. Область действия объектов - блок, где они описаны, и все вложенные в него блоки.

ЗАГОЛОВОК И КОММЕНТАРИИ

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

После заголовка обычно пишут комментарий, в котором сказано, для чего программа предназначена, кто ее автор. Комментарий заключается в { } или (* *).

ПРОГРАММНЫЙ БЛОК

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

Структура программного блока в общем случае выглядит следующим образом:

LABEL…;

CONST…;

TYPE……;

VAR ;

PROCEDURE <имя>;

< тело процедуры>

FUNCTION < имя>;

< тело функции >

BEGIN

< операторы >

END.

Любой раздел , кроме раздела операторов основной программы, может отсутствовать

Раздел описания меток

Перед любым оператором языка PASCAL можно поставить метку, что позволяет выполнить прямой переход на этот оператор с помощью оператора перехода GOTO из любого места блока. Перед употреблением метка должна быть описана. Раздел описания меток начинается зарезервированным словом LABEL (метка), за которым следуют имена меток, разделенные запятыми. За последним именем ставится точка с запятой. Формат:

LABEL <имя1>,<имя2>, . . .;

Пример….. Label 1,2,3,4,15;

Если метка описана, но в разделе операторов не используется, то ошибки при этом не возникает, т. е. Метки можно описывать и применять по мере расширения программы.

Раздел описания констант

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

Пример. CONST k=15;

Z=-4.141;

M='+';

Раздел описания типов данных

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

Пример.TYPE

Matr= array[1..10] of real;

Latbukva= ( `a'..'z');

Dni= 1..31;

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

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

Пример. VAR a,b,c : integer;

Rez, sum : real;

Раздел описания процедур и функций

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

PROCEDURE< имя процедуры> (<параметры >);

< разделы описаний>

< раздел операторов>

END;

Формат функции:

FUNCTION < имя функции > ( <параметры >) : <тип результата >;

< разделы описаний>

< раздел операторов>

END;

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

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

Раздел операторов начинается зарезервированным словом BEGIN (начало), далее следуют операторы языка, отделенные друг от друга точкой с запятой. Завершают раздел зарезервированное слово END (конец) и точка:

BEGIN

< оператор>

< оператор>

END.

6.ОПЕРАТОРЫ

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

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

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

ПРИМЕР. Ch:='6'; sum:=x+y;

Оператор безусловного перехода (goto) означает «перейти к » и применяется в тех случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор.

НАПРИМЕР, goto 17;

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

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

ПРИМЕР. WRITELN; KOREN(a,b,12);

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

ПРИМЕР. Begin

. . .

goto 15; {переход на конец блока}

. . .

15: {пустой оператор помечен меткой}

end;

6.2 Структурные операторы

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

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

BEGIN < оператор>; <оператор >; END;

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

Условные операторы. В PASCAL имеются два условных оператора: IF и CASE.

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

IF <условие > THEN <оператор1 > ELSE <оператор2 >;

IF < условие> THEN <оператор >;

Условие- это выражение булевского типа. В первом случае, если значение выражения истинно, выполняется <оператор1>, если ложно- <оператор2>. Во втором - если результат выражения true, выполняется <оператор>, если false -оператор, следующий сразу за оператором IF. Операторы IF могут быть вложенными.

Пример. READ(ch);

IF ch='N' THEN parol:=true else parol:=false;

READ(x);

IF parol=true THEN

IF x=100 THEN WRITE(`пароль и код правильны')

ELSE begin WRITE(`ошибка в коде');WRITELN(`x=', x) end;

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

CASE<выражение-селектор > OF

< список 1> :<оператор 1 >

< список 2> : <оператор 2 >

. . .

< список N> : < оператор N>

END;

Тип констант в любом случае должен быть совместим с типом селектора. Для селектора запрещен тип real.

Как пример использования CASE приведем фрагмент, в котором в зависимости от переменной IND значение st присваивается одной из семи переменных:

CASE IND OF

1: name:=st;

2: workph1:=st;

3: workph2:=st;

4: houseph1:=st;

5: houseph2:=st;

6: company:=st;

7: info:=st

END;

Операторы повтора FOR, REPEAT, WHILE используются для организации циклов различных типов.

Оператор повтора FOR состоит из заголовка и тела цикла. Он может быть представлен в двух форматах:

FOR < параметр цикла> :=<S1> TO <S2> DO <оператор >;

FOR < параметр цикла>:=<S1> DOWNTO <S2> DO <оператор >;

S1 и S2 - выражения, определяющие соответственно начальное и конечное значения параметра цикла. FOR . . . DO -заголовок цикла, < оператор> - тело цикла.

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

Пример. FOR i:=1 TO 100 DO READ(M[i]);

FOR i:=100 DOWNTO 1 DO WRITE(M[i]);

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

Оператор повтора REPEAT состоит из заголовка REPEAT, тела и условия окончания UNTIL. Формат :

REPEAT < оператор1>; <оператор2 >; . . . , <операторN >

UNTIL <условие >;

Операторы, заключенные между словами REPEAT и UNTIL, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если результат булевского выражения равен false, то тело цикла активизируется еще раз, если результат true - происходит выход из цикла. По крайней мере, один из операторов тела цикла должен влиять на значение условия, иначе цикл будет выполняться бесконечно.

Пример. READ(n); h:=0;

REPEAT h:=h+1/n;

n:=n-1 UNTIL n=0;

WRITE( n, h );

Оператор WHILE аналогичен оператору REPEAT, но проверка условия выполнения тела цикла производится в самом начале оператора. Формат:

WHILE < условие> DO <тело цикла >;

<условие> - булевское выражение, <тело цикла> - простой или составной оператор. Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен true, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен false, происходит выход из цикла и переход к первому после WHILE оператору.

Пример. READ(n); h:=0;

WHILE n>0 DO begin h:=h+1/n;

n:=n-1 END; WRITE(n, h );

6.3 Правила пунктуации

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

Точка с запятой не ставится в разделах описаний после зарезервированных слов LABEL, TYPE, CONST, VAR и ставится после завершения каждого описания.

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

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

В операторах цикла точка с запятой не ставится после WHILE, REPEAT, DO и перед UNTIL.

В условных операторах точка с запятой не ставится после THEN и перед ELSE.

7. ПРОЦЕДУРЫ И ФУНКЦИИ

В языке PASCAL подпрограммы реализованы посредством процедур и функций.

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

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

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

Процедуры. Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова PROCEDURE, идентификатора (имени) процедуры и необязательного заключенного в круглые скобки списка формальных параметров с указанием типа каждого параметра. Имя процедуры - идентификатор, уникальный в пределах программы. Тело процедуры представляет собой локальный блок, по структуре аналогичный программе. Описания меток, констант, типов и т. д. Действительны только в пределах данной процедуры. В теле процедуры можно использовать любые глобальные константы и переменные.

PROCEDURE < имя>(формальные параметры );

CONST . . .;

TYPE . . . ;

VAR . . . ;

BEGIN < операторы > END;

Пример. PROCEDURE square( var x, y : real);

Var a, b : integer;

Begin a:=x; b:=y; y:=a*a-b*b; x:=2*x*b end;

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

Пример.

PROGRAM param;

VAR a, b : integer;

PROCEDURE H(x : integer; var y : integer);

Begin x:=x+1; y:=y+1; writeln(x :2, y:2) end;

Begin a:=0; b:=0; H(a, b);

Writeln(a:2,b:2) end.

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

Функции. Функция состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово FUNCTION, идентификатор (имя) функции, заключенный в круглые скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Тело функции представляет собой локальный блок, по структуре аналогичный программе.

FUNCTION < имя>(формальные параметры ): < тип результата>;

CONST . . . ;

TYPE . . . ;

VAR . . . ;

BEGIN < операторы > END;

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

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

В качестве примера приведем функцию возведения в степень:

PROGRAM DP;

VAR z ,k: real;

FUNCTION power(x, y: real) : real;

Begin power:= exp(y*ln(x)) end;

Begin z:=5.31; k:=power(z, 4.0); write(`k=',k) {возведение z в 4-ю степень}

End.

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

PROCEDURE DIN(x, y : real);

В этом случае значения x и y передаются в процедуру при вызове. Во второй форме перед списком параметров указывается слово VAR:

PROCEDURE DOUT(VAR a, b, c : integer);

VAR означает, что значения a, b, c возвращаются после выполнения процедуры.

Возможна и смешанная форма:

PROCEDURE DINOUT(x, y :real; var a, b, c : integer);

ЛИТЕРАТУРА

Перминов О. Н. Программирование на языке ПАСКАЛЬ.- М.: Радио и связь, 1994, 220 с.

Скляров В. А., Булатова В. А. Знакомьтесь:ПАСКАЛЬ! -Мн.: Выш. Шк., 1998., 271с.

Бородич Ю. С., Вальвачев А. Н., Кузьмич А. И. ПАСКАЛЬ для персональных компьютеров.-Мн.:Выш. шк.,1997,364с.

Катков В. Л., Любимский Э. З. Программирование Мн.: Выш. шк.,1998,295с.

Размещено на Allbest.ru

...

Подобные документы

  • Элементы языка Object Pascal: идентификаторы, константы, переменные, выражения. Структура проекта Delphi. Операторы и метки. Типы данных языка OPascal. Статические и динамические массивы. Записи с вариантными полями. Совместимость и преобразование типов.

    курс лекций [385,4 K], добавлен 18.02.2012

  • Переменные и операции языка СИ: используемые символы, константы, идентификаторы и ключевые слова. Использование комментариев в тексте программы. Типы данных и их объявление. Приоритеты операций и порядок вычислений. Функции, переменные, макроподстановки.

    учебное пособие [135,0 K], добавлен 17.02.2012

  • Взаимосвязь стадий процесса проектирования сложных программных систем. Создание компилятора подмножества языка высокого уровня (Pascal) на язык Ассемблера. Структура входных и выходных данных, алгоритмы их обработки. Рабочая документация программы.

    курсовая работа [256,7 K], добавлен 27.07.2014

  • Основные понятия и назначение языка программирования СИ. Скалярные типы данных. Арифметические, логические и битовые операции над переменными целочисленного, вещественного, символьного, перечислимого типов. Примеры программ, выполняющие операции над ними.

    презентация [269,9 K], добавлен 26.07.2013

  • История создания и применение языка Basic. Стандартные математические и строковые функции. Операции и выражения языка. Блоки данных и подпрограммы. Операторы управления, цикла, ввода-вывода и преобразования информации. Константы, переменные, массивы.

    контрольная работа [2,3 M], добавлен 04.05.2015

  • Информационные технологии и защиты данных. Методы защиты информации. Виды информационной безопасности и умышленные угрозы. Программирование на языке Turbo Pascal. Типы числовых данных. Функции ввода и вывода. Логические операторы, символьные переменные.

    курсовая работа [1,7 M], добавлен 16.05.2016

  • Символьный тип данных как составляющая языка программирования: управляющие символы, лексемы и разделители. Разработка программного обеспечения для практической реализации решения задач, содержащих символьные величины языка программирования Turbo Pascal.

    курсовая работа [37,7 K], добавлен 03.05.2012

  • Процедура сложения и вычитания матриц (с учетом коэффициента перед матрицами). Основные концепции языка Turbo Pascal. Фортран как один из пионеров программирования Дейкстрой. Первый компилятор Паскаля на платформах DEC. Основные стандарты языка.

    контрольная работа [21,6 K], добавлен 08.03.2011

  • Характеристика и основные особенности языка Pascal. Создание числового массива с использованием встроенной функции. Использование записей, массивов и файлов. Обработка и графическая визуализация данных средствами табличного процессора и пакета MathCAD.

    курсовая работа [1,0 M], добавлен 22.08.2012

  • Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.

    контрольная работа [286,3 K], добавлен 10.04.2011

  • Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.

    лабораторная работа [256,9 K], добавлен 10.11.2015

  • Лингвистическая концепция языка Паскаль. Интегрированная инструментальная оболочка. Основы построения программ на ТП 7.0. Алфавит языка и специфика использования символов. Простые типы данных: константы и переменные. Циклические конструкции и операции.

    курсовая работа [284,6 K], добавлен 02.07.2011

  • Характеристика используемой операционной системы, языка программирования. Структура программы на языке Turbo Pascal 7.1. Операторы языка Turbo Pascal. Проведение сортировки записей. Алгоритмы программы и подпрограмм. Причины возникновения ошибок.

    курсовая работа [454,1 K], добавлен 13.06.2014

  • История языка Pascal, его основные концепции. Линейный и циклический алгоритмы, типы данных. Условные операторы, операторы цикла. Программа вычисления суммы n первых членов геометрической прогрессии по любым двум ее членам, номера которых известны.

    отчет по практике [421,8 K], добавлен 07.06.2010

  • Ознакомление со структурой языка программирования Turbo-Pascal 7.0, его алфавитом, выражениями и простейшими конструкциями (метками, идентификаторами). Способы описания арифметических, вещественных, логических и символьных операций в программной среде.

    реферат [68,2 K], добавлен 07.02.2011

  • Векторная компьютерная графика. Графические примитивы. Графические возможности языка программирования Pascal. Методические рекомендации к изучению графики в языке программирования Pascal. Построение графиков функций.

    курсовая работа [28,3 K], добавлен 13.06.2007

  • Структура и основные элементы языка Turbo Pascal. Алгоритм составления простейших программ на Turbo Pascal. Применение условного оператора и сильноветвящихся алгоритмов. Циклы с предусловием и постусловием, сочетание циклических и условных операторов.

    реферат [64,0 K], добавлен 20.03.2016

  • Способы и методы нахождения значения определённого интеграла. Программные средства языка C. Программные средства языка Pascal (версия 7.0). Алгоритм программы вычисления определённого интеграла. Тестирование программы. Обработка результатов измерений.

    курсовая работа [2,5 M], добавлен 01.06.2010

  • История развития языка программирования Pascal, его основные концепции. Вычисления в математических задачах. Изменение порядка выполнения инструкций программы. Выполнение оператора цикла. Логические выражения, линейные алгоритмы, условные операторы.

    методичка [847,6 K], добавлен 10.01.2013

  • Строгая типизация и наличие средств структурного (процедурного) программирования императивного языка Pascal. Структура программы, выражения, строки. Правила и описание типов, процедур и функций, операторов ввода - вывода, модулей и подпрограмм.

    курсовая работа [37,3 K], добавлен 28.06.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.