Ist C (nicht C++) ein strukturierte Programmiersprache?



  • Oder eine Prozedurale oder ganz was anderes?



  • imperativ



  • Afaik beides, prozedural und strukturiert.

    MfG SideWinder



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Neuigkeiten aus der realen Welt in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich würde sagen, dass prozedual ein Teil von allgemein strukturiert ist.
    Prozedual heißt (etwas pauschal), dass mit Unterprogrammen bzw. Funktionen gearbeitet wird, was ja eigentlich nichts anderes ist, als seinen Programmcode zu strukturieren.
    Und strukturiert steht im Gegensatz zur linearen Programmierung, bei der nur ein Teil immer wieder (oder nur einmal) durchlaufen wird (also ohne Sprünge oder Funktionsaufrufe).

    Oder liege ich da ganz falsch?



  • c ist doch die coolste, beste sprache aller zeiten. high-level assembler eben 😋



  • aaaaa schrieb:

    Oder liege ich da ganz falsch?

    Könnte es nicht beschwören, weil ich dazu zu wenig Ahnung habe, aber gilt nicht:

    Strukturen => strukturierte Programmierung 😕

    Wozu ansonsten die Unterscheidung zwischen prozeduraler und str. Prog.?



  • simon.phoenix schrieb:

    Könnte es nicht beschwören, weil ich dazu zu wenig Ahnung habe, aber gilt nicht:

    Strukturen => strukturierte Programmierung 😕

    Nein, Strukturen (im Sinne von struct) haben mit strukturierter Programmierung nur am Rande zu tun, sie sind definitiv nicht Namensgeber.



  • Es heißt strukturierte Programmierung, nicht strukturierte Datierung 😉

    Das hier ist Spaghetticode

    10  PRINT "HALLO WELT"
    20  INPUT "ENDE ?", $i
    30  IF $i <> "yes" GOTO 10
    40  PRINT "BYEBYE"
    

    Die Gotos sind absolut tödlich, weil man beim Einfügen einer einzigen Zeile schauen muss, ob sich nicht bei irgendeinem GOTO was ändert. GOTO gibt es laut Definition auch in C - soll aber nicht genutzt werden. (VB zwingt einen übrigens spätestens beim Exception-Handling wieder zum GOTO)

    Das hier ist strukturiert:

    int ask(void)
    {
        char input[10];
        input[0] = '\n';
        while (strcmp (input, "yes") != 0)
        {
            printf ("Hallo Welt\n Wollen Sie beenden?");
            scanf  ("%s", &input)
        }
    }
    

    rekursiv könnt ich auch noch oder oop, aber das sollen andere machen, ich muss auch arbeiten 😉 🙄



  • DocJunioR schrieb:

    Die Gotos sind absolut tödlich, weil man beim Einfügen einer einzigen Zeile schauen muss, ob sich nicht bei irgendeinem GOTO was ändert.

    deshalb hatten manche alten basics auch einen 'RENUMBER' befehl

    DocJunioR schrieb:

    GOTO gibt es laut Definition auch in C - soll aber nicht genutzt werden.

    bei c ist es ja nicht so schlimm weil man zu labels springt d.h. anpassen von zeilennummern entfällt. manchmal ist goto auch nützlich z.b. wenn man aus tief verschachtelten schleifen raus will etc.



  • goto ist einfach bad style..
    Dass es hier und da vielleicht nützlich sein kann ist was anderes, wobei ich aus tiefen Verschachtelungen auch anders heraus komme..

    Renumber hatten leider nicht alle basics. Wollte auch nur auf den Unterschied hinweisen.



  • Trolling 101: Man stelle eine Frage zur strukturierten Programmierung, der Rest ergibt sich von selbst 🙂



  • Sei froh, dass es nicht wieder eine Diskussion zum Thema Rekursion ist - viele erinnern sich vielleicht noch daran, dass ich ein absoluter Fan derselben bin..



  • DocJunioR schrieb:

    Sei froh, dass es nicht wieder eine Diskussion zum Thema Rekursion ist - viele erinnern sich vielleicht noch daran, dass ich ein absoluter Fan derselben bin..

    Willst du damit die goldene Flamme für die subtilste Art einen Flamewar zu starten bekommen?



  • Ein strukturiertes Pogramm ist imho ein Programm, welches lediglich aus Sequenzen von Anweisungen, Fallunterscheidungen, Schleifen und Methodenaufrufen aufgebaut ist. Zusammengefasst könnte man auch "Programmieren ohne goto" sagen.
    goto ist eine hässliche Sache, aber goto's Bruder, der longjump ist echt cool!!



  • Shade Of Mine schrieb:

    DocJunioR schrieb:

    Sei froh, dass es nicht wieder eine Diskussion zum Thema Rekursion ist - viele erinnern sich vielleicht noch daran, dass ich ein absoluter Fan derselben bin..

    Willst du damit die goldene Flamme für die subtilste Art einen Flamewar zu starten bekommen?

    *gg* erinnert sich ja wirklich noch wer.
    Nein. Ich hab nunmal die dumme Angewohnheit meine Meinung offen darzulegen. Allerdings versuch ich gerade, Grundsatzdiskussionen nur noch in gemütlichem Umfeld bei nem Bier persönlich zu führen..



  • Ok, nochmal zur Ausgangsfrage.

    C++/Java/C# bezeichne ich als objektorientierte Programmiersprachen. Aber wie bezeichne ich C/Pascal ???



  • > Ist C (nicht C++) ein strukturierte Programmiersprache?

    wie schon erwähnt ist C keine strukturierte Programmiersprache, weil sie so "häsliche" Dinge wie gotos/labels/sprungmarken hat

    Pascal ist eine strukturierte Programmiersprache



  • Noobx schrieb:

    Ok, nochmal zur Ausgangsfrage.

    C++/Java/C# bezeichne ich als objektorientierte Programmiersprachen. Aber wie bezeichne ich C/Pascal ???

    imperativ!

    google mal nach Programmierparadigmen.



  • frenten schrieb:

    Noobx schrieb:

    Ok, nochmal zur Ausgangsfrage.

    C++/Java/C# bezeichne ich als objektorientierte Programmiersprachen. Aber wie bezeichne ich C/Pascal ???

    imperativ!

    google mal nach Programmierparadigmen.

    🙂 Jo, danke 👍



  • Vertexwahn schrieb:

    > Ist C (nicht C++) ein strukturierte Programmiersprache?

    wie schon erwähnt ist C keine strukturierte Programmiersprache, weil sie so "häsliche" Dinge wie gotos/labels/sprungmarken hat

    Pascal ist eine strukturierte Programmiersprache

    Hat Pascal auch. Wird da aber mit genauso spitzen Fingern angefasst wie überall sonst auch.


Anmelden zum Antworten