Напишите функцию,вычисляющую длину отрезка по координатам его концов. с этой функции напишите программу на pascal abc,вычисляющую периметр треугольника по координатам его вершин
//PascalABC.NET //Версия 3.3, сборка 1634 begin var f: (real,real,real,real)->real:=(x1,y1,x2,y2)->sqrt((x2-x1)**2+(y2-y1)**2); var (x1,y1):=ReadReal2('Введите координаты 1 вершины через пробел'); var (x2,y2):=ReadReal2('Введите координаты 2 вершины через пробел'); var (x3,y3):=ReadReal2('Введите координаты 3 вершины через пробел'); write('Периметр: ',f(x1,y1,x2,y2)+f(x2,y2,x3,y3)+f(x1,y1,x3,y3)); end.
Function leng(var x,y,x1,y1: real): real; begin leng:=sqrt(sqr(x-x1)+sqr(y-y1)); end;
// основная программа var x1,y1,x2,y2,x3,y3,p: real; begin write('координаты вершин x1 y1 x2 y2 x3 y3 через пробел: '); readln(x1,y1,x2,y2,x3,y3); if (leng(x2,y2,x1,y1) + leng(x3,y3,x2,y2) = leng(x3,y3,x1,y1)) or (leng(x2,y2,x1,y1) + leng(x3,y3,x1,y1) = leng(x3,y3,x2,y2)) or (leng(x3,y3,x2,y2) + leng(x3,y3,x1,y1) = leng(x2,y2,x1,y1)) then writeln('точки лежат на одной прямой') else begin p:=leng(x2,y2,x1,y1)+leng(x3,y3,x2,y2)+leng(x3,y3,x1,y1); writeln('периметр: ',p:7:3); end; end.
1) а) Записываем число и остаток от деления на 2 (8, 16). б) Если число больше 1, делим на 2 (8, 16) и возвращаемся к шагу а).
В двоичной системе: 24710 012355 16177 13088 01544 0772 0386 0193 196 048 024 012 06 03 11 1Записываем остатки в обратном порядке: 110000010000110 (в 2й системе)
В 8-й системе: 24710 63088 0386 248 06 6Записываем остатки в обратном порядке: 60206 (в 8й системе) В 16-й системе: 24710 61544 896 06 6Записываем остатки в обратном порядке (заменяя остатки более 9, если такие есть: 10 на А, 11 на B, 12 на C, 13 на D, 14 на E, 15 на F): 6086
2) Числа по длине в порядке возрастания идут следующим образом: 16-е, 8е и 2е числа. Они все равны, то есть одно и то же число, просто в разных записях (системах счисления).
Собаки 50 Кошки 60 если в документах упоминаются только Собаки или только Кошки, то документов было бы 50+60 = 110 Однако Собаки + Кошки = 80 ( операция | или + ) следовательно есть 110-80=30 документов в которых есть [ Собаки & Кошки ]
Собаки 50 Лемуры 70 50+70=120 тоже самое и с Собаками и Лемурами [ Собаки | Лемуры ] = 100 120-100=20 документов в которых есть [ Собаки & Лемуры ]
Лемуры & (кошки | собаки) = 20 [ Лемуры & Кошки | Лемуры & Собаки ] = 20 из этого следует что документов в которых есть [Лемуры И Кошки] не больше 20
Кошки & (Собаки | Лемуры) = Кошки & Собаки | Кошки & Лемуры = 30 документов | (меньше или равно 20 документов) = 30 документов.
//Версия 3.3, сборка 1634
begin
var f: (real,real,real,real)->real:=(x1,y1,x2,y2)->sqrt((x2-x1)**2+(y2-y1)**2);
var (x1,y1):=ReadReal2('Введите координаты 1 вершины через пробел');
var (x2,y2):=ReadReal2('Введите координаты 2 вершины через пробел');
var (x3,y3):=ReadReal2('Введите координаты 3 вершины через пробел');
write('Периметр: ',f(x1,y1,x2,y2)+f(x2,y2,x3,y3)+f(x1,y1,x3,y3));
end.