Сложные структуры данных. Квалификация имени
Type mas_of_strings = array [1..n] of string;
Var x: mas_of_strings;
X[ i ]
X[ i, j ]
Type data = record nomer: integer; name, adres: string [20] end;
Var x: data;
X.name
X.name[ i ]
Type data = record nomer: integer; name, adres: string [40] end;
Type mas_of_records = array [1..n] of data;
Var x: mas_of_records;
X[i].name
X[i].name[j]
Type mas_of_records = array [1..n] of byte;
Type data = record nomer: integer; n: string; rates: mas_of_records end;
Var x: data;
X.n[i]
X.rates[j]
Таблица 6.1
Значения констант (литералы)
Основные константы
| Примеры
| Целая десятичная
| 10 +100 -200
| Вещественная десятичная
| 10.0 +100.25 -2.5e+12
| Шестнадцатеричная
| $10 $1A00 $2BC2
| Символьная (литерная)
| ‘A’ ‘1’ #255
| Строчная
| ‘ABC’‘Санкт-Петербургу-300 лет’
| Множество
| [ 1, 2, 3 ] [ ‘a’, ‘b’, ‘c’ ] [ ‘a’.. ‘z’ ]
| Таблица 6.2
Целые числа
Описатель типа
| Длина (байт)
| Минимальное число
| Максимальное число
| Integer
| 2 (знак)
| -32768
| +32767
| Shortint
| 1 (знак)
| -128
| +127
| Longint
| 4 (знак)
| -2147483648
| +2147483647
| Byte
| 1 (б/зн.)
|
|
| Word
| 2 (б/зн.)
|
|
| Таблица 6.3
Литеры (символьные величины)
Описатель типа
| Длина (байт)
| Количество значений
| Допустимые
значения
| Char
|
|
| литера (символ)
| Таблица 6.4
Логические (булевские) величины
Описатель типа
| Длина (байт)
| Количество значений
| Допустимые
значения
| Boolean
|
|
| true, false
| Таблица 6.5
Вещественные числа
Описатель
типа
| Длина
(байт)
| Число значащих цифр
| Директива компилятора
| Real
|
|
| не требуется
| Single
|
|
| {$N+}
| Double
|
|
| {$N+}
| Extended
|
|
| {$N+}
| Comp
|
| 19 (цел.число, 64-bit)
| {$N+}
| Таблица 6.6
Арифметические операции
Сложение
| Вычитание
| Умножение
| Деление
| a
| b
| a + b
| a
| b
| a - b
| a
| b
| a * b
| a
| b
| a / b
|
|
|
|
|
|
|
|
|
|
|
|
|
| -20
| -10
|
| -10
|
| 2, 5
| 2, 5
| 6, 25
|
|
| 0, 5
| целочисленное деление
| остаток от деления (модуль)
| двоичный сдвиг влево
| двоичный сдвиг вправо
| a
| B
| a div b
| a
| b
| a mod b
| a
| b
| a shl b
| a
| b
| a shr b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | | | | | Таблица 6.7
Логические операции
Операции отношения (низший приоритет)
| a = b
| равно
| A < > b
| не равно
| a < b
| меньше
| A < = b
| меньше или равно (не больше)
| a > b
| больше
| A > = b
| больше или равно (не меньше)
| операции булевой алгебры (высший приоритет)
| not
| and
| or
| xor
| a
| not a
| a
| b
| a and b
| a
| b
| a or b
| a
| b
| a xor b
| false
| true
| false
| false
| false
| false
| false
| false
| false
| false
| false
| true
| false
| false
| true
| false
| false
| true
| true
| false
| true
| true
|
|
| true
| false
| false
| true
| false
| true
| true
| false
| true
|
|
| true
| true
| true
| true
| true
| true
| true
| true
| false
| | | | | | | | | | | | | Таблица 6.8
Ввод и вывод данных (стандартные устройства)
Процедура (функция)
| Назначение
| Пример вызова
| Примечания
| read (список-ввода)
| ввод данных (клавиатура)
| read(a, b, c)
|
| readln (список-ввода)
| ввод данных, пропуск маркера конца строки
| readln(a, b, c)
|
| write (список вывода)
| вывод данных (экран)
| write(‘n = ’, n: 10)
write(‘n = ‘, n: p: q)
| p, q целого типа
| writeln (список вывода)
| вывод данных, вывод маркера конца строки
| writeln(‘? ’: s+2)
writeln(‘’: spaces)
| s, spaces целого типа
| clrscr
| очистить весь экран (окрасить в цвет фона)
| clrscr
| модуль crt
|
Продолжение табл. 6.8
| textcolor (цвет)
| выбрать цвет символа
| textcolor(magenta)
| модуль crt
| textbackground(цвет)
| выбрать цвет фона
| textbackground(0)
| модуль crt
| window (x1, y1, x2, y2)
| окно (x1, y1)-(x2, y2)
| window(1, 1, 40, 10)
| модуль crt
| wherex
| позиция курсора x - номер колонки
| x: = wherex
| модуль crt
| wherey
| позиция курсора y - номер строки
| y: = wherey
| модуль crt
| gotoxy(x, y)
| установить курсор в положение (x, y); x - колонка [1..80]; y - строка [1..25];
| gotoxy(40, 10) gotoxy(50, wherey)
| модуль crt
| | | | | |
Таблица 6.9
Определения констант-названий цветов палитры в текстовых режимах (модуль crt)
Номер
| Цвет (имя константы)
| Номер
| Цвет(имя константы)
|
| Black
|
| DarkGray
|
| Blue
|
| LightBlue
|
| Green
|
| LightGreen
|
| Cyan
|
| LightCyan
|
| Red
|
| LightRed
|
| Magenta
|
| LightMagenta
|
| Brown
|
| Yellow
|
| LightGray
|
| White
|
Таблица 6.10
Процедуры для управления звуком
Sound (частота)
| Запуск звукового сигнала; частота - частота звука (герц)
| Nosound
| Отключение звука
|
Таблица 6.11
Округленные значения частоты звука для нот октавы, герц (процедура sound(n))
Нота
| Частота
(малая октава)
| Нота
| Частота
(первая октава)
| До
|
| До
|
| Ре
|
| Ре
|
| Ми
|
| Ми
|
| Фа
|
| Фа
|
| Соль
|
| Соль
|
| Ля
|
| Ля
|
| Си
|
| Си
|
| До
|
| До
|
| Таблица 6.12
Процедуры и функции для управления программой
Halt (результат)
| Выход из программы, результат - код завершения (целое число)
| Exit
| Выход из процедуры или функции пользователя
| Break
| Выход из цикла
| Readkey
| Остановка программы до нажатия клавиши;
Значение функции - код нажатой клавиши (символа);
Символ клавиши на экране монитора не отображается.
| Delay(время)
| Остановка программы;
Время - время задержки (миллисекунды (мс))
|
Таблица 6.13
Операции над числами. Процедуры
Процедура
| Назначение
| Пример вызова
| Результат
| Inc(число)
| Увеличить на 1
| Inc(n)
| N: = n + 1
| Dec(число)
| Уменьшить на 1
| Dec(n)
| N: = n - 1
|
Таблица 6.14
Операции над числами. Функции
Функция
| Назначение
| Пример вызова
| Результат
| Abs(число)
| Абсолютное значение числа
| Abs(-3.5)
| +3.5
| Arctan(тангенс угла)
| Арктангенс числа
| Arctan(0)
|
| Cos(угол)
| Косинус угла (рад.)
| Cos(pi)
| -1
| Exp(число)
| Экспонента
| Exp(1)
| 2, 718281828
| Frac(число)
| Дробная часть числа
| Frac(3.5)
| 0.5
| Int(число)
| Целая часть числа
| Int(3.5)
| 3.0
| Ln(число)
| Натуральный логарифм
| Ln(2.718281828)
| ~1.0
| Odd(число)
| Проверка нечетности
| Odd(3)
| True
| Pi
| Число пи
| Pi
| 3.141592...
| Random
(число)
| «Cлучайное» число
| Random(10)
| Число в [0; 10]
| Sin(угол)
| Синус угла (рад.)
| Sin(pi)
|
| Sqr(число)
| Квадрат числа
| Sqr(2.0)
| 4.0
| Sqrt(число)
| Квадратный корень
| Sqrt(25.0)
| 5.0
| Таблица 6.15
Модель организации данных строки
S[0]
| S[1]
| S[2]
| S[3]
| S[4]
| ....
| S[n]
|
(s[0]=длина строки, 0< =s[0]< =255)
Var переменная-строка: string; {длина строки< = 255 символов}
Var переменная-строка: string [ максимальное-количество-символов ];
Таблица 6.16
Модель организации данных одномерного массива: a[1..n]
A[1]
| A[2]
| A[3]
| A[4]
| A[5]
| ...
| A[n]
|
Таблица 6.17
Модель организации данных двумерного массива: a[1..m, 1..n]
A[1, 1]
| A[1, 2]
| A[1, 3]
| A[1, 4]
| A[1, 5]
| ...
| ...
| A[1, N]
| A[2, 1]
| A[2, 2]
| A[2, 3]
| A[2, 4]
| A[2, 5]
| ...
| ...
| A[2, N]
| A[3, 1]
| A[3, 2]
| A[3, 3]
| A[3, 4]
| A[3, 5]
| ...
| ...
| A[3, N]
| ...
| ...
| ...
| ...
| ...
| ...
| ...
|
| A[M, 1]
| A[M, 2]
| A[M, 3]
| A[M, 4]
| A[M, 5]
| ...
| ...
| A[M, N]
|
Type тип-массив = array [тип-индекса-1, тип-индекса-2,... тип-индекса-n] Of тип-элемента;
Таблица 6.18
Модель множества
количество элементов < =256, литеры или целые числа 0..255
Type тип-множество = set of тип-элемента;
Таблица 6.19
Операции над множествами
Принадлежность
| Объединение
| Разность
| Пересечение
| x
| a
| x in a
| a
| b
| a+b
| a
| b
| a-b
| a
| b
| a*b
|
| [1, 2]
| false
| [1]
| [1, 2]
| [1, 2]
| [1, 2]
| [2]
| [1]
| [1, 2]
| [2, 3]
| [2]
|
| [1, 2]
| true
| [2]
| [3]
| [2, 3]
| [1, 2]
| [3]
| [1, 2]
| [1, 2]
| [3, 4]
| [ ]
|
Таблица 6.20
Модель записи
Type тип-запись = record
Переменная: тип-1; Переменная: тип-2 End;
Таблица 6.21
Операции над символами и строками
Функция
| Значение
| Пример вызова
| Результат
| Chr(номер-символа-n)
| Символ номер n (#n)
| Chr(33)
| ‘! ’
| Ord(величина)
| Номер величины (код)
| Ord(‘! ’)
|
| Succ(величина)
| Следующее значение в последовательности
| Succ(‘y’)
| ‘z’
| Pred(величина)
| Предыдущее значение в последовательности
| Pred(‘y’)
| ‘x’
|
Таблица 6.22
Операции над строками. Функции
Функция
| Назначение
| Пример вызова
| Результат
| Copy
(s, p, n)
| Выделить n символов из строки s. начиная с позиции p
| Copy(‘роза’, 3, 2)
| ‘за’
| Concat
(s1, s2,...sn)
| Соединить строки (литеры) в одну строку (конкатенация)
| Concat(‘г’, ’роза’)
| ‘гроза’
| Length
(строка)
| Длина строки [символ.]
| Length(‘роза’)
|
| Pos
(s1, s2)
| Номер позиции строки s1 внутри строки s2 (не найдена - 0)
| Pos(‘за’, ’роза’)
|
|
Таблица 6.23
Операции над строками. Процедуры
Процедура
| Назначение
| Пример вызова
| Результат
| Delete
(s, p, n)
| Удалить n символов из строки s с позиции p
| Delete(‘роза’, 1, 2)
| ‘за’
| Insert
(s1, s2, p)
| Вставить строку (литеру) s1 в строку s2 с позиции p
| Insert(‘г’, ’роза’, 1)
| ‘гроза’
| Таблица 6.24
Преобразования данных
Процедура (функция)
| Назначение
| Пример
вызова
| Результат
| Round(число)
| Округлить число
| N: = round(3.5)
|
| Trunc(число)
| Отсечь дробную часть
| N: = trunc(3.5)
|
| Str(n: p: q, s)
| Преобразовать число n в строку s
| Str(3.5: 3, s)
| S = ‘3.5’
| Val(s, n, p)
| Преобразовать строку s (литеру) в число n
| Val(‘+3.5’, n, p)
| N= 3.5; p= 0
P=место ошибки
|
Таблица 6.25
Операции над файлами. Процедуры
Процедура
| Назначение
| Пример вызова
| Тип
| Assign(file, имя)
| Назначить файл для файловой переменной
| Assign(f, ’a: text’)
Assign(f, path)
| Все файлы
| Close(file)
| Закрыть файл
| Close(f)
| Все файлы
| Reset (file [, длина-з.])
| Открыть файл
| Reset(f)
| Все файлы
| Rewrite(file [, длина-з.])
| Создать файл
| Rewrite(f, 1)
| Все файлы
| Append (file)
| Открыть для добавления
| Append(f)
| Text
| Read (file, данные)
| Ввод данных
| Read(f, mydata)
| Все файлы
| Readln (file, данные)
| Ввод данных,
Пропуск конца строки
| Readln(f, a, b, c)
| Text
| Write (file, данные)
| Вывод данных
| Write
(f, mydata)
| Все файлы
| Продолжение табл. 6.25
| Writeln (file, данные)
| Вывод данных.
Вывод конца строки
| Write
ln(f, a: 10: 2)
| Text
| Blockread(f, данные, n, Результат)
| Ввод блока из n записей, Рез-т= сколько передано
| Blockread
(f, a, 50, p)
| File
| Blockwrite(f, данные, n, Результат)
| Вывод блока из n записей, Рез-т= сколько передано
| Blockwrite
(f, a, 50, p)
| File
| Seek
(file, номер позиции)
| Установить номер позиции для обмена
[0; n], n=число записей
| Seek(f, 0)
| Кроме text
| | | | | | |
Таблица 6.26
Операции над файлами. Функции
Функция
| Назначение
| Пример вызова
| Значения
| Eof (file)
| Условие «конец файла»
| If eof(f) then...
| [true; false]
| Eoln (file)
| Условие «конец строки»
| If eoln(f) then...
| [true; false]
| Filepos (file)
| Получить номер позиции для обмена
| If filepos(f) > 0 then...
| [0; n]
| Filesize (file)
| Получить размер файла [количество записей]
| Seek(f, filesize(f))
| [0; n]
| Ioresult
| Номер ошибки ввода-вывода ({$I-})
| If ioresult = 0 then...
| [0; n]
|
Таблица 6.27
Динамическая переменная. Адрес величины
Переменная-объект
| Переменная-указатель (ссылка)
| P ^
| P
| Q
| @ Q
|
Таблица 6.28
Процедуры для работы с динамическими переменными
Процедура
| Назначение
| Вызов
| Результат
| New(указатель)
| Создать переменную
| New(s)
| Создана s^
| Dispose(указатель)
| Удалить переменную
| Dispose(a[i])
| Удалена a[i]^
|
Таблица 6.29
Специальные процедуры и функции
Процедура
(функция)
| Назначение
| Пример вызова
| Результат
| Sizeof
(величина)
| Размер поля [байт]
| Sn: = sizeof(n)
{n - число integer}
| Sn = 2
| Fillchar
(a, n, d)
| Заполнить n байт Поля a значениями d
(d: char или byte)
| Fillchar (a, sizeof(a), 0)
{a - массив чисел типа integer}
| Все элементы массива равны 0
| Move
(a, b, n)
| Передать n байтов из поля данных a в поле данных b
| Move(a, b, sizeof(a))
{a и b - массивы одного типа}
| Массивы равны
(равны все элементы)
|
Таблица 6.30
Основные процедуры и функции
Процедура (функция)
| Назначение
| Пример вызова
| Примечания
| D: = detect
| Определить тип графического режима (№ драйвера)
| D: = detect
| D= драйвер экрана(bgi) (integer)
| Initgraph (d, m, путь-bgi)
| Установить графический режим экрана
| Initgraph (d, m, ’
C: \bgi’)
| M = режим экрана(vga) (integer)
| Cleardevice
| Очистить экран и отменить установки цвета
| Cleardevice
|
| Продолжение табл.6.30
| Setcolor
(цвет)
| Установить цвет линии (рисунка)
| Setcolor
(magenta)
|
| Setbkcolor
(цвет)
| Установить цвет фона (очистки)
| Setbkcolor
(0)
|
| Putpixel
(x, y, цвет)
| Точка (x, y)
| Putpixel
(5, 5, red)
|
| Line(x1, y1, x2, y2)
| Линия (x1, y1)-(x2, y2)
| Line(10, 10, 20, 200)
|
| Lineto(x, y)
| Чертить линию в (x, y)
| Lineto
(100, 200)
|
| Moveto(x, y)
| Вести перо в (x, y)
| Moveto
(nx, ny)
|
| Circle
(x, y, радиус)
| Окружность (x, y, r)
| Circle
(x, y, 20)
|
| Arc(x, y, угл1, угл2, радиус)
| Дуга окружности (x, y, r) от угла1 до угла2 (рад)
| Arc(10, 10, 0, pi, 5)
|
| Setfillstyle(s, цвет заливки)
| Установить стиль и цвет заливки
| Setfillstyle(1, green)
|
| Floodfill(x, y, цвет границы)
| Залить область с границей (цветом) заливки
| Floodfill
(p, q, 10)
|
| Rectangle (x1, y1, x2, y2)
| Прямоугольник
(x1, y1)-(x2, y2)
| Rectangle
(2, 2, 5, 10)
|
| Bar(x1, y1, x2, y2)
| Прямоугольник (x1, y1) -(x2, y2)с заливкой цвета
| Bar(2, 2, m, n)
|
| Bar3d (x1, y1, x2, y2, z, n)
| 3-мерный прямоугольник (колонка) (x1, y1)-(x2, y2)
| Bar3d(2, 2, 20, 20,
10, true)
| z = глубина n= boolean true=верх колонки
| X: = getmaxx
| Макс. Граница для x
| Mx: = getmaxx
| 0..639 (vga)
| Y: = getmaxy
| Макс. Граница для y
| My: = getmaxy
| 0..479 (vga)
| Closegraph
| Закрыть графический режим экрана
| Closegraph
|
| | | | | | |
Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...
|
Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...
|
Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...
|
Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...
|
Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...
Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод исследования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом растворе...
Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...
|
Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...
Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...
Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...
|
|