Если когда нить будешь писать достаточно большой проект. То его надо будет разбить на более мелкие блоки. Их на еще более мелкие. И отлаживать всю программу на 5000+ строк будет ой как тяжело если переходы GOTO идут. А так отладил блок - забыл про него, следующий, а потом используй их в виде процедур и функций. Останется в самой программе всего несколько строк

См. исходники прог на Delphi.
Твоя прога например
может выглядеть так.
function MyQuery1:Boolean
begin
writeln('Готовы?(Введите "да" или "нет").');
readln(a);
if (a='да') then MyQuery1:=True else MyQuery1:=False;
end;
procedure ShowWelcomeMessage;
begin
writeln('Здравствуйте.');
end;
procedure EndError;
begin
writeln('Ошибка. Прощайте.');
Exit;
end;
procedure ShowTrueMessage;
begin
writeln('Все правильно и т.д.');
Exit;
end;
begin
ShowWelcomeMessage; - вывод приветсвия
If Not MyQuery1 then EndError;
If Not MyQuery2 then EndError;
If Not MyQuery3 then EndError;
If Not MyQuery4 then EndError;
If Not MyQuery5 then EndError;
ShowTrueMessage;
end.
вот типа такого
наброска и должна выглядеть правильная программа. никаких GOTO. Будут вопросы пиши.