www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de