Завдання 1. Складіть проект, у якому виконавець намалює 5 прямокутників, розміщених усередині один одного, якщо довжини сторін першого з них дорівню- ють аi b, а довжини сторін кожного наступного на 20 кроків менші за довжини сторін попереднього.
begin Write('Введите количество элементов (от 1 до 20): '); Readln(n); Writeln('Вводите через пробел элементы массива'); for i := 1 to n do begin Read(a[i]); a[i] := sqr(a[i]) end; Writeln('Результирующий массив:'); for i := 1 to n do Write(a[i]:0:4, ' '); Writeln end.
Тестовое решение:
Введите количество элементов (от 1 до 20): 5 Вводите через пробел элементы массива 1.3 2.7 -4 4.23 0 Результирующий массив: 1.6900 7.2900 16.0000 17.8929 0.0000
{ входит ли начало координат в треугольник } type point = record x,y: real; end; var s0,s: real; pts: array [1..3] of point; i: integer; begin { считывание координат точек} for i:=1 to 3 do begin writeln('точка ',i,' x ',' y '); write(' '); readln(pts[i].x,pts[i].y); end; { вычисляем площадь треугольника ABC через векторное произведение } s0:=(pts[2].x-pts[1].x)*(pts[3].y-pts[1].y) - (pts[3].x-pts[1].x)*(pts[2].y-pts[1].y); s0:=abs(s0); { вычисляем сумму площадей треугольников из начала координат } s:=abs(pts[1].x*pts[2].y - pts[2].x*pts[1].y); s:=s+abs(pts[2].x*pts[3].y - pts[3].x*pts[2].y); { если s > s0 , то начало координат вне треугольника } if s>s0 then writeln('начало координат вне треугольника') else writeln('начало координат внутри треугольника'); end.
На тестовой задаче: точка 1 x y -1 -3 точка 2 x y -3 2 точка 3 x y 4 3 начало координат внутри треугольника
точка 1 x y -2 0 точка 2 x y -3 2 точка 3 x y 4 3 начало координат вне треугольника
Задание2.
const
m = 20;{максимальное количество элементов}
var
a: array[1..m] of real;
i, n: integer;
begin
Write('Введите количество элементов (от 1 до 20): ');
Readln(n);
Writeln('Вводите через пробел элементы массива');
for i := 1 to n do
begin
Read(a[i]);
a[i] := sqr(a[i])
end;
Writeln('Результирующий массив:');
for i := 1 to n do Write(a[i]:0:4, ' ');
Writeln
end.
Тестовое решение:
Введите количество элементов (от 1 до 20): 5
Вводите через пробел элементы массива
1.3 2.7 -4 4.23 0
Результирующий массив:
1.6900 7.2900 16.0000 17.8929 0.0000
type point = record
x,y: real;
end;
var s0,s: real;
pts: array [1..3] of point;
i: integer;
begin
{ считывание координат точек}
for i:=1 to 3 do
begin
writeln('точка ',i,' x ',' y ');
write(' ');
readln(pts[i].x,pts[i].y);
end;
{ вычисляем площадь треугольника ABC через векторное произведение }
s0:=(pts[2].x-pts[1].x)*(pts[3].y-pts[1].y) -
(pts[3].x-pts[1].x)*(pts[2].y-pts[1].y);
s0:=abs(s0);
{ вычисляем сумму площадей треугольников из начала координат }
s:=abs(pts[1].x*pts[2].y - pts[2].x*pts[1].y);
s:=s+abs(pts[2].x*pts[3].y - pts[3].x*pts[2].y);
{ если s > s0 , то начало координат вне треугольника }
if s>s0 then writeln('начало координат вне треугольника')
else writeln('начало координат внутри треугольника');
end.
На тестовой задаче:
точка 1 x y
-1 -3
точка 2 x y
-3 2
точка 3 x y
4 3
начало координат внутри треугольника
точка 1 x y
-2 0
точка 2 x y
-3 2
точка 3 x y
4 3
начало координат вне треугольника