matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenSoftwaretechnik und ProgrammierungFunktionale Programmierung
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "Softwaretechnik und Programmierung" - Funktionale Programmierung
Funktionale Programmierung < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Funktionale Programmierung: Ideen
Status: (Frage) beantwortet Status 
Datum: 16:18 Mi 01.02.2012
Autor: judithlein

Aufgabe
Geben Sie Beispiele für die funktionale Teilmenge einer imperativen Sprache. Welche Vor- und Nachteile hat diese Methode?

Hallo,

das ist eine Hausaufgabe aus der Schule. Ich habe erstens keine Ahnung wie ich in einer imperativen Programmiersprache funktional programmieren kann und finde zweitens dazu überhaupt nichts im Internet oder sonst wo....Könnte mir da jemand helfen diese Frage zu beantworten? Ich weiß was imperative Programmierung ist und was funktionale Programmierung ist, wobei ich allerdings noch nie funktional programmiert habe.

Danke im voraus!

Grüße


        
Bezug
Funktionale Programmierung: Antwort
Status: (Antwort) fertig Status 
Datum: 19:19 Mi 01.02.2012
Autor: Pille456

Hi!

Leider kann ich Dir auch keine wirklich passende Antwort geben, da die Frage etwas komisch formuliert ist.

Aber vielleicht bringt dich folgendes auf die richtige Idee: (Ihr müsst ja irgendwas in der Richtung im Unterricht dazu gemacht haben)
Der große Vorteil von funktionalen Sprachen ist ja gerade der, dass diese Seiteneffekte ausschließen.Imperative Programmiersprachen sind gerade sehr gut dazu geeignet, Seiteneffekte hervorzurufen.

Beispiel:
(Ich hoffe Du kennst Klassen, ich versuche es mal in einer Java ähnliche Syntaxt):

pulic class Foo {
  public int zahl;
  public Foo(int pZahl) { zahl = pZahl; }
  //soll "pZahl" um 1 erhöhen
  public int inc(int pZahl) {
    zahl = pZahl + 1;
    return zahl;
  }
}

//Aufruf:
Foo f = new Foo(10);
System.out.println("f.zahl = " + f.zahl); //Hier wird 10 ausgegeben
System.out.println("15+1= " f.inc(15));
System.out.println("f.zahl = " + f.zahl); // Hier wird 16 ausgegeben

Die letzt Ausgabe ist dabei unerwünscht, da man vorher in zahl ja gerade 10 gespeichert hatte! Also tritt als Seiteneffekt von inc() das Ändern von zahl auf. In funktionalen Programmiersprachen wird das von vornherein ausgeschlossen und das ist halt der große Vorteil.
Typischerweise gibt es in funktionalen Sprachen keine Schleifen wie for/while, sondern man muss vollständig mit Rekursion auskommen. Diese Teile findest Du auch in imperativen Sprachen.

Ich würde damit z.B. anfangen:
Rekursion kommt z.B. immer ohne einen Schleifenzähler aus und gehört somit bedingt zu den imperativen und den funktionalen Sprachen.
Dazu zählen häufig auch rekursive Datenstrukturen wie Listen oder Bäume - halt alles was sich gut rekursiv programmieren lässt.

Vielleicht findet sich da noch mehr, oder ich habe die Frage falsch verstanden, aber das fiel mir nun spontan dazu ein ;)



Bezug
        
Bezug
Funktionale Programmierung: Antwort
Status: (Antwort) fertig Status 
Datum: 19:32 Mi 01.02.2012
Autor: rainerS


> Geben Sie Beispiele für die funktionale Teilmenge einer
> imperativen Sprache. Welche Vor- und Nachteile hat diese
> Methode?
>  Hallo,
>  
> das ist eine Hausaufgabe aus der Schule. Ich habe erstens
> keine Ahnung wie ich in einer imperativen
> Programmiersprache funktional programmieren kann und finde
> zweitens dazu überhaupt nichts im Internet oder sonst
> wo....Könnte mir da jemand helfen diese Frage zu
> beantworten? Ich weiß was imperative Programmierung ist
> und was funktionale Programmierung ist, wobei ich
> allerdings noch nie funktional programmiert habe.

Du hast doch in den meisten imperativen Programmiersprachen Funktionen ohne Seiteneffekte, zum Beispiel

sqrt(x)

um die Wurzel des Wertes in der Variablen x zu berechnen. Solche Funktionsaufrufe und Kombinationen davon sind rein funktionale Konstrukte: es wird ein Wert an die Funktion sqrt übergeben, und ein Wert kommt zurück, ohne Seiteneffekte (solange der Wert vbon x nicht kleiner 0 ist).

Allgemein sind viele arithmetische Ausdrücke solche funktionalen Konstrukte, z.B.

 1 / sqrt(2*pi) * exp (- x^2 ) 

Diese arithmetischen Ausdrücke bilden also eine solche gesuchte funktionale Teilmenge.

Die Frage nach den Vor- und Nachteilen dieser METHODE verstehe ich nicht recht, weil mir nicht klar ist, was hier mit der Methode gemeint ist.

Aber vielleicht hilft dir dies: mit den oben genannten funktionalen Ausdrücken kannst du zwar Werte berechnen, aber nichts mit ihnen anfangen. Um einen Wert zu verwenden, musst du ihn einer Variablen zuweisen oder ihn ausgeben; beides sind Dinge, die nicht in der funktionalen Teilmenge enthalten sind.

  Viele Grüße
    Rainer

Bezug
        
Bezug
Funktionale Programmierung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:37 Mi 01.02.2012
Autor: judithlein

Danke Danke! Das hat mir schon viel geholfen!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]