Szukanie najbliższej liczby

0

Witam. Piszę właśnie program, który ma być pomocnikiem dla elektroników i mam następujący problem. Otóż elementy elektroniczne np. rezystory mają wartości zgodne z pewnym szeregiem np. 330,360,390,430,470 ohm. Gdy w programie wyjdzie wynik np 465 ohm chciałbym aby program wyświetlił 470 ohm, a na przykład dla 320 pokaże 330 ohm. Proszę o poradę, jak taka procedura mogłaby wyglądać. W jaki sposób mogę w programie porównać te dwie liczby?

Pozdrawiam i z góry dziękuję za pomoc.

0

Wyszukujesz miedzy którymi dwoma jest twoja wartość, a następnie wypisujesz najbliższą. Naprawdę nie wiem, co w tym trudnego.

0

tak na szybkiego:

function ZPrzedzialu(liczba: integer; tablica: array of integer): Integer;
var
  i: integer;
begin
  Result := 0;
  for i := 0 to High(tablica) -1 do
  begin
    if (liczba >= tablica[i]) and (liczba <= tablica[i+1]) then
    begin
      if Abs(liczba - Tablica[i]) < Abs(liczba - Tablica[i+1]) then
        Result := Tablica[i]
      else
        Result := Tablica[i+1];
      Exit;
    end;
  end;
end;

;)

ps. w przypadku gdy liczba jest dokładnie pomiędzy dwoma to zwraca większą

0

Bardzo dziękuję za pomoc :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1