Zastosowanie pętli while i do while

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.

2

pseudokod:

n = 1
dopóki n <= 100
   jeśli reszta z dzielenia n przez 9 równa się 0, to wypisz n 
   n = n + 1
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

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

is equivalent to

do_work();

while (condition) {
    do_work();
}

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

0
LukeJL napisał(a):

pseudokod:

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.

0

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

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

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

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

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

do while:

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

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]
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1