C ist "freier" als Pascal

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben

Re: C ist "freier" als Pascal

Beitragvon m.fuchs » 8. Aug 2017, 22:10 Re: C ist "freier" als Pascal

Warf hat geschrieben:Und dann versucht der Anfänger was zu ändern, kapiert die Array grenzen nicht, baut Müll, und dann landet im nächsten Forum die Frage: "Warum geht das nicht ???!!!??!?!?".

Na und? Wenn er die Frage so formulieren kann, dass das Problem ersichtlich ist wird ihm geholfen werden. Zumindest habe ich den Eindruck dass in diesem Forum nur wenige Fragen nicht beantwortet werden.
Also wird der Anfänger dann von jemanden über die Funktionen Low() und High() informiert und wird in Zukunft keine Probleme mit Array-Grenzen haben.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1634
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.6, FPC 3.0) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Warf » 8. Aug 2017, 22:53 Re: C ist "freier" als Pascal

m.fuchs hat geschrieben:
Warf hat geschrieben:Und dann versucht der Anfänger was zu ändern, kapiert die Array grenzen nicht, baut Müll, und dann landet im nächsten Forum die Frage: "Warum geht das nicht ???!!!??!?!?".

Na und? Wenn er die Frage so formulieren kann, dass das Problem ersichtlich ist wird ihm geholfen werden. Zumindest habe ich den Eindruck dass in diesem Forum nur wenige Fragen nicht beantwortet werden.
Also wird der Anfänger dann von jemanden über die Funktionen Low() und High() informiert und wird in Zukunft keine Probleme mit Array-Grenzen haben.

Das bezog sich auf die aussage von braunbär

Das ist ja schon einmal eine ganze Menge. Allein wenn ich mir anschaue, wieviel Zeit in den Foren draufgeht, Programmieranfängern zu erklären, dass sie von 0 bis n-1 zählen müssen statt von 1 bis n wie jeder normale Mensch...


Und ich wollte nur verdeutlichen das es deutlich mehr aufwand ist einem Programmieranfänger Dynamische Grenzen zu erklären, als zu sagen dass es mit 0 anfängt (bzw das die Möglichen Fehler schlimmer/schwerer zu finden sind)

Und High und Low sind schön und gut, aber Anfänger verwenden sowas nicht, die benutzen (aus meiner Erfahrung) immer Magic Numbers, und das kann zu tollen Fehlern führen. Außerdem ist 0 Kürzer als Low(Array), und für ein Feature was man nicht braucht dennoch jeden Algorithmus dafür zu schreiben dass er damit umgehen kann, finde ich halt irgendwie unnütz
Warf
 
Beiträge: 586
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 Timm Thaler » 8. Aug 2017, 23:57 Re: C ist "freier" als Pascal

Ich hab zu Schülerzeiten zuhause AmigaBasic und in der Schule TurboPascal programmiert. Da stolpert man öfter mal über die verschiedenen Array-Anfänge. Irgendwann kapiert man das dann. Die ; setzen oder nicht setzen war nerviger.

Der Witz ist, ohne Internet hat man sich halt hingesetzt und aus irgendwelchen Büchern Beispiele abgetippt. Man konnte ja keinen Fragen. Heut wird halt erstmal im Forum gefragt. Was ich nicht schlechtreden will...
Timm Thaler
 
Beiträge: 338
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon braunbär » 9. Aug 2017, 00:19 Re: C ist "freier" als Pascal

Warf hat geschrieben:Deine erste aussage verstehe ich nicht, wenn ich einen Record mit 2 Strings brauche, dann nützt mir einer mit 3 Bytes gar nichts, warum sollte man da was vereinheitlichen?

Datenstrukturen dienen dazu, irgend etwas zu modellieren. Die obere und untere Grenze eines Array entspricht normalerweise genauso irgend etwas, was im Modell abgebildet wird, wie die drei bytes oder zwei Strings des record irgend etwas entspricht, was in diesem Record abgebildet wird. Und natürlich kann ich statt von 10 bis 20 - was eben gerade den abzubildenden Daten entspricht - genauso von 0 bis 10 gehen, 0 entspricht dann eben 10, 1 entspricht 11, usw. Aber das ist doch kein Vorteil.
Man könnte ja in records prinzipiell alle Daten als Strings speichern , das wäre doch eine super "Vereinheitlichung". Manche simple Datenbanksysteme arbeiten ja sogar so.

Warf hat geschrieben:Ein Anfänger hat eine Idee, weiß nicht wie er sie umsetzen soll, googled sich was zu sammeln, copy & paste 3 Sources, und dann hat er plötzlich 3 Arrays. Das Wort plötzlich passt da ziemlich gut. Und natürlich haben Programmierer Gründe die Grenzen zu wählen, ein Anfänger der sich aber nur Sources aus dem Internet kopiert, für den ist der Sinn der Grenzen komplett egal, für den ist da kein Sinn, keine Gründe.

Man kann sich zu allem irgend welche absurde Szenarien ausdenken. Dein Anfänger wird auf die Art sowieso nicht weit kommen, und wird auch ohne flexible array-Grenzen ohne intensivte Unterstützung sein Programm nicht zum Laufen bringen. Ich rede nicht von einem blutigen Anfänger, der sich an einer Aufgabe versucht, mit der er hoffnungslos überfordert ist.

Dass du dich inzwischen gezwungenermaßen daran gewöhnt hast derart schief zu denken, heißt ja nicht, dass das für alle anderen auch gelten muss. Ein gewöhnlicher Mensch beginnt beim Zählen mit 1, und ohne diese 0-basierten offenen Felder wäre das völlig selbstverständlich. Wir haben Jahrzehntelang in Turbo-Pascal Software entwickelt, da wäre es keinem Programmierer im Traum eingefallen, alle Felder mit 0 als untersten Index anzulegen. Manche Felder, wo man es braucht, natürlich schon. Und in seltenen, begründeten Ausnahmefällen eine ganz andere untere Array-Grenze, da ist dann auch kein Mißverständnis möglich.
braunbär
 
Beiträge: 162
Registriert: 8. Jun 2017, 17:21

Beitragvon mischi » 9. Aug 2017, 06:25 Re: C ist "freier" als Pascal

C beginnt immer mit 0, Fortran immer mit 1. Im echten Leben können sich die Menschen ja bei den Stockwerken auch nicht darauf einigen, ob mit 1. Stock das Erdgeschoss oder das 1. OG gemeint ist. Also auch da gibt es welche, die mit 0 anfangen zu zählen und welche, die mit 1 anfangen. Pascal habe ich immer deshalb geschätzt, weil man da die Indexgrenzen so setzen konnte, wie sich das Problem darstellt, also auch den seltenen Fall, der zum Beispiel mit 4 anfängt und mit 11 aufhört. Da wird es dann nämlich richtig lustig, äh fehleranfällig, wenn man das auf 0 oder 1 umsetzen muss. Schon mal eine Fortran-routine nach C übersetzt? Klappt praktisch nie auf Anhieb. Low und high sind natürlich große Hilfen, aber wenn ein Index direkt angesprochen wird, muss man immer noch umrechnen, was für Menschen erfahrungsgemäß fehleranfällig ist. Wieso soll man das also nicht dem Compiler überlassen? Genau dafür sind doch eigentlich Hochsprachen da.

Aus meiner Sicht ist also Pascal freier als C oder Fortran, weil ich die Indexgrenzen frei wählen kann, zumindest bei statischen Arrays. Leider ist dieser Vorteil mit den dynamischen Arrays verloren gegangen. Hätte man auch da die freie Wahl, würde sich die generelle Diskussion hier erübrigen und nur noch im speziellen Fall stellen, wie in dem Problem oben mit den Stockwerken eines Gebäudes. Dazu fällt mir ein Gebäudekomplex an einem Hang ein. Bei vielen Gebäudeteilen lag der Keller deshalb nicht auf 0 oder -1 sondern zum Beispiel auf Ebene 4. Für Übergänge zwischen Gebäudeteilen war es schon praktisch, dass man auf einer Ebene blieb.

MiSchi.
MiSchi macht die fink-Pakete
mischi
 
Beiträge: 150
Registriert: 10. Nov 2009, 18:49
OS, Lazarus, FPC: Mac OS X 10.10, 1.2.4, 2.6.4 | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon kupferstecher » 9. Aug 2017, 09:43 Re: C ist "freier" als Pascal

Warf hat geschrieben:Das ding ist, Arrays mit 1 zu beginnen bringt nun mal gar nichts (außer das es natürlicher ist), und man verliert also auch nichts wenn man mit 0 anfängt.


Arrays werden oft durchiteriert, die nullbasierten Schleifengrenzen sind dann schon hässlich.

Code: Alles auswählen
for ii:= 0 to AList.Count-1
do AList.Add('Bsp');

vs.
Code: Alles auswählen
for ii:= 1 to AList.Count
do AList.Add('Bsp');

Aber man gewöhnt sich dran und merkt dann gar nicht mehr wie verquer das ist.

Die Fälle wo die Nullbasierung sinnvoller ist erkenne ich genauso an und bin der Meinung, dass das ein unlösbares intrinsisches Problem ist, weil die Vor- und Nachteile oft gleichzeitig auftreten.
kupferstecher
 
Beiträge: 45
Registriert: 17. Nov 2016, 11:52

Beitragvon compmgmt » 9. Aug 2017, 09:48 Re: C ist "freier" als Pascal

Ein Beispiel wo beides geht
Code: Alles auswählen
for i := 0 to AList.Count - 1 do
  AList[i].DoSomething;
oder
Code: Alles auswählen
for i := 1 to AList.Count do
  AList[i - 1].DoSomething;

Wobei ich das obere schöner finde, weil da i gleich dem index ist.
Signatur.exe hat eine Zugriffsverletzung ausgelöst und muss beendet werden
compmgmt
 
Beiträge: 272
Registriert: 25. Nov 2015, 17:06
Wohnort: in der Nähe von Stuttgart
OS, Lazarus, FPC: Win 10 Pro + Linux Manjaro 17.0.2 | Lazarus 1.6.4 | FPC 3.0.2 | 
CPU-Target: i386 + x86_64
Nach oben

Beitragvon Warf » 9. Aug 2017, 12:22 Re: C ist "freier" als Pascal

braunbär hat geschrieben:Datenstrukturen dienen dazu, irgend etwas zu modellieren. Die obere und untere Grenze eines Array entspricht normalerweise genauso irgend etwas, was im Modell abgebildet wird, wie die drei bytes oder zwei Strings des record irgend etwas entspricht, was in diesem Record abgebildet wird. Und natürlich kann ich statt von 10 bis 20 - was eben gerade den abzubildenden Daten entspricht - genauso von 0 bis 10 gehen, 0 entspricht dann eben 10, 1 entspricht 11, usw. Aber das ist doch kein Vorteil.
Man könnte ja in records prinzipiell alle Daten als Strings speichern , das wäre doch eine super "Vereinheitlichung". Manche simple Datenbanksysteme arbeiten ja sogar so.


Das beispiel ist sehr schlecht, da Strings Zahlen in Log(10) abspeichern, Binäre Datentypen allerdings in Log(2). Rechnen wir Log(10)/Log(2) ergibt das Ungefähr 3, also ist die String Variante um einen Faktor 3 Schlechter (Einfaches Beispiel, die Zahl 100 als String 3 Byte, als Binärer Datentyp passt sie in 1 Byte). Darum veränderst du damit das Asymptotische Verhalten deines Programmes, was Arraygrenzen nicht tuen.

braunbär hat geschrieben:Man kann sich zu allem irgend welche absurde Szenarien ausdenken. Dein Anfänger wird auf die Art sowieso nicht weit kommen, und wird auch ohne flexible array-Grenzen ohne intensivte Unterstützung sein Programm nicht zum Laufen bringen. Ich rede nicht von einem blutigen Anfänger, der sich an einer Aufgabe versucht, mit der er hoffnungslos überfordert ist.


Du findest das absurd? ich habe erst vor kurzem von einem Anfänger in einer Skriptsprache die Frage gesehen warum man Strings nicht als Funktionen verwenden kann (also "Funktion1()" statt Funktion1()). Das sich Anfänger Code den sie nicht verstehen aus dem Internet zusammenkopieren sehe ich Täglich (ich bin in verschiedenen Foren unterwegs, u.a. in einem mit sehr vielen neueinsteigern), da kommt dann die Frage auf warum ein Fehler auftritt, wenn sie DWord für 64 Bit Zahlen verwenden, oder ähnliches, weil die sich einfach komplett hirnlos alles zusammenkopieren, und hoffen das es funktioniert.
Tatsächlich habe ich das Problem das Arrays mit 0 nicht 1 anfangen (vor dem du dich in einem vorherigen Post ja so ausgelassen hast) so gut wie nie gesehen, copy & paste errors sehe ich allerdings wirklich fast täglich.

braunbär hat geschrieben:Dass du dich inzwischen gezwungenermaßen daran gewöhnt hast derart schief zu denken, heißt ja nicht, dass das für alle anderen auch gelten muss. Ein gewöhnlicher Mensch beginnt beim Zählen mit 1, und ohne diese 0-basierten offenen Felder wäre das völlig selbstverständlich. Wir haben Jahrzehntelang in Turbo-Pascal Software entwickelt, da wäre es keinem Programmierer im Traum eingefallen, alle Felder mit 0 als untersten Index anzulegen. Manche Felder, wo man es braucht, natürlich schon. Und in seltenen, begründeten Ausnahmefällen eine ganz andere untere Array-Grenze, da ist dann auch kein Mißverständnis möglich.


Ich sehe ein das es natürlicher ist mit 1 anzufangen, ich finde nur das es öfter Praktischer ist mit 0 anzufangen. Darum wenn ich die Wahl hätte zwischen immer mit 0 anzufangen und immer mit 1 anzufangen würde ich 0 wählen. Und wenn ich die Wahl hätte immer mit 0 anzufangen, oder Frei wählen zu dürfen würde ich immer 0 anfangen, da dies eine Unnötige Fehlerquelle ist. Wenn ich unnötige Fehlerquellen möchte würde ich C++ Programmieren, aber ich habe Pascal extra gewählt da darin die meisten Unnötigen Fehlerquellen wegfallen.
Es wäre einfach eine Sache mehr bei der ein Fehler auftreten kann, während wenn es immer bei 0 Anfängt, muss man nicht drüber nachdenken und die Fehlerchance ist Praktisch 0 (wenn man doch ne 1 hinschreibt sollte man den Fehler beim erneuten durchlesen sehr schnell finden)
Warf
 
Beiträge: 586
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 Timm Thaler » 9. Aug 2017, 13:40 Re: C ist "freier" als Pascal

Warf hat geschrieben:Du findest das absurd? ich habe erst vor kurzem von einem Anfänger in einer Skriptsprache die Frage gesehen warum man Strings nicht als Funktionen verwenden kann (also "Funktion1()" statt Funktion1()).


Kann man nicht?

Code: Alles auswählen
  <script type="text/javascript" >
    window.setTimeout('load_content()', 100);
    function load_content() {
    ...
    }; 
  </script>


Warf hat geschrieben:Das sich Anfänger Code den sie nicht verstehen aus dem Internet zusammenkopieren sehe ich Täglich


Es ist aber auch ein Kreuz, dass Leute einfach mit Programmieren anfangen, ohne vorher 8 Semester Informatik studiert zu haben. Das ist fast so schlimm wie die ganzen Kiddies, die LED auf Steckbretter stecken, ohne vorher eine Ausbildung als Elektrotechniker mit anschließendem Aufbaustudium als Master of Electronics zu machen.

Obiges JS zum Einlesen meiner Messdaten aus der Heizungssteuerung in eine interne Webseite habe ich mir aus dem Internet zusammenkopiert. Ich hab nämlich im Studium nur Pascal gehabt.

AmigaBasic, QBasic, QuickBasic, ASM, C, JS habe ich größtenteils anhand von zusammenkopierten Programmen "gelernt". Das einzige Buch, was ich zum Programmieren in der Hand hatte war "Basic auf dem KC85". Ich hab kein Problem damit, wenn sich Leute Programme zusammenkopieren, solange sie dabei was lernen.
Timm Thaler
 
Beiträge: 338
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Timm Thaler » 9. Aug 2017, 13:45 Re: C ist "freier" als Pascal

kupferstecher hat geschrieben:
Code: Alles auswählen
for ii:= 0 to AList.Count-1
do AList.Add('Bsp');

Aber man gewöhnt sich dran und merkt dann gar nicht mehr wie verquer das ist.


Vor allem merkt man nicht, wie Quatsch das ist. ;-)

In Pascal rettet Dic die Tatsache, dass AList.Count vor der Schleife ausgewertet und dann nicht mehr verändert wird. Macht aber sicher nicht, was Du bezweckst.

In C rennst Du damit in den Speicherüberlauf, weil natürlich jedes AList.Add auch AList.Count erhöht und damit die Schleife nie endet.
Timm Thaler
 
Beiträge: 338
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Warf » 9. Aug 2017, 14:24 Re: C ist "freier" als Pascal

Timm Thaler hat geschrieben:Kann man nicht?
Code: Alles auswählen
  <script type="text/javascript" >
    window.setTimeout('load_content()', 100);
    function load_content() {
    ...
    }; 
  </script>


Naja das script von ihm sah eher so aus:
Code: Alles auswählen
$var = 'function1()'

und da hat er sich gefragt warum in var function1() steht und nicht der ausgerechnete wert
Timm Thaler hat geschrieben:Es ist aber auch ein Kreuz, dass Leute einfach mit Programmieren anfangen, ohne vorher 8 Semester Informatik studiert zu haben. Das ist fast so schlimm wie die ganzen Kiddies, die LED auf Steckbretter stecken, ohne vorher eine Ausbildung als Elektrotechniker mit anschließendem Aufbaustudium als Master of Electronics zu machen.

Obiges JS zum Einlesen meiner Messdaten aus der Heizungssteuerung in eine interne Webseite habe ich mir aus dem Internet zusammenkopiert. Ich hab nämlich im Studium nur Pascal gehabt.

AmigaBasic, QBasic, QuickBasic, ASM, C, JS habe ich größtenteils anhand von zusammenkopierten Programmen "gelernt". Das einzige Buch, was ich zum Programmieren in der Hand hatte war "Basic auf dem KC85". Ich hab kein Problem damit, wenn sich Leute Programme zusammenkopieren, solange sie dabei was lernen.


Ich habe das gar nicht negativ gemeint das Anfänger das machen (ich habe als ich angefangen habe auch so gelernt), es ist nur etwas womit man rechnen muss. Deshalb bin ich der Meinung das Sprachen Fehler welche durch so etwas schnell auftauchen können und schwer zu finden sind, versuchen sollten diese durch intelligentes Sprachdesign zu vermeiden. Darum bin ich absolut kein fan vom break in C Switch-Case statements, im gegensatz dazu mag ich dafür den ? Operator aus Swift um Nullpointer Errors zu verhindern. Daher sehe ich in Selbstbestimmten Arraygrenzen für Dynamsiche Arrays zum größten Teil das Potential Fehler zu machen, da man in jedem Zugriff abfragen der Boundaries machen muss, um einen Überlauf zu vermeiden, ein Risiko welches den Vorteil eindeutig überwiegt
Zuletzt geändert von Warf am 9. Aug 2017, 14:31, insgesamt 2-mal geändert.
Warf
 
Beiträge: 586
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 kupferstecher » 9. Aug 2017, 14:27 Re: C ist "freier" als Pascal

Timm Thaler hat geschrieben:Vor allem merkt man nicht, wie Quatsch das ist. ;-)

Oh oh, das Beispiel ist deutlich daneben gegangen.
Zeigt wieder wie fehleranfaellig doch die ganze Programmiererei ist~
kupferstecher
 
Beiträge: 45
Registriert: 17. Nov 2016, 11:52

Beitragvon Warf » 9. Aug 2017, 14:57 Re: C ist "freier" als Pascal

kupferstecher hat geschrieben:
Timm Thaler hat geschrieben:Vor allem merkt man nicht, wie Quatsch das ist. ;-)

Oh oh, das Beispiel ist deutlich daneben gegangen.
Zeigt wieder wie fehleranfaellig doch die ganze Programmiererei ist~


Lustigerweise hatte ich in einem Uni Projekt ein ganz ähnliches Problem, für die Erkenung von vorgegebenen Mustern in einer Punktemenge, sollten alle Punkte die nicht valide sind aus der Menge gelöscht werden (dafür ist die C For Schleife übrigens deutlich besser als die Pascal For Schleife). Nur leider wurde statt remove die Funktion append aufgerufen. Da der For Block zu groß war, wurde dennoch in jeder Iteration der Code zur Erkennung ausgeführt, und da das ganze in einem Thread als Endlosschleife lief und nur events gefeurt hat, hat es zunächst funktioniert. Nur wurde das ganze dann immer langsamer, da das ganze aber auf einem Rechner mit sehr viel Leistung lief haben wir es zunächst nicht bemerkt. Als ich dann neue Features hinzufügen wollte habe ich diesen Müll gesehen, bin aber immernoch fasziniert, das das ganze funktioniert hat, dank weiterer Fehler.
Warf
 
Beiträge: 586
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 Timm Thaler » 9. Aug 2017, 16:06 Re: C ist "freier" als Pascal

braunbär hat geschrieben:Warum müssen dynamische arrays immer bei 0 anfangen?


Warum kann man Prozeduren keine statischen Arrays übergeben?

Aber gut, dass wir drüber gesprochen haben. Ich hatte gerade den Fall: Ein Array [1..max] definiert und an eine Prozedur übergeben und mich gewundert, dass alle Werte um eins versetzt erscheinen. Jetzt ist das Array halt [0..max], wobei Index 0 nicht verwendet wird. In Basic wäre das nicht passiert. ;-)
Timm Thaler
 
Beiträge: 338
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Mathias » 9. Aug 2017, 16:16 Re: C ist "freier" als Pascal

Warum kann man Prozeduren keine statischen Arrays übergeben?

Bei mir geht dies
Code: Alles auswählen
procedure WriteArray(a: array of byte);
var
  i: integer;
begin
  for i := 0 to Length(a) - 1 do begin
    Write(a[i], ' ');
  end;
  WriteLn();
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  sa: array[50..100] of byte;
  i: integer;
begin
  WriteArray(sa);
  for i := Low(sa) to High(sa) do begin
    sa[i] := i;
  end;
  WriteArray(sa);
end;   

Dabei habe ich einen Nebeneffekt entdeckt, das die Werte der Arrray am Anfang undefiniert sind.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Dies und Das



Wer ist online?

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

porpoises-institution
accuracy-worried