rozšiřte tento program tak, aby testoval, zda student nepropadl
všimněte si vcelku elegantního využití pomocné proměnné zde označené jako NE: na vyznamenání musíte současně splnit tyto podmínky: průměr do 1,5 včetně a zároveň žádná trojka či horší
do proměnné NE se ukládá každé porušení předchozích podmínek, pro udělení vyznamenání musí být NE rovno nule, tak jak bylo nastaveno na začátku
program vysvedceni;
uses crt;
var ne, anglina, matyka, cestina, nemcina, klavesa:integer;
prumer: real;
procedure dotaz_cj;
begin
writeln ('co si dostal s cetyny?');
readln (cestina);
end;
procedure dotaz_nj;
begin
writeln ('co si dostal s nemcyny?');
readln (nemcina);
end;
procedure dotaz_aj;
begin
writeln ('co si dostal s ajyny?');
readln (anglina);
end;
procedure dotaz_m;
begin
writeln ('co si dostal s matyky?');
readln (matyka);
end;
procedure vyznamenani;
begin
writeln ('ty vogo vzornak s vyznamenanim, prumer ma ',prumer);
end;
procedure prospel;
begin
writeln ('ty voo debil prospel, ale bez vyznamenani, prumer ma ',prumer);
end;
procedure vysledek;
begin
prumer:=(cestina+anglina+nemcina+matyka)/4;
if prumer>=1.5 then ne:=ne+1;
if cestina>=3 then ne:=ne+1;
if nemcina>=3 then ne:=ne+1;
if anglina>=3 then ne:=ne+1;
if matyka>=3 then ne:=ne+1;
if ne=0 then vyznamenani else prospel
end;
BEGIN
repeat
ne:=0;
dotaz_cj;
dotaz_nj;
dotaz_aj;
dotaz_m;
vysledek;
writeln ('pokracovat 1/0?');
readln (klavesa);
until klavesa<>1
END.
...a řešení úkolu from D. Č.:
program vysvedceni;
uses crt;
var ne, anglina, matyka, cestina, nemcina, neprospel, klavesa:integer;
prumer: real;
procedure dotaz_cj;
begin
writeln ('co si dostal s cetyny?');
readln (cestina);
end;
procedure dotaz_nj;
begin
writeln ('co si dostal s nemcyny?');
readln (nemcina);
end;
procedure dotaz_aj;
begin
writeln ('co si dostal s ajyny?');
readln (anglina);
end;
procedure dotaz_m;
begin
writeln ('co si dostal s matyky?');
readln (matyka);
end;
procedure vyznamenani;
begin
writeln ('ty vogo vzornak s vyznamenanim, prumer ma ',prumer);
end;
procedure prospel;
begin
writeln ('ty voo debil prospel, ale bez vyznamenani, prumer ma ',prumer);
end;
procedure neudelal;
begin
writeln ('neprospel, nejvetsi dement,prumer ma ',prumer);
end;
procedure vysledek;
begin
prumer:=(cestina+anglina+nemcina+matyka)/4;
if prumer>=1.5 then ne:=ne+1;
if cestina>=3 then ne:=ne+1;
if nemcina>=3 then ne:=ne+1;
if anglina>=3 then ne:=ne+1;
if matyka>=3 then ne:=ne+1;
if prumer>=1.5 then ne:=ne+1;
if cestina>=5 then ne:=ne+1000;
if nemcina>=5 then ne:=ne+1000;
if anglina>=5 then ne:=ne+1000;
if matyka>=5 then ne:=ne+1000;
if ne=0 then vyznamenani;
if ne>=1000 then neudelal else prospel;
end;
BEGIN
repeat
ne:=0;
dotaz_cj;
dotaz_nj;
dotaz_aj;
dotaz_m;
vysledek;
writeln ('pokracovat 1/0?');
readln (klavesa);
until klavesa<>1
END.
Žádné komentáře:
Okomentovat