Prozedur oder Funktion?

Tutorials.at
Verfügbare Informationen zu "Prozedur oder Funktion?"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Dragorad - matze(2) - X - Moritz Riebe
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: Pascal
  • Antworten: 15
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Prozedur oder Funktion?
  • Letzte Antwort: vor 17 Jahren, 5 Monaten, 17 Tagen, 15 Stunden, 2 Minuten
  • Alle Beiträge und Antworten zu "Prozedur oder Funktion?"

    Re: Prozedur oder Funktion?

    Dragorad - 26.10.2006, 18:53

    Prozedur oder Funktion?
    Hi,

    kann mir jemand hier genau erklären, was der Unterschied zwischen 'ner Funktion und 'ner Prozedur ist und wozu man sie benutzt?

    schon mal!



    Re: Prozedur oder Funktion?

    matze(2) - 26.10.2006, 19:27


    hoffe ich doch ma :)
    ne funktion gibt einen wert zurück (je nach rückgabetyp), dass heißt, der compiler tut so, als stände dieser rückgabewert an der stelle, wo die funktion aufgerufen wird. eine funktion kann zusätzlich noch eine anreihung von befehlen ausführen.
    eine prozedur kann eine anreihung von befehlen ausführen.
    ich hoffe, dass war jetzt genau genug.



    Re: Prozedur oder Funktion?

    Dragorad - 26.10.2006, 19:41


    Genau genug ist es ... nur verstehen tu ich immer noch .

    Hast du ein Beispielprogramm?



    Re: Prozedur oder Funktion?

    X - 26.10.2006, 20:13


    Hi

    das ist das gleiche. Eine Prozedur kann auch einen Rückgabewert haben sogar mehrere.

    Durch Funktionen oder Proze. kann man bestimmte Codebereiche, so zu sagen, seperat entwickeln.
    Wenn du zum Beispiel einen Taschenrechner progst, so kannst du die einzelnen Rechenoperationen einzeln in Funktionen schreiben und sie dann nur aufrufen wenn sie gebraucht werden. Oder die Abfrage in ne Funk. packen.

    Gruß



    Re: Prozedur oder Funktion?

    matze(2) - 26.10.2006, 21:37


    das prozeduren mehrere rückgabewerte haben können is mir jetzt aber auch neu. kannst du mal ein beispiel machen?



    Re: Prozedur oder Funktion?

    Dragorad - 26.10.2006, 23:25


    Zitat:
    das ist das gleiche


    Wenn Proceduren und Funktionen das gleiche sind, braucht man dann Funktionen überhaupt?[/quote]



    Re: Prozedur oder Funktion?

    X - 27.10.2006, 19:52


    Hi,

    Zitat: Wenn Proceduren und Funktionen das gleiche sind, braucht man dann Funktionen überhaupt?

    Das ist das gleiche Konzept. Nur die Umsetzung ist bei den verschiedenen Sprachen etwas anderes.

    Zitat: das prozeduren mehrere rückgabewerte haben können is mir jetzt aber auch neu. kannst du mal ein beispiel machen?
    Sry, ich hab schon ewig nichs mehr mit Pascal am Hut und das Thema Funktion nie so richtig beachtet.
    In Pascal gibts ja tatsächlich die zwei Konzepte Funktion und Prozedur. Einziger richtiger Unterschied ist da tatsächlich die Tatsache, dass man Funktionen überall einsetzen kann.

    Gruß



    Re: Prozedur oder Funktion?

    Dragorad - 27.10.2006, 23:23


    Ich hab' gelesen, dass man Funktionen wie Variablen einsetzen kann, Prozeduren nicht unbedingt; stimmt das?



    Re: Prozedur oder Funktion?

    matze(2) - 27.10.2006, 23:24


    also soweit, wie ich es bisher wusste, kann eine funktion EINEN rückgabewert haben und prozeduren KEINEN. dafür kann man mit prozeduren gar keiner, einer oder auch mehreren variablen werte zuweisen. dies dürfte aber auch mit funktionen funktionieren. wenn du also einen rückgabewert haben willst, dann nim eine funktion und wenn nicht eine prozedur. zB in C gibt es nur funktionen und wenn diese keinen rückgabewert haben soll, gibt man ihr den rückgabewert "void" (=leer).



    Re: Prozedur oder Funktion?

    X - 28.10.2006, 16:42


    Hi

    wenn du deiner Variablendeklaration den Bezeichner "var" voranstellst, ist das wie & in C. Dann werden auch Werte aus deiner Prozedur herausgegeben.



    Re: Prozedur oder Funktion?

    matze(2) - 29.10.2006, 17:16


    wenn werte (von variablen) herausgegeben werden sind das noch kein rückgabewert, oda?



    Re: Prozedur oder Funktion?

    Dragorad - 31.10.2006, 00:02


    Ich glaub' es ist immer noch am einfachsten, wenn ich nur Proceduren verwende, da weiß ich wenigstens, wo ich dran bin :D .



    Re: Prozedur oder Funktion?

    X - 31.10.2006, 16:23


    @matze
    es kommt ja nicht auf die definition von rückgabewert an, sondern auf die tatsache das werte aus dem ausgelagerten programmcode zurückkommen können. wie das schlussendlich passiert ist zumindest mir egal. in pascal würd ich aber auf jeden fall proz wählen bei so was, da ich hier ohne großen umweg auch mehrere verschiedene werte zurückgeben kann.

    gruß



    Re: Prozedur oder Funktion?

    Moritz Riebe - 31.10.2006, 22:31


    @matze:
    Du hast völlig Recht!

    @X:
    Man merkt ja schon an deinem Nickname "X" was du für einer bist. ^^

    also:
    Prozeduren sind Codestücke welchen Parameter (Integer, String etc..) übergeben werden könne. Die entsprechenden Parameter können, sobald die Sprache es unterstüzt, auch verändert werden. JEDOCH eine Prozedur hat nie einen Rückgabewert! Sie ist auch in der Verwendung nicht gleichzustellen!
    Funktionen sind auch Codestücke welche Parameter haben können die auch verändert werden können. Jedoch hat eine Funktion einen Rückgabewert! Es gibt jedoch Sprachen die keine strikte FUnktions und Prozedurtrennung vorsehen! (wie C ). In C gibt es nur Funktionen und
    wenn man keinen Rückgabewert haben will gibt man "void" (nichts/leer)
    an. Sobald aber kein void auch kein anderer Typ angeben wird wird es wie void behandelt. Der C Compiler setzt dann im CPU Register bei x86
    kompaktiblen PCs das AX Register auf 0. Somit gibt es immer einen Rückgabewert
    in C! In Verwendung kann man keine Funktion mit einer Prozedur austauschen!

    Beispiele in Pascal:
    Code:
    Funktion GebeWert( Bla: String): Integer;
    Begin
      if Bla = 'Nunlos!' Then
        GebeWert := 1234;
    End;

    Begin
      WriteLn('Die Zahl von gebeWert: ', GebeWert('Nunlos!'));
    End.



    Nun tausch das mal mit einer Prozedur aus und dann
    wird jedem der Pascal Compiler Fehlermeldungen
    um die Ohren hauen!

    MfG Moritz Riebe



    Re: Prozedur oder Funktion?

    Dragorad - 01.11.2006, 12:27


    Nun ist alles klar;



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Turbo C - gepostet von Mei$ter A^ am Montag 24.04.2006
    Variablen Speichern - gepostet von Wüstling am Donnerstag 10.05.2007
    Brauche Hilfe - gepostet von Belphegor am Montag 05.03.2007
    Problem beim Programm... - gepostet von toby-man am Mittwoch 03.10.2007
    Delphi Freeware Download - gepostet von Dragorad am Montag 20.11.2006
    Berechnung einer quadratischen Funktion. - gepostet von Kimi am Donnerstag 08.11.2007
    OpenGl Tutorial - gepostet von c# am Dienstag 26.06.2007
    Vollbildmodus als Befehl - gepostet von matze(2) am Donnerstag 01.06.2006



    Ähnliche Beiträge wie "Prozedur oder Funktion?"

    [S] M und W biete dollars oder alk^^ - tolik (Donnerstag 05.07.2007)
    Ja oder nein - Komisch (Samstag 10.02.2007)
    @Ilex in Warren / oder wie ihr jetzt heißt - Anonymous (Mittwoch 08.03.2006)
    Wo du deinen Pc gekauft hast oder Teile davon - barfbag (Montag 26.02.2007)
    Ist der Wixxerfilm gut oder schlecht? - teeboytle (Dienstag 01.05.2007)
    Soll ich oder soll ich lieber nicht? Friedhof bitte - Rose (Sonntag 30.12.2007)
    Dies oder Das - Alinaaa (Donnerstag 20.07.2006)
    leben oder sterben - Anonymous (Samstag 26.02.2005)
    Talent oder? - Adreena (Donnerstag 31.08.2006)
    Fehler oder notwendige Änderungen auf der Hompage - Christoph Weikl (Dienstag 09.05.2006)