Schluss mit den schlechten Noten :(
-
Aber das Fach Fragen-stellen hat er doch gar nicht!
-
Danke schonmal für die Links...ich werde mir sie gleich zuhause mal anschauen
meine frage war eigentlich:
wie geh ich am besten an so eine aufgabe ran...
-
Als ersten Schritt kannst du ja mal den Grundbau der Funktion erstellen.
Dann überlegst du dir, wie du das Ergebnis anhand der Parameter errechnest.
Dann schreibst du den konkreten Code für die Umrechnung die du dir eben überlegt hast.Voilá, fertig.
Muss wohl eure erste Aufgabe in C++ sein.
-
_) schrieb:
2. Schreiben Sie eine Funktion zur Berechnung einer Potenz. Als Standardwert gilt als Exponent der Wert 2.
Beispiel: cout<<pot(4) ; // Ausgabe: 16
cout<<pot(4,3) ; // Ausgabe: 64Also, wie könnte man da rangehen:
1. Wie du siehst, soll man die Funktion "pot" entweder mit 1Parameter oder mit 2Parametern aufrufen können.
Was fällt uns dazu ein: Entweder Defaultparameter oder Funktionsüberladung.2. Schauen wir uns mal eine Potenz an, zum Beispiel 4³.
Also, 4³ ist ja dasselbe 44².
Daraus schließen wir, dass pot(4,3) dasselbe ist, wie 4pot(4,2).Mit diesen Infos müsstest du die 2. Aufgabe lösen können

-
_) schrieb:
wie geh ich am besten an so eine aufgabe ran...
1. Metadenken: Überleg nicht, wie man die Aufgabe am besten löst, sondern was von dir als Lösung erwartet wird. In den letzten paar Lektionen habt ihr über Default-Parameter von Funktionen gesprochen (das erkenne ich an der Aufgabenstellung), daher wird die Lösung dieser Aufgabe wohl beinhalten, dass man diese benutzt.
2. Algorithmus ausdenken: Überlege dir, wie du dieses Problem ohne Computer lösen würdest: Angenommen ich würde dich fragen, was von einem Preis P übrig bleibt, wenn ich X Prozent Rabatt abziehe. Was würdest du rechnen?
Ebenso bei der zweiten Aufgabe: Angenommen ich würde dich fragen, die Xte Potenz von Y auszurechnen, wie würdest du vorgehen?
Die Antworten übersetzt du dann im Kopf nach C++. Dazu musst du natürlich die bisherigen Lektionen verstanden haben, denn es ist unmöglich ein einfaches Wörterbuch Deutsch-C++ zu schreiben (weil Deutsch viel zu komplex ist). Man muss die Sprachelemente von C++ kennen, um sich in ihnen ausdrücken zu können.edit: @Dweb: Ich glaube du denkst da viel zu elegant. Ich glaube kaum, dass sie schon das hatten, worauf du hinaus willst. Ich fürchte, du hast ihn jetzt nur verwirrt.
-
SeppJ schrieb:
@Dweb: Ich glaube du denkst da viel zu elegant. Ich glaube kaum, dass sie schon das hatten, worauf du hinaus willst. Ich fürchte, du hast ihn jetzt nur verwirrt.
so im Nachhinein... stimmt du hast recht.
@_) falls dem so sein sollte, i'm sorry.
-
manchmal ist eine Hindernisbetrachtung hilfreich:
Was stört denn genau die Programmerstellung? Also was blockiert hier?
Wenn die Aufgabenstellung schwierig erscheint, lohnt sich manchmal einfach eine Übersetzung in ein weniger blockierendes bzw. besser verständliches Format.
Wenn die Umsetzung der Aufgabe in ein Programm schwierig ist, dann hilft es, sich mit vertrauten Werkzeuge an die Sache heranzumachen.
Oder wenn die Grundwerkzeuge noch nicht gut verstanden sind, hilft es, sich um ein besseres Verständnis zu bemühen. Dies kann man bekommen, indem man Fremdartiges, Angstmachendes mit vertrauten, beruhigenden Sachen verknüpft. In diesem Zusammenhang finde ich das Buch "Der Zahlenteufel" von Enzensberger gut gemacht. Man kann auch versuchen, die Syntax von C++ mit der Übersetzung in eine leichter lernbare - oder eben vertrautere Sprache zu vertiefen.
Man darf sich den eigenen Spaß an gewissen Dingen und das eigene Können nicht von einem pappigen Schulalltag vermiesen lassen. Man muß die eigene Genialität und Genußfähigkeit so gut es geht dem Schulalltag aufträngen. Wenn das nicht öffentlich geht, dann eben heimlich. Schmuggelkunst ist jetzt gefragt.
(hm und was ich hier jetzt wieder schreibe...kann man das gut verstehen? - jedenfalls... als Ergänzung zu den Taktikvorschlägen von Seppj:
http://www-i1.informatik.rwth-aachen.de/~algorithmus/
besuche ich gerne, gute Algorithmen sehr gut erklärt.)
-
Hier ein Code für die Funktion berechne_rabatt:
float Berechne_Rabatt(float Preis,float Rabatt = 5) { return Preis-Preis*(Rabatt/100.0f); }Ist doch eigentlich gar nicht schwierig.
Der zweite Parameter ist ein Vorgabeparameter, wenn du also nur einen (den ersten) Parameter angibst, wird für den zweiten Parameter einfach der wert 5 genommen. Als Datentyp hab ich mal float genommen, da ich int für Preise unpassend finde.So, ich hoffe, dass ich für ein wenig Inspiration sorgen konnte.
MfG, Jochen
-
Zum Thema Potenzen:
Einfach mal ein Blatt Papier nehmen und das versuchen zu lösen.
Beispiel: 4 hoch 5
Entspricht:
4 * 4 * 4 * 4 * 4Eine Schleife kann das lösen.
Zum Thema Rabatt:
Eine Idee hast du ja nun schon geliefert bekommen.
Es sind natürlich Kenntnisse der Prozentrechnung Voraussetzung.
Im oberen Fall wird mit dem Preis 100 und dem Prozentsatz 5 z.B. folgendes gerechnet:100 - 100 * (5 / 100) = 95Alternativ könnte man es auch so berechnen:
100 * (1 - 5 / 100) = 95In Code:
return Preis * (1 - Rabatt / 100);
-
Bei letzterem natürlich darauf achten das 5 / 100 gleich 0 ist. Also immer schön 5.0 / 100.0 rechnen.
