Programmablauf verstehen

Hallo,

ich bräuchte Hilfe beim Verstehen einer Aufgabe:

Montage
art_nr ver_preis bestand be_quelle
813 157,6 250 F
845 985 175 E
985 335,6 380 F

Zur Ermittlung einer Kennzahl für die Lagerstatistik aus der Montageteile-Datei
wurde das folgende Strukturprogramm erstellt:

ergebnis_1=0
ergebnis_2=0
Datei Montage öffnen
lies den 1. Datensatz

solange Dateiende nicht erreicht
_________________________________________________________
be_quelle= „F“
JA Nein
_________________________________________________________
ergebnis_1=verr_preis * bestand
___________________________________
ergebnis_2=ergebnis_2 + ergebnis_1
___________________________________
lies den nächsten Datensatz
_________________________________________________________________
Ausgabe: ergebnis_2
_________________________________________________________________
Datei Montage schließen

Die Lösung sieht lt. Lösungsbuch so aus:

ergebnis_1 ergebnis_2 satz-nr. ver_preis bestand be_quelle
0 0 1 157,6 250 F
39400 39400 2 985 175 E
39400 39400 3 335,6 380 F
127528 166928 Dateiende! 335,6 380 F
Abbruch und
Ausgabe

Ich verstehe schon die ersten zwei Zeilen nicht. Warum ergebnis_1=0 ergebnis_2=0 ??? Was heisst das?
Die Zeile Datei Montage öffnen lies den 1. Datensatz ist klar
be_quelle =„F“ Ja dann ergebnis_1 = ver_preis * bestand verstehe ich so, wenn be_quelle „F“ dann ver_preis 157,60 * 250
ergebnis_2=ergebnis_2 (welches ergebnis 2) + ergebnis_1

Kann mir jemand diese Aufgabe möglichst „einfach“ erklären?

Vielen Dank :smile:

ergebnis\_1=0 
ergebnis\_2=0 
Datei Montage öffnen 
lies den 1. Datensatz 

 solange Dateiende nicht erreicht 

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 
 be\_quelle= "F" 
 JA Nein

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
 ergebnis\_1=verr\_preis \* bestand 
 \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 

 ergebnis\_2=ergebnis\_2 + ergebnis\_1 
 \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 
 lies den nächsten Datensatz 
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 
Ausgabe: ergebnis\_2 
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 
Datei Montage schließen 






ergebnis\_1 ergebnis\_2 satz-nr. ver\_preis bestand be\_quelle
0 0 1 157,6 250 F
39400 39400 2 985 175 E
39400 39400 3 335,6 380 F
127528 166928 Dateiende! 335,6 380 F
 Abbruch und
 Ausgabe

Hallo alexandra,

bitte benutze doch bei Aufgaben, bei die einzelne Wörter untereinanderstehen sollen, das PRE Tag. Auch ist ein Struktogramm nicht so einfach ohne seitliche Blockbegrenzungen lesbar, da z.B. nicht erkennbar ist, wo der Entscheidungsblock beendet ist. So wie es derzeit steht ist liest das Programm keinen weiteren Datensatz, wenn es ein „E“ Datensatz gelesen hat. Außerdem dürfte in einer Standardsprache das Programm auch nicht wie im Lösungsansatz beschrieben funktionieren, da bereits mit Lesen des dritten Datensatzes ein Dateiende erreicht ist (es sei denn es wäre eine Leerzeile dahinter, diese kann man aber nicht sehen).

Zu Deinen Fragen:
Die Zeilen ergebnis_1=0 ergebnis_2=0 nennt man Initilaisierung von Variablen, da sonst der Rechner beliebige Werte im Memory vorfindet (je nachdem, was vorher für ein programm gelaufen ist).
Das Programm soll die Funktion haben den Wert der einzelnen Lagerpositionen (ergebnis_1) für das Lager F aufzusummieren (ergebnis_2).

MfG Georg V.