|
|||
№6 тақырып. Ішкі бағдарламалар: процедуралар және функциялар№6 тақ ырып. Ішкі бағ дарламалар: процедуралар жә не функциялар №9 зертханалық жұ мыс Процедуралар Процедураныњ сипаттамасы процедураныњ таќырыбынан жєне денесінен т±рады. Процедураныњ таќырыбы procedure деген резервтелген сµзден, процедураныњ атын білдіретін идентификатордан жєне жаќшаѓа алынып, типтері кµрсетілген формальді параметрлер тізімінен т±рады. Процедура денесі бағ дарламалыќ блоктан т±рады. Процедураныњ жалпы т‰рі: procedure < аты> [(формалдыќ параметрлер тізімі)]; сипаттама бµлімі begin операторлар бµлімі end;
Процедура µздігінен орындалмайды. Ол аты бойынша негізгі бағ дарламадан шаќырылады. Шаќыру жолында оныњ фактілік (наќты) параметрлері кµрсетіледі. Фактілік жєне формальдыќ параметрлердіњ арасында мынадай сєйкестік болу керек: ● саны бірдей; ● типтері бірдей; ● жазылу реті бірдей; Формальдыќ параметрлердіњ мынандай т‰рлері болады: - параметр – мєндер; - параметр – айнымалылар; Параметр – мєндер. Параметр – мєндер негізгі бағ дарламадан ішкі бағ дарламаѓа мєндерді беру ‰шін ѓана ќолданылады, процедура нєтижесі негізгі бағ дарламаѓа ќайтарылмайды. Параметр – мєндер фактілік мєндерге ешќандай ыќпал жасамайды.
1-мысал: тµрт санды екі-екіден ж±птап, квадраттарыныњ ќосындысын табу. Б±л мысалда параметр – мєндер ќолданылады. Берілген сандар 2, 5 пен 3, 1; -7, 2 жєне 5, 3 болсын.
program mander; var k, z, x, y: real; procеdure sum_kv(a, b: real); {а, b формальдық параметрлер} begin {процедура денесі} a: =a*a; b: =b*b; writeln(’квадраттар ќосындысы=’, a+b); end; begin {негізгі бағ дарлама денесі} х: =2. 5; у: =3. 1; sum_kv (x, y); z: = -7. 2; k: =5. 3; sum_kv (z, k); readln; end.
|
|||
|