Funkcija ir jos prototipas
✅ Funkcija:
Funkcija – tai atskirai aprašytas programos blokas, kuris atlieka tam tikrą veiksmą. Ji leidžia:
Funkcijos yra pagrindinis C++ programavimo kalbos komponentas, leidžiantis suskaidyti kodą į mažesnes, pakartotinai naudojamas dalis.
Funkcija – tai programos dalis, kuri atlieka tam tikrą veiksmą.
Ji gali:
Funkcijas naudoti verta, kai:
Kodėl rašyti funkciją virš main() nėra visada geriausia?
Kur rašoma funkcija?
Galima funkcija, kuri nieko negrąžina (void)
Funkcijos grąžinančios vieną reikšmę
(return) per vardą
✅ Funkcija:
Funkcija – tai atskirai aprašytas programos blokas, kuris atlieka tam tikrą veiksmą. Ji leidžia:
✅ Funkcijos prototipas:
Funkcijos prototipas – tai funkcijos aprašymo santrauka, pateikiama prieš main() funkciją, kad kompiliatorius žinotų apie jos egzistavimą.
Įsivaizduokite, kad rašote receptą.
Viršuje parašote:
Taip programa „žino“, kad tokia instrukcija egzistuoja, ir ją galės panaudoti, kai reikės.
1. Funkcija, kuri grąžina 1 reikšmę (return)
Jei funkcijos realizavimo aprašas pateikiamas prieš main(), tuomet funkcijos prototipo nereikia
Funkcijos prototipas nurodo naudotojui:
• kuria tvarka duomenys perduodami funkcijai;
• kaip gaunamas rezultatas
Funkcijos prototipas rašomas prieš funkciją main() ir baigiamas kabliataškiu
#1 Grąžinamos reikšmės tipas.
Jei funkcija negrąžina jokios reikšmės, vietoj rezultatoTipas
rašomas bazinis žodis void.
#2 Funkcijos Vardas parenkamas pagal tas pačias taisykles, kaip ir
kintamųjų vardai (prasmingas)
#3 Formalieji parametrai.
• Parametrai apibrėžiami kaip kintamieji, nurodant jų tipą ir vardą.
• Parametrai vienas nuo kito atskiriami kableliais.
• Jei funkcija neturi parametrų, rašomi tušti skliaustai ()
Funkcija
return Reiškinys.
Funkcija
Kreipinys į funkciją (1)
• Į funkciją kreipiamasi jos vardu, už skliaustų pateikiami faktiniai parametrai (pradiniai duomenys).
Kreipinys į funkciją (2)
• Į funkciją kreipiamasi jos vardu, už skliaustų pateikiami faktiniai parametrai (pradiniai duomenys).
1 pavyzdys
kai x=5, y=4
ekrane matysime:
Plotas 20
pradinius duomenis galime skaityti iš failo:
1 pavyzdys kai pradinius duomenis skaitome iš failo
:
1 pavyzdys kai duota n stačiakampių ir pradinius duomenis skaitome iš failo
1 užduotis
atlikti jei vis dar labai neaišku
2 užduotis
atlikti jei vis dar neaišku
3 užduotis
atlikti jei vis dar labai neaišku
2 pavyzdys
Nurodyta seka: a1 = 1; a2 = -2; an = an-1 + an-2 , kai n > 2.
Parašykite programą n-tajam sekos nariui apskaičiuoti.
Pasitikrinkite. Jei n = 4, tai atsakymas yra -3, o jei n = 10, tai atsakymas yra -47
4 užduotis: pataisykite, kad duomenys būtų iš failo.
3 pavyzdys
4 pavyzdys
5 užduotis - sek nurodymus ir sukurk programą
duomenų failai gali būti aprašyti kaip konstantos
Pasitikrink žinias
#include <iostream>
using namespace std;
// Funkcijos prototipas
int f(int x);
int main()
{
int a = 5;
f(a);
cout << a;
return 0;
}
// Funkcijos realizacija
int f(int x)
{
x = x + 1;
return x;
}
Duota C++ programa
Ką išves programa? Paaiškinkite atsakymą.
Programa išves: 5
Paaiškinimas:
Funkcija f grąžina reikšmę x + 1, tačiau ši reikšmė nėra panaudojama, nes funkcijos iškvietimas f(a); nepriskiria grąžintos reikšmės jokiam kintamajam.
Be to, funkcijos parametras x perduodamas pagal reikšmę, todėl funkcijoje atliekami pakeitimai nekeičia kintamojo a reikšmės main funkcijoje.
#include <iostream>
using namespace std;
// Funkcijos prototipas
int f(int x);
int main()
{
int a = 5;
f(a);
cout << a;
return 0;
}
// Funkcijos realizacija
int f(int x)
{
x = x + 1;
return x;
}
Duota C++ programa išves: 5
Kaip būtų teisinga pakeisti, kad išvestų 6?
Panaudoti grąžinamą reikšmę
a = f(a);
Duota C++ programa
Ką išves programa? Paaiškinkite atsakymą.
Užduotys
Papildomos sunkesnės užduotys