printf ("_______________________________________nn"); printf(" L6petan programmin"); getchar(); getchar(); return 0; } 7 Programmi seletus Programm koosneb peaprogrammist int main ja kolmest alamprogrammist int sisestus, int arvutamine, int v2ljastus. Alamprogrammis "int sisestus" toimub vajalike arvude sisestus: Sisestatakse funktsiooni lõppväärtus M, sammude algväärtus S, muutuja x algväärtus E. Alamprogrammis "int arvutamine" toimub funktsiooni väärtuste ning argumentide arvutamine. Alamprogrammis "int v2ljastus" toimub argumendi ja sellele vastava funktsiooni väärtuse väljastamine. Peaprogrammis on deklareeritud muutujad. 8
{ int i; printf("X | Yn"); for(i=0;i<=n;i++){ printf("%d | %fn", x[i], y[i]); } } int main(void) { int x[15]; float y[15]; int i, A, B, H, C; sisestamine (&A,&B,&H,&C); arvutamine (A,B,H,C,x,y); v2ljastus (x,y); printf("V2ljumiseks vajuta enter!n"); getchar(); return 0; } Programmi seletus Programm koosneb peaprogrammist int main ja kolmest alamprogrammist int sisestus, int arvutamine, int v2ljastus. Alamprogrammis "int sisestus" toimub vajalike arvude sisestus: argumendi algväärtus A, argumendi lõppväärtus B, sammu väärtus H ja sammu koefitsent C. Alamprogrammis "int arvutamine" toimub funktsiooni väärtuste ning argumentide arvutamine kuni argumendi väärtus on ületanud argumendi lõppväärtuse B. Alamprogrammis "int v2ljastus" toimub argumendi ja sellele vastava funktsiooni väärtuse väljastamine. Peaprogrammis on deklareeritud muutujad. Pilt programmist Kasutatud kirjandus 1
veateade. Teiseks on vabatahtlik parameeter: käsklus LISTFILE puhul kehtib vabatahtlik parameeter. Ilma parameetrita kasutab ta default seadistust, ehk toob kõik failid, kui talle aga lisada mingi parameeter, toob käsklus vaid näiteks kindla tähega algavad failid. Mõlemad on parameetrid, aga üks neist on alati vajalik ja teine mitte. väärtusparameeter ja muutujaparameeter Esimene on tavaliselt lähteandmete viimiseks alamprogrammi. Kui nende väärtustega alamprogrammis midagi juhtub, siis peaprogrammi tagasi tulles need muudatused kaasa ei tule. Teine on vastuste saamiseks alamprogrammist (kuid ka nende andmete viimiseks alamprogrammi, mis seal oma väärtust muutma peavad). Muudatused nende väärtustes jõuavad ka peaprogrammi. Mõlemad on andmete viimiseks alamprogrammi, aga väärtusparameetri puhul tagasi tulles peaprogrammi muudatused kaasa ei tule. rekursiivne funktsioon Rekursiivsed võivad olla ka iseseisvad alamprogrammid, milles toimub iseenda
käivitamisel tegeliku parameetrina antud avaldise paremväärtuse ja edastab alamprogrammile selle. Vajalik on paremväärtuse olemasolu. Muutujaparameeter on parameeter, mille kasutamisel edastatakse alamprogrammile parameetrina antud avaldise vasakväärtus. Tavaliselt on sellise parameetrina kasutusel põhiprogrammi muutuja, kuigi võib kasutada ka kõiki muid avaldisi, millel on vasakväärtus olemas. Mõlemad on küll parameetrid, aga muutujaparameetrile alamprogrammis omistatud uus väärtus muudab ka põhiprogrammi muutuja väärtuse, mida väärtusparameeter ei tee ja muutujaparameetrite mehhanismi võimalik kasutada ka väljundparameetrite realiseerimiseks. 5. rekursiivne funktsioon Rekursiivne funktsioon on ennastkopeeriv funktsioon. Funktsiooni nimetatakse rekursiivseks, kui selles kasutatakse ühe (või ka mitme) sammuna sama funktsiooni ennast, et lahendada funktsioonile antud probleemi kergem variant. Rekursiivse funktsiooni puhul on alati
Abstraktsiooni puhul parema arusaadavuse huvides üldistatakse üksikjuhtumid. Pärandsüsteemid on sageli raskesti kohandatavad ja liidestatavad Massiivi puhul on elemendi poole võimalik pöörduda massiivi nime ning järjekorranumbri kaudu. Andmepuu lehtede väärtused saab süstemaatiliselt läbi käia Masinkood on esimese põlvkonna programmeerimiskeel Viite kaudu alamprogrammile andmete edastamisel alamprogrammis tehtud muutus kajastub ka peaprogrammist parameetrina kaasa antud muutujas. Klass on objektitüüp, kõigil sama klassi eksemplaridel on samad omadused ja oskused. Objektorienteeritud programmeerimise juures rakendus on jagatud suhteliselt iseseisvateks üksusteks, mis omavahel meetodite väljakutsete abil suhtlevad Valik ja kordus tingimuslauset läbitakse üks kord või üldse mitte, korduslauset null või rohkem korda. Jäägiarvutis 5%4=1
Plokk otsas C:Projectsomanaited>Erind3 1234567890123456 Liiga suur arv. Plokk otsas C:Projectsomanaited>Erind3 78 Sisestati edukalt 78 Plokk otsas */ Püüdmine alamprogrammist Veapüüniste tähtsaim eelis varasema veakoodinduse ees ongi kogu rakenduse alamprogrammide rägastikus tekkinud probleemide transport konkreetsetesse kohtadesse kokku, kus nendega üheskoos on vahel mõnevõrra kergem hakkama saada. Järgnevas näites tekibki tõenäoline probleem alamprogrammis nimega LoeArv juhul, kui sisendiks pole arv. Veateade aga trükitakse alles Main-meetodi juures. Nõnda võib näiteks paluda kasutajal arvutamise jaoks anda mitu arvu. Kui aga kasvõi ühel korral sisestusel eksiti, on tulemus ikka sama - tulemust pole võimalik kokku saada. Ning sellest antakse veapüünises ka teada. using System; class Erind4{ public static int LoeArv(){ Console.WriteLine("Palun arv:"); string s=Console.ReadLine(); int a=int
Plokk otsas C:Projectsomanaited>Erind3 1234567890123456 Liiga suur arv. Plokk otsas C:Projectsomanaited>Erind3 78 Sisestati edukalt 78 Plokk otsas */ Püüdmine alamprogrammist Veapüüniste tähtsaim eelis varasema veakoodinduse ees ongi kogu rakenduse alamprogrammide rägastikus tekkinud probleemide transport konkreetsetesse kohtadesse kokku, kus nendega üheskoos on vahel mõnevõrra kergem hakkama saada. Järgnevas näites tekibki tõenäoline probleem alamprogrammis nimega LoeArv juhul, kui sisendiks pole arv. Veateade aga trükitakse alles Main-meetodi juures. Nõnda võib näiteks paluda kasutajal arvutamise jaoks anda mitu arvu. Kui aga kasvõi ühel korral sisestusel eksiti, on tulemus ikka sama - tulemust pole võimalik kokku saada. Ning sellest antakse veapüünises ka teada. using System; class Erind4{ public static int LoeArv(){ Console.WriteLine("Palun arv:"); string s=Console.ReadLine(); int a=int.Parse(s);
Plokk otsas C:Projectsomanaited>Erind3 1234567890123456 Liiga suur arv. Plokk otsas C:Projectsomanaited>Erind3 78 Sisestati edukalt 78 Plokk otsas */ Püüdmine alamprogrammist Veapüüniste tähtsaim eelis varasema veakoodinduse ees ongi kogu rakenduse alamprogrammide rägastikus tekkinud probleemide transport konkreetsetesse kohtadesse kokku, kus nendega üheskoos on vahel mõnevõrra kergem hakkama saada. Järgnevas näites tekibki tõenäoline probleem alamprogrammis nimega LoeArv juhul, kui sisendiks pole arv. Veateade aga trükitakse alles Main-meetodi juures. Nõnda võib näiteks paluda kasutajal arvutamise jaoks anda mitu arvu. Kui aga kasvõi ühel korral sisestusel eksiti, on tulemus ikka sama - tulemust pole võimalik kokku saada. Ning sellest antakse veapüünises ka teada. using System; class Erind4{ public static int LoeArv(){ Console.WriteLine("Palun arv:"); string s=Console.ReadLine(); int a=int