czwartek, 14 marca 2013

Programowanie w Ubuntu (12)


Lekcja 12 

Instrukcja pętli (cyklu) for









   Pozdrowienie! To dwunasta z kolei lekcja programowania w języku C. Dzisiaj rozpatrzymy instrukcję (operator) pętli for. Wywodzi się ona z instrukcji pętli while. Algorytm działania instrukcji cyklu for jest następujacy:

    Instrukcję cyklu for rozpatrzymy na przykładzie:

   Rozpatrzmy działanie cyklu. W naszym przykładzie:
  • Wyrażenie 1 to a=5;
  • Wyrażenie 2 to a!=10;
  • Instrukcja to a++ (zwiększamy wartość a o jeden);
  • Wyrażenie 3 to printf ("a=%d\n", a);
   Program będzie działał dopóty, dopóki Wyrażenie 2 będzie prawdziwe. Ponieważ wartość zmiennej jest zwiększana o jeden w każdym kroku, to przy pewnej wartości Wyrażenie 2 stanie się fałszywe, a program się zakończy (w naszym programie, w szóstym kroku wyrazenie było fałszywe, ponieważ wartość zrównała się z dziesięć).

   A teraz wykonamy zadanie bardziej skomplikowane. Napiszemy program, który wyświetla największą wartość z podanych liczb wejściowych:

 













   Rozpatrzmy mechanizm działania programu szczegółowiej, poczynając od linii piątej:
1. Deklarujemy zmienne.
2. W szóstej linii pytamy o wymaganą ilość liczb, a w siódmej umieszczamy tę ilość w zmiennej n.
3. W ósmej linii żądamy wprowadzenia n-tej ilości liczb, a w dziewiątej umieszczamy je w zmiennej m.
4. W dziesiątej linii dla deklarujemy instrukcję pętli for. Przypisujemy zmiennej u wartość 1. Jeśli u < n-1, to następuje wykonanie instrukcji z dziesiątej linii; w przeciwnym przypadku wyświetlana jest liczba deklarowana w dwunastej linii.
5. W dziesiątej linii oczekujemy jeszcze innego numeru i zapisujemy ten numer w zmiennej a.
6. W linii jedenastej, formułujemy warunek if a> m, w ten sposób przypisujemy zmiennej m wartość zmiennej a. Jest to algorytm wartości maksymalnej. Następnie instrukcja pętli jest wykonywane ponownie, aż wszystkie zadeklarowane liczby nie zostaną wprowadzone.
7. Wyprowadzamy na ekran największą podaną liczbę.

   Mechanizem jest to, że za każdym razem, następuje porównanie dwóch liczb a i m; większa z nich zapisywana jest w zmiennej m. I to porównywanie jest ponawiane tak długo, jak u jest mniejsze od n -1.

   Zadanie:
   Przeanalizuj pracę poniższego programu:


   Rozwiązanie na Forum.

Tłumaczył: Leon Miklosik

Brak komentarzy:

Prześlij komentarz