Программалау барысында кей жағдайларда, бір типті есептеулерге бірнеше программалар құруға тура келеді. Осындайда артық жұмыс жасамай, барлық есептеулерді бір ғана программа ішінде орындау ұшін, көмекші программалар- процедуралар немесе функциялар қолданылады. Процедуралар мен функциялар программаның орындалу барысында бірнеше рет қайталанып тұратын бірнеше операторлардан тұратын көмекші бөлік. Программада бірнеше процедура немесе функция болуы мүмкін. Сол,сияқты көмекші программаның да өз көмекші программасы болуы мүмкін. Негізгі программаның сипаттамалар бөлімінде жазылған индефекаторлар көмекші программаның ішінде де жұмыс істей береді. Программа орындалу барысында негізгі программа шақырылады. Процедура орындалу барысында бірнеше нәтиже алады, ал функцияның нәтижесі бір ғана мән алады көмекші программалар да негізі программа сииқты бөліктерден тұрады, олар:
а) көмекші программа аты, параметрлері жазылатын тақырыптан;
ә) көмекші программада кездесетін индефекаторларды сипаттау бөлімінен;
б) операторлардан тұратын программа денесінен тұрады.
Процедураның жазылуы: PROCEDURE Аты (формальды параметрлер); (*Тақырыбы*) сипаттамалар бөлімі; (* Бұл бөлім болмауы да мүмкін*) BEGIN Операторлар; END; Функцияның жазылуы: FUNCTIION аты (формальді параметрлер): Типі; Сипаттамалар бөлімі; BEGIN Операторлар;END;
Процедура мен функциялардың нақты және формальді параметрлері болады. Программа орындалу барысында есептелетін параметрлер нақты деп, ал көмекші программалардың сипаттамасында көрсетілетін параметрлер формальды деп аталады. Нақты жєне формальды параметрлердің типі, саны, реттілігі сєйкес болуы тиіс. Олар бірдей белгіленуі де мүмкін. Нақты параметрлер тұрақтылардан, айнымалылардан және өрнектерден тұруы мүмкін. Кей процедуралар параметрлері болмауы да мүмкін. Негізгі программада процедураны пайдалану үшін процедураның атын нақты параметрлермен жазып шақырады
Cонымен программада процедура шақыру процесіне формальды параметрлерді нақты параметрлердің мәнімен ауыстыру болып табылады.
Мысылы:
ROCEDURE PRIMER (A,B:INTEGER; VAR X,Y:INTEGER); VAR S: ITEGER; ВEGIN S:=A+5*B; Х=SQR (S); Y:=SQR (X); ЕND; Бұл процедураны былай жазып шақыруға болады:РRIMER (10,5,K,I); Нәтижесінде:
а) формальді параметрлер 10, 5, K, І нақты параметрлердің мәнін қабылдайды,
ә) процедура орындалады,
б)X-пен Y өздерінің жаңа мәндерін K-мен І-ге береді.
в)A=10, B=5, X=K, Y=I,
г)S=10+5*5=35,
Х=35*35=1225, Y=1225*1225=1500625,
д) K=X=1225, I=Y=1500625.
функциялар процедуралар сияқты шақырылады.
Мысалы 1-ден 15- ке дейінгі және 1-ден 9- ға дейінгі қосындылардың көбейтіндісін алу программасында қосынды табуға SUMMA функциясын қолдануға болады.
Жазу дегеніміз – бекітілген бағандар (компоненттер) санынан тұратын деректер құрылымы. Көбінесе кез келген объектіге мінездеме беру керек болады. Объект адам, автомобиль, журнал және т.б. болуы мүмкін. Массивтен ерекшелігі компоненттер (поля) жазуларрының түрі әртүрлі болады. "Автомобиль" объектісін сипаттауға мына деректер қажет:
* марка және автомобил кузовының түрі (символдық жолдар);
* Автомобилдің шығарылған жылы (бүтін түр);
* Толық ремонттан өткені туралы (логикалық түр).
Жазылуы:
< түр аты > = record <бағандар тізімі > end ;
Мұндағы < түр аты > – дұрыс идентификатор;
record, end – қызметтік сөздер (ағылшын тілінің аудармасы: жазу, соңы);
< бағандар тізімі > – полялар (;) арқылы бөлінеді.
Жазудың әрбір бөлігі бірнеше идентификаторлардан үтір арқылы бөлініп жазылады. Идентификатор кейін (:) қойылады, сосын түрі көрсетіледі, мысал:
type auto = record
mark , typ : string [10];
date : integer;
remont : boolean
end;
Программа бөлігі:
var mashine : auto;
begin
mashine.mark: = 'volvo';
mashine.date = 1996;
mashine.typ: = 'car';
mashine.remont: = false;
writeln (mashine. mark);
writeln (mashine. date);
writeln (mashine.typ);
writeln (mashine. remont);
end.
Студенттердің физика, математика және программалау тілінен алған және топтың орташа балын есептеу программамасы.
Программа құру үшін белгілеулер енгіземіз:
n1– топтағы студенттер ең жоғарғы саны;
n – топтағы студенттердің нақты саны;
student– идентификатор түрі, оған мына бағандар кіреді fam, fiz, mat, pr және ss;
fam – студенттің фамилиясын жазу бағаны;
fiz, mat, pr – физика, математика және программалау тілінен алған бағаларын жазу;