Ponavljanje bloka naredbi više puta omogućen je naredbama ciklusa  (naredbama ponavljanja ili repetativnim naredbama ili petljama).

U Pascalu postoje tri naredbe ciklusa:

  • FOR – bezuslovna naredba ciklusa.
  • WHILE- naredba sa preduslovom
  • REPEAT – naredba sa postuslovom.

FOR..TO..DO

Naredba For omogućava ponavljanje neke naredbe ili bloka naredbi određeni broj puta.

i – brojačka (kontrolna)  promenljiva

pv – početna vrednost

kv – konačna vrednost

N – naredba

FOR i:=pv  TO kv  DO N;

„Sve dok  promenljiva i prima vrednost od početne vrednosti  do konačne vrednosti  izvršava se naredba N.“

Kontrolna (brojačka)  promenljiva odbrojava broj prolaza kroz petlju menjajući se od početne do konačne vrednosti s jediničnim korakom. Kontrolna promenljiva mora biti prethodno deklarisana i može biti  CHAR, BOOLEAN, INTEGER ili neki intervalni tip. Tip vrednosti početne, konačne vrednsti i kontrolne promenljive  moraju se slagati.

Vrednost kontrolne promenljive nije dopušteno menjati unutar FOR naredbe.

Koraci izvršenja naredbe for:

  1. Kontrolnoj promenljivoj i dodeljuje se početna vrednost
  2. Ako je i>kv završava se izvršenje naredbe FOR
  3. ako je i<=kv, izvršava se naredba N
  4. Kontrolna promenljiva prima vrednost  svog sledbenika (ako je u pitanju celobrojna vrednost –  za jedan veću od prethodne)    i:=succ(i)
  5. Nastavlja se izvršenje petlje od tačke 2

FOR naredba može imati oblik:

FOR  i:=pv DOWNTO kv DO N;

U ovom slučaju koraci izvršenja naredbe izgledaju ovako:

  1. Kontrolnoj promenljivoj i dodeljuje se početna vrednost
  2. Ako je i<kv završava se izvršenje naredbe FOR
  3. ako je i>kv, izvršava se naredba N
  4. Kontrolna promenljiva prima vrednost  svog prethodnika (ako je u pitanju celobrojna vrednost za jedan manju od prethodne)    i:=pred(i)
  5. Nastavlja se izvršenje petlje od tačke 2

Primer 1.Sastaviti aplikaciju koja  će računati  zbir prvih n prirodnih brojeva.

npr. za uneto n=3 računa se s=1+2+3

image

Procedure…

Var n,s,i:integer;

BEGIN

n:=strtoint(edit1.text)

S:=0; {S prima vrednost nula. To je početna vrednost koja se upisuje u memorijsku lokaciju na adresi s, da bi donji izraz S:=S+i imao smisla u prvom koraku kada je i=1}

FOR i:=1 TO n DO

S:=S+i; {Na staru vrednost promenljive s dodaje se trenutna vrednost kontrolne promenljive i }

edit2.text:=inttostr(s);

END.

ZADATAK1: Sastavi aplikaciju koja računa proizvod prvih n prirodnih brojeva.

ZADATAK 2: Sastavi aplikaciju koja će izračunati zbir recipročnih vrednosti brojeva u intervalu od a do b.

ZADATAK 3. Sastavi aplikaciju koja će ispisati sve parne brojeve u intervalu od 1 do 100.

ZADATAK 4. Sastavi aplikaciju koja će pprebrojati koliko ima brojeva deljivih sa 3  u intervalu od 1 do 300.

još zadataka  zadaci za vežbanje – FOR

Advertisements

One response »

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google photo

Коментаришет користећи свој Google налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s