On-line učionica

5. decembar 2011.

Petlje

Filed under: Pascal,Programiranje — jelena100janovic @ 10:11 am

Petlje se koriste kada želite da ponavljate neku grupu naredbi više puta. Na primer, ako hoćete da ispišete „Hej!“ na ekran deset puta, trebalo bi Vam deset naredbi Writeln. Mogli biste da uradite istu stvar koristeći jednu naredbu Writeln unutar petlje koja se ponavlja deset puta.

Postoje tri vrste petlji i to su for (za) petlja, while (sve dok) petlja i repeat until (ponavljaj dok nije) petlja.

For petlja

For petlja koristi promenljivu, brojač petlji, koja se uvećava za jedan u svakoj petlji, tako da broji od prvog do poslednjeg broja.

program Petlje;
var
   i:integer;
begin
   for i:=1 to 10 do writeln(‘Hej!’);
end.

Ako želite da imate više od jedne naredbe unutar petlje, stavljate ih između begin i end.

program Petlje;
var
   i:integer;
begin
   for i:=1 to 10 do
      begin
         writeln(‘Hej,’);
         writeln(‘ovo je petlja broj ‘,i);
      end;
end.

While petlja

While petlja se ponavlja sve dok je uslov tačan. Uslov se proverava na početku petlje i ne proverava se ponovo dok petlja ne počne iz početka. While petlji nije potreban brojač, ali ako želite da ga koristite, inicijalizujte njegovu vrednost pre nego što uđete u petlju.

program Petlje;
var
   i:integer;
begin
   i:=0;
   while i<=10 do
      begin
         i:=i+1;
         writeln(‘Hej!’);
      end;
end.

Repeat until petlja

Repeat until petlja liči na while petlju sem što proverava uslov na kraju petlje. Takođe ne mora da ima begin i end ako ima više od jedne naredbe.

program Petlje;
var
   i:integer;
begin
   i:=0;
   repeat
      i:=i+1;
      writeln(‘Hej!’);
   until i=10;
end.

Ako želite da stavite više od jednog uslova za bilo while bilo repeat petlju, onda stavljate uslove među zagrade.

program Petlje;
var
   i:integer;
   s:string;
begin
   i:=0;
   repeat
      i:=i+1;
      write(‘Unesite broj: ‘);
      readln(s);
   until (i=10) or (s=0);
end.

Break i Continue

Naredba Break (prekini) će izaći iz petlje u bilo kom trenutku. Sledeći program neće ispisati ništa, jer izlazi iz petlje pre nego što stigne do odgovarajućih naredbi.

program Petlje;
var
   i:integer;
begin
   i:=0;
   repeat
      i:=i+1;
      break;
      writeln(i);
   until i=10;
end.

Naredba Continue će iskočiti iz petlje na početak. Ovaj primer takođe neće ispisati ništa, ali za razliku od primera za Break, brojaće do deset.

program Petlje;
var
   i:integer;
begin
   i:=0;
   repeat
      i:=i+1;
      continue;
      writeln(i);
   until i=10;
end.

Ako Vam i dalje nije jasno, pogledajte objašnjenje istih naredbi na drugačiji način ovde🙂

Zadaci za vežbanje:

1.  Napišite program koji učitava 10 brojeva i računa njihov prosek.
2.  Napišite program koji učitava 10 brojeva i računa njihov maksimum.
3.  Napišite program koji učitava 10 brojeva i računa njihov minimum.
4.  Napišite program koji ispisuje sve parne brojeve između dva uneta broja.
5.  Napišite program koji učitava tri broja koji predstavljaju količinu novca na štednom računu, kamatnu stopu i broj godina. Izračunajte godišnju kamatu i ukupan iznos štednje posle svake godine. Izlaz bi trebalo da izgleda ovako:

Ulazni podaci: kapital=30000.00, kamatna_stopa=12.5, br_godina=20.

Izlaz:

God.    Kamata            Ukupno

1          3750.00           33750.00

2          4218.75           37968.75

3          4746.09           42714.84

4          5339.35           48054.19

5          6006.77           54060.96

6          6757.62           60818.58

7          7602.32           68420.90

8          8552.61           76973.51

9          9621.68           86595.19

10        10824.39         97419.58

6.  Napišite program koji učitava brojeve i računa njihov prosek sve dok se ne pojavi 0.
7.  *Napišite program koji učitava ceo broj kao osnovu sistema, a onda učitava broj cifru po cifru i ispisuje njegovu vrednost u dekadnom sistemu. Osnova ulaznog broja treba da bude manja od 10.
8.  Napišite program koji učitava pozitivan ceo broj i računa sledeću sekvencu: ako je broj paran, prepolovite ga; ako je neparan, pomnožite ga sa 3 i dodajte 1. Ponavljajte proces dok ne dobijete 1, ispisujući svaku dobijenu vrednost. Na kraju ispišite koliko ovakvih operacija ste izvršili.
9.  Napišite program koji broji samoglasnike u rečenici koja se unosi sa tastature. Čitajte tekst slovo po slovo dok ne dođete do tačke. Onda ispišite broj pojavljivanja svakog samoglasnika u tekstu, ukupan broj slova i procentualno pojavljivanje svakog od samoglasnika u tekstu. Izlaz bi trebalo da izgleda ovako:

Ulazni podaci: Ovo je tekst koji smo uneli sa tastature na početku programa.

Izlaz:

A         5          E          5          I           2          O         6          U         3

Ukupno slova:  50

A         10%

E          10%

I           4%

O         12%

U         6%

10.  Napišite program koji učitava rečenicu slovo po slovo i štampa je reč po reč u svakom redu.
11.  *Napišite program koji učitava broj ne manji od 3 i ispisuje sve permutacije različitih trojki brojeva manjih ili jednakih unetom broju.

3 komentara »

  1. Lepo obješnjeno i sve pokazano na primerima🙂 Ne može da ne bude jasno…

    Čini mi se da kod primera za while petlju nešto nedostaje ( while i<=10)

    Verovatno greška u kucanju…

    Komentar od racunarstvoiinformatika — 8. decembar 2011. @ 6:33 pm | Odgovor

  2. Napisati program koristeci instrukciju for kojom se racuna zbir brojeva od 1 do 100 koji su deljivi sa 7 i sa 3?

    Komentar od Milan — 5. april 2016. @ 7:22 pm | Odgovor


RSS feed for comments on this post. TrackBack URI

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se / Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se / Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se / Promeni )

Google+ photo

Komentarišet koristeći svoj Google+ nalog. Odjavite se / Promeni )

Povezivanje sa %s

Blog na WordPress.com.

%d bloggers like this: