Programavimo pamokėlės

pamokelesm

Mokymų ciklas „Programavimo pamokėlės" skirtos visiems, kurie nori išmokti programuoti.

IT galvosūkiai

itgalvosukiai

Konkurso tikslas – skatinti moksleivius domėtis IT sprendžiant įvairiausius galvosūkius.

Informikas

informikasm

Konkurso tikslas – supažindinti moksleivius su menu informacinėse technologijose ir mūsų talismanu.

Dr. J. P. Kazicko konkursai

kkonkursai

Žemaitijos, Aukštaitijos, Suvalkijos ir Dzūkijos regionuose vykdomas IT konkursas.

       

Funkcija yra vadinama programos konstrukcija, kuri atlieka savarankiškus veiksmus. Vykdant programą, į funkcijas galima kreiptis daug kartų. Funkcijos padeda struktūrizuoti programą. Tokią programą lengviau skaityti ir analizuoti.

Naujai kuriamų funkcijų aprašą galima skaidyti į dvi dalis: prototipą (išankstinį aprašą) ir realizavimo aprašymą.

Funkcijos prototipas nurodo naudotojui, kokia eilės tvarka duomenys perduodami funkcijai ir kaip gaunami rezultatai. Funkcijos prototipas rašomas prieš funkciją main() ir baigiamas kabliataškiu.

Prototipo struktūra yra tokia:

rezultatoTipas funkcijosVardas(formaliejiParametrai);

Pavyzdžiui, int Suma(int a, int b);.

Funkcijos realizavimo aprašas (funkcijos antraštė ir veiksmai, kuriuos ji turi atlikti pateikiamas už funkcijos main(). Jei funkcijos realizavimo aprašas yra prieš main(), tuomet nereikia rašyti funkcijos prototipo.

Funkcijos aprašas atrodo taip:

rezultatoTipas funkcijosVardas(formaliejiParametrai)
{
      funkcijosKamienas
}

Funkcijos antraštėje pirmiausia nurodomas grąžinamos reikšmės tipas. Jei funkcija per savo vardą jokios reikšmės negrąžina, vietoj rezultatoTipas nurodomas bazinis žodis void. Toliau rašomas funkcijosVardas, kuris parenkamas pagal tas pačias taisykles, kaip ir kintamųjų vardai. Po to skliaustuose išvardijami parametrai. Jei funkcija neturi parametrų, tuomet rašomi tušti skliaustai.

Funkcijos duomenis su programos duomenimis susieja formaliejiParametrai. Parametrai apibrėžiami pagal tas pačias taisykles, kaip ir kintamieji: nurodant jų reikšmės tipą ir vardą. Vienas nuo kito parametrai atskiriami kableliais.

Veiksmai, kuriuos turi atlikti funkcija, nurodomi dalyje funkcijosKamienas. Jei funkcija skirta kokiai nors reikšmei grąžinti, tai tarp funkcijos veiksmų turi būti bent vienas sakinys, kuriuo apskaičiuota reikšmė būtų grąžinama į programą. Funkcijos kamiene gali būti aprašomi kintamieji, reikalingi funkcijos veiksmams atlikti. Jie galioja tik funkcijoje.

Reikšmei grąžinti per funkcijos vardą naudojamas sakinys return.

Sakinio return sintaksė yra tokia:

return Reiškinys;

Reiškinys – tai bet koks reiškinys, kurio reikšmė grąžinama atlikus veiksmą. Grąžinamos reikšmės tipas ir funkcijos antraštėje nurodytas rezultato tipas turi būti tarpusavyje suderinti. Sakiniu return ne tik grąžinama nurodyta reikšmė, bet ir nutraukiamas funkcijos darbas. Sakiniu return; tiesiog nutraukiamas funkcijos darbas.

Į funkcijas kreipiamasi jų vardais. Už jų skliaustuose pateikiami faktiniai parametrai (argumentai). Jei funkcija grąžina reikšmę, į ją kreipiamasi reiškiniuose, pavyzdžiui,

y = funkcijosVardas(faktiniaiParametrai) * c;

Duomenis, su kuriais bus atliekami funkcijos veiksmai, nurodo faktiniaiParametrai. Tai gali būti reikšmės, kintamieji, reiškiniai.

Kreipinyje į funkciją faktinių parametrų paprastai būna tiek pat ir tokio pat tipo, kaip nurodyta funkcijos antraštėje.

Parametrai rašomi tokia pat eilės tvarka, kaip nurodyta funkcijos antraštėje, ir tarpusavyje atskiriami kableliais. Jei funkcija parametrų neturi, kreipinyje rašomi tušti skliaustai.

Pavyzdys

// Stačiakampio plotas
#include <iostream>
using namespace std;
//---------------------------------------------------------------------
int Plotas(int a, int b); // funkcijos Plotas prototipas
//---------------------------------------------------------------------
int main()
{
 int x = 5, y = 4, s;
 s = Plotas(x, y);    // kreipinys į funkciją Plotas
 cout << "Plotas = " << s << endl;
 return 0;
}
//---------------------------------------------------------------------
// Skaičiuoja stačiakampio, kurio kraštinės a ir b, plotą
int Plotas(int a, int b) // funkcijos antraštė
{
 return a * b;    // per funkcijos vardą grąžinama apskaičiuota ploto reikšmė
}

Įvykdę programą, ekrane matysite:

Plotas = 20

Dabar pamėginkite savarankiškai parašyti funkciją, kuri skaičiuotų apskritimo plotą pagal įvedamą spindulio reikšmę.

cpp/apskritimo_plotas
Į viršų