Pastaba kadangi užduotis reikalauja funkcijos tai ji savo ruožtu turėtų kažką gražint todėl apsibrėžiau tipa zemynai, ir dar funkcija turi atsakyti į klausimą, tai case teko išplėsti į išvedimą ir funkcijos reikšmės grąžinimą. Atrodo gal ir gremesdiškai, bet apibrėžtas vardinis tipas
fps uzduotis
Programuotojų kampas
Atrašyta
Tema gana sena, tačiau neseniai pats gavau šį uždavinį su tema vardinis tipas, tai mano variantas būtų
Function kur(x:valstybes):zemynai;
var val:valstybes;
n:integer;
begin
n:=50;//apsidrauziam jei nerastu
for val:=Prancuzija to Gajana do //nuo pirmojo eiles numerio iki paskutiniojo
if x=val then begin n:=ord(val); break; end;/*jei randama valstybe, grazinamas eiles numeris ord(val)*/
case(n div 10) of //kadangi miestu po 10 ir jie surikiuoti pagal valstybes, tai 0-9 eiles nr bus Europa ir t.t.
0: begin writeln(‘Europoje‘); kur:=Europa; end;
1: begin writeln(‘Azijoje‘); kur:=Azija; end;
2: begin writeln(‘Afrikoje‘); kur:=Afrika; end;
3: begin writeln(‘Siaures Amerikoje‘); kur:=Siaures_Amerika; end;
4: begin writeln(‘Pietu Amerikoje‘); kur:=Pietu_Amerika; end;
end;
end;
Programa patikrinimui ir tipo apibrėžimas atrodytų
type valstybes=(Prancuzija, Ispanija, Italija, Graikija, Olandija, Lietuva, Latvija, Estija, Lenkija, Slovakija,
Rusija, Irakas, Turkija, Kinija, Japonija, Taivanas , Filipinai, Indija, Vietnamas, Pakistanas,
Senegalas, Nigerija, Gana, Tunisas, Marokas, Egiptas, Kongas, Uganda, Etiopija, Burundis,
Kanada, JAV, Meksika, Belizas, Gvatemala, Honduras, Salvadoras, Nikaragva, Kostarika, Panama,
Argentina, Bolivija, Brazilija, Ekvadoras, Kolumbija, Paragvajus, Peru, Ugugvajus, Venesuela, Gajana);
zemynai=(Europa, Azija, Afrika, Siaures_Amerika, Pietu_Amerika);
var val,x:valstybes;
zem:zemynai;
begin
val:=Rusija;
zem:= kur(val);
end.
Pastaba kadangi užduotis reikalauja funkcijos tai ji savo ruožtu turėtų kažką gražint todėl apsibrėžiau tipa zemynai, ir dar funkcija turi atsakyti į klausimą, tai case teko išplėsti į išvedimą ir funkcijos reikšmės grąžinimą. Atrodo gal ir gremesdiškai, bet apibrėžtas vardinis tipas