Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Процедуралар және функцияларды есеп шығаруда қолдану
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 26 апреля.

Подать заявку на курс
  • Информатика

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

библиотека
материалов

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

Процедура: паскаль тілінде процедура деген бағдарламаның белгіленген бір мәселені шешуге арналғанатаулы бөлімі. Процедура бағдарламаны құраушы басқа да атаулар (идентификаторлар; жаңа типтер атауы; ерекше белгілер т.б.) сияқты, пайдалану алдында – баяндау бөлімінде анықталуы керек. Баяндау бөлімінде анықталған процедураны, бағдарлама денесіндегі – нұсқаулар сияқты, керегінше қайталап шақырып қолдануға болады.

Процедураларды баяндау

Бағдарламада қолданылатын барлық процедуралар мен функциялар, баяндау бөлімін айнымалылар тарауынан (VAR) кейін, нұсқаулар бөлімінің бірінші BEGIN түйінді сқзінің арасында анықталуы қажет. Өйткені, процедуралар (функциялар) баяндау бөлімінің ақырғы (бесінші) тарауы. Паскаль тілінде, баяндау бөлімінің бағдарлама құрылымындағы орналасу тәртібі қатаң, келісідей келісілген: ерекше белгілер таралу (LABEL); константалар таралу (CONST) типтер таралу (TYPE); айнымадылар тарауы (VAR); процедуралар (функциялар) тарауы.

Процедуралар екі бөліктен тұрады: процедура таұырыбымен процедура денесінен. Процедура денесі – блок түрінде баяндалады. Процедура денесінің құрылымы, бағдарламаның (PROGRAM) құрылымына ұқсайды: баяндау бөлімі мен орындалатын нұсқаулар бөлімінен тұрады.

Процедура тақырыбы – 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 – бағдарламасының соңы.}


Краткое описание документа:

Процедуралар және функцияларды есеп шығаруда қолдану Бағдарламада қолданылатын барлық процедуралар мен функциялар, баяндау бөлімін айнымалылар тарауынан (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 – бағдарламасының соңы.}            
Автор
Дата добавления 13.06.2014
Раздел Информатика
Подраздел Конспекты
Просмотров1890
Номер материала 126406061357
Получить свидетельство о публикации

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ


Идёт приём заявок на международный конкурс по математике "Весенний марафон" для учеников 1-11 классов и дошкольников

Уникальность конкурса в преимуществах для учителей и учеников:

1. Задания подходят для учеников с любым уровнем знаний;
2. Бесплатные наградные документы для учителей;
3. Невероятно низкий орг.взнос - всего 38 рублей;
4. Публикация рейтинга классов по итогам конкурса;
и многое другое...

Подайте заявку сейчас - https://urokimatematiki.ru

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

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх