Czym różni się pętla while od pętli do while?

0

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

0

Pętla while sprawdza warunek przed wykonaniem iteracji, do-while po wykonaniu iteracji. Ta druga zapewnia co najmniej jeden obrót.

0

mam jeszcze mały problem bo nauczyciel kazał nam napisać dwa programy z wykorzystaniem tych pętli no i mam problem bo nie wiem jak się do tego zabrać. Na lekcji były pokazane przykłady w Visual Studio ale ja nie wiem nawet jak je uruchomić?

0

Z czym konkretnie masz problem? Nie wiesz jak działają te pętle, nie wiesz jak ich użyć, czy nie masz pomysłów na ich wykorzystanie?

0

o jaaaa pomyliłem sobie login.

nie wiem jak je użyć - jak napisać te programy. Jak je uruchomić?

0

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'".

0

ok. ale jak takie coś uruchomić żeby coś pokazało?

0

no ale żeby nauczyć się programować - to chciałbym uruchomić pierwszy program.

0

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.

0

piszę w C

0

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.

0

ok dzięki za pomoc.

0

Jak miałeś w szkole na Visual Studio to ściągnij sobie VS 2010 EE i nie będziesz miał potem ewentualnych kłopotów z kodem jak przejdziesz z GCC na CL'a.

0

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?

0

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?

0

A jeśli warunek pętli "do while" za pierwszym razem jest fałszywy a później prawdziwy, to czy pętla wykona się więcej niż jeden raz?

0

Tak

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