Студопедия — Сложные структуры данных. Квалификация имени
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Сложные структуры данных. Квалификация имени






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

Модель записи

R1 R2 R3 ... Rn

 

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  
           






Дата добавления: 2014-11-12; просмотров: 518. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

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

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия