uses System.Generics.Collections;
var
Numbers: TArray<Integer>;
Index5, Index10: Integer;
Contain5, Contain10: Boolean;
Number, FirstOver7: Integer;
begin
//sorted array: binary search works
Numbers := [2, 3, 5, 7, 11, 13, 17];
Contain5 := TArray.BinarySearch<Integer>(
Numbers, 5, Index5);
//contain5 is True, index5 is 2
Contain10 := TArray.BinarySearch<Integer>(
Numbers, 10, Index10);
//contain10 is False
//first match by condition
FirstOver7 := -1;
for Number in Numbers do
if Number > 7 then
begin
FirstOver7 := Number;
Break;
end;
//firstOver7 is 11
WriteLn('contain5 is ', Contain5);
WriteLn('index5 is ', Index5);
WriteLn('contain10 is ', Contain10);
WriteLn('firstOver7 is ', FirstOver7);
end.