Szukaj

1944

Reklama

Chroń swoje dziecko

w Internecie
Reklama

za darmo ...

Kalendarz

Reklama

Jak odbierasz ...

Wygląd portalu
 

"Musicie od siebie wymagać, nawet jeśli inni by od Was nie wymagali..." JP2 [100%]

Reklama
Iteracje w programie. While...do PDF Drukuj Email
Ocena użytkowników: / 1
SłabyŚwietny 
Instrukcje i materiały do ćwiczeń - Podstawy programowania w C++
Wpisany przez Administrator   

Z tego artykułu dowiesz się:

  1. w jaki sposób użyć instrukcji iteracyjnej while...do
  2. Jak napisać program, który generuje liczbę losową
  3. Jak napisać grę pod tytułem "Zgadnij o jakiej liczbie myślę"

 



Aby przypomnieć sobie poprzednie lekcje napiszmy prosty program, który będzie wykorzystywał iterację.

 

Program "wymyśla" liczbę losową po czym użytkownik ma za zadanie zgadnąć jaka to liczba.

Użyjemy nowej funkcji która generuje liczby losowe.

Program będzie działał tak:

 [PSEUDOKOD]

  1. start
  2. generowanie liczby losowej (pseudolosowej)
  3. próba zgadnięcia: jeśli sukces to idź do 5, jeśli nie, to idx do punktu 4
  4.  czy powtórzyć jeszcze raz? tak: idź do punktu 3, nie: idź do punktu 6.
  5. Gratulacje!
  6. koniec

Czyli program sprawdza, czy użytkownik wpisał liczbę pasującą do wzorca tak długo, jak użytkownik wyraża chęć.

kod programu:

 

 

wywołanie programu (F9)

Program działa. 

Analiza kodu:

Pętla trwa dopóki zmienna tekstowa tak_nie jest równa 't' lub 'T'

while((tak_nie[0] =='t') || (tak_nie[0] == 'T'))
 {

...

}

 

Program wewnątrz pętli wykonuje następujące czynności:

  1. Prosi o podanie liczby i wczytuje ją z klawiatury 
    cout <<("Podaj swoja liczbe ... ");
    cin >>(liczba_uzytkownika);
  2. Porównuje ją z liczbą wzorcową wygenerowana na początku
    if (liczba_uzytkownika != sekretna_liczba)
    {
    }else{
    }
  3. W przypadku, kiedy użytkownik zgadnie liczbę:
      cout << ("Gratulacje!") << endl;
      tak_nie[0] = 'n';
    Warunek kontynuacji pętli zostaje zanegowany.
  4. W przypadku, kiedy użytkownik nie zgadnie liczby:
    cout << ("Niestety nie zgadles");
    cout << ("Chcesz sprobowac jeszcze raz(t/n)? ...");
    cin >> (tak_nie[0])
    Ma wybór, czy chce kontynuować.
  5. Jeżeli chodzi o generowanie liczb losowych, to nie są to do końca liczby losowe. Można przyjąć, że są losowe, bo generowane są na podstawie np. daty, taktowania procesora lub innych wartości. Jednak możemy przyjąć, że jest to liczba losowa.


Co prawda powyższy program łatwiej było by napisać przy pomocy pętli do...while, jednak w ten sposób nauczyliśmy się while...do.

Prawdę mówiąc wiele rzeczy robimy sposobem "trudniejszym" po to, żeby nauczyć się czegoś nowego.