Главная

Язык программирования Pascal

Что такое Паскаль

Запись числовых констант, переменных и выражений.

Типы данных. Операции и функции над данными разных типов.

Структура программы

Операторы присваивания, ввода и вывода

Простейшие программы

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

Операторы цикла.

Массивы

Процедуры и функции.

Строки.

Множества

Записи

Файлы

Переменные

Любые объекты, т.е. константы, переменные, значения функций или выражения, в Паскале характеризуются своими типами. Тип определяет множество допустимых значений того или иного объекта, а также множество операций, которые к нему применимы. Кроме того, тип определяет формат внутреннего представления данных в памяти ЭВМ.

  Паскаль характеризуется разветвленной структурой типов данных:

 

2.1. Простые типы.
К простым типам относятся порядковые и вещественный типы.

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

Integer - целый тип, представляет собой подмножество множества целых чисел, определяемое конкретной реализацией. Во внутреннем представлении он занимает 2 байта, диапазон возможных значений - от -32768 до +32767, данные представляются точно.

Char - символьный тип, представляет собой набор символов, определяемый конкретной реализацией. Во внутреннем представлении он занимает 1 байт, множество значений этого типа фиксировано и упорядочено. Все символы считаются перенумерованными, начиная с нуля. Такой набор символов определен в каждой вычислительной сисеме. Он необходим, по крайней мере, для связи системы с внешним миром.
Константой символьного типа является один из допустимых символов, взятый в апострофы. Если апостроф сам является символом, то  апостроф, являющийся значением константы, записывается дважды, например  
‘7’ ,  ‘+’ , ‘F’ , ‘’’’ , ‘j’ , ‘?’ .

Boolean - логический тип, определяет диапазон логических значений, который содержит два элемента False (ложь) и True (истина). Во внутреннем представлении он занимает 1 байт.

Перечисляемый тип - задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
Type  colors = (red, white, blue, black);

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

Пример:    Type month = 1 ..12;
                                lat = ’a’ .. ’z’;

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

Real - вещественный тип, представляет собой определяемое конкретной реализацией подмножество множества вещественных чисел.  Во внутреннем представлении он занимает 6 байт, диапазон возможных значений - от 2.9Е-39 до 1.7Е+38, точность представления данных - 11...12 значащих цифр.

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

Целые числа

Тип 

Диапазон 

Размер в байтах 

Byte 
Shortint 
Word 
Longint

0 ... 255 
-128 ... 127 
0 ... 65535 
-2147483648 ... 2147483647




4

 

 Вещественные числа

Тип

Диапазон

Знач. цифры

Размер в байтах 

Single 
Double 
Extended

1.5E-45 ... 34E38 
5E-324 ... 1.7E308 
1.6E-4951...1.1E4932

7-8 
15-16 
19-20



10

 
2.2. Операции.

В таблице приведены арифметические операции, которые определены  для целого и вещественного типов:

Знак 
операции

Операция

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

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

+

Сложение

Целый или вещественный

Целый, если оба операнда целого типа, в противном случае - вещественный. 

-

Вычитание

Целый или вещественный

* 

Умножение

Целый или вещественный

/ 

Деление 

Целый или вещественный

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

Div

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

Целый

Целый 

Mod

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

Целый 

Целый 

 

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

    Not  -   логическое  НЕ;

    And -   логическое  И;

    Or   -   логическое  ИЛИ;

    Xor  -   исключительное ИЛИ.

Данные операции определяются следующим образом

Q

Not P

P And Q

 P Or Q

P Xor Q 

True 
True 
False 
False

True 
False 
True 
False

False 
False 
True 
True

True 
False 
False 
False

True 
True 
True 
False

False 
True 
True 
False

 В Паскале используются следующие операции отношения: =, <>, >, <, <=, >=. Операции сравнения применимы к данным простых типов. Сравнивать можно между собой значения одного типа: целые, вещественные, символьные, логические, значения перечисляемого типа. Допустимо также сравнивать между собой целые и вещественные числа.
При вычислении выражений любого типа приоритет вычислений определяется расставленными скобками, а при их отсутствии по следующей таблице (в порядке убывания приоритета).

Приоритет

Операция 




4

Not 
*, /, Div, Mod, And 
+, -, Or, Xor 
=,<>, <, >, <=, >=

 2.3. Функции.

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

Вызов функции

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

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

Назначение

 Abs(x) 

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

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

Возвращает абсолютное значение x 

Pi 

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

Возвращает значение числа ПИ 

Sin(x) 

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

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

Возвращает синус x радиан 

Cos(x) 

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

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

Возвращает косинус x радиан 

ArcTan(x) 

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

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

Возвращает арктангенс x радиан 

Sqrt(x) 

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

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

 Возвращает квадратный корень из x>=0 

Sqr(x) 

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

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

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

Exp(x) 

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

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

Возвращает значение e в степени x 

Ln(x) 

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

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

Возвращает натуральный логарифм x, x>0 

Trunc(x) 

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

целый 

Возвращает целую часть значения x 

Frac(x) 

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

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

Возвращает дробную часть значения  

Int(x) 

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

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

Возвращает целую часть значения x 

Round(x) 

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

целый 

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

Odd(x) 

целый 

логический 

Проверяет нечетность значения x 

Ord(x) 

порядковый 

целый 

Возвращает порядковый номер, соответствующий значению x 

Chr(x) 

символьный 

целый 

Возвращает символ с заданным порядковым номером x 

Pred(x) 

порядковый 

порядковый 

Возвращает предшествующее значение x 

Succ(x) 

порядковый 

порядковый 

Возвращает последующее значение x 

Сайт управляется системой uCoz