You are on page 1of 2

FOR PETLJA 2. Program ispisuje neparne brojeve u intervalu [0,100].

for i:=1 to 100 do if i mod 2=1 then write(i:4); 4. Program ispisuje brojeve u intervalu [0,5] s intervalom od 0,1 (0, 0.1, 0.2, 0.3...). for i:=0 to 50 do write(i*0.1:4:1); 6. Korisnik upisuje 10 brojeva, a program ispisuje koliko je bilo neparnih. brojac:=0; for t:=1 to 10 do begin readln(broj); if broj mod 2=1 then brojac:=brojac+1 end; writeln('Ima ',brojac,' neparnih brojeva'); 1. Korisnik upisuje 100 brojeva, a program ispisuje sumu upisanih brojeva i njihov prosjek. suma:=0; for i:=1 to 100 do begin readln(broj); suma:=suma+broj; end; writeln('Prosjek upisanih brojeva je ',suma/100:8:2); 2. Korisnik upisuje 100 slova, a program ispisuje koliko je bilo samoglasnika. brojac:=0; for i:=1 to 100 do begin readln(slovo); case upcase(slovo) of 'A','E','I','O','U':brojac:=brojac+1; end; end; writeln('Upisano je ',brojac,' samoglasnika'); 3. Program uitava jutarnje temperature za cijeli mjesec. Ispisuje srednju temperaturu i koliko je dana temperatura bila manja od 0 brojac:=0; suma:=0; for i:=1 to 30 do begin readln(temp); suma:=suma+temp; if temp<0 then brojac:=brojac+1; end; writeln('Srednja jutarnja temperatura je ',suma/30:8:1); writeln(brojac,' dana je jutarnja temperatura bila ispod 0'); 4. Program izraunava sumu prvih N prirodnih brojeva. readln(N); suma:=0 for i:=1 to N do suma:=suma+i; writeln('Suma prvih ',N,' prirodnih brojeva je ',suma); 5. Program ispisuje s koliko brojeva izmeu 1 i N-1 broj N nije djeljiv. readln(N); brojac:=0; for t:=2 to N-1 do if N mod t<>0 then brojac:=brojac+1; writeln('Nije djeljiv s ',brojac,' brojeva'); 6. Program uitava prirodni broj N i provjerava je li broj savren readln(N); s:=0; for i:=1 to N-1 do begin if N mod i=0 then s:=s+1 end; if N=s then writeln(N,' je savreni broj') else writeln(N,' nije savreni broj'); WHILE PETLJA 2. Korisnik upisuje cijele pozitivne brojeve sve dok je njihov umnoak manji od 200 000 (razmisli kako e deklarirati varijablu umnozak). var umnozak:longint; ... umnozak:=1; while umnozak<200000 do begin readln(x); umnozak:=umnozak*x; end; 4. Korisnik upisuje brojeve sve dok ne upie broj djeljiv sa 7. Ispisuje koliko je brojeva upisano. readln(broj); brojac:=1; while broj mod 7<>0 do begin brojac:=brojac+1; readln(broj); end; writeln('Upisano je ',brojac,' brojeva'); 5. Korisnik upisuje brojeve sve dok je njihova suma manja od 200. Ispisuje koliko je brojeva upisano. suma:=0; brojac:=0; while suma<200 do begin readln(broj); brojac:=brojac+1; suma:=suma+broj; end; writeln('Upisano je ',brojac-1,' brojeva ija je suma manja od 200'); 6. Korisnik upisuje brojeva sve dok su manji od 20, a program ispisuje koliko je bilo neparnih. readln(broj); if broj mod 2 =0 then brojac:=0 else brojac:=1; while broj <20 do begin readln(broj); if broj mod 2=1 then brojac:=brojac+1; end; writeln('Upisano je ',brojac,' neparnih brojeva'); 1. Rastavljanje na proste faktore. Algoritam je sljedei: nakon uitavanja broja N odabire se prvi najmanji prosti faktor (a to je 2). Provjerava se je li broj djeljiv s tim faktorom, ako je, faktor ispisujemo i izraunavamo novi broj N koji dobijemo dijeljenjem s posljednjim faktorom. Ako faktor nije sadran u broju N odabiremo za jedan vei. readln(broj); p:=2; while broj>1 do begin if broj mod p=0 then begin write(p,' '); broj:=broj div p; end else p:=p+1; end; 2. Potenciranje cijelog broja. Ovaj algoritam tedi broj koraka. U:=1; While P>0 Do Begin If Odd(P) Then U:=U*Broj; Broj:=Broj*Broj; P:=P div 2; End;

3. Euklidov algoritam za traenje najveeg zajednikog djelitelja. readln(a,b); while A>0 do begin if A<B then begin T:=A; A:=B; B:=T; end; A:=A mod B; Nzd:=B end; 4. Ispitivanje je li upisani broj prost broje. Smatramo da je broj prost ako je djeljiv samo sa sobom i s 1. Da bismo utvrdili da je broj prost moramo redom provjeriti ima li broj jo neke druge djelitelje. Oito je da se radi o vrlo slinom pretraivanju kao u prethodnom algoritmu. Ovog puta pretraivanje se prekida kod ispunjenja uvjeta broj2>N gdje je varijabla broj ona kojoj mijenjamo vrijednosti od 2 do trenutka kada je uvjet ispunjen. readln(a); broj:=2; prost:=true; while not(sqr(broj)>a) and (prost) do begin if a mod broj=0 then prost:=false; inc(broj); end; if prost then write('Prost broj') else write('Nije prost broj'); REPEAT PETLJA 1. Korisnik upisuje brojeve, a za prekid upisa upisuje 0. Program ispisuje sumu upisanih brojeva i njihov prosjek. suma:=0; brojac:=0; repeat readln(broj); brojac:=brojac+1; suma:=suma+broj; until broj=0; writeln(suma,suma/brojac:10:1); 2. Program uitava reenicu dok korisnik ne napie '.'.Ispisuje koliko ima rijei u reenici. broj:=1; repeat read(znak); if znak=' ' then broj:=broj+1; until znak='.'; writeln('U reenici ima ', broj,' rijei'); 3. Program uitava jutarnje temperature za cijeli tjedan. Ispisuje srednju temperaturu i koliko je dana temperatura bila manja od 0. dan=0; brojac:=0; repeat readln(temp); suma:=suma+temp; if temp<0 then brojac:=brojac+1; dan:=dan+1; until dan=7; writeln(suma/7:10:1); writeln(brojac', dana je temperatura bila nia od 0 stupnjeva'); 4. Korisnik upisuje razliite znakove sve dok ne upie znak #. Nakon toga program ispisuje koliko puta se pojavio znak %. brojac:=0; repeat read(znak); if znak='%' then brojac:=brojac+1; until znak='#'; writeln(brojac); 1. Korisnik upisuje brojeve sve dok eli. Program ispisuje srednju vrijednost upisanih negativnih brojeva. suma:=0; brojac:=0; repeat readln(broj); if broj<0 then begin suma:=suma+broj; brojac:=brojac+1; end; writeln('Novi upis D-N'); readln(odg); until odg='N'; writeln(suma/brojac:10:2); 3. Program unosi prirodne brojeve sve dok se ne unese broj koji kod dijeljenja s brojem 11 daje 4. repeat readln(broj); brojac:=brojac+1; until broj mod 11=4; writeln('Uneseno je ', brojac,' brojeva');

Zajednike odlike zadataka koji izraunavaju sumu, proizvod, i broja je da imaju pridruivanje poetne vrijednosti:


** 1 2 Opis Poetna vrijednost Uveanje izraza

suma s := 0 proizvod p := 1 broja br := 0

i uveanje vrijednosti: sume s := s + i proizvoda p := p * i brojaa br:= br + 1 Suma s := 0 s := s + i Proizvod p := 1 p := p * i Broja br := 0 br:= br + 1

Tabela 8.11. Razlike suma, proizvod i broja

Tabela 8.12. Zajednike odlike zadataka za sumu 1-5 Zadatak: ** 1 2 3 4 5 6 Pseudo kod BEGIN READLN(x ) READLN(x ) FOR i x DO s := s + i; END 1 TO 5 1 TO n n k n n k x 1-n k-n n-k

k TO n n DOWNTO k

Napisati program za ispis dana u sedmici. Ispis na ekranu poslije izvoenja programa 0: ponedjeljak 1: utorak 2: srijeda 3: cetvrtak 4: petak PROGRAM p08112081; {Dani_u_sedmici} USES WinCrt; TYPE dani = (pon, uto, sri, cet, pet); VAR i: dani; k: INTEGER; BEGIN FOR i := pon TO pet DO BEGIN WRITE(ORD(i),': '); CASE i OF pon : WRITELN ('ponedjeljak'); uto : WRITELN ('utorak'); sri : WRITELN ('srijeda'); cet : WRITELN ('cetvrtak'); pet : WRITELN ('petak'); END; { case } END; READLN; END.

You might also like