Predavanja i vežbe iz računarstva i informatike za učenike gimnazije

Računarstvo i informatika za učenike gimnazije

1. Razred

2. Razred

3. Razred

4. Razred

 

 

Naredba višestrukog grananja - CASE

 



 

Višestruko grananje u Paskalu,  kao što smo već videli,  moguće je izvesti pomoću više if naredbi. Ukoliko se algoritam grana u mnogo grana (više od 4-5) onda se preporučuje realizacija takvog grananja pomoću CASE naredbe. 

Sintaksni dijagram CASE naredbe: (klik na sliku za zum)

Izraz u CASE naredbi naziva se selektor i može biti bilo kog standardnog tipa (celobrojnog, logičkog ili znakovnog) osim realnog.

Napomena: sintaksni dijagram koji je bio na predavanjima nije bio dobar (kompletan). Dakle, u Turbo Paskalu naredba CASE može imati i else deo.

U zavisnosti od vrednosti u selektorskoj promenljivoj izvršiće se naredba koja odgovara konstanti koja je jednaka vrednosti selektorske promenljive. Ukoliko selektorska promenljiva ima vrednost koja nije jednaka ni jednoj od navedenih konstanti, izvršavanje programa je nepredvidivo (u nekim verzijama Paskala) osim ako nije navedena rezervisana reč else i naredba posle te reči. 

primer :

case znak of

'-' : writeln ('odabran je minus');

'+' : writeln ('odabran je plus');

else writeln ('uneti simbol nije ni plus ni minus');

end;

 

Primeri :

 

1. Napisati  algoritam i program kojim se ispisuju moguće vrednosti koordinata x i y zavisno od broja kvadranta koji se unosi

(klik na sliku za zum) 

Program Kvadranti;

  Var broj : integer;

Begin

  writeln (' Unesite broj kvadranta');

  readln (broj);

  case broj of 

    1: writeln (' x i y su veci od nule');

    2: writeln (' x je manje od nule, y je vece od nule');  

    3: writeln (' x i y su manji od nule');

    4: writeln (' x je vece od nule, y je manje od nule');

  end;

End. 


2. Napisati algoritam i program kojim se za učitani celobrojni ugao dat u stepenima, koji može biti veći od 360 stepeni, određuje kvadrant kome pripada.

 

Program Kvadranti2;

  var u : integer;

Begin

  write ('Unesite ugao u stepenima');

  readln(u);

  u:= u mod 360;

  case (u div 90) of

    0: writeln ('Prvi kvadrant');

    1: writeln ('Drugi kvadrant');

    2: writeln ('Treci kvadrant');

    3: writeln ('Cetvrti kvadrant');

  end;

End.

Za vežbu napisati algoritam

 

Za vežbu :

3. Promeniti program iz drugog zadatka tako da učitani ugao sada bude realan broj (npr. 181.234 stepena).

4. Napisati program koji na osnovu rednog broja dana u nedelji ispisuje naziv dana (1- ponedeljak ... 7- nedelja) 

 



 

 

© 2009 Dragoljub Perišić 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 

©2017 Dragoljub Perišić