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

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:

Kopiuj
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).

Kopiuj
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?

payl
Naucz się programować to będziesz wiedzieć.
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.

KU
Oczywiście to wszystko zakładając, że piszesz w C/C++. Delphi ma swój kompilator, Java ma JITa itd.
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.

allocer
dla mnie to kolejna podpucha w wykonaniu nnn, niepotrzebnie się produkujesz :)
0

ok dzięki za pomoc.

hauleth
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:21 dni
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.


KA
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 3 lata
  • Postów:22
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:

Kopiuj
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?

R3id4k
Na jakim początku??? Ta pętla to nie wróżka, Chcesz wróżki użyj instrukcji sprawdzającej warunek na początku. Poczytaj dlaczego czasami potrzebujemy takiego rozwiązania. Bank wyświetla najpierw monit na stronie i dopiero po sprawdzeniu warunku logujesz się albo nie. Przecież nie wyślą najpierw pracownika aby sprawdził czy możesz się logować.
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Gorlice
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?


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 1x, ostatnio: kAzek
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0
KA
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 3 lata
  • Postów:22
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?

edytowany 1x, ostatnio: Kano
R3id4k
Nie rozumiesz idei tej pętli....
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Tak


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
KA
Ech. Właściwie to mogłem to sprawdzić sam zamiast zawracać głowę :) Dzięki za odpowiedź.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)