02.05.2010, 23:03
общий
это ответ
Здравствуйте, sannek2. Программы While, GoTo, Repeat в приложении. ABC-Pascal.
Приложение:
{ goto }
Uses
Crt;
label
g1, g2;
Type
passag = Record
vechi:Byte;
ves:Real;
end;
Var
nomer:Array[1..10] of passag;
i,vechi:Byte;
begin
vechi:= 0;
Writeln('Список пассажиров:');
i:= 1;
g1:
nomer[i].vechi := Random(5);
if nomer[i].vechi = 0 then
nomer[i].ves:= 0
else
nomer[i].ves:= 60 * Random;
Writeln('Пасажир №',i,nomer[i].vechi:4,nomer[i].ves:7:2);
i:= i+1;
if i<=10 then
goto g1;
Writeln;
i:= 1;
g2:
if (nomer[i].vechi = 1) and (nomer[i].ves<30) then
begin
Inc (vechi);
Writeln('Пасажир имеется:№',i,nomer[i].vechi:4,nomer[i].ves:7:2);
end;
i:= i+1;
if i<=10 then
goto g2;
if (vechi= 0) then
Writeln('такого пасажира нет');
end.
(*====================*)
{ repeat }
Uses
Crt;
Type
passag = Record
vechi:Byte;
ves:Real;
end;
Var
nomer:Array[1..10] of passag;
i,vechi:Byte;
begin
vechi:= 0;
Writeln('Список пассажиров:');
i:= 0;
repeat
i:= i+1;
nomer[i].vechi := Random(5);
if nomer[i].vechi = 0 then
nomer[i].ves:= 0
else
nomer[i].ves:= 60 * Random;
Writeln('Пасажир №',i,nomer[i].vechi:4,nomer[i].ves:7:2);
until i=10;
Writeln;
i:= 0;
repeat
i:= i+1;
if (nomer[i].vechi = 1) and (nomer[i].ves<30) then
begin
Inc (vechi);
Writeln('Пасажир имеется:№',i,nomer[i].vechi:4,nomer[i].ves:7:2);
end;
until i=10;
if (vechi= 0) then
Writeln('такого пасажира нет');
end.
(*=================*)
{ while }
Uses
Crt;
Type
passag = Record
vechi:Byte;
ves:Real;
end;
Var
nomer:Array[1..10] of passag;
i,vechi:Byte;
begin
vechi:= 0;
Writeln('Список пассажиров:');
i:= 1;
while i<= 10 do
begin
nomer[i].vechi := Random(5);
if nomer[i].vechi = 0 then
nomer[i].ves:= 0
else
nomer[i].ves:= 60 * Random;
Writeln('Пасажир №',i,nomer[i].vechi:4,nomer[i].ves:7:2);
i:= i+1;
end;
Writeln;
i:= 1;
while i<= 10 do
begin
if (nomer[i].vechi = 1) and (nomer[i].ves<30) then
begin
Inc (vechi);
Writeln('Пасажир имеется:№',i,nomer[i].vechi:4,nomer[i].ves:7:2);
end;
i:= i+1;
end;
if (vechi= 0) then
Writeln('такого пасажира нет');
end.