//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) { Определения длины средней линии трапеции, если известны длины оснований трапеции. } var a,b : real;
begin readln(a,b); writeln('длина средней линии = ',(a+b)/2); end.
{ Вычисления площади трапеции, если известны ее основания и высота. } var a,b,h : real;
begin readln(a,b,h); writeln('площадь трапеции = ',(a+b)/2*h); end.
{ Вычисления расстояния между двумя точками на координатной плоскости } var x1,y1,x2,y2 : real;
begin write('Координаты 1 точки '); readln(x1,y1); write('Координаты 2 точки '); readln(x2,y2); writeln('Расстояние между точками = ',sqrt(sqr(x1-x2)+sqr(y1-y2))); end.
{ Вычисления периметра треугольника, если известны координаты его вершин } var x1,y1,x2,y2,x3,y3,a,b,c : real;
{ В углу прямоугольного двора размером a*b стоит прямоугольный дом размером c*d. Подсчитать площадь дома, свободную площадь двора и длину забора. } var a,b,c,d,sh : real;
begin write('Размеры двора '); readln(a,b); write('Размеры дома '); readln(c,d); sh:=c*d; //площадь дома writeln('площадь дома = ',sh); writeln('свободная площадь двора = ',a*b -sh); writeln('длина забора = ',(a+b)*2 -(c+d)); end.
Const n=20; var a,b:array[1..n] of integer; i,j,k,m,c:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(51)-25; write(a[i]:5); end; writeln; j:=0; for i:=1 to n do if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end; m:=j; for k := 1 to m-1 do for i := 1 to m-k do if (b[i]<b[i+1]) then begin c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c; end; writeln('Вс массив:'); for i:=1 to m do write(b[i]:5); writeln; j:=0; for i:=1 to n do if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end; writeln('Полученный массив:'); for i:=1 to n do write(a[i]:5); writeln; end.
{
Определения длины средней линии трапеции,
если известны длины оснований трапеции.
}
var
a,b : real;
begin
readln(a,b);
writeln('длина средней линии = ',(a+b)/2);
end.
{
Вычисления площади трапеции,
если известны ее основания и высота.
}
var
a,b,h : real;
begin
readln(a,b,h);
writeln('площадь трапеции = ',(a+b)/2*h);
end.
{
Вычисления расстояния между
двумя точками на координатной плоскости
}
var
x1,y1,x2,y2 : real;
begin
write('Координаты 1 точки '); readln(x1,y1);
write('Координаты 2 точки '); readln(x2,y2);
writeln('Расстояние между точками = ',sqrt(sqr(x1-x2)+sqr(y1-y2)));
end.
{
Вычисления периметра треугольника,
если известны координаты его вершин
}
var
x1,y1,x2,y2,x3,y3,a,b,c : real;
begin
write('Координаты 1 вершины '); readln(x1,y1);
write('Координаты 2 вершины '); readln(x2,y2);
write('Координаты 3 вершины '); readln(x3,y3);
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x3-x2)+sqr(y3-y2));
c:=sqrt(sqr(x3-x1)+sqr(y3-y1));
writeln('периметр треугольника = ',a+b+c);
end.
{
В углу прямоугольного двора размером a*b стоит
прямоугольный дом размером c*d.
Подсчитать площадь дома,
свободную площадь двора и длину забора.
}
var
a,b,c,d,sh : real;
begin
write('Размеры двора '); readln(a,b);
write('Размеры дома '); readln(c,d);
sh:=c*d; //площадь дома
writeln('площадь дома = ',sh);
writeln('свободная площадь двора = ',a*b -sh);
writeln('длина забора = ',(a+b)*2 -(c+d));
end.
var
a,b:array[1..n] of integer;
i,j,k,m,c:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(51)-25;
write(a[i]:5);
end;
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end;
m:=j;
for k := 1 to m-1 do
for i := 1 to m-k do
if (b[i]<b[i+1]) then
begin
c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c;
end;
writeln('Вс массив:');
for i:=1 to m do write(b[i]:5);
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end;
writeln('Полученный массив:');
for i:=1 to n do write(a[i]:5);
writeln;
end.
Пример:
Исходный массив:
-15 -8 -6 -13 15 24 5 -2 14 -1 19 -2 -7 -8 -23 20 -2 7 -2 -10
Вс массив:
-1 -2 -2 -2 -2 -6 -7 -8 -8 -10 -13 -15 -23
Полученный массив:
-1 -2 -2 -2 15 24 5 -2 14 -6 19 -7 -8 -8 -10 20 -13 7 -15 -23