- •1. Типы в Турбо-Паскале. Объявление новых типов. Порядковые типы.
- •2.Структура программы в тп.
- •3. Подпрограммы. Применение. Структура описания. Отличие процедуры от функции.
- •4. Вложенные подпрограммы
- •5. Вызов подпрограмм (формальные и фактические параметры).
- •6.Процедуры без параметров и с параметрами.
- •7.Передача в подпрограмму параметров- массивов и параметров-строк
- •8. Функции
- •9. Рекурсия
- •10. Символьный тип
- •17. Процедурные типы
- •11. Строковый тип
- •12.Множества
- •13. Записи
- •14. Файлы
- •15. Текстовые файлы
- •16. Типизированные и нетипизированные файлы
- •18.Указатели и динамическая память
- •19. Среда тп. Основные выполняемые функции. Система меню.
- •20. Модули
- •21. Структуризация. Восходящее программирование.
- •22. Нисходящее программирование.
- •23.Этапы подготовки и решения задач на эвм.
- •24. Тестирование программных средств из одного модуля.
- •25. Межмодульное тестирование программных средств.
- •27. Диалоговые программы
- •28. Жизненный цикл программы.
- •31. Возможности Norton Commander.
- •32.Компиляция программы
- •34. Динамические структуры данных. Очередь.
- •35. Однонаправленные списки.
- •36.Стек. Дек.
- •37. Двунаправленные списки.
- •38. Среда delphi.
4. Вложенные подпрограммы
В разделе описаний любой подпрограммы могут встречаться описания других подпрограмм, тогда говорят, что одна подпрограмма вложена в другую. Любые идентификаторы для описания переменных, констант, типов, а также процедур и функций, описанные внутри подпрограмма локализуются только в ней и называются локальными для данного блока (подпрограммы). Такой блок подпрограммы вместе с выделенными в нем модулями называется областью действия этих локальных имен. Локальные имена не являются формальными параметрами. Переменные, описанные в разделе описания основной программы, называются глобальными. Область действия глобальных переменных - основная программа и ее подпрограммы. Имена называются нелокальными, если они описаны не в самой подпрограмме, а в охватывающем ее блоке (или во внешней подпрограмме). Все имена в пределах подпрограммы должны быть уникальными и не могут совпадать с именем самой подпрограммы. При входе в подпрограмму низшего уровня становятся доступными не только объявленные в ней имена, но и сохраняется доступ ко всем именам внешних уровней.
5. Вызов подпрограмм (формальные и фактические параметры).
Вызов подпрограмм производится указанием имени или имени со списком фактических параметров. Фактические параметры не указываются если в подпрограмме используются только глобальные переменные и в заголовке программы отсутствует список формальных параметров. Если заголовок подпрограммы содержит формальные параметры, то при обращении к подпрограмме должен обязательно присутствовать список фактических параметров, которые записываются через запятую. Количество, тип и порядок перечисления фактических параметров должен обязательно соответствовать количеству, типу и порядку перечисления формальных параметров в описании программы.
6.Процедуры без параметров и с параметрами.
Если в программе используются процедуры или функции, то их описание должно предшествовать основному блоху программы. Описание состоит из заголовка и тела процедуры (функции), которое обычно следует за заголовком.
Заголовок процедуры описывается строкой:
PROCEDURE <имя>(<список формальных параметров>);
Список формальных параметров записывается в скобках и содержит перечень параметров с указанием их типов. Перед параметрами, которые возвращают результат в основную программу, указывается ключевое слово VAR. Например,
PROCEDURE SUMMA(A1,A2:REAL; B1.B2:INTEGER; VAR SI,S2:REAL); Допускаются процедуры без параметров:
PROCEDURE <кмя>;
Они предполагают использование в подпрограмме только глобальных переменных, определенных а разделе описаний основной программы. За заголовком процедуры следует раздел описаний подпрограммы (меток, констант, типов, переменных, а также описаний вложенных процедур и функций) и блок операторов.
7.Передача в подпрограмму параметров- массивов и параметров-строк
Передача одиночных элементов массивов в подпрограмму не отличается от передачи переменных. При передаче всего массива необходимо предварительно определить его тип, поскольку он не является стандартным.
Пример: TYPE
ATYPE=ARRAY[1..10] OF REAL;
PROCEDURE R(A:ATYPE);
Такое описание необходимо в связи с тем, что в списке формальных параметров могут использоваться только стандартные или ранее описанные типы. Поэтому нельзя, например, объявить следующую процедуру: PROCEDURE R(A:ARRAY[1..10] OF REAL);
Поскольку строка является фактически массивом символов, ее передача в подпрограмму осуществляется аналогичным образом.Пример описания и передачи строковых переменных:
ТУРЕ
INTYPE=STR1NG[10];
ONTYPE=STR1NG[30];
FUNCTION R(A:INTYPE):ONTYPE;
