Jeśli wyrywacie sobie włosy z głowy nad tym, co to jest pętla "for", to już się głowić nie musicie. W ten sobotni dzień postaram się wrzucić aż trzy artykuły w ciągu jednego dnia na temat każdej z podstawowych pętli, zatem traktujcie ten artykuł jako część 1 z 3.

PĘTLA "FOR" - WYJAŚNIENIE

Pętla "for" (zwana też "iteracyjną") jest jedną z podstawowych rodzajów pętli pozwalających na wykonywanie danych instrukcji określoną ilość razy, zatem jest ona wyjątkowo użyteczna gdy wiemy ile razy musi wykonać powtórzeń. Jest to jedna z dwóch pętli posiadających tzw. "warunek wejścia", zatem warunek jest sprawdzany już na samym początku, zanim dojdzie do pierwszego wykonania cyklu. Składa się ona z trzech części oddzielonych od siebie średnikami: inicjalizacja, warunek, aktualizacja.

  • INICJALIZACJA polega na utworzeniu zmiennej iteracyjnej, która będzie istnieć tylko w obrębie bloku instrukcji należącego do pętli "for".
  • WARUNEK ustala czy komputer ma ponownie wykonać serię poleceń należących do pętli czy przejść do następnej instrukcji.
  • AKTUALIZACJA modyfikuje zmienne iteracyjne w celu przesunięcia licznika mającego wpływ na warunek.

Oto najczęściej spotykana postać:

for (inicjalizacja; warunek; aktualizacja)
{
    instrukcje;
}

Zaznaczam, że mimo tego, że powyższa składnia jest zalecana, to pętla "for" nie musi wcale mieć żadnych części opisanych powyżej. Można na przykład zapisać ją tak:

for (;;)
{
    instrukcje;
}

Wówczas pętla staje się nieskończona.

Pętla "for"

Pętla "for" składa się z trzech wyrażeń: inicjalizacji, sprawdzenia warunku oraz aktualizacji. Kolejność wykonywania wszystkich części przedstawia powyższy rysunek.

PĘTLA "FOR" - ZASTOSOWANIE

W przeciwieństwie do innych pętli, ona doskonale się nadaje do sytuacji przy których WIEMY ile razy musi wykonać swoje instrukcje. Zatem doskonale nadaje się do następujących rzeczy:

  1. wykonywanie dowolnych instrukcji N razy
  2. wykonywanie instrukcji na tablicy
  3. wykonywanie instrukcji w formie "tabeli" (rzędy i kolumny - wymagane jest osadzenie pętli w pętli)
  4. aktualizowanie kilku zmiennych naraz, zarówno dotyczących tylko tej pętli, jak również wszelkich danych "zewnętrznych"

Oto kilka przykładowych zastosowań.

PĘTLA "FOR" - PRZYKŁADY

Zaprezentuję teraz parę prostych przykładów dotyczących języka C (o tworzeniu gier w tym języku, zapraszam tutaj).

Ten przykład pokazuje proste wypisanie komunikatu określoną ilość razy.

#include <stdio.h>

#define TIMES 5

int main(void)
{
    for (int i = 0; i < TIMES; ++i)
    {
        printf("Wypisuje komunikat...\n");
    }
    
    return 0;
}

Pętla "for" i jej potencjał sięga znacznie dalej. Tutaj z kolei prezentowane jest wprowadzanie liczb całkowitych oraz ich wypisanie w odwrotnej kolejności. Obie czynności korzystają z tej samej pętli.

#include <stdio.h>

#define SIZE 8

int main(void)
{
	int numbers[SIZE];
	
	printf("Podaj %d liczb calkowitych: ", SIZE);
	
	for (int n = 0; n < SIZE; ++n)
	{
		scanf("%d", &numbers[n]);
	}
	
	printf("Oto podane liczby w odwrotnej kolejnosci:\n");
	
	for (int n = SIZE - 1; n >= 0; --n)
	{
		printf("%3d\t", numbers[n]);
	}
	
	printf("\nKoniec.\n");
	getchar();
	getchar();
	
	return 0;
}

Takie dwa proste przykłady pokazują, że możliwości pętli "for" są bardzo duże. Zrozumienie jej działania jest FUNDAMENTALNE, aby spokojnie powiedzieć, że "umiecie podstawy".


To koniec prostego tłumaczenia czym jest pętla "for". Za parę godzin spodziewajcie się następnego artykułu z tego cyklu, następnym razem będzie pętla "while".

62215
Dzisiaj / TodayDzisiaj / Today226
Wczoraj / YesterdayWczoraj / Yesterday217
Tydzień / WeekTydzień / Week699
Miesiąc / MonthMiesiąc / Month1895