Pętla ta pozwala na wykonanie pewnego bloku instrukcji określoną ilość razy. Można powiedzieć, że jest to ulepszona wersja pętli while i do while, gdyż przez odpowiednio skonstruowany warunek pomijamy kod, który musieliśmy napisać, aby otrzymać ten sam efekt przy użyciu while i do while.

Data dodania: 2010-10-31

Wyświetleń: 2228

Przedrukowań: 0

Głosy dodatnie: 0

Głosy ujemne: 0

WIEDZA

0 Ocena

Licencja: Creative Commons

Pętla ta pozwala na wykonanie pewnego bloku instrukcji określoną ilość razy. Można powiedzieć, że jest to ulepszona wersja pętli while i do while, gdyż przez odpowiednio skonstruowany warunek pomijamy kod, który musieliśmy napisać, aby otrzymać ten sam efekt przy użyciu while i do while. Doskonale nadaje się do zapisywania i odczytywania danych z tablic (lekcja 8), a tablice to niesamowicie przydatna zmienne.

Jak napisać warunek w pętli FOR

 

Warunek w tej pętli jest nieco inny niż w pętli while i do while oraz funkcji if. Wyobraź sobie sytuacje, że chcesz wypisać na ekran liczby całkowite od 1 do 10. Zaczynamy od 0, kończymy na 10, a po każdym kroku zwiększamy liczbę o 1. W języku C++ wyglądałoby to tak (jako zmienną używam i):

i=1; //zaczynam od 1
i<=11; //kończymy na 10,
i++ // zwiększamy zmienną o 1

Warunek ten umieszczamy:

for(warunek) //TUTAJ
{
  // instrukcje
}

A dokładniej, po zdefiniowaniu zmiennej i możemy napisać:

int i;

for(i=1; i<=10; i++) // tak wpisujemy warunek
{
  cout<<i<<endl;
}

getch();

Przeanalizuj wpisany warunek. Kolejność jest ważna. Najpierw od ilu zaczynamy, następnie na ilu kończymy i co ile zwiększamy lub zmniejszamy zmienną. Pętla poniżej wypisze liczby od 10 do 1.

int i;

for(i=10; i>=1; i--) // wypisze liczby od 10 do 1
{
  cout<<i<<endl;
}

getch();

Aby wypisać liczby np. co 10, nie trzeba pisać i=i+10. Wystarczy i+=10. Kolejny skrót, który warto zapamiętać, gdyż znacznie ułatwi on pracę.

int i;

for(i=0; i<=100; i+=10) // tak wpisujemy warunek
{
  cout<<i<<endl;
}

getch();

Granica wypisywania nie musi być narzucona. Możemy wczytać ją z klawiatury do zmiennej:

int i; // zmienna do zliczania
int granica; // tu zapiszemy naszą granicę

cout<<"Podaj granice wyliczania: "; // to już znamy
cin>>granica; // to też

for(i=0; i<=granica; i++) // używamy zmiennej zamiast liczby
{
  cout<<i<<endl;
}

getch();

Dzięki pętli FOR znajdziemy z żądanego przedziału np.: liczby podzielne przez 3 lub przez 5:

int i; // zmienna do zliczania
int granica; // tu zapiszemy naszą granicę

cout<<"Podaj granice wyliczania: "; // to już znamy
cin>>granica; // to też

for(i=0; i<=granica; i++) // używamy zmiennej zamiast liczby
{
  if((i%3)==0 || (i%5)==0) // warunek na podzielność liczby przez 3 lub 5.
  {
    cout<<i<<endl;
  }
}

getch();

lub znaleść dzielniki zadanej liczby:

int i; // zmienna do zliczania
int liczba; // tu zapiszemy naszą liczbę

cout<<"Podaj liczbe: "; // to już znamy
cin>>liczba; // to też

for(i=1; i<=liczba; i++) // zliczamy od 1 do wartości liczba
{
  if((liczba%i)==0) // warunek na podzielność podanej liczby przez aktualną wartość i.
  {
    cout<<i<<endl;
  }
}

getch();

Zliczamy od 1 bo nie można dzielić przez 0. Robilibyśmy to, gdyby i początkowo miało wartość 0, a wtedy przy sprawdzeniu warunku na podzielność program odmówiłby posłuszeństwa. Kolejnym, jednym z wielu, zastosowaniem jest obliczanie silni (pominiemy wartość 0):

int i; // zmienna do zliczania
int liczba; // tu zapiszemy naszą liczbę
long long int silnia=1; //a tu – wartość silni, początkowo 1
// Uwaga – zmodyfikowany typ zmiennej

cout<<"Podaj liczbe wieksza od 0: "; // to już znamy
cin>>liczba; // to też

for(i=1; i<=liczba; i++) // zliczamy od 1 do wartości liczba
{
  silnia=silnia*i; // mnożymy aktualną wartość silnia przez i
}

cout<<"Silnia z liczby "<<liczba<<" wynosi "<<silnia<<endl;

getch();

Wartość silni początkowo wynosi 1.

UWAGA: wprowadziłem typ zmiennej long long int. To wciąż jest stary, dobry i sprawdzony int tylko mogący pomieścić zdecydowanie większe liczby. Zwykły int poprawnie podaje silnie z liczby 16. Z 17 silnia jest ujemna. Natomiast zmodyfikowaniu typu spokojnie możemy obliczać silnie nawet z 25.

Wypisywanie liczb podzielnych przez 4 lub 7, obliczanie silni, średniej – to są problemy, którymi masowo zamęcza się studentów pierwszego roku informatyki i nie tylko. Ja pokazałem najprostsze algorytmy, jedynie do przeanalizowania, bo na razie nie ma potrzeby uczenia się ich. Najszersze zastosowanie pętli FOR już w następnej części (lekcja 8)

Licencja: Creative Commons
0 Ocena