- •Содержание
- •Алгоритм. Блок-схема. Элементы блок-схемы
- •Циклы
- •Массивы. Работа с массивами
- •Сортировка данных
- •Матрица. Работа с матрицами
- •Язык программирования Turbo Pascal
- •Алфавит языка Turbo Pascal
- •Вещественные типы данных
- •Логический тип данных
- •Символьный тип данных
- •Массивы в ТР
- •Cтроки в ТР
- •Оператор присваивания в ТР
- •Целочисленные типы данных
- •Условный оператор
- •Составной и пустой оператор
- •Оператор выбора
- •Оператор перехода и метка
- •Циклы в ТР
- •Оператор цикла for
- •Оператор цикла while
- •Оператор цикла repeat
- •Подпрограммы в ТР
- •Локальность имен в ТР
- •Формальные и фактические параметры
- •Рекурсия. Рекурсивные функции
- •Модули в ТР
- •Стандартные модули в ТР
- •Использование модуля GRAPH
- •Файлы в ТР
- •Общие принципы работы с файлами в ОС
- •Элементы объектно-ориентированного программирования
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Список литературы
Целочисленные типы данных
Диапазон возможных значений зависит от их внутреннего представления, которое может занимать 1, 2 или 4 байта (см. таблицу).
Длина в байтах |
Название типа |
Диапазон значений |
1 |
byte |
0...255 |
1 |
shortint |
–128...127 |
2 |
word |
0...65535 |
2 |
integer |
–32768...32767 |
4 |
Longint |
–2147483648...2147483647 |
Замечание. В современных языках, к примеру Free Pascal, основной тип integer занимает не 2 байта, а 4 и диапазон такой же, как в longint. Кроме того, в FP добавлены новые типы:
2 |
smallint |
–32768 |
...32767 |
4 |
cardinal |
0...4294967295 |
|
8 |
int64 |
–9223372036854775808... |
9223372036854775807 |
8 |
qword |
0...18446744073709551615 |
|
Вещественные типы данных
Вещественные числа в компьютере обычно представляются в виде чисел с плавающей точкой (запятой).
Пример. 1234567 = 123.4567*104 = 1.234567*106 = 0.1234567*107 = = 0.001234567*109 = 123456700*10-2 и т.д.
Нормализованным называют число, в записи которого в целой ча-
сти присутствует только одна значащая цифра.
Вопрос. Какая запись числа из вышеприведенного примера является нормализованной?
В компьютере числа обычно обрабатываются в нормализованном виде, в запись которого входят знак, мантисса (двоичная дробная часть) и степень двойки (порядок):
s |
m |
P |
знак |
мантисса |
порядок |
|
12 |
|
В отличие от целочисленных типов данных, значения которых можно представить с абсолютной точностью, значение вещественных чисел можно определить лишь с некоторой конечной точностью, зависящей от внутреннего формата.
Длина |
Название |
Кол-во дес. цифр |
Диапазон дес. порядка |
|||
в мантиссе |
||||||
|
|
|
|
|||
4 |
single |
7... |
8 |
–45... |
+38 |
|
6 |
real |
11... |
12 |
–39... |
+38 |
|
8 |
double |
15... |
16 |
–324... |
+308 |
|
10 |
extended |
19... |
20 |
–4951... |
+4932 |
|
8 |
comp |
...19 |
20 |
–263...+263–1 |
||
Логический тип данных
Этот тип данных может принимать одно из двух значений: TRUE
(“Истина”) или FALSE (“Ложь”) (“Да” или “Нет”, 1 или 0). Декларируется указанием ключевого слова boolean.
Наряду с арифметическими действиями в ТР могут производиться и логические операции: “НЕ” (ОТРИЦАНИЕ), “И”, “ИЛИ” и др. Рассмотрим три основные логические операции.
X |
|
NOT X |
“НЕ”: ОТРИЦАНИЕ |
|||
0 |
|
1 |
|
|
|
|
1 |
|
0 |
|
|
|
|
|
|
|
|
|
||
X |
Y |
X AND |
||||
|
|
|
Y |
|
|
“И”: Если хотя бы одно высказывание ложно, |
0 |
0 |
0 |
|
|
||
0 |
1 |
0 |
|
|
то всевыражение будет ложно. |
|
1 |
0 |
0 |
|
|
(КОНЬЮНКЦИЯ – логическое умножение) |
|
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
||
X |
Y |
X |
OR |
|||
|
|
|
Y |
|
|
“ИЛИ”: Если хотя быодно высказывание истинно, |
0 |
0 |
0 |
|
|
||
0 |
1 |
1 |
|
|
то все выражение будет истинно. |
|
1 |
0 |
1 |
|
|
(ДИЗЪЮНКЦИЯ – логическое сложение) |
|
1 |
1 |
1 |
|
|
|
|
|
|
|
|
13 |
||
Задача-пример. Пусть по результатам экзаменов получены следующие оценки: по математике – math, по физике – phis и по литературе
– lit. По каким условиям давать стипендию?
Если (math>3) and (phis>3) and (lit>3), то стипендия = 100 % + +25 % = 125 %.
Если (math=5) and (phis=5) and (lit=5), то стипендия = 100 % + +50 % = 150 %.
Если (math<3) or (phis<3) or (lit<3), то отчисление!!!
Символьный тип данных
Для кодировки символов в компьютере используется таблица
ASCII-кодов (American Standard of Codes for Information Interchange –
американский стандарт кодов для обмена информацией)
Один символ может иметь однобайтовый код, т.е. в одном байте можно закодировать до 256 различных символов (с кодами от 0 до 255). Символьный тип задается ключевым словом char. Значение символьной переменной может быть задано в виде символа, заключенного в кавычки, или предваряться спецcимволом #.
Пример.’A’, ’B’, ’C’; ’A’ = #65
14
Массивы в ТР
Массив представляет собой совокупность переменных одного и того же типа и предваряется ключевым словом array. Формат описания:
var <идентификатор> :array [<нач. номер>..<конеч. номер>] of <тип>;
Пример. var a:array[1..10] of integer;
Здесь мы описываем массив а1,а2,а3,...,а10 и все элементы имеют один и тот же тип integer. В ТР можно указывать различные диапазоны индексов, например: var x:array[-100..100] of real; Имеется также возможность создавать массивы больших размерностей, например, опишем матрицу А с M строками и N столбцами.
Пример. var a:array[1..M,1..N] of word;
Доступ к отдельному элементу осуществляется по его индексу (номеру):
математическая запись: |
аналог на Паскале: |
x1 |
x[1] |
xi |
x[i] |
aijk |
a[i,j,k] |
zij |
z[i,j] |
Cтроки в ТР
Строка в ТР рассматривается как массив символов – переменных символьного типа char и декларируется ключевым словом string.
Пример. var s:string; {Аналогичное описание: var s:array[1..80] of char; }
var s1:string[255]; {Здесь описываем строку длиной до 255 символов.}
Вопрос. Пусть строка s имеет следующее содержимое: ‘мама мыла раму’. Чему равно содержимое s[7]?
Оператор присваивания в ТР
Формат записи: <идентификатор> := <выражение> ; Пара символов ‘:=’ означает операцию присваивания. Все, что бы-
ло вычислено в правой части, присваивается переменной, идентификатор которой стоит в левой части.
15
