Шпаргалка

Шпаргалка на тему Вопросы и ответы к экзаменам В-1

Работа добавлена на сайт bukvasha.net: 2015-06-29

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 12.5.2025


  (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) $00000000- $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) – резервирует за нетипизированным указателем фрагмент Д,П, требуемого размера(не более 65521)

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



1. Реферат Учет затрат и калькулирование себестоимости швейной промышленности
2. Реферат на тему Evolution Of Bipedal Locomotio Essay Research Paper
3. Реферат на тему The Son Of A General Essay Research
4. Реферат на тему Daniel Boone Essay Research Paper Daniel Boone
5. Реферат на тему Tennessee Williams Essay Research Paper Adcock 1Tennessee
6. Реферат Индивидуально психологические свойства личности
7. Реферат Киселевский, Иван Платонович
8. Реферат Anorexia Nervosa Essay Research Paper It seems
9. Реферат на тему Stratford
10. Реферат на тему Paris Essay Research Paper After the revolution