Finde Syntax Error nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Finde Syntax Error nicht

    Hallo,

    ich hab mich schon sehr lange nicht mehr mit Pascal beschäftig muss jetzt aber ein kleines Programm schreiben. Also hab ich mich wieder ein wenig damit beschäftigt und folgendes Programm geschreiben. (Große Teile sind aus einem Lehrbuch entnommen)

    Quellcode

    1. PROGRAM gebtag;
    2. {Gebtagpara}
    3. USES crt;
    4. VAR k, person, geb_tag, gem_geb_tag: integer;
    5. n, m, simulation : longint;
    6. h : real;
    7. anzahl : array[1...365] of integer;
    8. BEGIN
    9. clrscr; randomize;
    10. writeln, writeln;
    11. write ('Anzahl der Personen: '); readln(k);
    12. write ('Anzahl der Simulationen: '); readln(n);
    13. m:=0;
    14. FOR simulation:=1 TO n DO
    15. BEGIN
    16. FOR geb_tag:=1 TO 365 DO anzahl[geb_tag]:=0; gem_geb_tag:=0;
    17. FOR person:=1 TO k DO
    18. BEGIN
    19. geb_tag:=random(365)+1;
    20. anzahl[geb_tag]:=anzahl[geb_tag]+1;
    21. IF anzahl[geb_tag]>1 THEN gem_geb_tag:=1
    22. END;
    23. IF gem_geb_tag=1 THEN m:=m+1
    24. END;
    25. h:m/n;
    26. writeln; writeln;
    27. writeln('Die rel.Häufigkeit, dass unter ', k/2, 'Personen mindestens');
    28. writeln('zwei am selben Tag Geburtstag haben, ist ',h:4:3, '.');
    29. readln
    30. END.
    Alles anzeigen


    Ich benutze unter WindowsXP Home Free Pascal.
    Wenn ich jetzt auf "Compile" klicke kommt folgende Fehlermeldung:
    [Blockierte Grafik: http://img171.imageshack.us/img171/4535/untitled1ll9.jpg]
    Ich find selbst keinen Fehler :(.
    Wie gesagt, große Teile des Programms sind aus einem Lehrbuch, deswegen wundere ich mich auch dass Fehler beim Kompilieren auftreten.
    Ich hoffe ihr könnt mir helfen.
  • Danke, hab das verbessert. Und noch einen Fehler verbessert.
    Der Code sieht jetzt so aus:


    Quellcode

    1. PROGRAM gebtag;
    2. {Gebtagpara}
    3. USES crt;
    4. VAR k, person, geb_tag, gem_geb_tag: integer;
    5. n, m, simulation : longint;
    6. h : real;
    7. anzahl : array[1..365] of integer;
    8. BEGIN
    9. clrscr; randomize;
    10. writeln; writeln;
    11. write ('Anzahl der Personen: '); readln(k);
    12. write ('Anzahl der Simulationen: '); readln(n);
    13. m:=0;
    14. FOR simulation:=1 TO n DO
    15. BEGIN
    16. FOR geb_tag:=1 TO 365 DO anzahl[geb_tag]:=0; gem_geb_tag:=0;
    17. FOR person:=1 TO k DO
    18. BEGIN
    19. geb_tag:=random(365)+1;
    20. anzahl[geb_tag]:=anzahl[geb_tag]+1;
    21. IF anzahl[geb_tag]>1 THEN gem_geb_tag:=1
    22. END;
    23. IF gem_geb_tag=1 THEN m:=m+1
    24. END;
    25. h:m/n;
    26. writeln; writeln;
    27. writeln('Die rel.Häufigkeit, dass unter ', k:2, 'Personen mindestens');
    28. writeln('zwei am selben Tag Geburtstag haben, ist ',h:4:3, '.');
    29. readln
    30. END.
    Alles anzeigen


    Jetzt gibts "nur" noch einen Fehler, nämlich:

    Syntax Error, ";" expected but ":" found


    Irgendwo fehlt wohl ein ";".
    Ich weiß nur nicht wo.

    Edit: Hab den Fehler gefunden. Danke
    Bei h:=m/n fehlte das =