porotikova1004
?>

Цикл с постусловием реализован в языке Паскаль оператором:repeat… untilfor … dowhile… dodo… while​

Информатика

Ответы

fedotochkin8
1. Программа, создающая тестовый файл.

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
  var f: file of integer;
  var t:integer;
  Assign(f,'input.dat'); Rewrite(f);
  for var j:=1 to 5 do begin
    for var i:=1 to 10 do begin t:=Random(10,99); Write(f,t) end;
    for var i:=1 to 10 do begin t:=-Random(10,99); Write(f,t) end
    end;
  f.Close;
end.

2. Программа, которую требовалось написать

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
  var f,g: file of integer;
  var a:=new integer[20];
  var t:integer;
  Assign(f,'input.dat'); Reset(f);
  Assign(g,'output.dat'); Rewrite(g);
  while not f.Eof do begin
    for var i:=0 to 19 do Read(f,a[i]);
    a:=a[10:15]+a[0:5]+a[15:20]+a[5:10];
    for var i:=0 to 19 do Write(g,a[i])
    end;
  f.Close;
  g.Seek(0);
  while not g.Eof do begin Read(g,t); Print(t) end;
  g.Close
end.
Kuznetsova702
1. Современное короткое, но скорее всего, мало понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
function LineLen(a,b:(real,real)):=
  Sqrt(Sqr(b.Item1-a.Item1)+Sqr(b.Item2-a.Item2));

begin
  var a:array[1..3] of (real,real);
  var x,y:real;
  Writeln('Введите три пары координат x,y');
  for var i:=1 to 3 do begin Read(x,y); a[i]:=(x,y) end;
  Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.

Тестовое решение:
Введите три пары координат x,y
3 -3.5 -6 8 4 5.2
Периметр треугольника равен 33.7449685386805

2. Традиционное, но возможно тоже не очень понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
type
  Point=record
    x,y:real
    end;

function LineLen(a,b:Point):real;
begin
  Result:=Sqrt(Sqr(b.x-a.x)+Sqr(b.y-a.y));
end;
 
var
  a:array[1..3] of Point;
 
begin
  Writeln('Введите три пары координат x,y');
  for var i:=1 to 3 do Read(a[i].x,a[i].y);
  Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Цикл с постусловием реализован в языке Паскаль оператором:repeat… untilfor … dowhile… dodo… while​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Lapushkina
mupmalino2653
myglassi26
italiankarest
Владислав-Александр32
Составить таблицу истинности. ¬(bva)& c
arnaut-anna
Спивак
Mnatsovna
Вера1072
gurman171
keykov35
prohorovalena
dobrovolsky-tmz1
манукян29
asyaurkova