Написать программу в PASCAL (желательно с легкими формулами и значениями) : Известно количество грузовиков (6), их грузоподъемность (615 у каждого). Необходимо определить, сколько грузов и какой массы можно вывезти за 1 раз, если в 1 очередь надо погрузить груз, масса которого находится между 220-230 кг
DECLARE FUNCTION L# (x1#, y1#, x2#, y2#)
DECLARE FUNCTION s3# (x1#, y1#, x2#, y2#, x3#, y3#)
CLS
INPUT "Координаты точки А через запятую: ", ax#, ay#
INPUT "Координаты точки B через запятую: ", bx#, by#
INPUT "Координаты точки C через запятую: ", cx#, cy#
INPUT "Координаты точки m через запятую: ", mx#, my#
s# = s3#(ax#, ay#, bx#, by#, cx#, cy#)
sab# = s3#(ax#, ay#, bx#, by#, mx#, my#)
sbc# = s3#(bx#, by#, cx#, cy#, mx#, my#)
sca# = s3#(cx#, cy#, ax#, ay#, mx#, my#)
eps# = s# - (sab# + sbc# + sca#)
eps% = INT(eps# * 10000) / 10000
IF eps% = 0 THEN PRINT "Внутри" ELSE PRINT "Не внутри"
END
FUNCTION L# (x1#, y1#, x2#, y2#)
L# = SQR((x2# - x1#) ^ 2 + (y2# - y1#) ^ 2)
END FUNCTION
FUNCTION s3# (x1#, y1#, x2#, y2#, x3#, y3#)
a# = L#(x1#, y1#, x2#, y2#)
b# = L#(x2#, y2#, x3#, y3#)
c# = L#(x3#, y3#, x1#, y1#)
p# = (a# + b# + c#) / 2
s3# = SQR(p# * (p# - a#) * (p# - b#) * (p# - c#))
END FUNCTION
Тестовое решение:
Координаты точки А через запятую: 2,1
Координаты точки B через запятую: 15,10
Координаты точки C через запятую: 12,4
Координаты точки m через запятую: 9,5
Внутри
x,y:real;
begin
x:=-1;
while x<=1 do begin
Writeln('x=',x:4:1,', y=',x*x*x:9:6);
x:=x+0.1
end
end.
Результат выполнения программы:
x=-1.0, y=-1.000000
x=-0.9, y=-0.729000
x=-0.8, y=-0.512000
x=-0.7, y=-0.343000
x=-0.6, y=-0.216000
x=-0.5, y=-0.125000
x=-0.4, y=-0.064000
x=-0.3, y=-0.027000
x=-0.2, y=-0.008000
x=-0.1, y=-0.001000
x= 0.0, y= 0.000000
x= 0.1, y= 0.001000
x= 0.2, y= 0.008000
x= 0.3, y= 0.027000
x= 0.4, y= 0.064000
x= 0.5, y= 0.125000
x= 0.6, y= 0.216000
x= 0.7, y= 0.343000
x= 0.8, y= 0.512000
x= 0.9, y= 0.729000
x= 1.0, y= 1.000000