Naredba Case Višestruko grananje
Naredbe grananja omogućavaju da se odabere izvršavanje jednog dela programa u zavisnosti od ispunjenja određenih uslova. – Naredba case služi za izbor jedne naredbe (ili nekoliko naredbi) iz skupa od nekoliko mogućih, a na osnovu vrednosti nekog izraza. – Naredba case se može prikazati preko naredbe if, a svaka naredba if se može opisati pomoću naredbe case.
Opšti oblik naredbe case : case s of c1: naredba1; c2: naredba2; … ck: naredbak end; ili case s of c1: naredba1; c2: naredba2; … ck: naredbak else naredba end; S –separator naredbe (može biti i izraz) C1, c2, ..., ck –moguća vrednost separatora (konstanta) Naredba1, naredba2,... Naredba koja se izvršava kada je vrednost separatora jednaka mogućoj vrednosti
Primer1 : Na osnovu brojčane ocene prikazati opisnu ocenu Promenljiva O u programu predstavlja brojčanu ocenu Ona može biti: 1, 2, 3, 4, 5 (konstante) Neka se opisna ocena prikazuje u Edit kontroli na formi sa imenom Opisna.text Izgled naredbe Case bi bio:
procedure TForm1.Button1Click(Sender: TObject); Var o:integer; begin o:=strtoint(bo.text); case o of 1: opisna.text:='nedovoljan' ; 2: opisna.text:='dovoljan'; 3: opisna.text:='dobar'; 4: opisna.text:='vrlo dobar'; 5: opisna.Text:='odlican'; else opisna.text:='niste uneli dobru ocenu'; end;
primer 2: intervali vrednosti case brojbodova of 0..60: Editpt.text:= ‘nisi polozio test!’; 61..70: Editpt.text:= ‘dovoljan – 2!’; 71..80: Editpt.text:= ‘dobar – 3!’; 81..90: Editpt.text:= ‘vrlo dobar – 4!’; 91..100: Editpt.text:= ‘odlican – 5!’; end;
Primer 3. Na osnovu zadatog broja meseca , prikazati broj dana (unosi se broj meseca i indikator prestupne godine) m- broj meseca koji zadajemo I- Indikator prestupne godine (1-prestupna, 2-nije prestupna) Case m of 1,3,5,7,8,10,12: Edit.text:=‘31 dan’; 4,6,9,11: Edit1.text:=‘30 dana’; 2: begin if I=1 then Edit1.text:=‘29 dana’ Else Edit1.text:=‘20 dana’; End;