Frage zu einer Funktion
-
Hallo ich hab mir gerade folgende funktion aus dem http://tutorial.schornboeck.net/funktionen2.htm Tutorial angeguckt kann mir jemand erklären wofür man solche Funktion braucht
#include <iostream> using namespace std; int Add(int, int); //Deklaration einer Funktion int main() { int a,b; cout<<"Bitte 2 Zahlen eingeben\n"; cin>>a; cin>>b; cout<<"Die Summe von "<<a<<" und "<<b<<" ist "<<Add(a,b)<<".\n"; } int Add(int lhs, int rhs) //Definition einer Funktion { return lhs + rhs; }
-
Hi,
zum Demonstrieren?! Wenn du bestimmte Dinge, wie eben eine (komplexe) Berechnung durchführen willst, bieten sich Funktionen an.
-
Meinst du jetzt wofür man Funktionen braucht?
http://tutorial.schornboeck.net/funktionen.htm
Die Add-Funktion ist nur ein einfaches Beispiel!
-
Ja ich will mal Komplexere Sachen mit der Funktion ausprobieren aber mir fällt nichts ein

-
Bassmaster schrieb:
Ja ich will mal Komplexere Sachen mit der Funktion ausprobieren aber mir fällt nichts ein

Du könntest z.B. zwei Daten an die Funktion übergeben, inkl. eines Flags, und die Funktion gibt dir entweder die Tage, Stunden, Minuten, je nach Flag (Z.B. T,S,M) zurück.
-
Ähm was

Also was leichtes nix so schweres ^^
-
Du suchst also was leichtes, das dennoch komplex ist? Gut, ich versuch mal:
Wie wärs mit ner Funktion isPrim(num), die überprüft, ob ne Zahl ne Primzahl ist oder nicht. Ist so eine typische Anfängerfunktionaufgabe und ist auch einigermaßen sinnvoll (im Vergleich zur Add-Funktion).
Etwas "komplexer" wirds bei den Optimierungen, denn bei der Primzahlsuche lassen sich doch einige finden. (zB. Zuerst nur bis zur Hälfte nach Teilern suchen, dann nur bis...).
Oder ist das noch zu leicht?Gruß
Don06
-
Noch etwas zu Schwer XD
egal ^^
hab noch eine andere Frage. Nimmt dann diese funktion nur für Mathematische Sachen oder auch für andere Sachen

-
Man nimmt Funktionen gewissermaßen, wenn man sie braucht. Wann immer du Code hast, der mehrfach ausgeführt werden soll mit unterschiedlichen Eingaben, bietet es sich an, diesen in eine Funktion auszulagern. Z.B. wenn du in o.g. Beispiel eine Liste aus 1000 Zahlen auf Primzahlen durchsuchen müsstest, würdest du für jede der 1000 Zahlen einmal die Funktion isPrime() aufrufen.
Seit wann programmierst du? Neuling? Man merkt schnell, wann man eine Funktion braucht und wann nicht.
gruß
Martin
-
Bassmaster schrieb:
hab noch eine andere Frage. Nimmt dann diese funktion nur für Mathematische Sachen oder auch für andere Sachen

Funktionen sowie Methoden (Funktionen in Klassen) haben grundsätzlich einen Sinn. Sie dienen dazu den Code zu strukturieren, immer wiederkehrende Funktionalitäten nur einmal schreiben zu müssen und Code wartbar zu machen. Bei einem kleinen Projekt wird dir der Sinn vielleicht noch nicht auffallen, aber es gibt Projekte mit mehreren Millionen Codezeilen die auch gleichzeitig von mehreren Programmierern geschrieben werden. Versuch das mal ohne logische Untergliederung in einer main-Funktion unterzubringen.
cu André
-
Bassmaster schrieb:
Noch etwas zu Schwer XD
Naja, das mit den Primzahlen solltest du schon noch hinkriegen, musst halt mal ein bisschen nachdenken, was ne Primzahl ist und wie man das überprüfen kann

Die isPrime()-Funktion ist wirklich eine der ersten, die man so bei Funktionen machen kann. Die haben wir im Info-Unterricht glaub als 2. oder 3. Aufgabe zu Funktionen schreiben müssen. Und glaub mir damals war ich verdammt schlecht und habs trotzdem i-wie hingekriegt (auch wenn ich heute darüber lachen muss, wie ich das da so gemacht habe).
Zum mathematischen: Das eignet sich zu Beginn recht gut um Funktionen zu üben, da math. Funktionen und Funktionen in der Informatik sich ähneln (Parameter, Rückgabewert).
Ausserdem lernt man dabei planvolles Herangehen an ein Problem. z.B. bei den Primzahlen. Erst überlegen wie man eine Primzahl math. bestimmt, um das dann in Code umzusetzten.Gruß
Don06