Jump to content

Empfohlene Beiträge

Hallo zusammen!

Ich bin nicht besonders gut in Pseudocode schreiben und würde euch bitten, meine aktuelle Aufgabe zu bewerten bzw. alternative Lösungsmöglichkeiten oder Korrekturvorschläge anzubieten... oder mir zu sagen, ob es überhaupt als Pseudocode durch geht :D 

Die Aufgabe lautet:

image.thumb.png.b6d0d0222c6a80f908491b447db0772b.png

Ich habe dazu etwas zusammen geschrieben und bin damit echt unsicher :( ... im Prüfungsfall achte ich natürlich auf Groß- und Kleinschreibung etc., habe das jetzt mal schnell im Editor nicht gemacht

aktuellezeilefehlerarray = 0
aktuellezeileliste = 0
schleife array durch reihen bis letzte reihe
    schleife array durch spalten bis letzte spalte
        wareid = wert an spalte 0 der aktuellen reihe
        regalnr = wert an spalte 1 der aktuellen reihe
        ebennr= wert an spalte 2 der aktuellen reihe
        fachnr = wert an spalte 3 der aktuellen reihe
        
        fahreregalan(regalnr)
        fahreebenean(ebenenr)
        fahrefachan(fachnr)
        
        pruefeware(wareid)

        wenn pruefeware = true
            entnehmeware(regalnr, ebenenr, fachnr)
        else
            kopierezeile(liste, fehler, aktuellezeileliste, aktuellezeilefehlerarray)
            aktuellezeilefehlerarray++
        aktuellezeileliste++
    ende schleife
ende schleife

Was könnt ihr mir für Tipps geben? Bitte lieb sein, hab es versucht :( 

Liebe Grüße,

Mascha

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Sieht erstmal gut aus. Ich finde es etwas ungewöhnlich, sich in Pseudocode so weit von "echtem" Code zu entfernen, aber das ist an sich legitim. Ein paar Kleinigkeiten:

Du rufst zwar die Methode pruefeware(...) auf, merkst dir die Antwort aber nirgends. Mag sein, dass das bei den Prüfern so durchgeht, ich hätte erwartet, dass du eine Variable deklarierst, in der du dir das Ergebnis merkst (die du dann in der Bedingung drunter benutzt).

Du könntest dir das manuelle Hochzählen von "aktuellezeileliste" sparen, wenn du eine Schleife mit Index gewählt hättest.

Ganz kleine Kleinigkeit (auf keinen Fall ein Fehler): Ich würde die Schleifenvariable nicht "Reihe" nennen, sondern "Zeile" - das ist geläufiger.

Ich finde es aber z.B. gut, dass du den Spaltenwerten sprechende Namen gibst (wareid, ...). Das macht das ganze übersichtlicher.

bearbeitet von arlegermi

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Kann man sich die Zweite Schleife nicht sparen? ich hätte die Aufgabe jetzt so gelöst:

 

entnehmeWaren(liste)
    aktuellezeilefehlerarray = 0
    für int i = 0 solange i < liste länge
        wareid = liste[i][0]
        regalnr = liste[i][1]
        ebennr= liste[i][2]
        fachnr = liste[i][3]
        
        fahreregalan(regalnr)
        fahreebenean(ebenenr)
        fahrefachan(fachnr)
        
        wenn pruefeware(wareid) = true dann
            entnehmeware(regalnr, ebenenr, fachnr)
        sonst
            kopierezeile(liste, fehler, i, aktuellezeilefehlerarray)
            aktuellezeilefehlerarray++
    ende schleife
ende entnehmeWahren(liste)

wäre das so auch richtig?

 

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Für mich sieht es sogar so aus, dass die zweite Schleife falsch ist und jetzt deine Lösung richtig ist.

Die zweite Schleife macht ja keinen Sinn. Sie durchläuft ja nun die Spalten der Zeilen aber das ist nicht nötig, da die Spalten über einen Index angesprochen werden.

Du könntest aber die Zeilen:

kopierezeile(liste, fehler, i, aktuellezeilefehlerarray)
aktuellezeilefehlerarray++

in:

kopierezeile(liste, fehler, i, aktuellezeilefehlerarray++)

ändern. Das hat den selben Effekt, da das Doppel-Plus eine Post-Inkrement-Operation ist. D.h. es wird nach dem Abrufen des Wertes dieser inkrementiert.

bearbeitet von Whiz-zarD

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Nimm an der Diskussion teil

Du kannst jetzt hier posten und Dich später registrieren. Wenn Du bereits über eine Konto verfügst, melde Dich jetzt an, um mit Deinem Konto zu posten.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung