Neue Antwort erstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.

Informationen
Frage Bitte beantworten Sie die untenstehende Frage bzw. lösen Sie die untenstehende Aufgabe.
Nachricht
Internet-Adressen werden automatisch erkannt und umgewandelt.
Smiley-Code wird in Ihrer Nachricht automatisch als Smiley-Grafik dargestellt.
Sie können BBCodes zur Formatierung Ihrer Nachricht nutzen.

Vorherige Beiträge 15

  • Das mache ich ja schon. Nur in diesem Fall kann man nicht erkennen, dass es überflüssig ist, da die Prozedur ja auch als Befehl aufgerufen werden kann und dann das Leerzeichen notwendig ist. Die folgende Klammer könnte ja auch eine Klammer eines Parameters sein und nicht die Klammer, die den oder die Funktionsparameter einklammert. Zumal es eher unwahrscheinlich ist, dass man eine Prozedur als Funktion aufruft, wenn man das Ergebnis nicht zuweist.

    Gruß
    Roland
  • Hallo Frank,

    ich weiß, Dein Beitrag ist schon ein wenig älter, aber trotzdem noch eine Anmerkung:

    Da XProfan erlaubt, eine Prozedur wahlweise als Funktion (mit geklammerten Parametern) oder Prozedur (Parameter ohne Klammer) aufzurufen, macht der Parser das an der Klammer direkt nach dem Prozedurnamen fest. Da Du keinen Rückgabewert erwartest, kannst Du die Parameter auch einfach ohne Klammern angeben, wie bei Befehlen.

    Gruß
    Roland
  • @Frank, Leerzeichen zwischen Funktionsnamen und öffnender Klammer bei den Aufrufen. Dann malt es schon mal an der richtigen Position. Das mag Profan nicht, andere Sprachen sehen das lockerer :kA: Und lokale Variablen, wie Roland schon sagte, dann klappts.

    Gruß Volkmar
  • Interessante Probleme. Vielleicht ist das so nicht zulässig?

    Quellcode

    1. Parameters Float ax, ay, bx, by, Int depth

    Und bei #4 wird keine doppelte Deklaration angemeckert.
    Ansonsten finde ich weniger Linien besser. Nur den "Endzweig" geschlossen.

    Quellcode

    1. Windowtitle "Tree of Pythagoras -- based on old E example by Raymond Hoving"
    2. var width& = 640
    3. var height&=480
    4. Window width&,height&
    5. pythtree( width&/2-width&/12,height&-20 , width&/2+width&/12,height&-20, 0)
    6. waitinput
    7. end
    8. proc pythtree
    9. parameters ax!,ay!,bx!,by!,depth&
    10. var cx!=ax!-ay!+by!
    11. var cy!=ax!+ay!-bx!
    12. var dx!=bx!+by!-ay!
    13. var dy!=ax!-bx!+by!
    14. var ex!=0.5*(cx!-cy!+dx!+dy!)
    15. var ey!=0.5*(cx!+cy!-dx!+dy!)
    16. usepen 0,1,depth&*$100020
    17. line cx!,cy! - ax!,ay!
    18. line bx!,by! - dx!,dy!
    19. if depth& < 8
    20. pythtree(cx!,cy!,ex!,ey!,depth&+1)
    21. pythtree(ex!,ey!,dx!,dy!,depth&+1)
    22. else
    23. line cx!,cy! - ex!,ey!
    24. line ex!,ey! - dx!,dy!
    25. endif
    26. endproc
    Alles anzeigen


    Gruß Thomas