[gelöst / erledigt] Boolesche Operatoren und While-Schleife

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Lomat
Beiträge: 37
Registriert: Fr 14. Jan 2022, 13:44

[gelöst / erledigt] Boolesche Operatoren und While-Schleife

Beitrag von Lomat »

Hallo,

ich finde hier nichts zu Lazarus, sondern nur zu Delphi:

Folgender Code mit Trgd = Array Of Double wäre hier korrekt:

Code: Alles auswählen

Function iGetIndex(dbValue : Double; iStart : Integer; rgdAbscissa : Trgd) : Integer;
Var i: Integer;
Begin
  If iStart > Length(rgdAbscissa) - 1 Then iStart := Length(rgdAbscissa) - 1;
  i := iStart;
  While (i < Length(rgdAbscissa) - 1) And (dbValue > rgdAbscissa[i]) Do Inc(i);
  Result := i;
end;
In der While-Schleife wird dbValue > rgdAbscissa nicht mehr ausgeführt, weil die erste Bedingung schon nicht erfüllt ist. Ist die erste Bedingung nicht erfüllt und es würde dbValue > rgdAbscissa ausgeführt, würde eine Zugriffsverletzung resultieren, aber in Delphi und C++ passsiet das nie. Ist das in Lazarus genau so?

Viele Grüße Christoph
Zuletzt geändert von Lomat am Mi 15. Mai 2024, 18:35, insgesamt 1-mal geändert.


Lomat
Beiträge: 37
Registriert: Fr 14. Jan 2022, 13:44

Re: Boolesche Operatoren und While-Schleife

Beitrag von Lomat »

Danke, also das gleiche Benehmen wie Delphi oder C++.

Antworten