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

7

Лекция 1

1.Алфавит языка.

Алфавит – совокупность допустимых в языке символов (или групп символов, рассматриваемых как одно целое). В языке Турбо Паскаль все компоненты формируются из множества символов стандарта ASCII (American Standard Code for Information Interchange).

Элементы алфавита можно условно разбить на четыре группы:

  • Символы, используемые в идентификаторах;

  • Разделители;

  • Специальные символы;

  • Неиспользуемые символы.

1.1. Символы, используемые в идентификаторах.

Идентификатор - имя любого объекта программы – может включать буквы, цифры и символ подчеркивания «_».

В качестве букв можно использовать как прописные буквы латинского алфавита от A до Z, так и строчные от a до z. Прописные и строчные буквы в идентификаторах Турбо Паскаль не различает: так, например, NAME, Name, name, NaMe будут идентичны. Однако в строках символов и комментариях строчные и прописные буквы отличаются и не преобразуются при компиляции друг в друга.

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

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

Длина идентификатора может быть любой, но существенными являются только первые 63 символа.

1.2. Разделители.

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

  • Пробел;

  • Любой управляющий символ;

  • Комментарий.

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

1.3. Специальные символы.

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

  • знаки пунктуации;

  • знаки операций;

  • зарезервированные слова.

1.3.1. Знаки пунктуации.

Знак

Примечание

{ }

Скобки комментария

(* *)

Скобки комментария

[ ]

Выделение индексов массива, элементов множеств

( )

Выделение выражений, списков параметров

Апостроф, для выделения символа или строковой константы

:=

Знак присваивания значения переменной

;

Разделитель операторов и объявлений

:

Отделение перемененной или типизированной константы от типа

=

Отделение идентификатора типа от описания типа или типизированной константы от её значения

,

Запятая для разделения элементов списка

..

Разделение границ диапазона

.

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

^

Обозначение типа указатель, значения величины

@

Обозначение адреса переменной

#

Обозначение символа по коду

$

Обозначение директивы компилятора или знак шестнатеричного числа

1.3.2. Знаки операций.

Знаки операций предназначены для обозначения тех или иных арифметических или логических действий. Они бывают двух типов: состоящие из небуквенных символов (например, + - * и т.д.) и буквенных операций (например, NOT, DIV, MOD и т.д.), представляющие собой зарезервированные слова.

1.3.3. Зарезервированные слова.

Зарезервированные слова включают служебные слова (например, BEGIN, END, DIV и т. д.) и имена директив (например, FORWARD, EXTERNAL и т. д.).

1.4. Неиспользуемые символы

Некоторые символы кодировки ASCII, такие как, например, %, ,  и т. д., не используются в Турбо Паскале, но их можно использовать в комментариях и символьных строках.

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

В программе Турбо Паскаль могут быть следующие разделы:

  • заголовок программы

  • раздел объявления констант

  • раздел объявления типов

  • раздел объявления переменных

  • раздел объявления процедур и функций

  • тело программы (обязательная часть).

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

В Турбо Паскале порядок размещения разделов объявлений произвольный, можно создавать несколько одинаковых разделов. Единственное правило, которого необходимо придерживаться – следует использовать лишь те идентификаторы, которые перед этим были определены. Исключением из этого правила может быть определение типа указателя через не определенный до этого тип. Однако и этот тип впоследствии должен быть определен. Тело программы начинается словом BEGIN, а заканчивается словом END с точкой, которое является признаком конца программы.

3. Типы данных

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

3.1. Классификация типов данных

В Турбо Паскале можно выделить следующие группы типов:

  • простые (скалярные) типы;

  • структурированные типы;

  • указатели;

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

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

К стандартным типам, не требующих предварительного определения, относятся целые типы, логический тип BOOLEAN (по имени английского математика Джоржа Буля, заложившем основы математической логики), литерный тип CHAR, строка STRING, текстовый файл TEXT, тип указатель POINTER. Все другие используемые типы данных должны быть определены в разделе объявления типов, либо в разделе объявления переменных.

3.1. Простые типы данных

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

  • целые типы;

  • логический тип;

  • литерный тип;

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

  • тип-диапазон;

  • вещественные типы.

Все простые типы, за исключением вещественных, называются порядковыми типами. Для величин порядкового типа определены три стандартные функции: ORD, PRED, SUCC.

Функция ORD – определяет порядковый номер величины (другими словами преобразует тип величины в целый тип).

Функция PRED – определяет предыдущее значение величины данного типа.

Функция SUCC – определяет последующее значение рассматриваемой величины.

3.2.1. Целые типы.

Тип

Диапазон

Формат

SHORINT

-128..127

8-битовый, знаковый

INTEGER

-32768..32767

16-битовый, знаковый

LONGINT

-2147483648..21447483647

32-битовый, знаковый

BYTE

0..255

8-битовый беззнаковый

WORD

0..65535

16-битовый беззнаковый

3.2.2. Логический тип.

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

FALSE<TRUE

(FALSE)=0

ORD(TRUE)=1

SUCC(FALSE)=TRUE

PRED(TRUE)=FALSE

3.2.3. Литерный тип

Стандартный литерный тип CHAR определяет полный набор ASCII-символов. Функция ORD от величины типа CHAR дает код соответствующего символа.

3.2.4. Перечислимый тип.

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

3.2.5. Тип диапазон.

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

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

Тип

Диапазон

Число значащих цифр

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

REAL

2.9*10-39..1.7*1038

11-12

6

SINGLE

1.5*10-45..3.4*1038

7-8

4

DOUBLE

5.0*10-324..1.7*10308

15-16

8

EXTENDED

3.4*10-4932..1.1*104932

19-20

10

COMP

-263+1..263-1

19-20

8

Кафедра информатики

Иванов Борис Алексеевич. Файл

Соседние файлы в папке Lecture_Pascal