Питання та відповіді до іспитів В-1

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

(1999) 1. Алгоритм. Властивості алгоритму. Способи запису алгоритму

(Заг.) Алгоритм - це система формальних правил однозначно призводить до вирішення поставленого завдання.

(ПК.) Алгоритм-це послідовність арифметичних і логічних дій над даними, що приводить до отримання рішення поставленої задачі.

Властивості:

А) Дискретність - алгоритм складається з окремих пунктів або кроків

Б) Визначеність - кожен крок алгоритму має бути строго сформульоване.

(Мати точний сенс)

В) Зв'язаність - на кожному наступному кроці використовуються результати попереднього.

Г) Кінцівка - алгоритм повинен завершуватися після кінцевого числа кроків

Д) Результативність - алгоритм повинен призводити до отримання кінцевих результатів

Е) Масовість - придатність для вирішення широкого класу задач.

Ж) Ефективність - застосування а. має давати будь-то позитивний тимчасової результат (тимчасової)

Спосіб запису:

А) Словесно-формульний

Б) Структурна схема та алгоритм (ССА)

В) Спец. мови (алгоритмічні та псевдокод)

(Псевдокод - штучний неформальний мову, зазвичай складається з елементів звичайного мови з елементами програмування)

Г) Графічний спосіб

2. Лінійні і розгалужуються алгоритми. Cтруктурно схема алгоритмів. Правила виконання.

CCA-прі запису у вигляді структурної схеми алгоритм представляється графічно у вигляді послідовності блоків виконують певні функції і блоки з'єднуються лініями можливо зі стрілками. Усередині блоків операції. Блоки нумеруються по порядку. За способом організації алгоритмів ССА блоки поділяються на лінійні, розгалужуються і циклічні.

У лінійних алгоритмах результат виходить після виконання однієї послідовності дій.

Початок-ряд операторів-кінець.

Розгалужуються алгоритм передбачає вибір однієї з кількох послідовностей дій залежно від вихідних даних або проміжних результатів.

3. Циклічні алгоритми. Класифікація. Обчислення сум, творів.

Циклічний алгоритм - це алгоритм забезпечує рішення задачі шляхом багаторазового повторення послідовності дій. Ділянки, які багаторазово повторюються - називаються циклами.

Цикли за кількістю повторень діляться на цикли із заданим числом повторень та ітераційні.

ЦИКЛИ

Задане ЧИСЛО ІТЕРАЦІЙНО

СО СЧЕТЧИКОМ УПР. УМОВА

ПОСТ. УМОВА Передумови

Загальне зауваження: вхід тільки в початок циклу, а вихід внаслідок закінчення циклу, оператором GOTO, процедурами прерхода і виходу, знаходяться в тілі циклу.

4. Циклічні алгоритми. Ітераційні цикли. Вкладені цикли.

Циклічний алгоритм - це алгоритм забезпечує рішення задачі шляхом багаторазового повторення послідовності дій. Ділянки, які багаторазово повторюються - називаються циклами.

Цикли за кількістю повторень діляться на цикли із заданим числом повторень та ітераційні.

У ітераційних циклах виконання циклу закінчується при виконанні загальної умови, пов'язаного з перевіркою монотонно змінюється величини.

Вкладені цикли - це, коли певний цикл повторюється багато разів в іншому циклі охоплює даний.

5. Масиви. Алгоритми обробки масивів. Процедура BREAK

Масив - це впорядкована послідовність величин, що позначається одним ім'ям. Положення кожного елемента в масиві визначається його індексом (індексами). У цьому і полягає впорядкованість. Індекси прийнято вказувати в дужках після імені масиву.

Приклад: В [2] означає другий елемент масиву В.

Нехай є деяка послідовність величин 1, 2, 4, 8, 3. Всі елементи цієї послідовності мають одне ім'я А. Відрізняються вони один від одного індексами, наприклад, A [1] = 1, A [2] = 2, A [3] = 4, A [5] = 8, A [6] = 3.

При описі масиву вказується число його елементів, і це число залишається постійним при виконанні програми. Кожен елемент масиву має явне позначення, і до нього можливо безпосереднє звернення.

Кількість індексів в позначенні елемента масиву визначає розмірність масиву. Масив може бути одновимірним (один індекс S [4]), двовимірним (два індексу N [2,4]), трьох мірним (три індекси Y [2,4,1]) і т.д.

Масив описується в розділі опису змінних, при цьому опис масиву включає опис типу масиву (тип його елементів, тобто які значення вони можуть приймати) і типи індексів. Наприклад, масив дійсного типу з ім'ям vector може бути описаний таким чином: var vector: array [1 .. 50] of real

Цей опис означає, що одновимірний масив vector має 50 елементів типу real зі значеннями індексу 1,2, ..., 50. Елементи цього масиву будуть мати позначення: vector [1], vector [2], ..., vector [50]

Двовимірний масив matrix, з цілочисельними компонентами можна визначити наступним чином:

var matrix [1 .. 10,1 .. 15] of integer

Двовимірний масив часто називають матрицею. Перший індекс цього масиву (номер рядка матриці) приймає значення з відрізка 1 .. 10, а другий (номер стовпця) - з відрізка 1 .. 15. Компоненти масиву можуть мати позначення: matrix [1,5], matrix [8,8], matrix [i, j] і т.п.

Приклади:

program p2;

var matrix: array [1 .. 3, 1 .. 4] of integer; {визначається двовимірний масив в 3 рядки і 4 шпальти з ім'ям matrix}

i, j: integer;

begin

for i: = 1 to 3 do

for j: = 1 to 4 do

read (matrix [i, j]); {заповнення двовимірного масиву на 3 рядки і 4 шпальти}

for i: = 1 to 3 do

begin

writeln;

for j: = 1 to 4 do write (matrix [i, j]); {висновок елементів двовимірного масиву у вигляді таблиці}

end;

6. Структуризація. Висхідний програмування. Проектування алгоритму переведення чисел з однієї системи числення в іншу (2,8,10,16).

Висхідний проектування - використовується для нескладних завдань, коли заздалегідь відомі всі підзадачі або функції, які виконувати програма. Розробляється алгоритм для кожної підзадачі, а потім вони збираються в єдину підпрограму.

7. Низхідний програмування. Проектування алгоритму виконання арифметичних операцій (+,-,*,/) над числами з пл. точкою.

При низхідному програмуванні зверху вниз спочатку розробляється загальна структурна схема алгоритму, а потім розробляються етапи її деталізації (структурування).

8. Мова TURBO PASCAL. Алфавіт мови. Ідентифікатори TURBO PASCAL.

ТП - єдність двох самостійних почав компілятора та інструментів програмної оболонки. Це потужна сучасна процедурна система програмування

Алфавіт: букви латинського від a до z, знак _. (якщо не char A = a)

Цифри - арабські 0-9, спец. символи +-*/=.,:;[]{}()^&$@#%!

Прогалини (ASCII від 0 до 32) обмежувачі ідентифікаторів

Зарезервовані слова та параметри (не використовуються в якості ідентифікаторів). Стандартні директиви absolute, assembler, external, far, forward, near і т.д. .

Ідентифікатори: імена констант, var'них, міток, типів, obg-ів, процедур, функцій (можуть мати довільну довжину, але означають тільки перші 63 символи, починаються тільки з букви або цифри).

9. Оператор умовного переходу IF. Складовою і порожній оператори.

IFTHEN ELSE;

10. Оператор циклу з лічильником.

FOR: = TO DO

FOR: = DOWNTO DO

11. Оператор циклу з передумовою.

Цикл ДО

WHILEDO

12. Оператор циклу з постусловіем.

Цикл ПОКИ

REPEAT

Оператор;

UNTIL;

13. Підготовка та налагодження програм у середовищі TurboPascal.

Меню run

Run-запуск на виконання

Step over-покрокове виконання програми

Trace into-покрокове виконання програми тільки підпрограми виконуються оператор за оператором

Go to cursor - виконання до курсора

Program reset-завершення процесу налагодження

Parameters-вікно для введення параметрів для налагодження

Меню compile

Compile-компіляція файлу, що знаходиться в активному вікні редагування.

Make - умовна компіляція змінених модулів в ЕХЕ файл

Build-безумовна компіляція багатомодульною програми зі створенням ЕХЕ файлу

Target ...-вибір у вікні Таргет цільової платформи для програми

Primary file ...-відкриває вікно для вказівки головного файлу, компільованої програми.

Меню Debug:

Breakpoints-установка точок умовного і безумовного переходу

Call stack - показує процедури виконувалися раніше.

Register - інформація про регістрах процесора

Watch - вікно значень змінних

Output - вікно результатів роботи програми

User screen - перегляд результатів включаючи графіку

Evaluate / modify .. - Вікно зміни значень виразів

Add watch - вікно значень і змінних вчасно налагодження

Add breakpoint .. - Вікно установки точок переривання програми

14. Константи в TURBO PASCAL (цілі, речові, 16-ковий, логічні, символьні, рядкові константи, конструктор безлічі)

Константи - можуть використовуватися цілі, речові, шістнадцяткові числа, логічні константи, символи, рядки, множини і ознака невизначеного покажчика NIL.

Цілі числа: від -2147483648 до 2147483647

Речові числа: (експонентна частина) 3.14E5

16-річне число: $ (код 36 в ASCII) $ 00 млн - $ F ... $ F (8)

Логічна константа: True, False.

Символьна константа: будь-який символ у '', або вказівник всередині коду # 83 = 'S'

Конструктор безлічі - список елементів множини в [].

[1,2,3,4], [red, blue], [true, false]. У ТП дозволяється оголошення констант

const a = 12/343;

15. Типізовані константи.

Типізовані константи фактично є змінними зі статичним класом пам'яті. На відміну від простих констант, в описі типізованих вказується як значення константи, так і її тип.

Існують типи:

Константа, константа-адресу, константа-масив, константа-запис, константа-об'єкт, константа-безліч.

Вказівний тип:

Type ptr = ^ integer;

Conct intptr: ptr = nil;

Структурований тип:

1 масив (array)

2 безліч (set of 1 .. 4)

3 запис (record)

4Об'ектного типу (object)

16. Оператор присвоювання. Пріоритет операцій. Стандартні функції.

: =;

арифметичні логічні відносини інші

1 NOT @-адресний перетворення

2 *, /, DIV, MOD AND, SHL, SHR

3 +, - OR, XOR

4; =; IN

Для підвищення пріоритету використовуються ().

Стандартні функції ТП.

ABS (X) SQR (X) SQRT (X) TRUNG (X) ROUND (X)

COS (X) SIN (X) TG (X) ARCTANG (X) EXP (X)

LN (X) PRED (X) SUCE (X) ORD (X) CHR (X)

ODD (X) INT (X) FRAG (X) +,-,*,/ (X) DIV (Y)

MOD (X) NOT AND OR XOR

= <> I_SHL_J I_SHR_J

17. Оператори та функції безумовного переходу (goto, continue, exit, halt).

EXIT; - вихід з програми або підпрограми

HALT (COD); - (COD) - необов'язковий параметр, визначає код

HALT; - безумовна зупинка програми

ERRORLEVEL; - вниз

BREAK; - достроковий вихід з циклу

CONTINUE; - перериває виконання поточної операції в циклі, передає управління наступному оператору

18. Структури простої та складної програм в Турбо-Паскалі.

PROGRAM;

USES;

TYPE;

LABEL;

CONST;

VAR;

FUNCTION (ім'я змінної: тип)

BEGIN

оператори

END;

PROCEDURE (параметри)

BEGIN

оператори

END;

BEGIN

Текст основної програми

END.

19. Підпрограми. Застосування. Структура опису. Відмінність процедури від функції.

Самостійні, закінчені фрагменти програми, оформлені особливим чином, забезпечені ім'ям - називаються підпрограмами

Використання підпрограм дозволяє розбити програму на ряд незалежних частин.

Підпрограми використовуються:

1Для економії пам'яті, коли деяка послідовність дій зустрічається неодноразово на різних ділянках програми. Кожна підпрограма існує в од. примірнику, але звертатися до неї можна неодноразово з різних точок програми.

2. У складних програмах при модульному проектуванні.

Підпрограми поділяються на процедури і функції

Результатом виконання функції є єдине значення простого, строкового чи вказівного типу. Тому звернення до функції можна використовувати виражене поряд з константою і змінні.

Процедура зазвичай повертає кілька значень, підпрограма складається із заголовка і тіла підпрограми.

Тіло підпрограми складається з розділу описів і розділу операторів.

Структура: PROCEDURE;

FUNCTION (параметр: тип);

USES;

LABEL;

CONST;

TYPE;

VAR;

BEGIN

Тіло підпрограми

END;

20. Вкладені підпрограми. Принципи локалізації імен (локальні та глобальні змінні).

Вкладеними є підпрограми, що викликаються з інших підпрограм.

Якщо яка-небудь програма використовує деякі змінні підпрограми,

Те дані змінні повинні бути описані не в підпрограмі, а в самій програмі. Дані змінні називаються глобальними, а змінні, оголошені в модулі або підпрограмі є локальними, і значення цих тимчасових не можна використовувати у головній програмі.

21. Виклик підпрограм (формальні і фактичні параметри).

Підпрограми можуть бути викликані як з тіла основної програми, так і з тіла іншої підпрограми. Для виклику необхідно написати ім'я процедури або функції, а також, якщо треба, ряд змінних переданих в підпрограму.

Приклад:

PROCEDURE [()];

FUNCTION [()]:

Відразу за заголовками може слідувати одна стандартних директив: ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR.

PROCEDURE SB (a: real);

Фактичні параметри - це глобальні змінні підставлені у формальні

ТИП ФАКТ = ТИП ФОРМ.

22. Процедури без параметрів і з параметрами.

PROCEDURE

Begin

end;

23. Передача в підпрограму параметрів регулярного типу (масивів, рядків).

Типом будь-якого формального параметра може бути тільки стандартний або раніше оголошений тип.

Приклад:

TYPE TYPE

ATYPE = ARRAY [1 .. 10] OF REAL; INTYPE = STRING [15];

PROCEDURE S (A: ATYPE); OUTTYPE = STRING [30];

FUNCTION ST (S: INTYPE): OUTTYPE

Інший спосіб для передачі параметрів змінних відключенням контролю компіляції.

Відкритий масив PROCEDURE I (A: ARRAY OF REAL);

24. Опції. Опис. Виклик функції.

FUNCTION [()]:

Відразу за заголовками може слідувати одна стандартних директив: ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR.

FUNCTION (параметр: тип);

Begin

end;

25. Рекурсії. Пряма і непряма рекурсія. Директива FORWARD.

Рекурсія - це такий спосіб організації обчислювального процесу при якому програма в ході виконання складових її операторів звертається сама до себе.

Для уникнення переповнення стека, слід розміщувати проміжні результати в допоміжній змінної.

Begin

... ... ... ... ... ... ... ... ... ...

F: = fac (n-1); - допоміжна змінна

... ... ... ... ... ... ... ... ....

End;

Рекурсивний виклик може бути непрямим, який дозволяється випереджаючим описом:

Procedure b (j: byte);

Forward;

Procedure a (i: byte);

Begin

B (i);

End;

26. Тип-діапазон. Структуровані типи. Масиви.

Будь-який з структурованих типів (а в ТП їх 4: масиви, записи, множини, файли) характеризується множинністю які складають цей тип елементів. У ТП

Допускається нескінченна глибина вкладеності типів, однак Сумою == перевірка входження (TRUE, якщо друге безліч входить в перше;

in - перевірка приналежності. Структура цієї бінарної операції:

in; повертає TRUE, якщо вираз має значення, що належить множині.

приклад:

3 in S6 TRUE; [] in [0 .. 5] [] in S5

2 * 2 in S4 FALSE;

Множини мають компактне машинне подання. Недолік: неможливість виведення множини на екран, тому що відсутній механізм вилучення елемента з безлічі. Введення безлічі можливий тільки поелементно.

приклад: Можна тип оголошувати при описі змінних

VAR S: SET of char; {мінлива-безліч}

C: char; {елемент множини}

Begin

S :=[]; S: = # 0; {обнулення значень}

while C '.' do {цикл до введення "."}

begin

readln (C); {читання символу в с}

S: = S + [C]; {додавання його до S}

end; ...

S: = S-['.']; {виключення точки}

End. {Дивись завдання на Л.Р. N 12}

34. Оператор вибору CASE (варіанти). Коментарі.

CASE OF

Const1: оператор;

Const2: оператор;

ELSE: оператор;

END;

35. Записи. Вкладені запису. Записи з варіантами.

Запис - це структура даних, що складається з фіксованого числа компонент, званих полями запису. На відміну від масиву компоненти можуть бути різного типу. Поля іменуються:

= RECORDEND.

Type

Bd = record

D, m: byte;

Y: word

Var a, b: bd;

a:: = 8;

a.day: = 27;-доступ до компонента

Для спрощення доступу до полів запису використовують оператор запису With

Withdo;

With c.bp do month: = 9;

With c do with bp do month: = 9;

c.bp.month: = 9;

Варіантні поля

Type f = record

N: string;

Case byte of

0: (bp: string [30]);

1: (c: string [10], e: string [20], ed: 1 .. 31)

end;

Імена повинні бути унікальні, хоча можливо повторення на різних рівнях

Вкладені поля:

Type bd = record

D, m: byte;

X: word;

End;

Var c: record;

Name: string;

Db: bd;

Begin if c.db.year = 1939 then ... ... ... ..

End.

Як ключ мінлива:

Type rec2 = record

C: LongInt;

Case x: byte of

1: (d: word);

2: (e: record

case boolean of

3: (f: real);

3: (g: single);

'3 ': (C: word);

end;

end;

36. Дійсний тип. Операції та функції для дійсного типу.

Речовий тип визначає число з деякою кінцевою точністю, яка залежить від внутрішнього формату числа

Довжина назва к-ть знакових цифр діапазон десяткового порядку

байт

6 real 11 .. 12 -39 .. 38

8 couble 15 .. 16 -324 .. 308

10 extended 19 .. 20 -4951 .. 4932

8 comp 19 .. 20 -2 * 10 ^ 63 +1 .. 2 * 10 ^ 63-1

функції

ABS (X), ARCTAN (x), COS (X), EXP (X), FRAC (X), INT (X), LN (X), SIN (X), ROUND (X), SQR (X), SQRT (X) І Т.Д.

37. 38. 39. Файловий тип. Файли. Вимоги до імені. Зв'язування. Текстові файли. Введення (висновок) інформації з файлу (у файл, пристрій) Типізовані файли і нетипізовані файли.

Загальні процедури для роботи з файлами

_____________________________________________________________

| Assign (Var f, FileName: String) - Cвязиваніе ф.п.f з файлом FileName

| RESET (Var f) | Відкриття файлу з логічним ім'ям f для читання |

| REWRITE (Var f) Відкриття файлу з лот. ім'ям f для запису |

| CLOSE (f) | Закриття файлу з лот. ім'ям f |

| Erase (Var f) | Видалення файлу (стирання) з диска |

| Rename (f, NewName: String) | Перейменовує фізичний файл |

| EOF (f) | Функція тестування кінця файлу |

| FLUSH () | Очищає внутрішній буфер файлу |

-------------------------------------------------- -----------

ТЕКСТОВІ ФАЙЛИ

Це файли послідовного доступу.

Вони призначені для зберігання текстової інформації. Компоненти (запи-

сі) текстового файлу можуть мати змінну довжину.

Для доступу до записів файлу застосовуються процедури

READ, READLN, WRITE, WRITELN.

Текст-орієнтовані процедури і функції

____________________________________________________________

| Процедури | пояснення |

| І функції | (дії) |

|-------------|----------------------------------- -----------|

| Append | Процедура відкриває вже існуючий файл f |

| () | Для дозапису в кінець файлу |

| Пр: Append (f) | (для його розширення) |

| SeekEOLN | Функція пропускає всі прогалини і знаки табула-|

| () | Ції до першої ознаки EOLN або першого зна-|

| Логіч.тіпа | чащего символу. Повертає значення TRUE, якщо |

пр: SeekEOLN (f) | виявлений маркер кінця файлу або маркер кінця |

| | Рядка. Якщо Ф.П. опущена, |

| | Функція перевіряє стандартний файл INPUT. |

| | |

| SeekEOF | Функція пропускає всі прогалини, знаки табуляції |

| () | І маркери кінця рядків до маркера кінця файлу |

| Пр: SeekEOF (f) | або першого значущого символу. Якщо маркер про-|

| | Назовні, повертає значення TRUE. |

| EOLN () | Функція повертає значення TRUE, якщо у вхід-|

| Логіч.тіпа | ном файлі f досягнуть маркер EOLN чи |

| Пр: EOLN (f) | EOF; FALSE - у противному випадку. |

|_____________|______________________________________________|

Типізовані файли

дозволяють організувати прямий доступ до кожної з компонент (за його по-

рядковим номером). Опис файлової змінної

Var ft: file of;

Перед першим зверненням до процедур введення-виведення покажчик файлу

стоїть у його початку і вказує на 1-у компоненту з номером 0. Після

кожного читання або запису покажчик зрушується з наступного компоненту

файлу. Змінні в списках в / в повинні мати той же тип, що і компо-

нти файлу.

Процедури і функції для роботи з типізований файлами

____________________________________________________________

| Процедури | пояснення |

| І функції | (дії) |

|-------------|----------------------------------- -----------|

READ (,); Процедура

Забезпечує читання чергових компонентів файлу

WRITE (,) використовується для запису нових

компонент у файл; в якості елементів виводу

м.б. вираз.

SEEK (,) - зміщує покажчик

файлу до компоненту с;

- Вираз типу LONGINT.

(До текстових файлу застосовувати не можна.)

FILESIZE) Функція повертає кількість компонент,

містяться у файлі. (Типу LongInt)

Функція FILEPOS () повертає порядковий номер компо-

нти файлу, доступною для читання або запису

(Який буде оброблятися наступною операцією в / в).

(Процедура CLOSE () - закриття файлу.)

|-------------|----------------------------------- -----------|

- Містить одну або більше змінних такого

ж типу, що й компоненти файлу,

- Файлова змінна д.б. оголошена пропозицією FILE OF

і пов'язана з ім'ям файлу процедурою ASSIGN. Файл необхідно відкрити

процедурою RESET для читання.

Якщо файл вичерпаний, звернення до READ викличе помилку В / В

Щоб перемістити покажчик в кінець файлу можна написати

Пр. Seek (f, FileSize (f)); де f - файлова змінна

Нетипізовані файли

Обьявляєтся без вказівки типу файлу:

TYPE ftype = file; або VAR fn: file;

Для даних файлів не вказується тип компонентів, що робить їх сов-

оперативної сумісності з будь-якими іншими файлами. Дозволяє організувати високоско-

ких обмін даними між диском і пам'яттю.

При ініціалізації нетипізовані файлів процедурами RESET і

REWRITE вказується довжина запису нетипізований файлу в байтах.

приклад: VAR f: file; ...

ASSIGN (f, 'a.dat');

RESET (f, 512);

довжина запису

Довжина файлу може бути представлена ​​виразом типу WORD; якщо пара-

метр довжини пропущено, мається на увазі довжина 128 байт; максимальна довжина

65535 байт.

Для забезпечення максимальної швидкості обміну даними слід за-

давати довжину, кратну довжині фізичного сектора дискового носія

(512 байт). Крім того, фактично простір на диску виділяється

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

ка можуть займати 2 і більше суміжних секторів. Як правило, кластер

м.б. прочитаний або записаний за один оборот диска, тому найвищу ско-

кість обміну даними можна отримати, якщо вказати довжину запису, рівну

довжині кластеру.

При роботі з нетипізованими файлами Можуть застосовуватися всі

розглянуті процедури і функції, доступні типізований файл, за

винятком READ і WRITE, які для читання і запису замінюються відповід-

повідно високошвидкісними процедурами BlockREAD і BlockWRITE.

BlockREAD (,,,[, Var])

BlockWRITE (,,,[, Var])

де - ім'я змінної, яка буде брати участь в обміні дан-

вими з дисками;

- Кількість записів, які д.б. прочитані або записані за одне

звернення до диска;

- Необов'язковий параметр, що містить при виході з процедури ко-

лічество фактично оброблених записів.

За одне звернення до процедур м.б. передано N * r байт, де r -

довжина запису нетипізований файлу. Передача йде, починаючи з 1-го

байта змінної.

Після завершення процедури покажчик зміщується на записів.

Процедурами SEEK, FilePos і FileSize можна забезпечити доступ до будь-якої

запису нетипізований файлу.

40. Бібліотечний модуль GRAPH. Графічні можливості ТП.

GRAPH - являє собою бібліотеку підпрограм, що забезпечує повне управління графічними режимами для різних адаптерів дисплеїв: CGA, EGA, VGA ... Містить 78 процедур і функцій (як базових - малювання точок, ліній, кіл, прямокутників), так і розширюють можливості базових (багатокутники, сектору, дуги, зафарбовування фігур, виведення тексту і т.д.).

Для запуску програми з використанням модуля GRAPH необхідно,

щоб у робочому каталозі перебували графічні драйвери з розширенням. BGI, також повинен бути доступний компілятору модуль GRAPH.TPU.

Файл BGI - графічний інтерфейс. Він забезпечує взаємодію

програм з графічними пристроями.

На початку програми модуль GRAPH повинен бути підключений

PROGRAM

USES GRAPH;

опис міток, змінних програми, зокрема

VAR driver, Mode: integer;

Begin

Далі ініціалізується графічний режим роботи процедурою

InitGraph (,: integer;

: String);

Графічна інформація на екрані дисплея відображається сукупністю

світних крапок - ПІКСЕЛІВ.

Режим по вертикалі: 0 - 200 пікселів (4 сторінки),

1 - 350 пікселів (2 сторінки), 2 - 480 пікселів (1 сторінка).

Режим 2 (640х480, 16 кольорів, 1 сторінка)

У текстовому режимі координати верхнього кута (1,1).

центр (319,239)

нижнього (639,479)

Тип драйвера допускається вказувати = 0, тоді він встановлюється

за результатами тестування (авто визначення). Шлях визначає маршрут пошуку графічного драйвера.

Приклад:

USES GRAPH;

Const driver, mode: intGRAPH - являє собою бібліотеку підпрограм, що забезпечує повне управління графічними режимами для різних адаптерів дисплеїв: CGA, EGA, VGA ... Містить 78 процедур і функцій (як базових - малювання точок, ліній, кіл, прямокутників), так і розширюють можливості базових (багатокутники, сектору, дуги, зафарбовування фігур, виведення тексту і т.д.).

Для запуску програми з використанням модуля GRAPH необхідно,

щоб у робочому каталозі перебували графічні драйвери з розширенням. BGI, також повинен бути доступний компілятору модуль GRAPH.TPU.

Файл BGI - графічний інтерфейс. Він забезпечує взаємодію

програм з графічними пристроями.

На початку програми модуль GRAPH повинен бути підключений

PROGRAM

USES GRAPH;

опис міток, змінних програми, зокрема

VAR driver, Mode: integer;

Begin

Далі ініціалізується графічний режим роботи процедурою

InitGraph (,: integer;

: String);

Графічна інформація на екрані дисплея відображається сукупністю

світних крапок - ПІКСЕЛІВ.

Режим по вертикалі: 0 - 200 пікселів (4 сторінки),

1 - 350 пікселів (2 сторінки), 2 - 480 пікселів (1 сторінка).

Режим 2 (640х480, 16 кольорів, 1 сторінка)

У текстовому режимі координати верхнього кута (1,1).

центр (319,239)

нижнього (639,479)

Тип драйвера допускається вказувати = 0, тоді він встановлюється

за результатами тестування (авто визначення). Шлях визначає маршрут пошуку графічного драйвера.

Приклад:

USES GRAPH;

Const driver, mode: integer;

Begin

driver: = VGA; (9)

mode: = VGAH; (2)

InitGraph (driver, mode, 'e: TPBGI'); тип string.

DetectGraph (var Diver, Mode: integer) - повертає тип драйвера і поточний режим його роботи.

Основні кольори задаються від 0 до 15:

0 - чорний 8 - темно-синій

1 - синій 9 - яскраво-синій

2 - зелений 10 - яскраво-зелений

3 - блакитний 11 - яскраво-блакитний

4 - червоний 12 - рожевий

5 - фіолетовий 13 - малиновий

6 - коричневий 14 - жовтий

7 - світло-сірий 15 - білий.

Якщо Х і У речові, то їх потрібно перетворити до цілих координатах (в межах розділу екрану). Для цього використовуються функції ROUND або TRUNC прямого перетворення до цілого значенням LineTo (trunc (x), trunc (y));

Також необхідно стежити, щоб значення не виходили за межі

екрана (розраховуйте коефіцієнти збільшення або зменшення та пара-

метри зсуву)

ПРОЦЕДУРИ І ФУНКЦІЇ модуля GRAPH

настановні

ClearDevice - Очищає екран і поміщає курсор у точку (0,0);

SetViewPort (x1, y1, x2, y2: integer; Clip: boolean) - Встановлює

поточне вікно для графічного виведення. X1, y1 - координата верхнього лівого кута; x2, y2 - координата нижнього правого кута. Якщо Clip = true, то всі зображення відсікаються на кордонах висновку;

ClearViewPort - Очищає поточне вікно;

GetMax X: integer - повертає максимальну горизонтальну координату

графічного екрану;

GetMax Y: integer - повертає максимальну вертикальну координату

графічного екрану;

Get X: integer - повертає координату Х поточного покажчика у вікні;

Get Y: integer - повертає координату Y курсору у вікні;

SetLineStyle (Line, Pattern, Thickness: word) - Встановлює стиль

(0 .. 4), шаблон штрихування (0 .. 12) і товщину (1-ноpм, 3-утpоенная);

SetFillStyle (Pattern, Color: word) - Встановлює зразок штрихування і

колір (0 .. 15 і 128-меpцаніе);

SetGraphMode (Mode: integer) - Встановлює новий графічний режим і

очищає екран;

SetColor (Color: word) - Встановлює основний колір, яким виконується малювання (0 .. 15);

SetBkColor (Color: word) - Установка кольору фону.

Гpафіческіе примітиви

PutPixel (X, Y: integer; Color: word) - Виводить точку кольором Color з координатою X, Y;

LineTO (X, Y: integer) - Малює лінію від поточного покажчика до точці з координатою Х, У;

LineRel (DX, DY: integer) - Малює лінію від поточного покажчика до точки, заданої збільшенням координат;

Line (X1, Y1, X2, Y2: integer) - Малює лінію від точки (X1, Y1) до точки з

координатою Х2, У2;

MoveTO (X, Y: integer) - Зміщує поточний покажчик до точки з координатою Х, У;

MoveRel (DX, DY: integer) - Зміщує поточний покажчик до точки, заданої

збільшенням координат;

Rectangle (X1, Y1, X2, Y2: integer) - Малює прямокутник, використовуючи

поточний колір і тип лінії по верхній лівій і нижньої правої точок;

Bar (X1, Y1, X2, Y2: integer) - Малює зафарбований прямокутник, використовуючи установку SetFillStyle;

Bar3D (X1, Y1, X2, Y2: integer; Depth: word; Top: Bolean) - Малює зафарбований паpаллеліпіпед. Depth - глибина в Pixel (1 / 4 ширини).

Якщо Тор = True, то малюється верхня грань пеpеллеліпіпеда;

Circle (X, Y: integer; R: word) - Малює коло радіуса R, використовуючи

X, Y як координати центру;

Fillellipse (X, Y: integer; XR, YR: word) - Малює защтpіхованний еліпс,

використовуючи X, Y як центр і XR, YR як горизонтальний і

вертикальний радіуси.

RestorCRTMode - Відновлює текстовий режим роботи екрану;

OutText (Text: string) - Виводить текстовий рядок на екран.

OutTextXY (X, Y: integer; Text: string) - Виводить текст в заданий

місце екрана.

Приклад програми побудови графіка функції у = 2 + х * х.

program graphik; {файл grafikf.pas}

uses graph; {підключення модуля GRAPF}

var a, b, x, y: integer; {a, b-змінні, що визначають тип драйвера і

відеорежим відповідно}

begin

detectgraph (a, b); {авто визначення типу драйвера і відеорежиму}

initgraph (a, b, 'E: TPBGI'); {ініціалізація графічного режиму}

setgraphmode (2); {встановлення нового режиму (2), очищення екрана}

setBKcolor (0); {основний колір фону - чорний}

setcolor (4); {основний колір малювання - червоний}

moveTO (100,100); {зміщує курсор}

lineRel (50,50); {викреслювання лінії по збільшенню від поточного

покажчика}

readln; {пауза до натискання клавіші}

setcolor (2); {основний колір малювання - зелений}

line (100,100,100,50); {малює лінію від т.Х1, У2 до т.Х2, У2}

readln; {пауза до натискання}

setcolor (5); {основний колір малювання - фіолетовий}

putPixel (0,0,12); {виводить точку кольором 12 з координатою 0,0}

readln; {пауза до натискання}

moveTO (1,2); {зміщує курсор до точки з координатою 1,2}

for x: = 0 to 20 do

begin

y: = 2 + x * x;

lineTO (x, y); {малює лінію від поточного

покажчика до точці з координатою Х, У}

end;

readln; {пауза до натискання введення}

Settextstyle (1,0,5);

OutTextXY (50,400, 'графік функції у = 2 + х * х'); {виводить текст у

задане місце екрану}

readln; {пауза до натискання}

putPixel (639,479,14); {виводить точку кольором 14 з координатою 639,479}

readln; {пауза до натискання}

closegraph; {закриває графічний режим і відновлює текстовий}

end.

Begin

driver: = VGA; (9)

mode: = VGAH; (2)

InitGraph (driver, mode, 'e: TPBGI'); тип string.

DetectGraph (var Diver, Mode: integer) - повертає тип драйвера і поточний режим його роботи.

Основні кольори задаються від 0 до 15:

0 - чорний 8 - темно-синій

1 - синій 9 - яскраво-синій

2 - зелений 10 - яскраво-зелений

3 - блакитний 11 - яскраво-блакитний

4 - червоний 12 - рожевий

5 - фіолетовий 13 - малиновий

6 - коричневий 14 - жовтий

7 - світло-сірий 15 - білий.

Якщо Х і У речові, то їх потрібно перетворити до цілих координатах (в межах розділу екрану). Для цього використовуються функції ROUND або TRUNC прямого перетворення до цілого значенням LineTo (trunc (x), trunc (y));

Також необхідно стежити, щоб значення не виходили за межі

екрана (розраховуйте коефіцієнти збільшення або зменшення та пара-

метри зсуву)

ПРОЦЕДУРИ І ФУНКЦІЇ модуля GRAPH

настановні

ClearDevice - Очищає екран і поміщає курсор у точку (0,0);

SetViewPort (x1, y1, x2, y2: integer; Clip: boolean) - Встановлює

поточне вікно для графічного виведення. X1, y1 - координата

верхнього лівого кута; x2, y2 - координата нижнього правого кута.

Якщо Clip = true, то всі зображення відсікаються на кордонах висновку;

ClearViewPort - Очищає поточне вікно;

GetMaxX: integer - повертає максимальну горизонтальну координату

графічного екрану;

GetMaxY: integer - повертає максимальну вертикальну координату

графічного екрану;

GetX: integer - повертає координату Х поточного покажчика у вікні;

GetY: integer - повертає координату Y курсору у вікні;

SetLineStyle (Line, Pattern, Thickness: word) - Встановлює стиль

(0 .. 4), шаблон штрихування (0 .. 12) і товщину (1-ноpм, 3-утpоенная);

SetFillStyle (Pattern, Color: word) - Встановлює зразок штрихування і

колір (0 .. 15 і 128-меpцаніе);

SetGraphMode (Mode: integer) - Встановлює новий графічний режим і

очищає екран;

SetColor (Color: word) - Встановлює основний колір, яким виконується малювання (0 .. 15);

SetBkColor (Color: word) - Установка кольору фону.

Гpафіческіе примітиви

PutPixel (X, Y: integer; Color: word) - Виводить точку кольором Color з координатою X, Y;

LineTO (X, Y: integer) - Малює лінію від поточного покажчика до точці з координатою Х, У;

LineRel (DX, DY: integer) - Малює лінію від поточного покажчика до точки, заданої збільшенням координат;

Line (X1, Y1, X2, Y2: integer) - Малює лінію від точки (X1, Y1) до точки з

координатою Х2, У2;

MoveTO (X, Y: integer) - Зміщує поточний покажчик до точки з координатою Х, У;

MoveRel (DX, DY: integer) - Зміщує поточний покажчик до точки, заданої

збільшенням координат;

Rectangle (X1, Y1, X2, Y2: integer) - Малює прямокутник, використовуючи

поточний колір і тип лінії по верхній лівій і нижньої правої точок;

Bar (X1, Y1, X2, Y2: integer) - Малює зафарбований прямокутник, використовуючи установку SetFillStyle;

Bar3D (X1, Y1, X2, Y2: integer; Depth: word; Top: Bolean) - Малює зафарбований паpаллеліпіпед. Depth - глибина в Pixel (1 / 4 ширини).

Якщо Тор = True, то малюється верхня грань пеpеллеліпіпеда;

circle (X, Y: integer; R: word) - Малює коло радіуса R, використовуючи

X, Y як координати центру;

Fillellipse (X, Y: integer; XR, YR: word) - Малює защтpіхованний еліпс,

використовуючи X, Y як центр і XR, YR як горизонтальний і

вертикальний радіуси.

RestorCRTMode - Відновлює текстовий режим роботи екрану;

OutText (Text: string) - Виводить текстовий рядок на екран.

OutTextXY (X, Y: integer; Text: string) - Виводить текст в заданий

місце екрана.

Приклад програми побудови графіка функції у = 2 + х * х.

program graphik; {файл grafikf.pas}

uses graph; {підключення модуля GRAPF}

var a, b, x, y: integer; {a, b-змінні, що визначають тип драйвера і

відеорежим відповідно}

begin

detectgraph (a, b); {авто визначення типу драйвера і відеорежиму}

initgraph (a, b, 'E: TPBGI'); {ініціалізація графічного режиму}

setgraphmode (2); {встановлення нового режиму (2), очищення екрана}

setBKcolor (0); {основний колір фону - чорний}

setcolor (4); {основний колір малювання - червоний}

moveTO (100,100); {зміщує курсор}

lineRel (50,50); {викреслювання лінії по збільшенню від поточного покажчика}

readln; {пауза до натискання клавіші}

setcolor (2); {основний колір малювання - зелений}

line (100,100,100,50); {малює лінію від т.Х1, У2 до т.Х2, У2}

readln; {пауза до натискання}

setcolor (5); {основний колір малювання - фіолетовий}

putPixel (0,0,12); {виводить точку кольором 12 з координатою 0,0}

readln; {пауза до натискання}

moveTO (1,2); {зміщує курсор до точки з координатою 1,2}

for x: = 0 to 20 do

begin

y: = 2 + x * x;

lineTO (x, y); {малює лінію від поточного покажчика до точці з координатою Х, У}

end;

readln; {пауза до натискання введення}

Settextstyle (1,0,5);

OutTextXY (50,400, 'графік функції у = 2 + х * х'); {виводить текст в задане місце екрану}

readln; {пауза до натискання}

putPixel (639,479,14); {виводить точку кольором 14 з координатою 639,479}

readln; {пауза до натискання}

closegraph; {закриває графічний режим і відновлює текстовий}

end.

41. Бібліотечний модуль CRT. Робота з клавіатурою, екраном, звуковим генератором.

Модуль CRT включає процедури і функції, які управляють текстовим режимом

роботи дисплея. За допомогою підпрограм модуля можна переміщати курсор

по екрану дисплея, змінювати колір символів, що виводяться і фону, створювати

вікна на екрані, управляти звуком, працювати з клавіатурою.

Функції управління клавіатурою:

KeyPressed: Boolean; - повертає True, якщо в поточний момент на клавіатурі була натиснута клавіша, інакше False. Не зупиняє виконання програми. Використовується при організації роботи циклів.

ReadKey: Char; - читає і повертає в програму символ з клавіатури (без відображення на екрані). Призупиняє виконання програми до натискання на будь-яку клавішу символу. Використовується в операторах IF для перевірки символів.

WhereX: Byte; - повертає горизонтальну координату поточної позиції курсору щодо вікна.

WhereY: Byte; - повертає вертикальну координату поточної позиції курсору щодо вікна.

Процедури управління дисплеєм

AssignCrt (Var F: Text); - пов'язує з файлової змінної пристрій CON (клавіатуру для введення й дисплей для виводу).

ClrEol; - видаляє всі символи праворуч від курсора до кінця рядка без переміщення курсору.

ClrScr; - очищає екран (вікно на екрані) і поміщає курсор у верхній лівий кут.

Delay (D: word); - призупиняє роботу програми на D мілісекунд.

GotoXY (X, Y: byte); - переміщає курсор на потрібне місце екрану (вікна). Лівий верхній кут екрану (вікна) має координати (1,1). Відлік координат йде зліва направо і зверху вниз. Кількість символів в рядку і самих рядків залежить від типу дисплея (зазвичай 25 рядків і 80 символів).

InsLine; - вставляє порожню рядок у позицію курсору.

HighVideo; - встановлює високу яскравість символів.

LowVideo; - встановлює низьку яскравість символів.

NormVideo; - встановлює нормальну яскравість символів.

Window (X1, Y1, X2, Y2: byte); - визначає розміри вікна на екрані для виведення тексту. X1, Y1 - координати лівого верхнього кута, X2, Y2 - правого нижнього кута.

TextBackGround (Color: byte); - встановлює колір фону екрану (вікна) від 0 (чорний) до 15 (білий).

TextColor (Color: byte); - встановлює колір символу.

TextMode (Mode: word); - встановлює потрібний текстовий режим: 0,1,2 ...

Управління звуковим генератором

Sound (F: word); - включає звук генератора, F - частота звуку в герцах.

Delay (T: word); - встановлює тривалість звучання в мілісекундах.

NoSound; - вимикає звук генератора.

42. Процедурні типи. Параметри-функції. Параметри-процедури.

Процедурні типи - гнучкий засіб для передачі функцій і процедур у якості фактичних параметрів звернення до інших процедур і функцій.

Type p1 = procedure (a, b, c: real; var d: real);

F = function: string;

Будь-які процедури або функції, передані в якості фактичних параметрів оголошується директивою far.

Стандартні процедури або функції ТП можуть передаватися розглянутим чином. У програмі можуть бути оголошені змінні процедурних типів.

Var p1: proc1;

F: func2;

Ap: array [1 .. n] of proc1;

Змінні процедурних типів допускається присвоювати як значення імена відповідних підпрограм => змінні стають синонімом імені підпрограми.

43. Адресний тип. Динамічна пам'ять. Адреси та покажчики.

Динамічна пам'ять - це оперативна пам'ять ПК, яка надається програмно за її роботі, за вирахуванням сегмента даних 164 Кбайта, стека (зазвичай 16 Кбайт) і власне тіла програми (> 200-300 Кбайт)

Д.п. - Це практично єдина можливість обробки масивів даних великої розмірності.

Сегмент даних - це безперервна область оперативної пам'яті у якій розміщуються всі змінні, оголошені в програмі.

Д. розміщення даних - означає використання Д.П. безпосередньо під час роботи програми.

ОЗУ ПК являє собою сукупність сейфів для зберігання інформації - байтів, кожен з яких має власний номер. Ці номери - називаються адресами, що дозволяють звертатися до будь-якого байту пам'яті.

Покажчики - гнучке засіб управління Д.П.. Це змінна, яка в якості свого значення містить адресу байта пам'яті. У ПК адреси задаються сегментами і 16 розрядними зсувами.

Сегмент - це ділянка пам'яті має довжину 65536 (64Кбайта) і починається з фізичної адреси, кратного 16.

Зсув - вказує, скільки байт від початку сегменту потрібно відступити, щоб звернутися до потрібного адресою. Адресний простір 1 Мбайт - стандартна пам'ять ПК. Для адресації в межах 1 Мбайта потрібно 20 двійкових розрядів, які виходять з 2-х 16-розрядних слів (сегмента і зміщення типу word) => вміст сегмента зміщується на 4 розряду, що звільнилися праві заповнюються нулями.

Структура пам'яті: SYS область - КУПА - SYS область

I ^: = 2, {в область пам'яті I заноситься 2}

Функції:

ADDR (x) - повертає результат типу pointer, в якому міститься адреса аргументу, x-будь-який об'єкт програми (змінна, процедура, функція)

CSEG-повертає значення, що зберігається в регістрі CS мікропроцесора. Результат у слові типу word.

DSEG - повертає значення, що зберігається в регістрі DS мікропроцесора. Результат у слові типу word.

MAXAVAIL-повертає розмір в байтах найбільшого безперервної ділянки купи. MAXAVAIL (LONGINT).

За виклик процедури NEW або GETMEM не можна зарезервувати пам'яті більше, ніж значення, що повертається цією функцією.

MEMAIAIL (LONGINT) - повертає розмір в байтах загального вільного простору купи

OFS (Х)-повертає значення типу WORD, що містить зміщення адреси зазначеного об'єкта. (Х)-вираз будь-якого типу або процедура.

PTR (seg, ofs) - повертає значення типу POINTER, по заданому сегменту і зміщення

SEG (X) - повертає значення типу WORD, що містить сегмент адреси зазначеного об'єкта.

SIZEOF (X) - повертає довжину в байтах внутрішнього подання зазначеного об'екта.X-ім'я змінної, функції чи типу.

Процедури:

DISPOSE-повертає в купу фрагмент динамічної пам'яті, який був раніше зарезервований за типізованих покажчиків.

DISPOSE (TP) - типізований покажчик

FREEMEM - повертає в купу фрагмент динамічної пам'яті, який був раніше зарезервований за нетипізований покажчиком

FREEMEM (P, SIZE) - P-нетипізований покажчик, SIZE-довжина звільняється розміру.

GETMEM (P, SIZE) - резервує за нетипізований покажчиком фрагмент Д, П, необхідного розміру (не більше 65 521)

MARK (PTR) - запам'ятовує поточне значення покажчика купи. PTR-покажчик будь-якого типу

NEW - резервує фрагмент купи для розміщення змінної.

NEW (TP) - тип покажчик

RELISE (PTR) - звільняє ділянку купи. PTR - покажчик будь-якого типу, в якому попередньо було збережено процедурою MARK значення покажчика купи.

Д.П. широко використовується для тимчасового запам'ятовування даних при роботі з графікою і звуком в ПК.

44. Середа ТП. Основні виконувані функції. Система меню (робота з файлами, запуск, компіляція, налагодження (Debug), робота з вікнами).

Меню run

Run-запуск на виконання

Step over-покрокове виконання програми

Trace into-покрокове виконання програми тільки підпрограми виконуються оператор за оператором

Go to cursor - виконання до курсора

Program reset-завершення процесу налагодження

Parameters-вікно для введення параметрів для налагодження

Меню compile

Compile-компіляція файлу, що знаходиться в активному вікні редагування.

Make - умовна компіляція змінених модулів в ЕХЕ файл

Build-безумовна компіляція багатомодульною програми зі створенням ЕХЕ файлу

Target ...-вибір у вікні Таргет цільової платформи для програми

Primary file ...-відкриває вікно для вказівки головного файлу, компільованої програми.

Меню Debug:

Breakpoints-установка точок умовного і безумовного переходу

Call stack - показує процедури виконувалися раніше.

Register - інформація про регістрах процесора

Watch - вікно значень змінних

Output - вікно результатів роботи програми

User screen - перегляд результатів включаючи графіку

Evaluate / modify .. - Вікно зміни значень виразів

Add watch - вікно значень і змінних вчасно налагодження

Add breakpoint .. - Вікно установки точок переривання програми

45. Модульне програмування. Оформлення модуля в ТП.

Модульне програмування - це організація програми як сукупності невеликих незалежних блоків, званих модулями, структура і поведінка яких підпорядковується певним правилам.

Модуль - це автономно компільовані програмна одиниця, що включає в себе різні компоненти розділу описів (типи, константи, змінні, процедури, функції) і, можливо, деякі виконувані оператори ініціює частини.

Використання модулів - прекрасний інструмент для розробки бібліотек прикладних програм і потужний засіб модульного програмування.

ТП розміщує програмний код модулів в окремому сегменті пам'яті.

Структура модулів:

UNIT-зарезервоване слово (одиниця), починає заголовок модуля

INTERFACE - починає інтерфейсну частину

IMPLIMENTAITION

BEGIN END.

Модуль складається із заголовка і трьох частин, кожна з яких може бути порожня.

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

Ім'я модуля повинно співпадати з ім'ям файлу, в якому знаходиться вихідний текст модуля (ісходник). Ім'я модуля служить для зв'язку з ін модулями і основною програмою. Зв'язок встановлюється спец. оголошенням:

USES - список пов'язують модулів.

Інтерфейсна частина-містить оголошення всіх глобальних об'єктів модуля (типів, констант, змінних і програм), які повинні доступними основній програмі або інших модулів. У інтерфейсної частини вказуються тільки їх заголовки. Оголошення підпрограм в інтерфейсній частини авто компілюється з використанням дальньої моделі пам'яті {far і near}, що забезпечує доступ до підпрограми з основної програми та ін модулей.Const, var оголошені в інтерфейсній частини модуля, як і глобальні константи і змінні поміщаються в загальний сегмент даних (max 65536 байт).

Частина, - містить описи програм, оголошених в інтерфейсній частини. Дозволяється оголошення локальних для модуля допоміжних типів, констант, змінних. Заголовок - обов'язково, список формальних параметрів можна опустити. Всі параметри розміщуються в сегменті даних.

Ініціація частина - завершує модуль, може бути відсутнім або бути порожньою. Розміщення виконуваних операторів, фрагменти програми. Оператори виконуються до передачі керування основній програмі і для підготовки її роботи. При порожній ініціює частини краще за все її попустити.

Стандартні моделі:

SYSTEM, DOS, CRT, GRAPH, PRINTER, OVERLAY, TURBO3, GRARH3


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Шпаргалка
84.8кб. | скачати


Схожі роботи:
Відповіді на питання
Відповіді на питання з грунтознавства
Відповіді на питання по генетиці
Відповіді на екзаменаційні питання по психології
Відповіді на питання по предмету Геологія
Питання та відповіді до екзамену з діловодства
Питання та відповіді по Економічної географії
Відповіді на питання контрольної роботи з інвестицій
Відповіді на екзаменаційні питання з історії Росії
© Усі права захищені
написати до нас