140 likes | 512 Views
Funkcijos . Funkcijos samprata. Funkcijos – tai programos konstrukcijos, kurios savarankiškai atlieka veiksmus. Programoje į tą pačią funkciją galima kreiptis daug kartų. Funkcija padeda struktūrizuoti programas. Programas su funkcijomis lengviau skaityti, analizuoti, rasti klaidas.
E N D
Funkcijos samprata • Funkcijos – tai programos konstrukcijos, kurios savarankiškai atlieka veiksmus. • Programoje į tą pačią funkciją galima kreiptis daug kartų. • Funkcija padeda struktūrizuoti programas. • Programas su funkcijomis lengviau skaityti, analizuoti, rasti klaidas.
Funkcijos aprašymas (1) Prototipas (išankstinis aprašas) Realizavimo aprašymas • Funkcijos prototipas nurodo naudotojui: • kuria tvarka duomenys perduodami funkcijai; • kaip gaunamas rezultatas Funkcijos prototipas rašomas prieš funkciją main() ir baigiamas kabliataškius
Funkcijos aprašymas (2) Funkcijos prototipo struktūra: RezultatoTipasfunkcijosVardas (formalieji parametrai); Funkcijos prototipo pavyzdys: int Suma (int a, int b);
Funkcijos aprašymas (3) Funkcijos realizavimo aprašas rašomas už main() funkcijos; Jeigu funkcijos realizavimo aprašas pateikiamas prieš main(), tuomet nereikia rašyti funkcijos prototipo. Funkcijos aprašas atrodo taip: RezultatoTipasfunkcijosVardas (formalieji parametrai) { funkcijosKamienas }
Funkcijos aprašymas (4) 1 2 3 RezultatoTipasfunkcijosVardas (formalieji parametrai) { funkcijosKamienas } 1 Grąžinamos reikšmės tipas. Jei funkcija negrąžina jokios reikšmės, vietoj rezultatoTipas rašomas bazinis žodis void. voidfunkcijosVardas (formalieji parametrai)
Funkcijos aprašymas (5) 1 2 3 RezultatoTipasfunkcijosVardas (formalieji parametrai) { funkcijosKamienas } 2 funkcijosVardas. Funkcijos Vardas parenkamas pagal tas pačias taisykles, kaip ir kintamųjų vardai (prasmingas)
Funkcijos aprašymas (6) 1 2 3 RezultatoTipasfunkcijosVardas (formalieji parametrai) { funkcijosKamienas } • 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 ()
Funkcijos aprašymas (7) 1 2 3 RezultatoTipasfunkcijosVardas (formalieji parametrai) { funkcijosKamienas } • Veiksmai, kuriuos turi atlikti funkcija aprašomi jos dalyje funkcijosKamienas. • Jei funkcija skirta kokiai nors reikšmei grąžinti, turi būti bent vienas sakinys, kuriuo apskaičiuota reikšmė grąžinama į programą- return Reiškinys.
Kreipinys į funkciją (1) • Į funkciją kreipiamasi jos vardu, už skliaustų pateikiami faktiniai parametrai (pradiniai duomenys). • Jei funkcija grąžina reikšmę, į ją kreipiamasi, pvz.: • Y = funkcijosVardas (faktiniaiParametrai) * c; • Jei funkcija negrąžina reikšmė, į ją kreipiamasi, pvz.: • funkcijosVardas (faktiniaiParametrai);
Kreipinys į funkciją (2) // Stačiakampio plotas ... usingnamespacestd; //----------------------------------------------- int Plotas (int a, int b); //----------------------------------------------- intmain (); { int x = 5, y = 4, s; s = Plotas (x, y); cout << “ Plotas “ << s << endl; return 0; } //---------------------------------------------- intPlotas (int a, int b); // skaičiuojastačiakampio plotą, kurio kraštinės a ir b { return a*b; }
Kreipinys į funkciją (3) • Jei funkcija turi grąžinti keletą reikšmių, tuomet naudojami parametrai-nuorodos. Prieš juos funkcijos antraštėje rašomas ženklas &: • RezultatoTipasfunkcijosVardas (tipas & vardas1, tipas & vardas2); • Tokia funkcijadirbane su pačiais parametrais, o su jų kopijomis. • Tai patogu, kai funkcijai nereikia keisti parametrų reikšmių.
Kreipinys į funkciją (4) // Dviejų kintamųjų reikšmių sukeitimas ... usingnamespacestd; //----------------------------------------------- int Sukeisti (int& pirmas, int& antras); //----------------------------------------------- intmain (); { int x = 11, y = 25; Sukeisti (x, y); cout << “ x = “ << x << “ y = “ << y << endl; return 0; } //---------------------------------------------- int Sukeisti (int& pirmas, int& antras); { intpapild = pirmas; pirmas = antras; antras = papil; } Įvykdę programą ekrane matysite: x= 25 y = 11
Užduotis Parašyti programą, kuri rastų bendrą grandinės varžą, kai grandinę sudaro viena ar daugiau sujungtų grandinės dalių. Kiekviena grandinės dalis sudaryta iš dviejų ar daugiau lygiagrečiai sujungtų laidininkų skaičiaus. N – nuosekliai sujungtų grandinės dalių skaičius, k – lygiagrečiai sujungtų grandinės dalių skaičius ir varžų reikšmės rj Pradiniai duomenys surašyti duomenų faile. Varžų skaičiavimui naudokite funkcijas.