W poprzednim poście opisałem algorytm działania programu wystawiającego oceny uczniom. W tym poście chciałbym opisać, jakie usprawnienia dodałem oraz udostępnić ten program.
Dla większej wygody nauczycieli i osób wpisujących oceny, dodałem możliwość wybrania, ilu uczniów będzie ocenianych – program wtedy zapyta się nauczyciela o ucznia nr. n bez konieczności restartowania programu n-1 razy.
Gdyby ktoś chciał dać np. łagodniejsze wymagania dot. oceny, program poda mu także wynik procentowy danego ucznia.
Przy podaniu błędnych informacji (np. dla max. 5 pkt nauczyciel poda informację, że uczeń zdobył 6 pkt. ) program o tym poinformuje.
Kod programu (napisany został w języku Pascal):
program project1;
uses crt , sysutils;
var
a: extended;
b: extended;
c: extended;
i: integer;
n: integer;
begin
i:=1;
Write(’Witaj. Ile uczniow chcesz ocenic? ’);
read(n);
if n=0 then
begin
halt;
end;
Write (’Wpisz maksymalna liczbe punktow mozliwych do zdobycia na kartkowce/sprawdzianie ’);
Read (b);
repeat
begin
Writeln(’Ocenianie ucznia nr. ’ + inttostr(i) );
Write (’Punkty na sprawdzianie ’);
Read (a);
if b=0 then
begin
write (’Nie moglo byc dostepnych 0 punktow na sprawdzianie’);
halt;
end;
if b>0 then
begin
c:=(a/b)*100;
if c<=100 then
begin
Write (’ Wynik to: ’);
Write (c:10:2);
Writeln (’% ’);
end;
if c>=90 then
if c<=100 then
begin
Writeln(’Ocena: 5 ’);
end;
if c>=75 then
if c<=89 then
begin
Writeln (’Ocena: 4 ’);
end;
if c>=50 then
if c<=74 then
begin
writeln (’Ocena: 3 ’);
end;
if c>=30 then
if c<=49 then
begin
writeln (’Ocena: 2 ’);
end;
if c<29 then
writeln (’Ocena: 1 ’);
if c>100 then
begin
Textcolor(2);
Writeln (’Nie da sie miec wiecej niz 100% punktow na sprawdzianie.’);
Write (’ ’);
Textcolor(7);
i:=i-1;
end;
end;
end;
i:=i+1;
until n=i-1 ;
readkey;
end.