Подручја рада
Претрага
80. Циклуси.

Уводни део часа :
1. Које су одлике наредби гранања ?
2. Који су недостаци наредби гранања
-------------------------------------------------------------------------------------------------------------------
Главни део часа :

Циклус или циклични програм реализује се помоћу петљи.
Циклус чине наредбе чије се извршавање понавља при једном извршавању програма.

Циклус се састоји од :

- излазног услова или излазног критеријума ;
- тела циклуса.

Излазни критеријум обезбеђује престанак извршавања циклуса.
Тело циклуса чине наредбе које се понављају.

У зависности од излазног критеријума циклуси се деле на :
- бројачке циклусе ;
- циклусе са условом.

Бројачки циклуси као излазни критеријум имају број понављања извршавања тела циклуса.

Код циклуса са условом број понављања није унапред познат већ зависи од испуњености наетнутог услова.
У зависности од тога где се налази излазни критеријум, да ли испред или иза тела, ти циклуси се деле на циклусе са предусловом и постусловом, односно кажемо да је циклус са изласком на врху или са изласком на дну.


У PASCAL су уграђене све три врсте циклуса :

- бројачки ( FOR ) ;
- условни са изласком на врху ( WHILE ) ;
- условни са изласком на дну ( REPEAT ).                                                     

Примери циклуса су :

ciklusi.jpg

За организацију циклуса користи се наредба for…do. Синтаксни дијаграм ове наредбе приказан је на слици :

for_dijagram.jpg

У алгоритмима се ова наредба приказује на следећи начин :

for_algoritam.jpg

Наредба која се понавља представља део for наредбе и може бити проста или сложена.
Крајња вредност бројачке променљиве i је такође променљива. Почетна и крајња вредност бројачке променљиве у for наредби може бити константа, променљива или израз.

Пример 1.
Написати програм који штампа првих 100 природних бројева.

PROGRAM PROBA( INPUT, OUTPUT );
{ STAMPANJE PRVIH 100 PRIRODNIH BROJEVA }
VAR i : INTEGER;
BEGIN
         FOR i:= 1 TO 100 DO
         WRITELN( i : 3 )
END.

Пример 2.
Написати програм који штампа табелу природних бројева од 11 до 31, њихових квадрата и кубова.

PROGRAM TEST( INPUT, OUTPUT );
{ TABELA PRIRODNIH BROJEVA, KVADRATI, KUBOVI }
VAR i, x, y : INTEGER;
BEGIN
         FOR i:=11 TO 31 DO
                                 BEGIN
                                          x:=SQR( i );
                                          y:= SQR ( i ) * i;
                                          WRITELN( i, x, y )
                                 END;
END.

Пример 3.
Написати програм који n пута штампа исту реч.

PROGRAM TEST1( INPUT, OUTPUT );
{ STAMPANJE ISTE RECI n PUTA }
VAR i, n : INTEGER;
BEGIN
         WRITELN( ' UNETI BROJ ' );
         READLN(n);
         FOR i:= 1 TO n DO WRITELN('REC')
END.

Одговорити на питања :
1. Шта је циклус и како се реализује ?
2. Из чега се састоји циклус ?
3. Која је улога делова циклуса ?
4. Како се деле циклуси ?
5. Које су карактеристике циклуса ?
6. Написати програм који учитава n бројева и штампа њихов максимум.
7. Написати програм који штампа збир реципрочних вредности квадрата двоцифрених бројева.
8. Написати програм за одређивање суме простих двоцифрених бројева.
9. Написати програм којим се израчунава сума реципрочних вредности првих n природних бројева.
10. Написати програм који учитава природан број n и штампа његове чиниоце.