Hallo,
ich bin gerade dabei mir die Programmiersprache von Free Pascal beizubringen, und bin dabei auf folgende Übung gestoßen. Ich habe sie soweit abgeschrieben, doch sie scheint nicht zu funktioniern. Hier ist erstmal die Aufgabe: An einer Schule wird ein Schueler versetzt, wenn er in den Hauptfaechern Deutsch, Mathematik,Englisch, Franzoesisch und Physik keine Note unter "ausreichend" hat. Wenn er nur in einem Fach die Note "mangelhaft" bekommen hat, kann er diese durch ein anderes Hauptfach mit mindestens einer Note "befriedigend" ausgleichen. Sonst wird er nicht versetzt. Der Computer soll nach Eingabe aller Noten ein Zeugnis mit einem entsprechenden Versetzungsvermerk ausgeben.
Mein Programm sieht bis jetzt so aus:
program prog007;
uses crt;
var d, ma, en, fr, ph, ch, bio, g, sp, ku : integer;
versetzt : integer;
anzahl : integer;
{ dabei bedeuten 1 - sehr gut, 2 - gut, 3 - befriedigend,
4 - ausreichend, 5 - mangelhaft, 6 - ungenuegend }
begin
clrscr;
writeln('Geben Sie für die folgenden Fächer die Noten ein: ');
write ('Deutsch: '); readln (d) ;
write ('Mathematik: '); readln (ma);
write ('Englisch: '); readln (en);
write ('Französisch: '); readln (fr);
write ('Physik: '); readln (ph);
write ('Chemie: '); readln (ch);
write ('Biologie: '); readln (bio);
write ('Geschichte: '); readln (g) ;
write ('Sport: '); readln (sp);
write ('Kunst: '); readln (ku);
versetzt := 0; // initialisiert mit 'nicht versetzt'
anzahl := 0;
if (d < 5) and (ma < 5) and (en < 5) and (fr < 5) and (ph < 5)
then versetzt := 1
else begin
if d = 5 then anzahl := anzahl + 1;
if ma = 5 then anzahl := anzahl + 1;
if en = 5 then anzahl := anzahl + 1;
if fr = 5 then anzahl := anzahl + 1;
if ph = 5 then anzahl := anzahl + 1;
if anzahl = 1
then if (d < 3) or (ma < 3) or (en < 3) or (fr < 3) or (ph < 3)
then versetzt := 1;
end;
if versetzt = 1
then writeln(' der Schüler wird versetzt.')
else writeln(' der Schüler wird nicht versetzt.');
end.
So und jetzt zum Problem: Die Noten kann man zwar eingeben, aber die Ausgabe des Ergebnisses funktioniert nicht. Weiß jemand, was da zu tun ist?
Liebe Grüße,
KitteKat
KitteKat Gast |