kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

"Паскаль" функция

Нажмите, чтобы узнать подробности

Саба?ты? та?ырыбы: Функциялар.

Саба?ты? ма?саты: 1. Білімділік.  ?ткен саба?тарда?ы білімдерін тере?дету, ?айталау,  пысы?тау.?й та?ырыбында ?ткен  материалдарды ?айталау.

2. Дамытушылы?. Білім, білік, да?ды, іскерлікті дамыту.С?здік ?орын дамыту.

3. Т?рбиелік. ?зара к?мек ж?не ?йымшылды??а т?рбиелеу.

Саба?ты? т?рбиелік ма?саты:                 О?ушыларды? эстетикалы? тал?амын арттырып, ?здігінен ізденуге талпындыру. Саба? пен ?мірді?, информатика п?ніні?  бас?а п?ндермен байланысын к?здерін  жеткізу.

К?рнекіліктер:                                           Компьютер, т.б.

Саба?ты? т?рі:                               Теориялы?

Саба?ты? ?дісі:                              С?ра?-жауап, талдау, жина?тау

П?н аралы? байланыс:

Бас?а да тілдер т?різді Паскаль тілінде де функцияны арнайы программа ретінде жеке жазу?а болады, сонды?тан оны к?мекші программа ретінде ?арау?а болады.

Функция - программаны? процедура - программадан ерекшелігі мынада:

—        функция бір ?ана белгілі м?н ?абылдайды, я?ни функция - программадан алынатын н?тиже біреу-ак,

—        н?тиже функция аты ар?ылы алынады да, негізгі программада пайдаланылады.

Функция - программаны? жазылу т?рі:

Function     аты (формалды параметрлер):

тип;

Бейнелеу б?лігі

Begin

Параметрлер б?лігі

End;

Функция фактілі параметрлерді? м??дері берілгеннен кейін ?з аты ар?ылы ша?ырылады. Онымен ?атар функцияны тікелей ?рнекті? ішінде ша?ыру?а болады.

Процедура мен функция айырмашылы?тарьн т?сіну ?шін екі санды ?осу программасын процедура ж?не функция т?рінде жазалы?.

1-мысал. Екі санны? ?осындысын табайы?

a)     PROGRAM KOS;

VAR  A: INTEGER;

PROCEDURE KOS (В, С: INTEGER; VAR К: INTEGER);

BEGIN

K:= В + С

END;

BEGIN

KOS (15, 4, А);

WRITELN ('KOC=',A:2)

END.

6)        PROGRAM KEN;

VAR A: INTEGER;

FUNCTION KOS(B, C: INTEGER): INTEGER;

BEGIN

KOS:= В +С

END;

BEGIN

A:= KOS(15,4);

WRITELN ('KOC=', A:2)

END.

Екі программаны? н?тижесі бірдей: экранда КОС = 19 к?рінеді.

Алдымен 1- программаны ?арастырайык. Б?л программаны ша?ыр?анда В ж?не С фактілі параметрлеріне б?тін м?ндер беру керек. Оны ша?ыру т?рі мектеп алгоритмдік тіліне с?йкес келеді, я?ни: КOS (15, 4, А), м?ндагы А б?тін м?н ?абылдайтын н?тижені са?тау?а арнал?ан параметр. ?арастырылып отыр?ан мысалда ол 19 санына те?.

Екінші программада (б) процедура орнына функция пайдаланыл?ан. Б?л программада А:=KOS (15,4) операторы бар, б?л операторды т?бір табу стандартты

А: = SQRТ(2) функциясымен салыстыру?а болады. Функция та?ырыбынан со? т?р?ан INTEGER- б?л функцияныц м?ні б?тін сан болады дегенді білдіреді. Егер функцияны? м?ні на?ты болу ?ажет болса, онда ол орында REAL ?ызмет с?зі т?руы керек. Функцияны? м?нін есептегенде КОS(В,С) : = В + С деп жазу?а болмайды.

Сонымен б?л программаларды салыстыр?аннан мынаны аны?тады?:

  • процедура мен функцияны? ??састы?ы - оларды? екеуінде де айнымалыларды, белгілерді, т?ра?тыларды бейнелеу б?ліктері болады;
  • оларды? бір-бірінен ?згешелігі - PROCEDURE, ал FUNCTION ?ызмет с?здері пайдаланылады;

процедурада н?тиже (айнымалы) параметріні? типі процедура атауынан со? т?ратын кіші жакша ішінде бейнеленсе, ал функцияда н?тиже ?шін арнайы параметр алынбайды, н?тиже (функция м?ні) функция атына меншіктеледі, сонды?тан функция типі, аргументтер типтері бейнеленген жа?ша сыртында, ?ос н?кте ":" ар?ылы к?рсетіледі.

Мысалы:

Function f(a:  REAL; var b: REAL):REAL;

Function g(var a,b:  INTEGER):INTEGER;

Function h(a:  INTEGER):char;

-негізгі программада функцияны? м?нін тек функция атауы ар?ылы пайдаланады.

Мысалы:       х:= х + f (х, у); у:= sin(f(х)/3);

немесе while f(х,у) < f(у, х) do х:= f(x,x); Функция м?ні символды? бола алатын м?мкіндігін жо?арыдааы  h -функциясынан к?руге болады.

Мысалы:

IF S=h(t) then S:=’a’ else S:=h(i)

Немесе

IF а mod 2= 0 then h:’*’ else h:=h’!’

2-мысал. Жо?арыда келтірілген т?ртб?рышты? ауданын табуды функцияны пайдаланып кайта жазайык,.

 PROGRAM BNK (input, output);

VAR AB, ВС, CD, DA, AC: real;

function AYD (a,b,c,:real):real; VAR P:= real;

BEGIN

  P:= (a +b+c)/2;

  AYD: = sqrt(P*(P-a)*(P-b)*(P-c)

      END;

       BEGIN

READ (AB,BC,CD, DA, AC);

WRITE (AYD (AB, ВС, СА) + AYD(CD, DA, AC)) END;

Ба?алау:

?йге тапсырма:

 

A1, A2,. A15 берілген. A1 + A2 +. A12 жене A8 + A9 +. A15  тауып жене табыл?ан ?осындыларды? к?бейтіндісін табу?а программа ?арастыры?ыздар

?орытынды:

            Бізді? б?гінгі функция та?ырыбында ба?дарламалар ?арастырды?.

Саба? ая?талды ?ош сау болы?ыз. 

Просмотр содержимого документа
«"Паскаль" функция»

Сабақтың тақырыбы: Функциялар.


Сабақтың мақсаты: 1. Білімділік. Өткен сабақтардағы білімдерін

тереңдету, қайталау, пысықтау.Үй тақырыбында өткен

материалдарды қайталау.

2. Дамытушылық. Білім , білік, дағды, іскерлікті

дамыту.Сөздік қорын дамыту.

3. Тәрбиелік. Өзара көмек және ұйымшылдыққа тәрбиелеу.


Сабақтың тәрбиелік мақсаты: Оқушылардың эстетикалық талғамын арттырып, өздігінен ізденуге талпындыру. Сабақ пен өмірдің, информатика пәнінің басқа пәндермен байланысын көздерін жеткізу.


Көрнекіліктер: Компьютер, т.б.


Сабақтың түрі: Теориялық


Сабақтың әдісі: Сұрақ-жауап, талдау, жинақтау


Пән аралық байланыс:



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

Функция - программаның процедура - программадан ерекшелігі мынада:

— функция бір ғана белгілі мән қабылдайды, яғни функция - программадан алынатын нәтиже біреу-ак,

— нәтиже функция аты арқылы алынады да, негізгі программада пайдаланылады.


Функция - программаның жазылу түрі:




Function аты (формалды параметрлер):


тип;



Бейнелеу бөлігі



Begin


Параметрлер бөлігі


End;




Функция фактілі параметрлердің мәңдері берілгеннен кейін өз аты арқылы шақырылады. Онымен қатар функцияны тікелей өрнектің ішінде шақыруға болады.

Процедура мен функция айырмашылықтарьн түсіну үшін екі санды қосу программасын процедура және функция түрінде жазалық.

1-мысал. Екі санның қосындысын табайық


a) PROGRAM KOS;

VAR A: INTEGER;

PROCEDURE KOS (В, С: INTEGER; VAR К: INTEGER);

BEGIN

K:= В + С

END;

BEGIN

KOS (15, 4, А);

WRITELN ('KOC=',A:2)

END.


6) PROGRAM KEN;

VAR A: INTEGER;


FUNCTION KOS(B, C: INTEGER): INTEGER;

BEGIN

KOS:= В +С

END;

BEGIN

A:= KOS(15,4);

WRITELN ('KOC=', A:2)

END.


Екі программаның нәтижесі бірдей: экранда КОС = 19 көрінеді.

Алдымен 1- программаны қарастырайык. Бұл программаны шақырғанда В және С фактілі параметрлеріне бүтін мәндер беру керек. Оны шақыру түрі мектеп алгоритмдік тіліне сәйкес келеді, яғни: КOS (15, 4, А), мүндагы А бүтін мән қабылдайтын нәтижені сақтауға арналған параметр. Қарастырылып отырған мысалда ол 19 санына тең.

Екінші программада (б) процедура орнына функция пайдаланылған. Бұл программада А:=KOS (15,4) операторы бар, бұл операторды түбір табу стандартты

А: = SQRТ(2) функциясымен салыстыруға болады. Функция тақырыбынан соң тұрған INTEGER- бұл функцияныц мәні бүтін сан болады дегенді білдіреді. Егер функцияның мәні нақты болу қажет болса, онда ол орында REAL қызмет сөзі түруы керек. Функцияның мәнін есептегенде КОS(В,С) : = В + С деп жазуға болмайды.

Сонымен бұл программаларды салыстырғаннан мынаны анықтадық:

  • процедура мен функцияның ұқсастығы - олардың екеуінде де айнымалыларды, белгілерді, тұрақтыларды бейнелеу бөліктері болады;

  • олардың бір-бірінен өзгешелігі - PROCEDURE, ал FUNCTION қызмет сөздері пайдаланылады;

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

Мысалы:

Function f(a: REAL; var b: REAL):REAL;

Function g(var a,b: INTEGER):INTEGER;

Function h(a: INTEGER):char;


-негізгі программада функцияның мәнін тек функция атауы арқылы пайдаланады.


Мысалы: х:= х + f (х, у); у:= sin(f(х)/3);

немесе while f(х,у) f(у, х) do х:= f(x,x); Функция мәні символдық бола алатын мүмкіндігін жоғарыдааы h -функциясынан көруге болады.


Мысалы:


IF S=h(t) then S:=’a’ else S:=h(i)

Немесе

IF а mod 2= 0 then h:’*’ else h:=h’!’


2-мысал. Жоғарыда келтірілген төртбұрыштың ауданын табуды функцияны пайдаланып кайта жазайык,.


PROGRAM BNK (input, output);

VAR AB, ВС, CD, DA, AC: real;

function AYD (a,b,c,:real):real; VAR P:= real;

BEGIN

P:= (a +b+c)/2;

AYD: = sqrt(P*(P-a)*(P-b)*(P-c)

END;

BEGIN

READ (AB,BC,CD, DA, AC);

WRITE (AYD (AB, ВС, СА) + AYD(CD, DA, AC)) END;


Бағалау:

Үйге тапсырма:


A1, A2, ... A15 берілген. A1 + A2 + ... A12 жене A8 + A9 + .. A15 тауып жене табылған қосындылардың көбейтіндісін табуға программа қарастырыңыздар


Қорытынды:

Біздің бүгінгі функция тақырыбында бағдарламалар қарастырдық.

Сабақ аяқталды қош сау болыңыз.


Получите в подарок сайт учителя

Предмет: Информатика

Категория: Уроки

Целевая аудитория: 9 класс.
Урок соответствует ФГОС

Скачать
"Паскаль" функция

Автор: Чакаев Ермекбай

Дата: 29.09.2016

Номер свидетельства: 346654

Похожие файлы

object(ArrayObject)#852 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(111) "План - конспект урока "Подпрограммы в Турбо Паскале: функции" "
    ["seo_title"] => string(60) "plan-konspiekt-uroka-podproghrammy-v-turbo-paskalie-funktsii"
    ["file_id"] => string(6) "135721"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(5) "uroki"
    ["date"] => string(10) "1416952299"
  }
}
object(ArrayObject)#874 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(128) "Математические функции и процедуры в языке программирования Паскаль "
    ["seo_title"] => string(77) "matiematichieskiie-funktsii-i-protsiedury-v-iazykie-proghrammirovaniia-paskal"
    ["file_id"] => string(6) "174800"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(5) "uroki"
    ["date"] => string(10) "1424181621"
  }
}
object(ArrayObject)#852 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(49) "Паскаль-программалау тілі "
    ["seo_title"] => string(27) "paskal-proghrammalau-tili-2"
    ["file_id"] => string(6) "174993"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(5) "uroki"
    ["date"] => string(10) "1424196145"
  }
}
object(ArrayObject)#874 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(45) "Графика в Турбо Паскаль. "
    ["seo_title"] => string(22) "grafika-v-turbo-paskal"
    ["file_id"] => string(6) "171903"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(5) "uroki"
    ["date"] => string(10) "1423739443"
  }
}
object(ArrayObject)#852 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(110) "Вводный урок по теме: "Язык программирования Турбо Паскаль". "
    ["seo_title"] => string(60) "vvodnyi-urok-po-tiemie-iazyk-proghrammirovaniia-turbo-paskal"
    ["file_id"] => string(6) "167023"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(5) "uroki"
    ["date"] => string(10) "1423038792"
  }
}

Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Ваш личный кабинет
Проверка свидетельства