[Pascal] sortowanie binarne

0

mam pytanie a mianowicie chodzi o to zeby ten program chodzil bez break i nie wiem jak to zrobic i prosze o pomoc:

Program wyszukiwanie_binarne;
Uses CRT;
Var
 liczba:array[1..10] of integer;
 w,i,ip,ik,isr,p: integer;

begin
 clrscr;
 Writeln('Wyszukiwanie binarne!');
 Writeln;
 Randomize;
 for i:=1 to 10 do
 liczba[i]:=random(10);

 for i:=9 downto 1 do
 begin
 w:=liczba[i];
 ip:=i+1;
 while (ip<=10) and (w>liczba[ip]) do
 begin
 liczba[ip-1]:=liczba[ip];
 ip:=ip+1;
 end;
 liczba[ip-1]:=w;
 end;

Write('Szukana liczba to => '); Readln(w);

ip:=1;
ik:=10;
p:=0;

while ip<=ik do
 begin
  isr:=(ip+ik) div 2;
  if w=liczba[isr] then

  begin
  p:=isr;

  <i><b>break</b></i>
  end
  else

  if w>liczba[isr] then
  ip:=isr+1
  else
  ik:=isr-1;
  end;
  Writeln;

  for i:=1 to 10 do
  if i=p then
  write(' ( ',liczba[i],' ) ')
  else
  write(liczba[i]:3, ' ');
  Writeln; Writeln;

  Write('    Liczba  ', w,' ');
  if p>0 then
  Writeln('Jest na pozycji nr  ',p,' ')
  else
  Writeln(' w zbiorze nie wystepuje ');
             Writeln;
  Writeln(' Nacisnij klawisz ENTER... ');
  readln;
  end.
0

Najprostszym, a jednocześnie najmniej profesjonalnym sposobem byłoby zastosowanie goto.

0

A co jest złego w break? Niekoszerne, czy co?

0

Napisz instrukcję, która czyni warunek zakończenia pętli prawdziwy ( ip = ik + 1 ), tuż za nią umieść continue.

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