Zum Inhalt springen

SUCHE Hilfe Pseudocode Aufgabe


Empfohlene Beiträge

Hallo Community!

Im Anhang findet ihr jene Pseudocode Aufgabe.

Wäre toll wenn mir jemand meine Unklarheiten beseitigen könnte.

Nun zu meinen Unklarheiten, hoffe ich bekomme es vernünftig beschrieben.

Also, wie in der Aufgabe beschrieben geht es ja darum das Array "matches" mit Hilfe der Funktion auswerten(Abdruck, Schwelle, Finger) : Match[] zu sortieren bzw. von vornherein auszusortieren und ein final sortiertes Array vom Typ Match als Rückgabewert zurück gibt.

Es gibt leider mehrere Sachen, welche ich nicht so ganz verstehe.

- Als erstes hole ich mir das zu sortierende Array

- im ersten WENN Block wird geschaut ob der Wert in matches[ i ].score < schwelle ist ODER ob der Finger <>(ungleich?) 0 UND matches[ i ].idfinger <> finger ist --> verstehe ich das soweit richtig? Ab ODER verstehe ich es nicht. Da bei Übergabe der Parameter für Schwelle=80 und Finger=2 --> sprich 2 <> 0 true ist --> ergo der Wert aus dem Array gelöscht wird. 

Im Sortierungsblock verstehe ich [j+1] nicht, in meinem Verständnis vom Array (Zeilen = i, Spalte = j) prüfe ich doch bei j=[0] den score Wert mit j+1=[1] den idPerson Wert in der gleichen Zeile für i=[0] --> dies macht doch eigentlich gar keinen Sinn oder? Versteht ihr meinen Gedankengang?

 

Ich wäre total froh darüber wenn mir jemand den Pseudocode erläutern könnte, gern auch privat wenn möglich.

 

LG

 

Patrick

 

 

 

 

 

Bildschirmfoto 2024-04-21 um 11.10.34.png

Bearbeitet von SuperSloth
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe soeben mehrmals versucht die [ i ]  bei matches_.score und _.idfinger einzufügen. Wird aber nicht übernommen.

 

EDIT: Mit einem Leerzeichen zwischen den eckigen Klammern hat es nun doch funktioniert.

Bearbeitet von SuperSloth
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 33 Minuten schrieb SuperSloth:

Im Sortierungsblock verstehe ich [j+1] nicht, in meinem Verständnis vom Array (Zeilen = i, Spalte = j) prüfe ich doch bei j=[0] den score Wert mit j+1=[1] den idPerson Wert in der gleichen Zeile für i=[0] --> dies macht doch eigentlich gar keinen Sinn oder? Versteht ihr meinen Gedankengang?

Behalte im Kopf, dass es kein zweidimensionales Array ist, sondern ein Array mit Objekten, auf dessen Eigenschaften du mit dem Punkt-Operator zugreifst.

Du vergleichst somit die Elemente anhand der ".score" Eigenschaft.

Der rest ist simpler Bubblesort.

Bearbeitet von cmaker
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 42 Minuten schrieb SuperSloth:

- im ersten WENN Block wird geschaut ob der Wert in matches[ i ].score < schwelle ist ODER ob der Finger <>(ungleich?) 0 UND matches[ i ].idfinger <> finger ist --> verstehe ich das soweit richtig? Ab ODER verstehe ich es nicht. Da bei Übergabe der Parameter für Schwelle=80 und Finger=2 --> sprich 2 <> 0 true ist --> ergo der Wert aus dem Array gelöscht wird. 

 

Eine der Anforderungen lautet:

 "-der Finger-Typ bekannt, von dem der Abdruck stammt (Übergabewerte finger bis 10), dann sollen nur Daten zu diesem Finger-Typ in das zurückzugebende Array übernommen werden, z. B. nur Daten zu rechten Zeigefingern (idfinger =2), bei denen eine Übereinstimmung festgestellt wurde."

Schaue noch einmal, ob du da drin die Antwort findest.

 

Tipp:

die Finger Nummern müssen Übereinstimmen, ansonsten kann der gescannte finger herausgenommen werden.

Bearbeitet von cmaker
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb SuperSloth:

Ok, danke für die Hinweise. Ich werde mir nochmal alles zu Arrays mit Objekten zu Gemüte führen und mir alles nochmal in Ruhe durch den Kopf gehen lassen.

In welcher Programmiersprache arbeitest du denn in deiner Firma? Also davon ausgehend, dass du vermutlich FIAE lernst?

Link zu diesem Kommentar
Auf anderen Seiten teilen

@cmaker

Ich habe nochmal drüber nachgedacht und denke verstanden zu haben was die Bedingungen im WENN Block bedeuten.

- aussortieren der Werte welche unter dem Schwellwert liegen (dies von vornherein) ODER Finger <> 0 (1...10 - welcher via Parameter übergeben wurde) UND matches[ i ].idfinger <> finger (Bsp.: matches[ 5 ].idfinger = 3 <> finger = 2 (Wert durch Parameter)

 

Bleibt leider dennoch die Unklarheit beim Bubblesort.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb SuperSloth:

@cmaker

Ich habe nochmal drüber nachgedacht und denke verstanden zu haben was die Bedingungen im WENN Block bedeuten.

- aussortieren der Werte welche unter dem Schwellwert liegen (dies von vornherein) ODER Finger <> 0 (1...10 - welcher via Parameter übergeben wurde) UND matches[ i ].idfinger <> finger (Bsp.: matches[ 5 ].idfinger = 3 <> finger = 2 (Wert durch Parameter)

Bleibt leider dennoch die Unklarheit beim Bubblesort.

Ja, du hast es zumindest richtig erklärt.

Was konkret beim Sortieren verstehst du noch nicht? 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mir fällt es schwer zu konkretisieren.

Du meintest ja, es handle sich nicht um ein zweidimensionales Array sondern um ein Array mit Objekten.

Im SORT sehe ich jedoch nicht die Verwendung der/des Point Operators. Die einzige Idee die ich habe ist, das j in dem Fall nicht für Spalte steht.

Ich habe mir grad ein ganz paar Tabs geöffnet wo ich genug zum lesen habe, hoffe danach es endlich zu begreifen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier siehst du, dass das Array vom Typ Match ist, d.h. es enthält diese Match-Objekte: 

Screenshot_20240421-152325.thumb.png.fb1c90722aa16162c002476337f54d2c.png

Um an die score Eigenschaft zu kommen, wird beim Sortieren z.B. "arr[ j ].score" verwendet - und z.B. mit "arr[ j+1].score" verglichen.

Das aktuelle Element mit dem nächsten. Ist der .score des aktuellen Elements größer als der des nächsten, wird getauscht.

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...