Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren)



  • Genau das ist es! 😃
    Ich habe schon gegoogelt ob ich was ähnliches finde aber nichts... hab mich schon gewundert weil meistens sind solche Aufgaben ja weiter verbreitet.

    Hab quasi die Programmstruktur fertig bis auf die formeln f1(x), f2(x), f3(x).

    Schon traurig wenn man so langsam anfängt mit Sockets und Multithreading umzugehen aber bei sowas erstmal auf dem Schlauch steht! 🤣

    Ich werde mal mein Schulwissen auskramen und hoffentlich auf die jeweiligen Funktionen kommen.

    Danke schon mal für den Wink in die Richtung. Hatte es quasi in der Überlegung soweit gebracht aber bin nicht auf die Idee gekommen mir tatsächlich Funktionen zu errechnen. 😉

    Edit: Oops da hab ich wohl ausversehend nicht unter deinem Kommentar kommentiert @SeppJ . Anfängerfehler.



  • Schulwissen ist hier nicht nötig, sondern Wissen über die Operatoren von C++. Es sei denn, == ist auch verboten.



  • @bashar Da hier Strukturen wie if, else, case, ?-Operator etc. verboten sind, wüsste ich nicht, wie man einen Vergleich machen sollte. Wenn du ein Beispiel hast, dann würde ich mich natürlich freuen. 😉

    Wie geschrieben geht es um eine mathematische Lösung in Teilsummen und keine die einen Wert vergleicht.

    Danke für deine Antwort.



  • x == 1



  • Der "Trick" dabei ist, daß ein boolscher Wert dabei automatisch in eine Zahl konvertiert wird:

    • false -> 0
    • true -> 1

  • Mod

    @th69 sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    Der "Trick" dabei ist, daß ein boolscher Wert dabei automatisch in eine Zahl konvertiert wird:

    • false -> 0
    • true -> 1

    Da braucht man nicht zu tricksen. Beim letzten mal, als diese Aufgabe hier im Forum auftauchte (vor genau 12 Monaten, was ein Zufall 🙂 ), war es nicht erlaubt, mit dem ==-Operator zu tricksen. Es wird ja wohl hoffentlich jeder Stundent hinbekommen, eine Funktion aufzustellen, die bei x=2 und x=3 eine Nullstelle hat, und bei x=1 den Wert 1 hat.



  • @seppj sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    @th69 sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    Der "Trick" dabei ist, daß ein boolscher Wert dabei automatisch in eine Zahl konvertiert wird:

    • false -> 0
    • true -> 1

    Da braucht man nicht zu tricksen. Beim letzten mal, als diese Aufgabe hier im Forum auftauchte (vor genau 12 Monaten, was ein Zufall 🙂 ), war es nicht erlaubt, mit dem ==-Operator zu tricksen. Es wird ja wohl hoffentlich jeder Stundent hinbekommen, eine Funktion aufzustellen, die bei x=2 und x=3 eine Nullstelle hat, und bei x=1 den Wert 1 hat.

    @seppj Könnte vlt am Semesteranfang liegen. 😉
    Habs gelöst bekommen alles gut!

    3 Parabelfunktionen aufzustellen war jetzt nicht wirklich ein Problem. Im Gegenteil. War mal schön endlich eine praktische Anwendung zu haben. 😉 👍🏻

    Boolesche-Werte zu benutzen ist soweit ich weiß auch nicht gestattet, da sie im Stoff noch nicht durchgenommen wurden (auch wenn mans kennt und kann darf mans nicht verwenden 😖 ). Vergleiche mittels "==" gabs auch noch nicht.



  • Also wenn hier wirklich erwünscht ist mit Polynomen o.ä. rumzufummeln, dann halte ich die Aufgabe für komplett plem. Wenn der Herr Lehrer/Dozent/Prof/... das so will macht man es natürlich, klar. Ich find's aber doof, weil man so einfach nicht programmiert. (Bzw. nur, wenn man quasi keine Andere Wahl.) Und da "unlearning" schwerer ist als "learning", hilft es da auch nur begrenzt viel wenn der Lehrer/Dozent/Prof/... in der nächsten Stunde/Vorlesung/... dann erklärt dass man sowas auf keinen Fall im Echten Leben (tm) macht.

    Ansonsten fällt mir ausser Vergleichsoperatoren und Funktionen mit den gewünschten Nullstellen die man sich aus dem H...ut zieht auch nix mehr ein. Zumindest nix was besser wäre.

    Wobei... anstelle eines Polynoms könnte man, falls ihr den Operator schon durchgemacht habt, auch XOR verwenden. Sowas wie ((x - k) ^ INT_MIN) / INT_MIN (unter der Annahme dass x und k vom Typ int sind). Dann käme wenigstens zuverlässig Null raus - statt irgendeinem Bullshit-Wert - wenn der Benutzer einen unerwarteten Wert eingibt.



  • @hustbaer sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    Also wenn hier wirklich erwünscht ist mit Polynomen o.ä. rumzufummeln, dann halte ich die Aufgabe für komplett plem.

    Wenn es nur darum geht, eine Programmiersprache zu lernen, dann ja. Als allgemeine Aufgabe für angehende Informatiker finde ich die aber gar nicht so schlecht, da damit diverse "Informatikermuskeln" trainiert werden 😉



  • @hustbaer sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    Ich find's aber doof, weil man so einfach nicht programmiert.

    Also ehrlich, wer ernsthaft glaub, dass man so programmieren soll, der hat da (Uni? schätze ich) auch wirklich nichts verloren.
    Ziel ist offenbar nicht ein tolles Programm zu schreiben, sondern eine kreative Lösung zu finden.
    Gute Aufgabe.



  • Also nachdem das offenbar im selben Kurs ist wie der wo sie die Programmiersprache ansich lernen, finde ich es fragwürdig.

    @jockelx sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    Also ehrlich, wer ernsthaft glaub, dass man so programmieren soll, der hat da (Uni? schätze ich) auch wirklich nichts verloren.

    Totschlagargument.



  • @hustbaer sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    Totschlagargument.

    Wenn du das sagst.
    Wobei du kein MINT-Fach studiert hast und ich es dann schon etwas komisch finde, dass du genau weisst, was man Studenten zumuten kann.



  • @Jockelx
    Wo meine ich denn genau zu wissen was man Studenten zumuten kann? Der der meint das genau zu wissen bist du.
    Davon abgesehen: du kannst komisch finden was du willst.

    ps: Woher weisst du überhaupt dass ich kein MINT-Fach studiert habe?



  • Um meine Meinung als der Betroffene dieser Aufgabe nochmal abschließend kund zu tun:

    Ich finde die Aufgabe jetzt nicht schlecht. Natürlich geht es hier nicht um eine wirkliche Programmieraufgabe aber ich denke der Prof. kann den Studenten so auch ein bisschen Dankbarkeit und Sinnhaftigkeit der entsprechenden Auswahlmethoden beibringen. Erst wenn man weiß wie sch**** es ohne ist und was dahiner steckt lernt man es zu schätzen.

    Die Aufgabe wurde von mir nun erfolgreich bearbeitet, Praktikum bestanden und in der nächsten Vorlesung haben wir nun if/else und switches abgearbeitet.

    Ich erwarte ehrlich gesagt auch vom Professor, dass er auch solche Kniffeleien mit einbaut. Wenn ich nur anwenden wollen würde, dann hätte ich mich wohl eher für eine reine Ausbildung entschieden (nichts gegen eine Ausbildung aber im Studium erwarte ich nun mal auch eine gewisse Art des Aufgabenmobbings :D). Alle anderen Aufgaben sind ansonsten übrigens SEHR Anwendungsbezogen mit sehr realistischen Anwendungsmöglichkeiten.



  • @seppj sagte in Auswahl ohne Kontrollflusskonstrukte (kein if, case, ? - Operatoren):

    Dass die immer noch in Benutzung ist. So wirklich viel über Programmierung lernt man da nicht. Das ist eher ein Matherätsel ohne tiefere Relevanz.

    ...

    Statt eine komplizierte Funktion zu basteln, würde ich hier übrigens einfach ein Array definieren, da einfach die Werte reinbasteln und dann den Wert am passenden Index ausgeben.


Anmelden zum Antworten