
- •Основные понятия алгоритма.
- •Алгоритм и его свойства. Понятие алгоритма
- •Свойства алгоритмов
- •Правила построения алгоритма
- •Формы записи алгоритма
- •Словесная форма записи алгоритмов
- •Графическая форма записи алгоритмов
- •Псевдокод
- •Программная форма записи алгоритма
- •Базовые алгоритмические структуры Типы базовых алгоритмических структур
- •Линейная базовая структура ("последовательность")
- •Базовая структура "ветвление".
- •Базовая структура "цикл".
- •Языки программирования и их уровни
- •Языки программирования. Машинный язык
- •Язык ассемблер
- •Языки программирования высокого уровня
- •Компоненты, образующие алгоритмический язык Отличительные особенности алгоритмических языков
- •Компиляторы и интерпретаторы
- •Преобразование алгоритма в программу
- •Три составляющие алгоритмического языка
- •Общая характеристика языка Турбо Паскаль
- •Язык программирования высокого уровня Turbo Pascal 7.0.
- •Основы языка
- •1.1. Алфавит языка
- •1.2. Составные элементы Паскаль-программы
- •Операторы
- •Идентификаторы и имена
- •Описания
- •Переменные
- •Функции и процедуры
- •1.3. Синтаксис языка
- •Структура программы на языке Паскаль
- •Тело программы
- •Классификация типов данных языка.
- •3.1. Простые типы Целые типы
- •Вещественные типы
- •Логический тип
- •Символьный тип
- •Перечисляемый тип
- •3.2. Структурированные типы Массив
- •Множество;
- •Основные конструкции языка Turbo Pascal
- •Константы
- •Переменные
- •Функции
- •Стандартные функции
- •Математические функции
- •Функции преобразования типа:
- •Функции для величин порядкового типа.
- •Функции, создаваемые пользователем
- •Знаки операций
- •Арифметические операции
- •Логические операции
- •Операции с битами информации
- •Операции отношения
- •Круглые скобки.
- •Порядок вычисления выражений
- •Операторы языка Turbo Pascal
- •Простые операторы
- •Оператор безусловного перехода (“Goto”)
- •Обращение к процедуре (функции)
- •Оператор выбора (Case)
- •Оператор цикла (Repeat)
- •Оператор цикла While;
- •Оператор цикла For;
- •Оператор обращения к записям и объектам With.
- •Процедуры и функции, определяемые пользователем
- •Характеристика подпрограмм в Turbo Pascal
- •Порядок создания и использования процедур
- •Порядок создания и использования функций
- •Механизм формальных параметров
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Параметры без типа
- •Массивы и строки открытого типа
- •Параметры-процедуры и параметры-функции
- •Использование модулей в Турбо Паскаль
- •Стандартные модули Турбо Паскаль
- •Модуль System
- •Модуль Strings
- •Модуль Crt
- •Модуль Graph
- •Модуль Dos
- •Модуль WinDos
- •Модуль Overlay
- •Исполнительная часть модуля
- •Секция инициализации
- •Использование модуля в основной программе
- •Использование идентификаторов элементов модуля
Порядок создания и использования функций
Функция, в отличие от процедуры, предназначена для вычисления какого-либо параметра. Функция может вычислять параметры только следующих типов:
любого порядкового типа;
любого вещественного типа;
стандартного типа String;
любого указателя, в том числе и типа PСhar.
При описании функции необходимо помнить ее два отличия от процедуры.
Первое отличие функции в ее заголовке. Он состоит из слова Function, за которым, как и в процедуре, следует имя функции и список формальных параметров, а затем, в отличие от процедуры, через двоеточие записывается тип возвращаемого параметра.
Второе отличие заключается в том, что в теле функции хотя бы один раз имени функции должно быть присвоено значение.
При объявлении описание функции производится в следующем виде:
(Function <заголовок> ([список формальных параметров]: <тип возвращаемого параметра>
<[раздел описаний функции]>
<Тело функции>);
Использование функции. Для вызова функции из основной программы или из другой подпрограммы следует в выражении, где необходимо использовать значение, возвращаемое функцией, указать имя функции со списком фактических параметров. Список фактических параметров по количеству, порядку следования и типу должен совпадать со списком формальных параметров.
Пример. Функция вычисляет сумму двух действительных чисел, передаваемых в функцию в виде фактических параметров.
Объявление функции:
Function Summ (Const A,B: Real): Real;
Begin Summ:=A+B;
End;
Использование функции в основной программе: в первой строке переменной Х присваивается сумма константы, представленной цифрой 4 и значения переменной Y, а во второй строке переменной Z присваивается сумма значений переменных Y и X:
X:= Summ (4,Y);
Z:=Summ(Y,X); .
Механизм формальных параметров
При изучении процедур и функций были использованы два термина «формальные параметры» и «фактические параметры»:
Формальные параметры – показывают, в какой ФОРМЕ будут передаваться параметры в подпрограмму;
Фактические параметры – реальные параметры, имеющие ФАКТИЧЕСКИЕ значения, передаваемые в подпрограмму или возвращаемые из нее.
Формальные параметры могут быть представлены четырьмя категориями:
Параметры – значения (передаются через стек, поэтому не изменяются подпрограммой);
Параметры – переменные (передаются через адрес, поэтому могут изменяться, VAR);
Параметры – константы (передаются через адрес, но контроль от изменения, CONST);
Параметры - процедуры и параметры – функции.
При объявлении каждого формального параметра следует указать имя и, как правило, тип, а в случае параметра переменной или параметра-константы – его категорию.
Имена параметров могут быть любыми, в том числе и совпадать с именами объектов программы. Необходимо лишь помнить, что в этом случае параметр основной программы с таким именем становится недоступным для непосредственного использования подпрограммой.
Тип формального параметра может быть практически любым, однако в заголовке подпрограммы нельзя вводить новый тип.
Например, нельзя записать
Function Max(A: array[1..100] of real): real;
Чтобы правильно записать этот заголовок, следует в основной программе ввести тип массив, а затем использовать его в заголовке:
Type tArr = array[1..100] of real;
…..
Function Max(A:tArr): real;
При обращении к подпрограмме формальные параметры заменяются на соответствующие фактические параметры вызывающей программы или подпрограммы.