Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Podobne dokumenty
Pętla for. Wynik działania programu:

Pętle. Dodał Administrator niedziela, 14 marzec :27

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

1 Podstawy c++ w pigułce.

7. Pętle for. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Każde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.

Wstęp do programowania

1 Podstawy c++ w pigułce.

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Język C, instrukcje sterujące (laboratorium)

Podstawy Programowania C++

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

4. Funkcje. Przykłady

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Wstęp do informatyki- wykład 7

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Java Podstawy. Michał Bereta

Instrukcje cykliczne (pętle) WHILE...END WHILE

Instrukcje sterujące

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy Programowania Podstawowa składnia języka C++

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Część XV C++ Ćwiczenie 1

KOTLIN. Język programowania dla Androida

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

Wstęp do programowania

Pętle instrukcje powtórzeo

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

Konstrukcje warunkowe Pętle

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

6. Pętle while. Przykłady

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Wstęp do programowania

Pascal - wprowadzenie

Instrukcje sterujące. Programowanie Proceduralne 1

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Podstawy programowania skrót z wykładów:

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Liczby losowe i pętla while w języku Python

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Wstęp do Programowania, laboratorium 02

Zapis algorytmów: schematy blokowe i pseudokod 1

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

Programowanie - instrukcje sterujące

Wstęp do Informatyki dla bioinformatyków

Wstęp do informatyki- wykład 7

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Struktura pliku projektu Console Application

Podstawowe elementy programowania strukturalnego. Wbudowane typy danych w C++

Warunek wielokrotnego wyboru switch... case

3. Instrukcje warunkowe

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Wstęp do informatyki- wykład 9 Funkcje

Programowanie strukturalne i obiektowe. Funkcje

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Programowanie Obiektowe i C++

po wykonaniu instrukcji wartość zmiennej x zostanie zwiększona o 50,a

Programowanie proceduralne w języku C++ Pętle, tablice

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Programowanie - wykład 4

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

PHP: bloki kodu, tablice, obiekty i formularze

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

JAVA?? to proste!! Autor: wojtekb111111

Język C zajęcia nr 5

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Wykresy i interfejsy użytkownika

SSK - Techniki Internetowe

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

W dowolnym momencie można zmienić typ wskaźnika.

Warunki i pętle. Instrukcja warunkowa if. Przykład zastosowania.

Instrukcja warunkowa i złoŝona.

do instrukcja while(wyrażenie);

Wstęp do programowania

Wstęp do informatyki- wykład 11 Funkcje

Ijakis Taka warunek. petla programowa polega na tym, ze pewna instrukcja (lub ~ Instrukcja sterujaca while ma forme:

Podstawowe części projektu w Javie

Programowanie w języku C++ Grażyna Koba

Transkrypt:

Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik zawiera 800 bajtów. Jak to zrobić? Napisanie 800 razy tej samej instrukcji szyfrującej oczywiście odpada. Po za tym co w sytuacji, gdy plik ma 900 bajtów. Wtedy trzeba byłoby ingerować w kod programu. Sam widzisz, że takie rozwiązanie nie wchodzi w grę. Należy wykonać szyfrowanie jakoś sprytniej :) Czy nie fajnie byłoby napisać instrukcję szyfrującą jednokrotnie i wykonać odpowiednią ilość razy? Otóż można! Do takich przypadków służą pętle. PĘTLA WHILE Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest wykonywana dopóki postawiony warunek jest spełniony. Taka pętla może zawierać jedną lub więcej instrukcji. 1. while (5 > 3) instrukcja; Widzisz podobieństwo do instrukcji if? Taka pętla raczej nie znajdzie zastosowania w praktyce. Warunek jest zawsze ten sam. Zawsze jest on prawdziwy. Oznacza to, że pętla, a tym samym będąca w pętli instrukcja będzie wykonywana w nieskończoność. Oczywiście nic nie stoi na przeszkodzie, aby w pętli użyć zmiennej, jako warunku: 1. while (zmienna!= 0) instrukcja; Tutaj instrukcja będzie wykonywana dopóki wartość zmiennej będzie różna od zera. Jeżeli pętla zawiera kilka instrukcji istnieje możliwość umieszczenia ich w bloku. Robi się to analogicznie jak przypadku instrukcji if: 1. while (zmienna < 100)

Podczas każdorazowego obiegu pętli nastąpi wykonanie wszystkich trzech instrukcji. Oczywiście pętla będzie się wykonywać dopóki zmienna będzie mniejsza od stu. W przeciwnym wypadku nastąpi wyskok z pętli. Należy również pamiętać, że warunek jest tutaj sprawdzany w momencie wchodzenia do pętli. Oznacza to, że jeśli na początku nie zostanie on spełniony to pętla nie wykona się nawet jeden raz! PĘTLA DO-WHILE Właściwie jest to jakby rozszerzenie pętli while i nie warto sobie tym zawracać głowy. Jednak dla formalności powiem kilka słów. Zasadnicza różnica pomiędzy tą pętlą, a wcześniejszą jest taka, że tutaj nastąpi przynajmniej jeden obieg. Pierwszy obieg jest niezależny od warunku, ponieważ jego sprawdzenie nastąpi dopiero na końcu. Tutaj zostanie podjęta decyzja dotycząca ponownego obiegu. Składniowo przedstawia się to tak: 1. do 7. while (zmienna > 10); Po za wspomnianą różnicą reszta jest niezmienna. Czyli teraz wszystkie instrukcje zostaną wykonane przynajmniej jednokrotnie. Jeżeli przy kończeniu zmienna będzie większa od dziesięciu nastąpi kolejny obieg. I tak w kółko. Pamiętaj tylko o średniku na końcu! Pętle do-while i while stosowane są najczęściej w sytuacjach, gdy nieznana jest ilość obiegów. Podaje się warunek i pętla jest wykonywana lub nie. Czasami takie rozwiązanie się przydaje. Jednak przeważnie wiemy ile razy dana pętla zostanie wykonana. Wtedy można posłużyć sie inną pętla.

PĘTLA FOR Pętla for jest wykorzystywana w sytuacjach, gdy można określić bliżej ile razy będzie ona powtarzana. Słowo for oznacza dla. I tak dla przykładu: 1. for (wyrażenie_początek; warunek; instrukcja_co_obieg) Wyraźnie widać, że już w składni pojawiają się znaczne różnice. Działanie ogólnie to samo. Wykonanie określonej czynności wiele razy. W nawiasie idąc od lewej znajduje się instrukcja, która jest wykonywana na początku pierwszego obiegu. Podczas każdego następnego sprawdzany jest warunek. Na tej podstawie stwierdza się, czy kontynuować wykonywanie czy nie. Następnie jest dowolna instrukcja, która jest wykonywana co obieg pętli. Przeważnie pętla for wygląda następująco: 1. for (int i = 0; i < 100; i++) Pętla for w takiej postaci działa w taki sposób. Najpierw jest definiowana zmienna o nazwie i. Dodatkowo jest ona inicjalizowana wartością zero. Przy każdym obiegu pętli następuje inkrementacja licznika i. Gdy osiągnie on wartość 99 pętla zakończy się. Zauważ, że pomimo liczby 99 pętla zostanie wykonana 100 razy. To dlatego, że rozpoczynamy od zera. Tutaj również klamry nie są obowiązkowe jeśli pętla zawiera tylko jedną instrukcję. Mało tego. Podczas pisania pętli for wcale nie musisz podawać wszystkich informacji. Możesz pominąć warunek wyskoku z pętli, tak jak poniżej: 1. for (int i = 0; ; i++)

Jest to prawie taka sama pętla jak poprzednio. Zauważ, że nie ma w niej warunku, który jest sprawdzany przed każdym obiegiem. W takiej sytuacji pętla będzie wykonywana bez przerwy. Pamiętaj, że jeśli pomijasz jakąś informację znajdującą się w nawiasie musisz pozostawić średnik! Istnieje też możliwość umieszczenia kilku informacji w części inicjalizacyjnej. Wówczas wtedy należy je oddzielić przecinkiem. W kodzie przedstawia się to w następujący sposób: 1. for (int i = 0, char c = 10, short s = 100; ;i++) instrukcja; Jednak takie kombinacje zdarzają się rzadko. Najczęściej korzysta się głównie z jednego sposobu. Definicja licznika, ilość wykonań, inkrementacja licznika. Zresztą taki przykład już jest kilka linijek wyżej. DODATKOWE INSTRUKCJE W PĘTLACH Jak dotąd rozważaliśmy przypadki, gdy pętla wykonywana była zależnie od warunku. W pętli while i do znajdował się on na początku lub na końcu. W pętli for także był sprawdzany na początku. Teraz jak można nieco nagiąć takie przepisy i wyskoczyć z pętli w dowolnej chwili. BREAK Instrukcję break już poznałeś przy okazji omawiania instrukcji switch. Tam służyła ona do wyskoku z bloku switch. W pętlach jej działanie jest identyczne. Za jej pomocą można szybko wyskoczyć z pętli. 1. for (int i = 0; i < 30; i++) 6. if (zmienna == 7.78) break; //ooo sorr'y tutaj wyskakuję :) 7. } Normalnie pętla wykonywałaby się 30 razy. Jednak wartość zmiennej to jakaś szczególna liczba. Dlatego też jeżeli będzie ona miała wartość 7.78 wyskoczymy. Jak pamiętasz mówiłem, że instrukcję

if mogą znajdować się wewnątrz innej instrukcji if. Mówi się wtedy o tzw. zagnieżdżeniu instrukcji if. W przypadku pętli również jest to dozwolone. Jest to praktyka dość często stosowana. Wygląda to tak: 1. for (int x = 0; x < 30; x++) 3. for (int y = 0; y < 30; y++) //pętla druga - zagnieżdżona 4. { 5. instrukcja_1; 6. instrukcja_2; 7. if (zmienna == 7.78) break; //ooo sorr'y tutaj wyskakuję :) 8. } //zakończenie pętli drugiej 9. } //zakończenie pętli pierwszej Zauważ, że instrukcja break została umieszczona w pętli zagnieżdżonej. Jeżeli nawet zmienna będzie równa 7.78 to wyskok nastąpi o jeden poziom wyżej. Oznacza to, że będziemy w pętli for, tylko tej zewnętrznej. Jednak nie o taki wyskok tutaj chodziło. Aby wyskoczyć na zewnątrz trzeba w każdej pętli umieścić instrukcję wyskoku. Inaczej się nie da. CONTINUE Instrukcję continue jest również stosowana w odniesieniu do pętli. Służy do pominięcia aktualnego obiegu i rozpoczęcia następnego. Jest dość rzadko stosowana. Jednak czasem przydaje się. 1. for (int i = 0; i < 30; i++) 3. if (zmienna == 7.78) continue; //ooo sorr'y tutaj wyskakuję :) 4. instrukcja_1; 5. instrukcja_2; Tym razem jeżeli zmienna wyniesie 7.78 bieżący obieg pętli zostanie zaniechany i rozpocznie się obieg następny. Instrukcja continue została umieszczona na początku, dlatego też wszystko co znajduje się za nią nie zostanie wykonane w tym obiegu.