|
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);
|
|
Ostatnia aktualizacja: Piątek, 10. Lipiec 2009 15:04 |