Programowanie i algorytmy

Skok bezwarunkowy goto

powrót

Skok bezwarunkowy goto jest najstarszym rodzajem pętli, który został wyparty przez pętlę for i pętlę while. Do konstrukcji pętli goto potrzebna jest etykieta, czyli takie słowo, które jest zakończone znakiem dwukropka (:). Etykieta musi występować w linii jako pierwsza. Program gdy napotka słowo kluczowe goto i nazwę tejże etykiety, przemieszcza się bezwarunkowo w miejsce gdzie  została ona zadeklarowana. 

Nie jest wskazane stosowanie tego rodzaju pętli, ponieważ kod staje się nieczytelny, trudny do analizy oraz łamie ideę programowania strukturalnego.

Przykład. Napisz program, który  wyznaczy sumę n kolejnych liczb naturalnych.

Rozwiązanie

#include <cstdlib>
#include <iostream>


using namespace std;

int main()
{

unsigned int i = 0, suma = 0,n;

cout<<"Podaj ilość liczb do policzenia: ";
cin>>n;

licz:

suma+=i;

if(i==n)

goto koniec;

else
{

i++;
goto licz;

}


koniec:


cout<<"Suma "<<n<<"-kolejnych liczb naturalnych wynosi: "<<suma<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}