Безусловный переход ( англ. unconditional branch ) - переход в заданную точку программы без проверки выполнения любых условиях. Во многих языках программирования такому переходу соответствует специальная инструкция goto, в некоторых BRANCH или JUMP.
Широко использовалась в ранних версиях языков программирования, например, BASIC, Fortran, Pascal. Также до сих пор широко используется при программировании на языке низкого уровня Assembler. Однако с ростом сложности и размера программ и развитием структурного программирования использования данной инструкции стало нежелательным из-за обилия ошибок и путаницы, которая возникает в процессе программирования с ее использованием. Поэтому, использование инструкции безусловного перехода считается плохим стилем программирования, а в некоторых современных языках высокого уровня он вообще не поддерживается (например, в Java ).
В небольших программах, goto может облегчить и упростить написание кода. Хотя обычно ее использования можно заменить другими инструкциями, например, циклом.
Пример программы с безусловным переходом
Ниже приведен исходный код программы на языке программирования C + +, нахождения N-го числа Фибоначчи :
#include <iostream>
using namespace std;
int main() {
int N;
cout << " Введите номер N: ";
cin >> N;
int a = 1, b = 0, c;
label: // Метка (место в программе куда осуществляется переход)
if (N == 0) {
cout<<" Искомое число: "<<a<<endl;
return 0;
}
N--;
c = b;
b = a;
a += c;
goto label; // Оператор перехода
}