Schleifen --> verwirrt

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.

Re: Schleifen --> verwirrt

Beitragvon Warf » 10. Apr 2018, 21:00 Re: Schleifen --> verwirrt

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
Warf
 
Beiträge: 985
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon mischi » 10. Apr 2018, 21:14 Re: Schleifen --> verwirrt

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
mischi
 
Beiträge: 205
Registriert: 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon m.fuchs » 10. Apr 2018, 21:26 Re: Schleifen --> verwirrt

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
m.fuchs
 
Beiträge: 1972
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Warf » 10. Apr 2018, 22:37 Re: Schleifen --> verwirrt

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.
Warf
 
Beiträge: 985
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon Mathias » 11. Apr 2018, 15:37 Re: Schleifen --> verwirrt

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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4342
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon m.fuchs » 11. Apr 2018, 16:22 Re: Schleifen --> verwirrt

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
m.fuchs
 
Beiträge: 1972
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon mischi » 11. Apr 2018, 22:34 Re: Schleifen --> verwirrt

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
mischi
 
Beiträge: 205
Registriert: 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x | 
CPU-Target: 32Bit/64bit
Nach oben

• Themenende •
Vorherige

Zurück zu Sonstiges



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste

porpoises-institution
accuracy-worried