сильно не критикуйте: )
program golubenko;
var A,B,C,P,Q,T,e,x:real;
begin
writeln ('введите числа');
readln (A,B,C);
P:= ln(A)+B*C;
Q:=exp(3+ln(A))+p*c;
T:=sqrt(Abs(Q));
if Q<7.5 then x:=exp(ln(A/B)/3);
if Q>7.5 then x:=P+sqr(Q);
if Q=7.5 then x:=exp(ln(e)*T)-sqr(p);
writeln('A=:', A:3:2);
writeln('B=:', B:3:2);
writeln('C=:', C:3:2);
end.

критикую несильно
var A,B,C,P,Q,T,e,x:real;
-- "e" не вводится лишняя
а в
exp(ln(e)*T)- кривизна
"е в степени T" это уже "exp(T)" без всякого exp(ln(e)*T). ln(e) - единица и на результат умножения не повлияет, но бесполезно сожрет вычислительный ресурс если вкачать в "е" значение 2.7...
if стоит делать не отдельными ифами, а каскадом последовательных иф-елсе в каждом из которых отсекается один из вариантов.
а в последнем вообще не стоит тратить ресурс на проверку все равно единственного оставшегося
примерно так
if Q<7.5 then x:=exp(ln(A/B)/3) else if Q>7.5 then x:=P+sqr(Q) else x:=exp(T)-sqr(p);
Ну Вирт! (не секс - фамилия такая) . Убил! Растоптал! Монитор об стену - и ухожу в дворники! Бамбарбия, кыргуду!
Шутка :).
Ну и? Вместо 3 х ифов подряд можно было использовать case. Ну блок ввода можно было бы посимпатичнее сделать ну и в конце repeat until keypressed.(только тогда надо uses crt где-то после program) Ну и ещё всяких чичирок можно накидать, только лень писать.
а может сначала вычислить Q, а потом исходя из его значения вычислять P,Q,T. Ведь они не нужны все одновременно.
А в чем подвох?
Единственное, что могу сказать, то код как выражаются преподаватели "не читаемый", то есть весь написан сплошняком. Еще могу сказать для таких вещей лучше использовать переменные маленького регистра, считаются удобнее, так как весь код пишется маленькими. А в остальном все вроде верно