Program n1; var x1,x2,y1,y2,x3,y3,S: real; begin write('введите координаты точки А: '); readln(x1,y1); write('введите координаты точки B: '); readln(x2,y2); write('введите координаты точки C: '); readln(x3,y3); S:=0.5*((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3)); writeln('площадь: ',abs(S)); end.
Данный фрамент программы прибавляет к с значение последней цифры числа а, если она нечетна, после чего отбрасывает эту цифру. Таким образом, значение с будет равно сумме всех нечетных цифр числа 1257, т.е. 13. Это, судя по всему, так задумывалось. А на самом деле трудно сказать, попадет ли "c:=c+b" в условие, или будет выполняться всегда. Если второе, то вместо каждой четной цифры к с будет прибавляться значение предыдущей(т.е. ближайшей справа) нечетной, и результат будет 18. При проверке у меня получилось 18 ответ: 4 или 2.
var x1,x2,y1,y2,x3,y3,S: real;
begin
write('введите координаты точки А: ');
readln(x1,y1);
write('введите координаты точки B: ');
readln(x2,y2);
write('введите координаты точки C: ');
readln(x3,y3);
S:=0.5*((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3));
writeln('площадь: ',abs(S));
end.