Schleifen --> verwirrt

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Schleifen --> verwirrt

Beitrag von Warf »

mischi hat geschrieben:Bei mir (fpc 3.0.4, OSX 10.13.4 High Sierra) kommt ohne range check 0 raus. Etwas besser, aber auch nicht gut. Hab vielleicht andere Voreinstellungen. Mit range check (-Cr) kommt ein run time error. In schönem Pascal code würde man aber auch einen subrange typ 20..50 deklarieren und beim array und bei i verwenden. Dann gibt es auch schon prompt einen Fehler beim Kompilieren. Zeigt das Beispiel nicht eher, dass man in Pascal auch C-ähnlich programmieren kann, sich dann aber auch mit den gleichen Problemen rumschlagen muss.


x86_64 Kompiliert? ich kompiliere einfach über die Konsole: fpc -g test.pas ist standardmäßig x86-64

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Schleifen --> verwirrt

Beitrag von mischi »

Warf hat geschrieben:x86_64 Kompiliert? ich kompiliere einfach über die Konsole: fpc -g test.pas ist standardmäßig x86-64

Yep. 64bit. 32bit ist aber auch gleich. Auch über die Konsole, aber fpc mit fink installiert. Sollte aber eigentlich egal sein. Das Problem ist natürlich auch bei dem Ergebnis, dass wild in die Pampa geschrieben wird, ohne dass es kracht.
MiSchi macht die fink-Pakete

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Schleifen --> verwirrt

Beitrag von m.fuchs »

Warf hat geschrieben:Oder sind dir diese szenarien auch zu abstrakt?

Sie sind zumindest alle nicht mal annähernd gekapselt und fern jegliche durchdachter Architektur. Wenn ich was kaputt bekommen will, dann kann ich das problemlos auch mit Pascal machen.
Wenn ich aber vor dem Entwickeln plane, dann kann ich die meisten solcher seltsamen Probleme verhindern.

Mach gerne ein Praxisbeispiel auf, dann aber bitte in einem neuen Thread.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Schleifen --> verwirrt

Beitrag von Warf »

m.fuchs hat geschrieben:
Warf hat geschrieben:Oder sind dir diese szenarien auch zu abstrakt?

Sie sind zumindest alle nicht mal annähernd gekapselt und fern jegliche durchdachter Architektur. Wenn ich was kaputt bekommen will, dann kann ich das problemlos auch mit Pascal machen.
Wenn ich aber vor dem Entwickeln plane, dann kann ich die meisten solcher seltsamen Probleme verhindern.

Mach gerne ein Praxisbeispiel auf, dann aber bitte in einem neuen Thread.

Hab ich gemacht. Habe da 2 Beispiele die sich an alle regeln von OOP halten und es trotzdem schaffen die memory des anderen Objektes zu überschreiben, ohne das die Objekte voneinander wissen.

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Schleifen --> verwirrt

Beitrag von Mathias »

m.fuchs hat geschrieben:
Mathias hat geschrieben:Das Realzahlenproblem kann msn mit einer while do Schleife umgehen.

Jetzt musste ich erst einmal einen Moment nachdenken was du meinst. Du beziehst dich auf die Real-World Probleme nicht auf Realzahlen.

Klar kann man das in einer while..do-Schleife lösen, man kann auch komplett auf for..to..do verzichten. Man könnte auch label, goto und if verwenden um das alles abzubilden.
Die Frage ist nur Warum?

So abwägig ist die gar nicht, auf der Assembler-Ebene wird alles mit springen gelöst. Eine for-Schleife ist eigentlich nur ein Komfort einer Hochsprache.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Schleifen --> verwirrt

Beitrag von m.fuchs »

Mathias hat geschrieben:
m.fuchs hat geschrieben:Man könnte auch label, goto und if verwenden um das alles abzubilden.
Die Frage ist nur Warum?

So abwägig ist die gar nicht, auf der Assembler-Ebene wird alles mit springen gelöst. Eine for-Schleife ist eigentlich nur ein Komfort einer Hochsprache.

<Loriot>Ach?</Loriot> Es ist vollkommen abwegig. Ich benutze eine Hochsprache um nicht wilde Konstrukte zu verwenden, die ich mit Assembler hätte.
Und ich benutze Pascal um lesbaren Code zu schreiben. Also setze ich die Möglichkeiten die diese Sprache dafür hat auch ein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Schleifen --> verwirrt

Beitrag von mischi »

Bei Goto fällt mir noch eine schöne Geschichte ein: Uralter code in Fortran mit recht vielen IFs und GOTOs. Umgeschrieben auf modernes if then else. Eigentlich nur um besser lesbaren Code zu haben. Positiver Seiteneffekt: Der Code wurde deutlich schneller. Offensichtlich konnte der übersichtlichere Code auch vom Compiler besser optimiert werden.
MiSchi macht die fink-Pakete

Antworten