Poznaj C++ w$ godziny0118

Poznaj C++ w$ godziny0118



106 Godzina 8

Najstarszy rodzaj pętli - goto

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.

Dlaczego nie wykorzystuje się instrukcji goto

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.

Najstarszy rodzaj pętli - goto

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.

Dlaczego nie wykorzystuje się instrukcji goto

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.


Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0045 Zmienne i stałe 29Przypisywanie wartości do zmiennych Wartości przypisuje
Poznaj C++ w$ godziny0049 Zmienne i stałe 33 Zmienne całkowite ze znakiem „zawijają się” od najwięks
Poznaj C++ w$ godziny0127 Zaawansowane sterowanie programem 115Listing 8.8. Jeszcze raz pętla while
img3 (12) Język SQL rodzaje poleceń Język manipulowania danymi (DML): składa się z poleceń wstawiani
Poznajemy rysujemy dla 6 latków 42 42 Czyje to portrety? Z ilu osób składa się ta rodzina? Kto spoś
Level 3 Model ExamPISANIE Rodzaje tekstów Korespondencja formalna, na którą składają się: •
Level 3 Model ExamPISANIE Rodzaje tekstów Korespondencja formalna na którą składają się: . listy •
biochemia 3 Rodzaje mięśni-jedna z podstawowych tkanek zwierzęcych. Składa się z włókien mięśniowych
Poznaj C++ w$ godziny0116 Więcej o klasach 103 Zwróć uwagę, że ten rodzaj błędów jest bardzo trudny
Poznaj C++ w$ godziny0125 Zaawansowane sterowanie programem Listing 8.6. Pomijanie pętli while 1:
Poznaj C++ w$ godziny0128 116 Godzina 8 Listing 8.9. Demonstracja pętli for 1:    //&
Poznaj C++ w$ godziny0129 Zaawansowane sterowanie programem 117Listing 8.10. Demonstracja wielokrotn
Poznaj C++ w$ godziny0242 234 Godzina 16 dass Pies : public Ssak Rodzaj pochodzenia (deriuation type
pannaJulia007 106 AUGUST STRINDDERG stron druku i całą godzinę gry. Forma jest zatem nienowa, ale wy
Poznaj C++ w$ godziny0001 Gdy masz czas tylko na właściwe rozwiązania... Intersoftlcind Gdy masz cza

więcej podobnych podstron