106 Godzina 8
W początkach informatyki, pętla składała się z etykiety, instrukcji wewnętrznych i skoku. W C++ etykieta to nazwa zakończona dwukropkiem ( : ). Etykieta musi występować w linii jako pierwsza. Instrukcja skoku składa się ze słowa kluczowego goto i nazwy etykiety docelowej. Listing 8.1. demonstruje pętlę goto.
Listing 8.1. Pętla goto
1:
2:
3:
4:
5:
S:
7:
8:
9:
10
11
12
13
14
15
16
// Listing 8.1 // Pętla goto
Sinclude <iostream.h>
int main()
{
int licznik =0; // inicjalizacja zmiennej
loop: licznik++; // początek pętli
cout « "licznik: " « licznik « "\n"; if (licznik < 5) // sprawdź wartość
goto loop; // skocz do początku
cout « "Koniec, licznik: '' « licznik « ".\n"; return 0;
1
licznik: 1 licznik: 2 licznik: 3 licznik: 4 licznik: 5 Koniec, licznik: 5.
ANALIZA:
W linii 8 jest inicjalizowana zmienna licznik. W linii 9 znajduje się etykieta o nazwie loop (wyznacza ona początek pętli). W każdym kroku pętli zwiększana i wypisywana jest wartość zmiennej licznik. Jeśli jest ona mniejsza od 5, to wykonywana jest instrukcja goto. Program przechodzi do linii 9. Pętla powtarzana jest tak długo, aż zmienna licznik osiągnie wartość 5. Na końcu wypisywana jest ostateczna wartość zmiennej.
Instrukcja goto jest w C++ bardzo rzadko wykorzystywana. Pozwala ona na przejście do dowolnego miejsca w programie, do przodu lub do tyłu. Użycie goto powoduje ogromną komplikację programu, taki kod jest bardzo trudny do czytania i analizy. Określa się go jako program-spaghetti.
Aby uniknąć stosowania goto, wprowadzono bardziej zaawansowane i spójne instrukcje pętli: for, while i do. . .while. Wykorzystanie tych instrukcji czyni kod dużo jaśniejszym, instrukcja goto jest zbędna.
W początkach informatyki, pętla składała się z etykiety, instrukcji wewnętrznych i skoku. W C++ etykieta to nazwa zakończona dwukropkiem ( : ). Etykieta musi występować w linii jako pierwsza. Instrukcja skoku składa się ze słowa kluczowego goto i nazwy etykiety docelowej. Listing 8.1. demonstruje pętlę goto.
Listing 8.1. Pętla goto
1: // Listing 8.1
2: II Pętla goto
3:
4: fłinclude <iostream.h>
5:
6: int main()
7: {
// inicjalizacja zmiennej II początek pętli " « licznik « "\n";
// sprawdź wartość // skocz do początku
8: int licznik = 0;
9: loop: licznik++;
10: cout « "licznik
11: if (licznik < 5)
12: goto loop;
13:
14: cout « "Koniec, licznik: " « licznik « ”.\n";
15: return 0;
16: }
EFEKT DZIAŁANIA:
licznik: 1 licznik: 2 licznik: 3 licznik: 4 licznik: 5 Koniec, licznik: 5.
ANALIZA:
W linii 8 jest inicjalizowana zmienna licznik. W linii 9 znajduje się etykieta o nazwie loop (wyznacza ona początek pętli). W każdym kroku pętli zwiększana i wypisywana jest wartość zmiennej licznik. Jeśli jest ona mniejsza od 5, to wykonywana jest instrukcja goto. Program przechodzi do linii 9. Pętla powtarzana jest tak długo, aż zmienna licznik osiągnie wartość 5. Na końcu wypisywana jest ostateczna wartość zmiennej.
Instrukcja goto jest w C++ bardzo rzadko wykorzystywana. Pozwala ona na przejście do dowolnego miejsca w programie, do przodu lub do tyłu. Użycie goto powoduje ogromną komplikację programu, taki kod jest bardzo trudny do czytania i analizy. Określa się go jako program-spaghetti.
Aby uniknąć stosowania goto, wprowadzono bardziej zaawansowane i spójne instrukcje pętli: for, while i do. . .while. Wykorzystanie tych instrukcji czyni kod dużo jaśniejszym, instrukcja goto jest zbędna.