Zum Inhalt springen

Frage: foreach in Pseudocode


Empfohlene Beiträge

Es gibt im GA 1 der FIAE ja immer so eine aufgabe wo man eine Funktion mit Pseudo code erstellen muss, die Form des Codes ist ja frei und als C# ler schreib ich halt C# pleudo code. Meine Frage ist jetzt darf ich Foreach verwenden?

Folgende Aufgabenstellung (Aus 2010 FIAE GA1)

ImageShack® - Online Photo and Video Hosting

Könnte ich die aufgabe so lösen: (Unabhänig davon ob meien lösung vielleicht noch einen logikfehler enthält

int getVerfuegbaresGeraet(int Gerätetyp, DateTime Entleihbeginn, int EntleihdauerInTagen)

{

foreach(var geraetID in getGeräteListe(Gerätetyp))

{

foreach(var buchungsdat in getResDat(geraetID))

{

if(buchungsdat.vonDat < Entleihbeginn and EntleihdauerInTagen > (buchungsdat.bisDat - Entleihbeginn))

return geraetID;

}

}

return 0;

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was macht foreach, Umwandeln?

foreach macht wie der name schon sagt: Für jedes element X aus Collection Y (hierbei das array das die funktion zurückgegeben hat.

foreach(var geraetID in getGeräteListe(Gerätetyp))

also in diesem beispiel für jede geräteId in dem integer array das getGeräteListe(Gerätetyp) zurückgibt mache einen schleifendurchlauf

und {} steht dort auch nicht für pseudo.

Aus dem Wikipedia artikel von Asgar13:

Im Pascal-Stil werden Schlüsselwörter wie begin, end, then, do, repeat, until benutzt. Im C-Stil werden stattdessen geschweifte Klammern {,} gesetzt und das Schlüsselwort then wird ausgelassen. Dieser Stil wird oft von Programmierern benutzt, die solche Sprachen verwenden. Beide Stile findet man in Lehrbüchern.
Bearbeitet von dein.Tod
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde es so auflösen:

Wiederhole bis Eingabewert = 0

**lese Eingabe

**Speichere Eingabe in geraetID

weil ich meine Sprachen, wie C (nicht C# oder C++) so etwas wie foreach nicht können.

Was hat den gleichen Sinn, wie Pseudocode, natürlich ein Struktogramm, beides soll für verschiedene Programmiersprachen lesbar sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

in der Schule wurde uns gesagt dass sich Pseudocode an keine Regeln halten muss (Ausser das er verständlich sein muss --> nicht in Anlehnung an Whitespace,Brain**** schreiben ;) ).

Eine Foreach-Schleife ist ein gängiges Strukturelement und kann imo auch benutzt werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gegeben sei die Existenz der Klassen Person und Haus, das Array haus, welches Haus-Objekte enthält und die Vorgabe, dass wir hier von einer objektorientierten Programmierung reden.

zwischenwert := 0

für jede Person person in haus

zwischenwert = zwischenwert + person.getAlter()

wenn zwischenwert > 80

Schleife beenden

ende wenn

ende für jede

Eine normale for-Schleife sähe demnach so aus:
für i=0 bis Länge von haus

...

ende für
Teilweise werden dabei auch Datentypen angegeben:
für i:Integer=0 bis Länge von haus

...

ende für

In diesem Fall (wo i nur als Zähler benutzt wird), ist das aber sicher unnötig.

Das wäre in meinen Augen ein verständlicher Pseudocode, der auch von der IHK anerkannt werden sollte.

Soweit ich weiß, könnte man übrigens sehr wohl auch mit Klammern (also { und }) arbeiten. Denn auch das ist absolut verständlich und üblich.

Was meint Ihr?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das kommt ganz auf die Aufgabenstellung an.

In ganz alten Prüfungen war von "Programmablaufplan/Struktogramm" die Rede. Später dann von "PAP oder Pseudocode". Stellenweise dann auch wieder von "Pseudocode oder eine allgemein bekannte Programmiersprache" (oder so ähnlich).

In den Prüfungen der jüngsten Vergangenheit hatte man aber immer die Wahl zwischen PAP und Pseudocode.

Daher würde ich sagen: Pseudocode — auf jeden Fall!

Eine andere Programmiersprache zu benutzten ist riskant und PAPs nehmen meiner Meinung nach zu viel Zeit weg. (Wie alle Aufgaben, bei denen man künstlerisch aktiv sein darf.)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

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

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

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

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...