Pętla do while PDF Drukuj Email
Wpisał doctor   
Sobota, 13. Styczeń 2007 03:31
Pętla do while w C++

Pętla do while ma postać:

do {
//kod }
while(warunek);

W przeciwieństwie do while, warunek jest sprawdzany na końcu, a więc pętla wykona się conajmniej raz. Niezależnie od tego czy warunek będzie spełniony czy też nie.



Przykład 1
Użyjemy pętli do while do wypisania 10 kolejnych liczb w komponencie Memo.
Na formę kładziemy 1 Button oraz 1 komponent Memo.Zdarzenie OnClick dla Button1 uzupełniamy następującym kodem:

int i = 0;
do {
i++;
Memo1->Lines->Add(IntToStr(i) );
}
while (i<11);

Przykład ten jest bardzo prosty.Innym zastosowaniem pętli do while są działania które muszą być wykonane w pętli, natomiast zmienna która jest tożsamością w warunku while jest obliczana dopiero w pętli.

Przykład 2
W tym przykładzie w tożsamości zostanie wykorzystana zmienna, która jest obliczana w pętli do while, a poza samą pętlą nie istnieje.

randomize();
do {
String nazwa = "";
String alfabet[26] = "abcdefghijklmnoprstuvwxyz";
for(int i=0;i<3;i++)
{
nazwa += alfabet[random(26)];
}
} while(!FileExists(nazwa) );

Ten nieco rozbudowany program działa w sposób następujący: załóżmy, że zapisujemy w folderze pliki i nadajemy im nazwy składające się z 3 liter alfabetu podstawowego, np. abh czy kuw.
I tak, wiemy, że plik musi mieć jakąś nazwę aby go można było zapisać.Oznacza to, że pętla musi przejść conajmniej 1 raz.A drugi warunek jest taki, że jeśli plik o podanej nazwie już istnieje, to nie można go nadpisać ale wygenerować nową nazwę.
Oczywiście, nazwa składająca się z 3 liter stwarza zaledwie 26^3 kombinacji wyboru, w przypadku więc konieczności generowania tą metodą losowych nazw plików należy dobrać odpowiednią długość nazwy aby uniknąć zapętlenia.

Przykład 3
Pętla nieskonczona do while w alternatywie dla pętli nieskończonej for
do {
// kod do wykonania
} while(1);

Komentarze
Dodaj nowy Szukaj
+/-
Napisz komentarz
Nick:
E-mail:
 
Strona www:
Tytuł:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Proszę wpisać kod antyspamowy widoczny na obrazku.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Ostatnia aktualizacja: Piątek, 10. Lipiec 2009 15:04
 
 

Losowy obraz

b5.jpg

Gościmy

Naszą witrynę przegląda teraz 9 gości 




| | | |