Zastosowanie pętli while i do while

Zastosowanie pętli while i do while
Mateusz Borowiec
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Dostałem zadanie by napisać program pozwalający na sprawdzenie, które liczby całkowite z przedziału <1,100> są podzielne przez 9 i wypisać je na ekranie. Przy użyciu pętli for rozwiązanie przychodzi mi bardzo łatwo, ale jakoś nie mogę połapać się jak to rozwiązać przy użyciu pętli while i do while. Proszę o pomoc.

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8487
2

pseudokod:

Kopiuj
n = 1
dopóki n <= 100
   jeśli reszta z dzielenia n przez 9 równa się 0, to wypisz n 
   n = n + 1
TS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 865
2

Może ten przykład też pomoże Ci zrozumieć różnicę między tymi dwiema pętlami.

https://en.wikipedia.org/wiki/Do_while_loop#Equivalent_constructs

Kopiuj
do {
    do_work();  
} while (condition);

is equivalent to

Kopiuj
do_work();

while (condition) {
    do_work();
}

A poniżej w artykule masz jeszcze przykład w Javie.

Mateusz Borowiec
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0
LukeJL napisał(a):

pseudokod:

Kopiuj
n = 1
dopóki n <= 100
   jeśli reszta z dzielenia n przez 9 równa się 0, to wypisz n 
   n = n + 1

Dziękuję bardzo. Nie wychodziło mi bo wrzucałem inkrementację pod IFa, zamiast po nim.

piotrpo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3297
0

Różnica pomiędzy tymi pętlami dotyczy właściwie wyłącznie składni:

Kopiuj
for(int i = 1; i<=100; i++){
  if(i%9 == 0){
    ...
  }
}
Kopiuj
int i = 1;
while(i<=100){
    if(i%9 == 0){
    ...
    }
  i++;
}

Kopiuj
int i = 1;
do {
  ....
  i++
} while(i <=100)

Na przekładając na psekudokod, masz tak:
while:

Kopiuj
hip
jeżeli warunek niespełniony skocz do hop
zrób coś
skocz do hop
hop

do while:

Kopiuj
hop
zrób coś
jeżeli warunek spełniony, to skocz do hop

a pętla for, to nic więcej jak inaczej zapisana pętla while, gdzie masz

Kopiuj
for([coś na samym początku, wykona się raz]; [warunek przeskoczenia na początek pętli]; [coś co wykona się po każdej iteracji]){
[coś co ma być wykonane podczas każdej interacji]
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.