Funktion MAX

Genau. Allerdings ist in den Aufgaben schon vorgegeben, welche Parameter benutzt werden sollen. Du musst nur noch auf Gültigkeit prüfen.
 
ok das heißt in

A) wäre dann w := max(Feld, 1, 10) liegt drin

B) wäre dann w := max( 4 , 4) ? liegt drin
 
Aufgabe A ist ein wenig trickreich. Deine Antwort gilt nur, wenn Feld[1] = 1 und Feld[10] = 10 ist. Ist das wirklich immer der Fall? Nimm noch einmal das Feld von simpsonsfan und schau, was damit passiert.
 
Ja stimmt, dann wäre w := max(-20,9) und das verletzt den Wertebereich. Also, wie du schon sagst, A gilt nur unter bestimmten Voraussetzungen und ist somit falsch.

B) liegt aber auf jedenfall drin, weil die GRENZE fest definiert ist, und wäre richtig.
 
Bei Aufgabe B ist sowohl von als auch bis angegeben als (GRENZE-1)/2. Das ist ein Term, den man zuvor auflösen muss. Was bekommst du da heraus und liegt das Ergebnis wirklich im Bereich zwischen 1 bis 10, in dem nur Ganzzahlen erlaubt sind?
 
Also ich bekomme da w := max(Feld, 4, 4) heraus, weil div als ganzzahlige Division ohne Rest im Skript erklärt wird. Im Skript steht als Beispiel 7 div 2 = 3.

Auf die Aufgabe B) übertragen GRENZE-1 = 9 => 9 div 2 = 4

Oder ist das falsch?
 
Das passt schon soweit. Damit weißt du über A und B Bescheid und musst noch die restlichen Antwortmöglichkeiten durchgehen.
 
du kannst ruhig viel sagen, umso mehr kann man lernen :)

ok, können wir auch noch die anderen Codeschnipsel durchgehen? (Jetzt will ich auch volle Punktzahl für die Aufgabe;))

Zu C)

übersetzt: wenn max(Feld, 1, 4) > max(Feld, 5, 10) dann w := max(Feld, 1, 4) sonst w := (Feld, 5, 10).

bedeutet: w := max(Feld, 5, 10) und das ist wahr.
 
Ich möchte nur nicht gegen die Forumsregel https://www.computerbase.de/forum/threads/fragen-hausaufgaben-co.1767679/ verstoßen, daher will ich nicht einfach die Lösung hinklatschen. Du kannst aber gerne deine Gedanken/deine Lösung nennen und wir können darüber reden.

Das Einsetzen der Parameter hast du schon mal richtig gemacht. Ist dir da in der letzten Zeile ein Tippfehler unterlaufen?
bedeutet: w := max(Feld, 5, 10) und das ist wahr.
Die Schlussfolgerung passt so noch nicht ganz.
 
Die Parameter in C sind alle gültig, das stimmt. Ob jetzt der größte Wert zwischen 1 und 4 oder 5 und 10 liegt, hängt wiederum vom Feld ab.
 
Bei der Aufgabe vergleichst du nicht den Funktionsaufruf, sondern was die Funktion dir als Ergebnis zurückliefert. Nimm nochmal das Feld von simpsonsfan und such darin innerhalb der ersten vier Stellen nach dem Maximalwert und dann nochmal innerhalb der Stellen 5 bis 10. Das macht die Funktion max und das ist, was von und bis bedeuten.
 
Du hast es eigentlich schon hingeschrieben. Für ein gegebenes Array Feld werden bei C drei Funktionsaufrufe getätigt, nämlich zunächst im Vergleich max(Feld, 1, 4) und max(Feld, 5, 10) und dann abhängig vom Ergebnis des Vergleichs entweder nocheinmal max(Feld, 1, 4) oder nochmal max(Feld, 5, 10). In allen Fällen sind die Parameter von und bis im Bereich zwischen einschließlich 1 und 10, d.h. hier wird es zu keinen Problemen kommen, egal, welche Einträge Feld tatsächlich hat.

Edit: Die Frage nach der Schlussfolgerung ist jetzt gar nicht unbedingt Teil der Aufgabe, denn da ist es ja nur wichtig, ob die Aufrufparameter gültig sind.
Es schadet aber nicht, wenn du dir noch mal überlegst, welches w als Endergebnis bei C rauskommt.

Edit2: @Nase Wie schaffst du es eigentlich, immer auf die Minute genau gleichzeitig mit mir zu antworten, du Nase ;-)
 
Zuletzt bearbeitet:
Jip, stimmt.

D) verstehe ich nicht so, wir haben auf jedenfall wieder w := max(1, 10) also dürfte es zu keinen Problemen kommen oder?
 
Und was steht bei D in der dritten Zeile?
 
Bizepsbenny schrieb:
w ist ja maximal 10.

Darüber müsstest du noch einmal nachdenken. Schau auch ruhig nochmal in Aufgabe C, wie simpsonsfan eben schrieb.


@simpsonsfan: Ich überlass dir jetzt den Vortritt ;D
 
Du musst das Schritt für Schritt durchgehen. Welchen Wertebereich kann w nach der ersten Zeile einnehmen? Unter welchen Bedingungen wird dann fortgefahren? Und mit welchen Werten von w könnte in der dritten Zeile die Funktion aufgerufen werden?

Edit: @Nase Ne Quatsch, wieso denn? Zu dritt ist die Unterhaltung doch viel lebhafter.
 
Also nach meinem Verständnis kann w nach der ersten Zeile nur 10 sein, da GRENZE als 10 definiert ist.
 
Zurück
Oben