Zadatci sa ciklusima Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva. StrToIntDef(tekst,broj) - funkcija kojom se tekst pretvara u ceo broj s tim da je uvedena automatska kontrola ispra osti u osa, tj. ako u eti tekst e ože da se pret ori u eo roj jer sadrži eki karakter koji ije ifra ili je praza kao red ost fu k ije uzi a se zadati roj kao predefi isa a red ost, ajčešće se uzi a ili, ali to nije obavezno). StrToFloatDef(tekst,broj) - funkcija koja tekst napisa u editu pret ara u reala roj, pri če u s e apo e e i s a ogra iče ja po e uta kod fu k ije StrToI tdef aže i o de. Napraviti formu kao na slici var n,i,s:integer; n:=strtointdef(edit1.text,100); For i:=1 to n do s:=s+i;
Zadatak2: Sastaviti progra koji određuje z ir prvih par ih rojeva. Razlika iz eđu o og i prethod og zadataka je sa o u to e što će o o de redo sa irati roje e po ože e sa 2 da bi bili parni. Napraviti formu kao na slici var n,s,i:integer; For i:=1 to n do s:=s+2*i; Napisaće o sada drugu pro eduru po oću ared i hile i repeat : var n,s:integer; // If n<1 then n:=1 ko trola je eophod a z og počet e red osti sume s:=2*n; While n>1 do s:=s+2*n; var n,s:integer; If n<1 then n:=1; // ko trola je eophod a z og počet e red osti sume s:=2*n; Repeat s:=s+2*n; Until n<=1;
Zadatak3: Sastaviti progra koji određuje faktorijel roja. For ula za izraču a a je faktorijela: faktorijel = * * *... *. Počet a red ost proiz oda ože iti ili sa taj roj (a ne sme iti z og ože ja jer i u to slučaju faktorijel io u ek, za is o od ared e iklusa. Po defi i iji faktorijel roja je, pa i o to e tre a oditi raču a. Kod testira ja progra a tre a oditi raču a o gra i i elih roje a, pa tre a u eti < 8. Gra i a se ože pomeriti ako u esto elih koristi o real u pro e lji u f, ali e pre iše, jer faktorijel pre rzo raste i prelazi s a ogra iče ja a raču aru. var n,f,i:integer; f:=1; For i:=2 to n do f:=f*i; Edit2.Text:=IntToStr(f); Napisaće o drugu pro eduru po oću ared i repeat i hile: var n,f:integer; f:=1; Repeat f:=f*n; Until n<1; Edit2.Text:=IntToStr(f); var n,f:integer; f:=1; While n>1 do f:=f*n; Edit2.Text:=IntToStr(f);
Zadatak4: Sastaviti progra koji određuje -ti stepen broja a. Stepe o a je roja elo roj i ekspo e to ije išta drugo do proiz oda, pa reše je o og zadatka liči a faktorijel s ti što je či ila ko sta ta - osnova stepena: stepen = a * a * a *... * a. Najpre će o kreirati for u kao a sli i stepe a do ija se ko i o a je d e la ele, a jed oj piše a, a druga je pro id a i a joj piše, druga la ela je sa sit iji fo to, alo podig uta i po ere a a des o, a zati apisati ko pleta progra : var n,i:integer; a,s:real; a:=strtofloatdef(edit2.text,1); Edit2.Text:=FloatToStr(a); s:=1; For i:=1 to n do s:=s*a; Edit3.Text:=FloatToStr(s); Edit2.ReadOnly:=true; Napisaće o o u pro eduru po oću repeat ada je razlika sa o for al e prirode, ali i a o i dodata pro le, tre a iz rša ati ciklus samo ako je ekspo e t eći od, o o je kod iklusa for ilo siste ski reše o, pa o to e is o orali da ri e o i po oću aredbe while (gde razlike gotovo da i nema): var n:integer; b,s:real; b:=strtofloatdef(edit2.text,1); Edit2.Text:=FloatToStr(b); s:=1; If n>0 then // ko trola je o avez a z og ači a izvršava ja iklusa Repeat s:=s*b; Until n<1; Edit3.Text:=FloatToStr(s); Edit2.ReadOnly:=true; var n:integer; b,s:real; b:=strtofloatdef(edit2.text,1); Edit2.Text:=FloatToStr(b); s:=1; While n>0 do s:=s*b; Edit3.Text:=FloatToStr(s); Edit2.ReadOnly:=true;
Zadatak5: 3. Sastaviti progra koji izraču ava z ir prirod ih rojeva iz eđu i, gde su i eli pozitiv i brojevi. var m,n,s,i:integer; m:=strtointdef(edit1.text,1); Edit1.Text:=IntToStr(m); n:=strtointdef(edit2.text,2); Edit2.Text:=IntToStr(n); If m>n then s:=m; m:=n; n:=s; For i:=m to n do s:=s+i; Edit3.Text:=IntToStr(s); Edit2.ReadOnly:=true; do aći: Napisati drugu pro eduru po oću ared i repeat i hile:
Zadatak6: Sastaviti progra koji izraču ava z ir kvadrata par ih i z ir ku ova epar ih rojeva iz eđu i n, gde su m i n celi pozitivni brojevi. Za razliku od prethodnog zadatka, o de će o i ati d e pro enljive koje predsta ljaju rezultat. Počet a red ost će za obe biti 0, a u iklusu će se testirati da li je broj paran ili neparan i u za is osti od toga će se određi ati z ir. Najpre će o kreirati formu kao na slici, a zatim napisati kompletan program: var m,n,p,q,i:integer; m:=strtointdef(edit1.text,1); Edit1.Text:=IntToStr(m); n:=strtointdef(edit2.text,1); Edit2.Text:=IntToStr(n); If m>n then s:=m; m:=n; n:=s; p:=0; q:=0; For i:=m to n do If Odd(i) then q:=q+i*i*i else p:=p+i*i; Edit3.Text:=IntToStr(p); Edit4.Text:=IntToStr(q); Edit2.ReadOnly:=true; Edit4.Clear; Zadatak7: Sastaviti progra koji izraču ava z ir re iproč ih vred osti rojeva iz eđu m i n, gde su m i n celi pozitivni brojevi. Pošto tre a sa irati re iproč e red osti, jas o je da je su a realan broj. Dalje je lako. Treba namestiti da prvi broj bude manji, a zatim, redom, sabirati reciproč e roje e od pr og do drugog. Najpre će o kreirati for u kao na slici, a zatim napisati kompletan program:
var m,n,i:integer; s:real; m:=abs(strtointdef(edit1.text,1)); n:=abs(strtointdef(edit2.text,1)); If m>n then s:=m; m:=n; n:=s; If m=0 // isključuje o oguć ost delje ja ulo then m:=1; Edit1.Text:=IntToStr(m); Edit2.Text:=IntToStr(n); For i:=m to n do s:=s+1/i; Edit3.Text:=Format('%15.13f',[s]); Edit2.ReadOnly:=true;