Есть ответ 👍

Решить информатику решить на паскале по нахождению количества отрезков по 1,5 метра из бруска длиной 20 метров

286
303
Посмотреть ответы 2

Ответы на вопрос:

mixer239
4,4(79 оценок)

begin

writeln(round(20.0 / 1.5))

end.


Var     a: array[1..3,1..2]of real;     b: array[1..3]of real; //массив для координат пересечения сторон с ох     i,j,z: integer; // (y1-y2)x+(x2-x1)y+(x1y2-x2y1)=0 - ур-е прямой, прохоходящей через 2 точки // тогда x=(x2y1-x1y2)/(y1-y2) - координата ее пересечения с осью х   // найдем координаты пересечения сторон с осью х function cross(x1,x2,y1,y2: real): real; begin result: =(x2*y1-x1*y2)/(y1-y2); if ((result> x1) and (result> x2)) or ((result< x1) and (result< x2)) then   result: =1 //это точка пересечения не самой стороны, а ее продолжения                   //поскольку в дальнейшем нам нужны будут знаки координат,                              //ей приписываем положительной значение, чтобы она не влияла                   //на конечный результат end; begin for i: =1 to 3 do   begin   writeln('введите координаты х,у вершины: ');   readln(a[i,1],a[i,2]);   end; z: =1; for i: =1 to 3 do   begin   j: =i+1;   if j> 3 then j: =1;   b[i]: =cross(a[i,1],a[j,1],a[i,2],a[j,2]);   z: =sign(b[i])*z;   end; write('начало координат '); if z< 0 then writeln('принадлежит треугольнику')     else writeln('не принадлежит треугольнику'); end.

Популярно: Информатика