Процедуралар және функцияларды есеп шығаруда қолдану

Предмет: Информатика
Категория материала: Конспекты
Автор:
Процедуралар және функцияларды есеп шығаруда қолдану Бағдарламада қолданылатын барлық процедуралар мен функциялар, баяндау бөлімін айнымалылар тарауынан (VAR) кейін, нұсқаулар бөлімінің бірінші BEGIN түйінді сқзінің арасында анықталуы қажет. Өйткені, процедуралар (функциялар) баяндау бөлімінің ақырғы (бесінші) тарауы. Паскаль тілінде, баяндау бөлімінің бағдарлама құрылымындағы орналасу тәртібі қатаң, келісідей келісілген: ерекше белгілер таралу (LABEL); константалар таралу (CONST) типтер таралу (TYPE); айнымадылар тарауы (VAR); процедуралар (функциялар) тарауы. Процедура тақырыбы – PROCEDURE түйінді сөзінен басталып, процедураның атауынан кейін, жәй жақшаға алынып формальді (жорамал) параметрлер тізімінен құрылады. Процедура тақырыбының жалпы түрі: PROCEDURE Name_Proc(Pc1 : Tc1; Pc2:Tc2;…;PcN:TcN;                              VAR Pa1 : Ta1;…;Pak : TaK); Мұнда, Name_Proc – процедурасының атауы (идентификаторлары);       Pc1,…,PcN,Pal, - ,Pak – жорамал параметр;       Tc1,…,TcN,Tal .., Tak - ;жорамал параметрлердің типтері;       Процедурның құрылымында, формальді (жорамал) параметрлер қолданылмайтын болса, процедура тақырыбы келесі түрде белгіленеді:       PROCEDURE ProcJd; Процедураның денесі – бағдарламаның денесі сияқты, өзіне тән баяндау және нұсқаулар бөлімдерінен құрылады. Бар айырмашылығы, нұсқаулар бөлімініңсоңғы END –түйінді сөзінен кейін, бағдарлама денесіндегідей нүктемен (.) емес нүктелі үтірмен (;) аяқталуы шарт. Процедураның бағдарламада шақырылуы Бағдарлама денесінің баяндау бөлімінде, процедура анықталған болса, оны бағдарламаның нұсқаулар бөлімінде, процедураның атауы арқылы пайдалануға болады: Name_Proc(Nc1,Nc2,…,NcN,Na1,..,NaK); Немесе, Proc_Td; {бұл процедурада параметрлер жоқ } Мұнда, Nd, Nc2,…, NcN, Na1,…, NaK – процедураны шақырылуы кезіндегі нақтылы (фактические) параметрлері. Процедураны қолданудың нәтижесінде, паскаль тілінің стандартты IF (шартты), CASE (таңдау), FOR (цикл) т.б. нұсқауларында, жаңа типті нұсқау (процедураныңшақырылуымен) қосылынды. Процедураның атауы көрсетілген уақытта, процедура денесіндегі нұсқаулар орындалады. Процедура денесі орындалған соң бағдарлама денесіндегі, процедура нұсқауынан кейін тұрған нұсқау орындалады. Функциялар Егер бірнеше рет кездесетін нұсқаулар тобының нәтижесі жеке мәнімен анықталатын болса, онда осындай нұсқаулар тобын қайталап жазбас үшін оны функция түрінде баяндауға болады. Функцияларды баяндау Функция, процедура сияқты, тақырыптан және блоктан (денесінен) тұрады. Функцияның жалпы түрі төмендегідей: FUNCTION NameFun(PI : T1;…PN : TN) : ТипФунк; Мұнда, NameFun – функцияның атауы (идентификаторы); P1, P2,…PN – жорамал параметрлер; T1, T2,…TN – жорамал параметрлердің типтері; ТипФунк – функция нәтижесінің типі. Функцияеың құрылымында, формальді (жорамал) параметрлер қолданылмайтын болса, функция тақырыбы, келесі түрде белгіленеді: FUNCTION NameFun2 : ТипФунк; Функция атауын (идентификаторын) – функция көрсеткіші деп атайды. Функцияның бағдарламада шақырылуы Бағдарлама денесінде, функцияны қолдану үшін, функция көрсеткіші жазылады. Функция көрсеткішінің жақшаға алынған нақтылы параметрлерімен жазылуы, оның шақырылғаны болып табылады. Процедура туралы, жоғарыда айтылған мағлұматтар, функцияларға да орынды болады. Функцияның процедураға ұқсас болғанымен, төмендегідей ерекшеліктері бар: а) Функцияның тақырыбында, осы функция арқылы есептелетін нәтиженің типі айқын көрсетілуге тиіс; ә) Функция денесінде, меншіктеу нұсқауының сол жағында функцияның атауы болуы қажет. Бұл меншіктеу нұсқауы осы функцияның есептелетін мәнін анықтайды; б) Функцияны қолдану үшін, бағдарлама денесінде, меншіктеу нұсқауының оң жағында операндысындағы өрнектер ішінде, функцияның атауы аталып, жақша ішінде оның нақтылы параметрлері көрсетіледі. Функция денесі орындалған соң, функцияның атауы есептелген нәтижені қабылдайды. Cnm = n!/(m!*(n-m)!); мұнда, n! – факториал, 1-ден m-ге дейінгі сандардың көбейтіндісіне тең. PROGRAM FunFactor; VAR n, m, l, rez  : INTEGER;                   {Factor –функция тақырыбы}                    FUNCTION Factor(k:INTEGER) : INTEGER;                    VAR p, i : INTEGER;                    BEGIN                              p := 1;                              FOR  i := 1TO k DO                                        p := p*i;                              Factor := p; {функция мәні} END;                                        {Factor функциясының соңы} BEGIN                                   {Бағдарламаның нұсқаулар бөлімі басталады}             WRITELN (‘n және m –бүтін сандарын енгіз:’)             READ(n, m);             Rez := factor(n)/(factor(m)*factor(n-m));                                                  {Factor() функциясы үш рет шақырылады.} WRITELN (‘Берілген өрнектің мәні =’,rez); END.                  {FunFactor – бағдарламасының соңы.}            
Тип материала: Документ Microsoft Word (docx)
Размер: 37.47 Kb
Количество скачиваний: 20
Просмотров: 161

Похожие материалы