Паскаль (Pascal) разрабатывался, как учебный язык выского уровня, структурного программирования. Относится к 3-му поколению языков программирования. На основе ALGOL.
Составные типы данных – типы данных базирующиеся на простых. Важна однотипность элементов и способ доступа, позволяющие выделить главные представители сложных типов.
Подпрограмма - особым образом оформленный фрагмент программы, имеющий собств имя.
Упоминание этого имени в тексте программы приводит к активизации подпрограммы и называется ее вызовом.
Параметры вызова используются для обмена информацией между программой и подпрограммой
На Паскале: процедуры и функции
"+" Экономия памяти
Структуирование текста программы
Описание
Заголовок подпр-мы;
Раздел описаний;
begin
//тело
end;
Procedure имя_процедуры (список_параметров);
Function имя_функции (список_параметров):тип_результата;
В разделе описаний 5 подразделов (описание меток, констант, типов, переменных, процедур и функций - локальные данные)
Но можно использовать и данные вссей программы (глобальные)
Список параметров
Procedure Pr(a: Real; b: Integer; c: Char);
Function F(a,b: Real): Real;
Если параметры - переменные, то перед ними ставим var, а если постоянные, то const
Procedure MyProcedure (var a: Real; b: Real; const c:char);
Параметры-значения передаются в подпрограмму, могут изменять свое значение в процессе выполнения подпрограммы, однако после выполнения подпрограммы сохраняют первоначальные значения.
Параметры-переменные передаются в подпрограмму, могут изменять свое значение в процессе выполнения подпрограммы, и возвращают после выполнения подпрограммы измененные значения.
Параметры-константы передаются в подпрограмму, но не могут изменять свое значение в процессе выполнения подпрограммы.
Иерархия подпрограмм
Возможен доступ только к подпрограмме на один уровень ниже.
При входе в подпрограмму низшего уровня становятся доступными не только объявленные в ней имена, но и сохраняется доступ ко всем именам верхнего уровня.
При взаимодействии подпрограмм одного уровня иерархии вступает в силу основное правило Турбо Паскаля: любая подпрограмма перед ее использованием должна быть описана.
Рекурсия - способ организации вычислит процесса, при котором подпрограмма в ходе выполнения состав ее операторов обращается сама к себе.
Пример – вычисление факториала n!=n*(n-1)!:
program recur;
var n:integer;
function fact(n:integer):longint;
begin
if n=0 then fact:=1 else fact:=n*fact(n-1);
end; begin
write('n='); readln(n);
write('n!=',fact(n)); readln; end.
16.