1) Ошибка может содержаться в любой ветке. Не протестировав все - не узнаешь, а не узнав - не исправишь. Значит в итоге будет кривая программа. Брак то бишь. 2) условия можно вкладывать друг в друга любое число раз, главное не запутаться в них в итоге. Выглядеть это будет например вот так: If a<0 then b:=a/2 else if a=0 then b:=a else b:=a*2; Или так: if a<0 then if (abs(a) mod 2 =0) then b:='отрицательное чётное' else b:='отрицательное нечетное' else b:='положительное'; Главное чётко следить к какому if какое then и особенно какое else. Блок схемы на картинке. Возможна масса других вариантов.
лучше для теста написать отдельную программу
И собрать все варианты исходных данных
чтобы убедиться, что нет ошибок в коде
2
иф тзен
иф тзен
елсе
иф тзен
как-то так, пиши