witam,
mam pytanie czym różni się pętla while od pętli do while? Zaczynam przygodę z programowaniem - pierwsza klasa liceum.
Proszę o pomoc,
friki
Użycie jest bardzo proste:
while ( WYRAŻENIE ) {
INSTRUKCJE
}
Pętla while wykonuje INSTRUKCJE tak długo (tyle razy), dopóki wynikiem WYRAŻENIE jest logiczna PRAWDA lub wartość jej odpowiednia (np. >0).
do {
INSTRUKCJE
} while ( WYRAŻENIE )
Pętla do-while wykonuje INSTRUKCJE, po czym sprawdza wynik WYRAŻENIE i jeśli rozwija się on na logiczną PRAWDA, ponawia wykonywanie INSTRUKCJE.
Pętli tych używa się do iteracji w przypadku, gdy nie ma iteratora (w odróżnieniu od pętli for). Np. "wyświetlaj ciąg znaków dopóki user nie wpisze znaku 'q'".
Skompilować. Niestety, nie napisałeś jakiego kompilatora używasz, więc nic nie można więcej powiedzieć. Jeśli używasz Visual Studio, Borland Something czy innych wynalazków pod Windows, to nie pomogę (koledzy pewnie coś napiszą). Jeżeli używasz GCC, to:
gcc -o freakin_while_loop freakin_while_loop.c
powinno załatwić sprawę. Pod Windows trzeba do wartości parametru "-o" dokleić rozszerzenie ".exe", bo inaczej system wpadnie w depresję i nie będzie wiedział co z tym plikiem zrobić.
W Code::Blocks wystarczy Ctrl-F10.
Jeśli nie masz kompilatora to możesz spróbować zainstalować Code::Blocks. To jest IDE, które pod Windows jest AFAIR zbundlowane z MinGW i kompilatorem GCC. Ściągasz za darmo, instalujesz, piszesz, kompilujesz.
Pomyśl też nad kupnem książki do nauki języka. Jeśli klepiesz w C, idealną pozycją jest "Język ANSI C" Kernighana i Ritchie. W bardzo przystępny sposób opisuje język, nawet jeśli masz bardzo niewielkie doświadczenie w programowaniu. Książka jest dość wiekowa (ale nadal aktualna), więc kupisz ją nawet za kieszonkowe.
Witam. Pomimo, że wątek ma już 6 lat postanowiłem go odkopać, ponieważ mam problem ze zrozumieniem działania pętli "do ... while". Weźmy przykładowy kod:
public class Odczyt{
public static void main(String[] args){
int licznik = 0;
do{
System.out.println("To jest petla");
licznik++;
}
while(licznik<10);
System.out.println("Koniec pętli");
}
}
Tekst "To jest pętla" wyświetla się 10 razy. Skoro warunek sprawdzany jest dopiero po wykonaniu pętli, to dlaczego kiedy za 11 razem licznik osiąga wartość 10, polecenie nie jest już wykonywane? Mimo, że warunek pętli nie jest już prawdziwy, to zgodnie z tą zasadą powinien się wykonać a dopiero później ustalić, że był on fałszywy. Kiedy wartości licznika przypiszemy np. liczbę 20, pętla wykona się jeden raz mimo, że wartość ta od początku jest fałszywa. Dlaczego w wyżej wymienionym przykładzie jest inaczej?
Pętla do while polega na tym, że kod pomiędzy do a while wykonywał się dopóki jest spełniony warunek a ponieważ jest on sprawdzany na końcu pętli ten kod zawsze wykona się co najmniej jeden raz.
W tym wypadu jak zmienna licznik osiągnie wartość 10 warunek licznik mniejszy od 10 przestaje być spełniony wiec pętla przestaje się wykonywać. To chyba proste?
http://fasadin.4programmers.net/2016/03/4-pierwsze-programy.html?view=sidebar
4.4.2 Wyjaśnienie pojęcia pętli