<em>// PascalABC.NET 3.2, сборка 1356 от 04.12.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
type
Point=record
x,y:real;
name:char
end;
Vector=record
x,y,l:real;
end;
function CreatePoint(px,py:real):Point;
begin
With Result do begin
x:=px;
y:=py;
end
end;
function CreateVector(A,B:Point):Vector;
begin
With Result do begin
x:=B.x-A.x;
y:=B.y-A.y;
l:=Sqrt(x*x+y*y)
end
end;
function IsNormal(A,B:Vector):=Abs(B.x*A.x+B.y*A.y)<=1e-6;
begin
var x,y:real;
Write('Введите координаты x и y точки A: '); Read(x,y);
var A:=CreatePoint(x,y);
Write('Введите координаты x и y точки B: '); Read(x,y);
var B:=CreatePoint(x,y);
var AB:=CreateVector(A,B);
Write('Введите координаты x и y точки C: '); Read(x,y);
var C:=CreatePoint(x,y);
var BC:=CreateVector(B,C);
if Abs(AB.l-BC.l)>1e-6 then begin
Writeln('Стороны AB и BC не равны');
Exit
end;
if not IsNormal(AB,BC) then begin
Writeln('Стороны AB и BC не перпендикулярны');
Exit
end;
Write('Введите координаты x и y точки D: '); Read(x,y);
var D:=CreatePoint(x,y);
var CD:=CreateVector(C,D);
if Abs(AB.l-CD.l)>1e-6 then begin
Writeln('Стороны AB и CD не равны');
Exit
end;
var AD:=CreateVector(D,A);
if Abs(AB.l-AD.l)>1e-6 then Writeln('Стороны AB и ADC не равны')
else Writeln('Точки образуют квадрат с точностью не ниже 0.000001')
end.
<u>Пример</u>
<u>Здесь заданы координаты квадрата, сдвинутого относительно осей координат и повернутого на угол 30 градусов против часовой стрелки. Поэтому числа такие "некруглые".</u>
Введите координаты x и y точки A: -0.4641 -4.4641
Введите координаты x и y точки B: 3.5359 2.4641
Введите координаты x и y точки C: 10.4641 -1.5359
Введите координаты x и y точки D: 6.4641 -8.4641
Точки образуют квадрат с точностью не ниже 0.000001
Const N=20;
var a:array[1...N] of integer;
s,i:integer;
begin
for i:=1 to N do begin
write ('A='); read (a[i]);
end;
s:=0;
for i:=1 to N do begin
if a>0 then begin
s:=s+a;
write (i);
end;
end;
write (s);
end.
В 3-ем может быть ошибка. У меня 2-ой месяц нет матана, так что извиняй если что =) А так сама программа составлена правильно
var
a, b, c, o1, o2, o3: real;
begin
writeln('Введите a,b и c через пробел');
readln(a, b, c);
o1 := sqrt(2 * a - 3) / b - 1 + sqrt(sqr(c) + a * c + sqr(a));
o2 := sqrt(2 + sqrt(2 + sqrt(b + sqrt(abs(c - a)))));
o3 := 1 / 1 + 1 / a + 1 - b / 1 - c;
writeln('a) ', o1);
writeln('b) ', o2);
writeln('c) ', o3);
end.
Для решения этой задачи необходимо найти число, которое без остатка делится на 4 и на 6. Это число 12.
Если к Винни-Пуху придут 4 гостя, то они получат по 3 куска пирога: 12:4=3. Если 6, то им повезет меньше: 12:6=2.
Винни-Пуху пирог нужно разделить на 12 частей.
1011
<u> 11
</u> 1011
<u>1011
</u>100001<u>
</u>