Презентация "Структура языка программирования Turbo Pascal"

Подписи к слайдам:

Структура языка программирования Turbo Pascal

Типы переменных

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

Массивы

Записи

Простые

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

Порядковые

Строковые

Указатели и ссылки

Процедурные типы

ВЕЩЕСТВЕННЫЕ ТИПЫ

Наименование типа

Размер

в байтах

Количество цифр

Диапазон значений

Single

4

7..8

10 (-45..+38)

Real

6

11..12

10 (-39..+38)

Double

8

15..16

10 (-324..+308)

Extended

10

19..20

10 (-4951..+4932)

Comp

8

19..20

-263 +1 … +263 -1

Примечание: типы Single, Double, Extended работают при подключении сопроцессора, в том числе при эмуляции сопроцессора. Для этого в меню Options, Compiler установить Numeric processing: [X] 8087/80287, а также [X] Emulation, либо в начале программы установить режим компиляции {$N+}.

ЦЕЛЫЕ ТИПЫ

Наименование типа

Размер

в байтах

Диапазон значений

Byte

1

0..255

Shortint

1

-121..+127

Word

2

0..65535

Integer

2

-32761..+32767

Longint

4

-2147483641.. +2147483647

ПРИМЕРЫ ОПИСАНИЯ ВЕЩЕСТВЕННЫХ ТИПОВ VAR c, d, e: real; d1, d2: double; ПРИМЕРЫ ОПИСАНИЯ ЦЕЛЫХ ТИПОВ VAR i, j, k: byte; h, m, n: integer; L1, L2, L3: longint; Примеры присвоения значения: i:= 222; j:= 10; m:= -23000; L1:= 280000; h:= $A7; (шестнадцатеричный формат числа 10*16+7)   ПРИМЕРЫ ОПИСАНИЯ ЛОГИЧЕСКИХ ТИПОВ Переменные логического типа могут принимать значения: False (ложно) или True (верно).   Примеры описания: VAR b1, b2, b3, b4: boolean; Примеры присвоения значения: b1:= True; b2:= False; b3:= not b1; {или} b3:= False; b4:= b1; ПРИМЕРЫ ОПИСАНИЯ СИМВОЛЬНОГО ТИПА Переменные символьного типа могут принимать значения одного из символов с кодами от #0 до #255, т. е. допускаются буквы русского алфавита и символы псевдографики. Символы с кодами от #0 до #31 (управляющие) в тексте воспринимаются как пробел, а в операторах вывода как символ или команда. VAR с, ch, e: char; Примеры присвоения значения: c:= '!'; c:= #33; { символ "!" задается значением кода } ch:= #13; { код клавиши Enter } e:= #27; { код клавиши Esc } Примеры вывода: Write(с); { выводится символ " ! " } Write(ch); { команда перевода курсора на новую строчку } Write(е); { выводится специальный символ, соответствующий коду #27 } ПРИМЕРЫ ОПИСАНИЯ СТРОКОВОГО ТИПА ТИПА Переменная строкового типа задается набором символов, заключенных в кавычки. VAR s: string[25]; { длина переменной s может изменяться от 1 до 25 символов } s1: string; { длина переменной s1 не указывается, наибольшее число символов равно 255 }   Примеры присвоения значения: s:= 'Привет'; s1:= 'Hello'; ПРИМЕРЫ ОПИСАНИЯ МАССИВОВ Массив - упорядоченные данные одного типа, состоящие из переменных (элементов массива). Элементы массива имеют свой порядковый номер (индекс) и значение. Значение присваивается отдельно каждому элементу массива, либо сразу всем элементам массива (копирование одного массива в другой в случае массивов одинакового типа). Массив может быть многомерным (без ограничения), но занимать не более 65520 байт.   VAR M1: array[1..200] of integer; A1: array[100..200] of real; { М1, A1 - одномерные массивы целых и вещественных чисел } ch1: array['A'..'Z'] of char; ch2: array[0..255] of char;   { сh1, ch2 - одномерные массивы символов } Примеры присвоения значения:   M1[1]:=5; M1[2]:=8; M1[3]:= M1[1]; M1[100]:=32; A1[101]:=0.2; A1[102]:=2.31; ch1['B']:='C'; ch2[1]:='!' ПРИМЕРЫ ОПИСАНИЯ ТИП-ДИАПАЗОН, ПЕРЕЧИСЛИМЫЙ Они задаются программистом. TYPE Date_M= 1..31; Rush_b= 'А..Я'; Lat_b= 'A..Z'; {тип диапазон} Otmetka= (2,3,4,5); Ball= (1,2,3,4,5,6,7,8,9,10); {перечислимый тип}   VAR t1,t2:Date_M; c1:Ruch_b; s1:Lat_b; a1,a2:Otmetka; b:Ball; Примеры присвоения значения: t1:= 10; c1:= 'Л'; s1:= 'F'; a1:=5; b:= 8; ПРИМЕРЫ ОПИСАНИЯ ФАЙЛОВ Файл - именованная область внешней памяти ЭВМ, содержащая различные данные. Длина файла ограничена доступной дисковой памятью. Файлы могут быть текстовые, типизированные и нетипизированные   VAR f1, f2: text;   Примеры присвоения значения: Assign( f1, 'file1. in' ); Файл file1. in содержится в текущем каталоге. Assign( f2, 'C:\ PASCAL\ WORK\ file2. out' ); Для файла file2. out указывается дорожка DOS. Оператор Assign присваивает файловой переменной имя файла на диске. ПРИМЕРЫ ОПИСАНИЯ ЗАПИСЕЙ Записи - вводимый программистом тип, определяемый как структура данных разного типа, содержащая названия полей с указанием их типов, расположенных между служебными словами Record и End. Type Sity = Record Name_G: String[20]; { название города } Numb_G: LongInt; { число жителей } Stol_G: Boolean; { Столица (Да, Нет) } Shir, Dol: Real { Координаты: широта, долгота } End; Var St1, St2, St3: Sity; { Переменные типа запись } ПРИМЕРЫ ОПИСАНИЯ ЗАПИСЕЙ Примеры присвоения значения:   St1. Name_G:= 'Уфа'; St1. Numb_G:=1200000; {Отдельным полям переменной St1 } St2. Name_G:= 'Москва'; St2. Numb_G:=8200000; St3:= St1; { Всем полям переменной St3 } Переменные типа запись могут обозначаться с помощью оператора присоединения: WITH "имя переменной" DO "оператор"; Например: With St1 do Begin Name_G:= 'Уфа'; Stol_g:= True; Readln(Shir, Dol); z:= Numb_G - St2. Numb_G; Writeln(Name_G:5, Numb_G:10) end; ОПЕРАЦИИ И СТАНДАРТНЫЕ ФУНКЦИИ ЛОГИЧЕСКИЕ ОПЕРАЦИИ

ПРИОРИТЕТ ОПЕРАЦИИ

УСЛОВНЫЙ ЗНАК

ВЫРАЖЕНИЕ

НАЗВАНИЕ ОПЕРАЦИИ

ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ

ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ

1

not

not A

Логическое «НЕ»

Логический целый

Логический целый

2

and

A and B

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

Логический целый

Логический целый

3

or

A or B

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

Логический целый

Логический целый

3

хor

A хor B

Логическое исключающее «ИЛИ»

Логический целый

Логический целый

МАТЕМАТИЧЕСКИЕ ОПЕРАЦИИ

ПРИОРИТЕТ ОПЕРАЦИИ

УСЛОВНЫЙ ЗНАК

ВЫРАЖЕНИЕ

НАЗВАНИЕ ОПЕРАЦИИ

ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ

ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ

2

*

X * Y

умножение

Целый

смешанный вещественный

Целый при умножении целых чисел, иначе вещественный

2

/

X / Y

деление

2

div

N div M

деление

Целый

Целый

2

mod

N mod M

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

Целый

целый

3

+

X + Y

сложение

Целый

Целый при операциях с целыми числами, иначе вещественный

3

-

X - Y

вычитание

Смешанный вещественный

Под смешанным типом переменных в выражении подразумевается операция с целым и вещественным типом переменных.

ОПЕРАЦИИ СРАВНЕНИЯ

ПРИОРИТЕТ ОПЕРАЦИИ

УСЛОВНЫЙ ЗНАК

ВЫРАЖЕНИЕ

НАЗВАНИЕ ОПЕРАЦИИ

ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ

ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ

4

=

X = Y

Равно

Число = число

Логический для всех операций сравнения

4

<>

X <> Y

Не равно

Строка = символ

4

>

X > Y

Больше

Строка = строка

4

<

X < Y

Меньше

Аналогично для всех операций сравнения

4

>=

X >= Y

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

4

<=

X <= Y

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

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

Операции одинакового приоритета выполняются слева направо,

например a/c*b соответствует (a/c)*b.

СПЕЦИФИЧЕСКИЕ ОПЕРАЦИИ

ПРИОРИТЕТ ОПЕРАЦИИ

УСЛОВНЫЙ ЗНАК

ВЫРАЖЕНИЕ

НАЗВАНИЕ ОПЕРАЦИИ

ТИП ПЕРЕМЕННЫХ В ВЫРАЖЕНИИ

ТИП РЕЗУЛЬТАТА ВЫПОЛНЕНИЯ ОПЕРАЦИИ

1

@

@X

Адрес переменной

любой

указатель

2

shl

Y shl N

сдвиг влево

целый

целый

2

shr

Y shr N

сдвиг вправо

целый

целый

2

*

C * D

пересечение

множество

множество

3

+

C + D

объединение

множество

множество

3

-

C - D

вычитание

множество

множество

3

+

S + T

сложение

строка, символ

строковый

4

in

E in D

Вхождение в множество

элемент 

множество

логический

Стандартные математические функции и процедуры Турбо-Паскаля МАТЕМАТИЧЕСКИЕ ФУНКЦИИ

Наименование функции

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

Тип значения

Результат вычисления

Abs(x)

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

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

Абсолютное значение "х"

Sin(x)

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

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

синус "х" рад.

Cos(x)

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

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

косинус "х" рад.

Arctan(x)

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

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

арктангенс "х" ( -Pi/2 <y< Pi/2 )

Sqrt(x)

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

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

квадратный корень из "х"

Sqr(x)

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

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

значение "х" в квадрате ( х2 )

Exp(x)

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

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

значение "е" в степени "х"

Ln(x)

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

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

натуральный логарифм "х"

Frac(x)

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

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

дробная часть "х"

Int(x)

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

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

целая часть "х"

Random

-

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

случайное число ( 0 <=y< 1 )

Random(x)

Word

Word

случайное число ( 0 <=y< x )

Succ(c)

Порядковый

Порядковый

следующий за "с" символ

Pred(c)

Порядковый

Порядковый

предшествующий "с" символ

МАТЕМАТИЧЕСКИЕ ПРОЦЕДУРЫ

Наименование функции

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

Тип значения

Результат вычисления

Inc(x)

целый

целый

Увеличивает "х" на 1 ( x:=x+1; )

Dec(x)

целый

целый

Уменьшает "х" на 1 ( x:=x+1; )

Inc(x, n)

целый

целый

Увеличивает "х" на n ( x:=x+1; )

Dec(x, n)

целый

целый

Уменьшает "х" на n ( x:=x+1; )

ПРОЦЕДУРЫ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ

Наименование функции

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

Тип значения

Результат вычисления

Str(x, s)

x-целый или вещественный

s-строковый

Последовательность символов "s" из цифр числа "x"

Val(s, v, cod)

s-строковый

v-целый или вещественный, cod- целый

Двоичная форма числа "v" последовательности "s"

cod=0 (код ошибки)

ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ

Наименование функции

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

Тип значения

Результат вычисления

Trunc(x)

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

LongInt

целая часть "х"

Round(x)

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

LongInt

округление "х" до целого

Odd(x)

целый

логический

возвращает True если "х" - нечетное число

Сhr(x)

Byte

Byte Char

Символ ASCII кода "х"

Ord(c)

Char

Byte

ASCII код символа "с"

Порядковый

LongInt

Порядковый номер символа "с"

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