Информатика и информационные технологии: конспект лекций
Добавить в закладки К обложке
- ЛЕКЦИЯ № 1. Введение в информатику - Страница 1
- 2. Системы счисления - Страница 2
- 3. Представление чисел в ЭВМ - Страница 3
- 4. Формализованное понятие алгоритма - Страница 4
- ЛЕКЦИЯ № 2. Язык Pascal - Страница 5
- 2. Стандартные процедуры и функции - Страница 6
- 3. Операторы языка Pascal - Страница 8
- ЛЕКЦИЯ № 3. Процедуры и функции - Страница 10
- 2. Процедуры в Pascal - Страница 11
- 3. Функции в Pascal - Страница 12
- 4. Опережающие описания и подключение подпрограмм. Директива - Страница 13
- ЛЕКЦИЯ № 4. Подпрограммы - Страница 14
- 2. Типы параметров подпрограмм - Страница 15
- ЛЕКЦИЯ № 5. Строковый тип данных - Страница 17
- 2. Процедуры и функции для переменных строкового типа - Страница 18
- 3. Записи - Страница 19
- 4. Множества - Страница 20
- ЛЕКЦИЯ № 6. Файлы - Страница 21
- 2. Модули. Виды модулей - Страница 24
- ЛЕКЦИЯ № 7. Динамическая память - Страница 26
- 2. Работа с динамической памятью. Нетипизированные указатели - Страница 27
- ЛЕКЦИЯ № 8. Абстрактные структуры данных - Страница 28
- 2. Стеки - Страница 29
- 3. Очереди - Страница 30
- ЛЕКЦИЯ № 9. Древовидные структуры данных - Страница 31
- 2. Операции над деревьями - Страница 32
- 3. Примеры реализации операций - Страница 33
- ЛЕКЦИЯ № 10. Графы - Страница 34
- 2. Представление графа списком инцидентности. Алгоритм обхода графа в глубину - Страница 35
- 3. Представление графа списком списков. Алгоритм обхода графа в ширину - Страница 36
- ЛЕКЦИЯ № 11. Объектный тип данных - Страница 37
- 2. Наследование - Страница 39
- 3. Создание экземпляров объектов - Страница 40
- 4. Компоненты и область действия - Страница 41
- ЛЕКЦИЯ № 12. Методы - Страница 42
- 2. Конструкторы и деструкторы - Страница 44
- 3. Деструкторы - Страница 45
- 4. Виртуальные методы - Страница 47
- 5. Поля данных объекта и формальные параметры метода - Страница 48
- ЛЕКЦИЯ № 13. Совместимость типов объектов - Страница 49
- 2. Расширяющиеся объекты - Страница 50
- 3. Совместимость типов объектов - Страница 52
- ЛЕКЦИЯ № 14. Ассемблер - Страница 53
- 2. Программная модель микропроцессора - Страница 54
- 3. Пользовательские регистры - Страница 55
- 4. Регистры общего назначения - Страница 56
- 5. Сегментные регистры - Страница 57
- 6. Регистры состояния и управления - Страница 58
- ЛЕКЦИЯ № 15. Регистры - Страница 59
- 2. Регистры управления - Страница 60
- 3. Регистры системных адресов - Страница 61
- 4. Регистры отладки - Страница 62
- ЛЕКЦИЯ № 16. Программы на Ассемблере - Страница 63
- 2. Синтаксис ассемблера - Страница 64
- 3. Директивы сегментации - Страница 68
- ЛЕКЦИЯ № 17. Структуры команд на Ассемблере - Страница 71
- 2. Способы задания операндов команды - Страница 73
- 3. Способы адресации - Страница 75
- ЛЕКЦИЯ № 18. Команды - Страница 77
- 2. Арифметические команды - Страница 81
- ЛЕКЦИЯ № 19. Команды передачи управления - Страница 90
- 2. Команды передачи управления - Страница 95
ЛЕКЦИЯ № 3. Процедуры и функции
1. Понятие вспомогательного алгоритма
Алгоритм решения задачи проектируется путем декомпозиции всей задачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.
Подпрограмма – это некоторый вспомогательный алгоритм, многократно использующийся в основном алгоритме с различными значениями некоторых входящих величин, называемых параметрами.
Подпрограмма в языках программирования – это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы. Каждая подпрограмма определяется уникальным именем.
В языке Pascal существуют два типа подпрограмм – процедуры и функции. Процедура и функция – это именованная последовательность описаний и операторов. При использовании процедур или функций программа должна содержать текст процедуры или функции и обращение к процедуре или функции. Параметры, указанные в описании, называются формальными, указанные в обращении подпрограммы – фактическими. Все формальные параметры можно разбить на следующие категории:
1) параметры-переменные;
2) параметры-константы;
3) параметры-значения;
4) параметры-процедуры и параметры-функции, т. е. параметры процедурного типа;
5) нетипизированные параметры-переменные.
Тексты процедур и функций помещаются в раздел описаний процедур и функций.
Передача имен процедур и функций в качестве параметровВо многих задачах, особенно в задачах вычислительной математики, необходимо передавать имена процедур и функций в качестве параметров. Для этого в TURBO PASCAL введен новый тип данных – процедурный, или функциональный, в зависимости от того, что описывается. (Описание процедурных и функциональных типов приводится в разделе описания типов.)
Функциональный и процедурный тип определяется как заголовок процедуры и функции со списком формальных параметров, но без имени. Можно определить функциональный, или процедурный тип без параметров, например:
type
Proc = Procedure;
После объявления процедурного, или функционального, типа его можно использовать для описания формальных параметров – имен процедур и функций. Кроме того, необходимо написать те реальные процедуры или функции, имена которых будут передаваться как фактические параметры.