- •1. Алгоритм. Свойства алгоритма. Способы записи алгоритма
- •2. Линейные и разветвляющиеся алгоритмы. Cтруктурные схема алгоритмов. Правила выполнения.
- •3. Циклические алгоритмы. Классификация. Вычисление сумм, произведений.
- •4. Циклические алгоритмы. Итерационные циклы. Вложенные циклы.
- •5. Массивы. Алгоритмы обработки массивов. Процедура break
- •6. Структуризация. Восходящее программирование. Проектирование алгоритма перевода чисел из одной системы счисления в другую (2,8,10,16).
- •8. Язык turbo pascal. Алфавит языка. Идентификаторы turbo pascal.
- •14. Константы в turbo pascal (целые, вещественные, 16-ричные, логические, символьные, строковые константы, конструктор множества)
- •15. Типизированные константы.
- •16. Оператор присваивания. Приоритет операций. Стандартные функции.
- •17. Операторы и функции безусловного перехода (goto, continue, exit, halt).
- •18. Структуры простой и сложной программ в Турбо-Паскале.
- •19. Подпрограммы. Применение. Структура описания. Отличие процедуры от функции.
- •20. Вложенные подпрограммы. Принципы локализации имен (локальные и глобальные переменные).
- •21. Вызов подпрограмм (формальные и фактические параметры).
- •22. Процедуры без параметров и с параметрами.
- •23. Передача в подпрограмму параметров регулярного типа (массивов, строк).
- •24. Функции. Описание. Вызов функции.
- •25. Рекурсии. Прямая и косвенная рекурсия. Директива forward.
- •27. Символьный тип.
- •28. Строковый тип. Операции, процедуры и функции
- •29. Типы в Турбо-Паскале. Объявление новых типов. Порядковые типы. Изменение типа выражения
- •34. Оператор выбора case (варианта). Комментарии.
- •35. Записи. Вложенные записи. Записи с вариантами.
- •36. Вещественный тип. Операции и функции для вещественного типа.
- •37. 38. 39. Файловый тип. Файлы. Требования к имени. Связывание. Текстовые файлы. Ввод (вывод) информации из файла (в файл, устройство) Типизированные файлы и нетипизированные файлы.
- •40. Библиотечный модуль graph. Графические возможности тп.
- •41. Библиотечный модуль crt. Работа с клавиатурой, экраном, звуковым генератором.
- •42. Процедурные типы. Параметры-функции. Параметры-процедуры.
- •43. Адресный тип. Динамическая память. Адреса и указатели.
- •44. Среда тп. Основные выполняемые функции. Система меню (работа с файлами, запуск, компиляция, отладка (Debug), работа с окнами).
- •45. Модульное программирование. Оформление модуля в тп.
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 : массивы, записи, множества, файлы) характеризуется множественностью образующих этот тип элементов. В ТП
Допускается бесконечная глубина вложенности типов, однако Суммой=<65520 байт (т.к. каждый компонент может представлять структурированный тип).
PACKED- осуществляется везде где это возможно.
Тип диапазон:
TYPE
D = array [0..9] of char;
Var m: d;
Begin <операторы>end.
Обычно в качестве идентификатора типа используется тип–диапазон, в котором задаются границы изменения индексов.
Тип-диапазон подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона.
<мин. значение >..<макс. значение>
TYPE digit = ‘0’..’9’; можно Var date:1..31;
dig2=48..57; month:1..12;
1CHR:’a’..’z’;
High(x) – максимальное значение типа диапазон
Low(x) – минимальное значение типа диапазон.
Массивы - формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.д.), рассматриваемое как единое целое.
Var a: array [1..10] of real;
Компоненты массива состоят из данных одного типа (возможно структурированного).
В качестве идентификаторов порядковые типы кроме LongInt и типа диапазон с базисным типом LongInt/