Zadání:
Sestavte program, který určí, kolik ze tří zadaných hodnot je stejných.
Řešení:
Postupně porovnáváme dvě čísla, podle rovnosti či nerovnosti větvíme program následnými podmínkami.
Proměnná pocet slouží pro evidenci shod, na závěr je vyhodnocena příkazem case.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a,b,c,pocet:integer;
begin
writeln('Zadejte prvni celociselnou hodnotu:');
readln(a);
writeln('Zadejte druhou celociselnou hodnotu:');
readln(b);
writeln('Zadejte treti celociselnou hodnotu:');
readln(c);
if a=b then
if b=c then pocet:=3
else pocet:=2
else
if a=c then pocet:=2
else
if b=c then pocet:=2
else pocet:=0;
case pocet of
0: writeln('Hodnoty si nejsou rovny');
2: writeln('Dve hodnoty jsou si rovny');
3: writeln('Vsechny hodnoty jsou si rovny');
end;
readln;
end.
program ke stažení
Pro studenty:
Není vhodné porovnávat všechny tři čísla najednou, např.:
if (a=b) and (a=c) then writeln('Vsechny cisla rovna');
if (a=b) and (b<>c) and then writeln('Dve cisla rovna');
if (a<>b) and (b=c) and then writeln('Dve cisla rovna');
if (a=c) and (b<>c) and then writeln('Dve cisla rovna');
.
.
.
Variant je mnoho a většinou se stane, že autor programu na nějakou zapomene.