Цитата
if (b=0) and (c=0) or (b<>0) and (c=0) then
Вот здесь точно лишнее условие. Проще написать "if c=0 then"
b в любом случае либо равно 0, либо не равно 0.
И есть одна ошибочка при переводе в градусы. Нужно поделить на pi и умножить на 180.
writeln('Gr=',(((pi/2+arctan(b/a)))/pi*180));
Тогда получится 90 градусов

Можно даже написать, скажем writeln('Gr=',(((pi/2+arctan(b/a)))/pi*180):5:5);
Тогда будет точно видно что это 90 градусов
