Pascal Problem bei Schulaufgabe 2

Sir Gollum

Lieutenant
Registriert
Aug. 2007
Beiträge
542
Hi,
da ja mein erster Thread geshclossen wurde muss ich meine Frage bzw. Problem hier reinschreiben.

Zitat aus dem alten Thread:
"Hallo,
also ich habe ein Problem undzwar sollen wir als AUfgabe 200 Zensuren festlegen, danach die einsen, zweien usw zählen lassen. Danach den Durchschnitt der ersten 100 Zensuren ausrechnen lassen und danach von allen. So nun kommt das Problem wir sollen diese 200 Zahlen nach Tagen einordnen das heisst die erste Zensur wurde am Montag vergeben die 2te am Dienstag die 3te am Mittwoch usw und dann halt die 6te wieder Montag usw. Das ist das Problem ich wiess einfach nich wie ich das machen soll Hoffe ihr könnt mir helfen."

So ich habe soweit alles gelöst! Ausser das mit der einordnung der Tage habe ich bis jetzt nur halb hinbekommen. Ich habe jetzt i (das ist die variable wo ich die 200 Zahlen festgelegt habe) mit mod durch 5 geteilt. So da bleibt ja immer ein rest. Bei der ersten Rest 1, bei der Zweiten Rest 2 usw. Bei Nummer 6 ist ja der Rest wieder 1 usw usw. Nun weiss ich nur nicht wie ich die Noten, wo bei dem Teilen mit mod, eine 1, 2 usw rauskommt. Jeweils zusammen addierenn kann. Ich hoffe dieser Thread wird nicht wieder geschlossen. Ich hoffe auf eine Antwort die mir hilft. Sie soll mit nur helfen und nicht die gesamte Aufgabe lösen. Danke
 
Die Frage ist als erstes mal, was du genau haben willst?!
Einen Prgrammablaufplan?

Zum anderen ist der Sinn und Zweck von Hausaufgaben natürlich, dass man sie selbst erledigt...
 
Na theoretisch ich soll den Durschnitt an Montagen,Dienstagen usw ausrechnen diese dann ausgeben, das ist kein Problem also das Ausgeben. So und wie gesagt ich bräuchte halt nur eine kleine Hilfe sonst hab ich wirklich alles gemacht, aber ich komme da nicht weiter. Verbal kann ich es ja ausdrücken ,ich weiss halt nur nicht wie ich es in Pascal schreiben soll. Und der Sinn von HA`s ist mir auch klar, wie gesagt ich hab das davor alles selber gemacht, aber wenn man nicht weiter kommt darf man doch noch fragen oder.......?
 
entweder du baust dir ein 2 dimensionales array und fügst dort die noten ein (sprich: noten[tag][index]) oder du arbeitest einfach mit stringlisten (je nachdem wieviel erfahrung du schon darin hast). dann hast du für jeden tag eine notenliste und diese kannst du zum schluss noch zusammenzählen.

oder du gehst einen anderen weg (ohne zwischenspeicherung der noten an jedem tag):
nimm dir 5 variablen (oder ein array), in welchem du die noten addierst und zuletzt den durchschnitt von jedem tag berechnest.
 
Also wenn dann würde ich lezteres nehmen, das andere hab ich noch nie gehört.... Aber das Problem ist die Zensuren wurden durch den Zufallsgenerator festgelegt und in ein array geschrieben. Dieses Array besteht aus 200 Plätzen das heisst an jedem Platz ist eine Note. Das müssen wir so machen. So dann habe ich mir gedacht wenn ich jeden platz durch 5 Teile entsteht ja immer ein Rest, siehe oben. Dieser Rest wiederholt sich dann alle 5 Plätze, somit kann ich das ertsmal grob abgrenzen. Aber wie kriege ich es hin die Zahlen, die in einem Platz sind der bei der division durch 5 Rest 1 ergebibt z.B., zu addieren. Das ist das Problem wa sich habe :(
 
Sir Gollum schrieb:
Aber wie kriege ich es hin die Zahlen, die in einem Platz sind der bei der division durch 5 Rest 1 ergebibt z.B., zu addieren. Das ist das Problem wa sich habe :(
dann nimm wie du gemeint hast die letzte variante mit den 5 variablen. die abfolge dabei ist eigentlich recht simpel, da du ja schon den ansatz ohne probleme hinbekommen hast, wobei die umsetzung noch einfacher ist. vielleicht mal ein stück code zur veranschaulichung (ich hoffe ich bekomm die pascal syntax noch richtig zusammen ;)):
Code:
if note mod 5 = 1 then montag := montag + note;
else if note mod 5 = 2 then dienstag := dienstag + note;
else if note mod 5 = 3 then mittwoch := mittwoch + note
am rest siehst du dabei doch, um welchen tag es sich handelt. frage also genau diesen rest ab und addiere dann die note zum entsprechenden tag.
 
OMG vielen dank..... da fühl ich mich ja richtig dumm -.- . Vielen vielen vielen Dank.
 
vielleicht um es kurz zu fassen, könntest du auch mit einem array arbeiten. dann brauchst du die lästigen if-abfragen nicht, sondern kannst einfach über die rückgabe den index ansprechen.
Code:
tage[note mod 5] := tage[note mod 5] + note;
 
Zurück
Oben