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

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

7. Pętle for. Przykłady

1 Podstawy c++ w pigułce.

do instrukcja while (wyrażenie);

Programowanie strukturalne i obiektowe. Funkcje

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Instrukcje sterujące

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

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

Konstrukcje warunkowe Pętle

6. Pętle while. Przykłady

1 Podstawy c++ w pigułce.

Wstęp do informatyki- wykład 7

Programowanie komputerowe. Zajęcia 1

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

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

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

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

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

Programowanie - wykład 4

Pętla for. Wynik działania programu:

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

Struktura pliku projektu Console Application

Wstęp do informatyki- wykład 6

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wstęp do programowania

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

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); }

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

3. Instrukcje warunkowe

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

WHILE (wyrażenie) instrukcja;

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

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

do instrukcja while(wyrażenie);

Podstawy Programowania C++

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

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Część XV C++ Ćwiczenie 1

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

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

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

WHILE (wyrażenie) instrukcja;

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

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

lekcja 8a Gry komputerowe MasterMind

Programowanie i techniki algorytmiczne

LISTA 5. C++ PETLE for, while, do while

Proste programy w C++ zadania

Laboratorium 2: Pętle i instrukcje warunkowe. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Programowanie komputerowe. Zajęcia 3

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

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

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

1 Wielokrotne powtarzanie tych samych operacji

Warunki logiczne instrukcja if

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

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Programowanie w języku Python. Grażyna Koba

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?

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

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

Pytania sprawdzające wiedzę z programowania C++

Podstawy programowania funkcjonalnego

Podstawy programowania w języku C i C++

Programowanie - instrukcje sterujące

Ćwiczenia podstawowe, zestaw 5, część 1

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

XII. Warunek wielokrotnego wyboru switch... case

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

while(wyrażenie) instrukcja

Temat 20. Techniki algorytmiczne

Programowanie komputerowe. Zajęcia 2

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

Lekcja : Tablice + pętle

Zapisywanie algorytmów w języku programowania

PROGRAMOWANIE W C++ ZADANIA

Rekurencja (rekursja)

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

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

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Język C część 2. Podejmowanie decyzji w programie. if else. switch

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Wstęp do programowania

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Pętle instrukcje powtórzeo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Bloki anonimowe w PL/SQL

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

1 Powtórzenie wiadomości

Transkrypt:

Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo właśnie na pętlach. Pętla to element języka programowania, pozwalający na wielokrotne, kontrolowane wykonywanie wybranego fragmentu kodu. Liczba takich powtórzeń (zwanych cyklami lub iteracjami pętli) jest przy tym ograniczona w zasadzie tylko inwencją i rozsądkiem programisty. Te potężne narzędzia dają więc możliwość zrealizowania niemal każdego algorytmu. Pętle są też niewątpliwie jednym z atutów C++: ich elastyczność i prostota jest większa niż w wielu innych językach programowania. Pętla for Jedną z najczęściej używanych pętli jest pętla for. Konstrukcję tej pętli możemy przedstawić następująco: for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) blok instrukcji; Poszczególne elementy powyższej konstrukcji omówimy na poniższym przykładzie. Zadanie 1. Stworzyć plik petla.cpp i wpisać w nim następujący kod: int odp; cout << "Podaj liczbe (1-20): "; for(int i = 1; i <= odp; i++) cout << "i: " << i << endl; Zapis int i = 1 to inicjacja licznika pętli, czyli przypisanie wartości początkowej (w naszym przypadku równej 1) zmiennej całkowitej i (można ją zadeklarować również przed pętlą, a w pętli odwołać się samej zmiennej). Następnie sprawdzane jest wyrażenie warunkowe i <= odp. Jeśli jest ono prawdziwe, to wykonany zostanie blok instrukcji (w naszym przypadku wyświetlana będzie aktualna wartość zmiennej i), jeśli jest fałszywe, to pętla zakończy działanie. Ostatnia część pętli to zwiększenie (bądź zmniejszenie) wartości licznika. W naszym przypadku licznik jest zwiększany o jeden (zapis i++). Następnie ponownie sprawdzamy wyrażenie warunkowe I jeśl jest ono prawdziwe, to zwiększamy liczni o jeden. Czynności te powtarzamy tąd, aż wyrażenie warunkowe będzie fałszywe. W konsekwencji wynikiem powyższego programu jest wyświetlenie na ekranie liczb od 1 wczytanej wcześniej liczby przechowywanej w zmiennej odp. Cezary Obczyński i Rafał Kamocki 1/5

Zadanie 2. Napisać program, który wypisze na ekranie liczby a) 2, 5, 8, 11, 14, b) 32, 16, 8, 4, 2. Zadanie 3. Napisać program, który oblicza średnią arytmetyczną liczb całkowitych od 1 liczby podanej przez użytkownika. Wypisać obliczoną średnią na ekranie monitora. Zadanie 4. Wczytać dwie liczby całkowite datnie a i b, które wyznaczą przedział liczbowy [a,b]. Następnie obliczyć iloczyn liczb całkowitych należących tego przedziału oraz wypisać go na ekran monitora. Zadanie 5. Napisać program wyświetlający na ekranie kolejne liczby całkowite z przedziału [0,a], które są podzielne przez 3 lub przez 4 (Liczbę całkowitą a>0 wczytuje użytkownik z klawiatury). Zadanie 6. Napisać program, który pobiera od użytkownika liczbę naturalną n i oblicza silnię tej liczby. Pętle warunkowe while i while Oprócz pętli for poznamy dwie kolejne, które zwane są pętlami warunkowymi. Miano to określa całkiem brze ich zastosowanie: ciągłe wykonywanie kodu, póki spełniony jest określony warunek. Pętla sprawdza go przy każdym swoim cyklu - jeżeli stwierdzi jego fałszywość, natychmiast kończy działanie. Pierwsza z nich jest pętla...while. Jej konstrukcja wygląda następująco: instrukcje; while (warunek); Pętla wykonuje instrukcje tak długo, jak warunek na końcu będzie prawdziwy. Gdy stanie się fałszywy zakończy swoje działanie. Zauważmy, że warunek jest sprawdzany na końcu, a zatem instrukcje wykonają się przynajmniej raz. Zadanie 1. Stworzyć plik while.cpp i wpisać w nim następujący kod: #include<iostream> int liczba; cout << "Wprowadz liczbe wieksza od 5: "; cin >> liczba; while (liczba <= 5); cout << "W koncu :-)" << endl; Cezary Obczyński i Rafał Kamocki 2/5

Myślę, że powyższe zadanie jest na tyle proste, że nie wymaga komentarza. Ostatnią z omawianych pętli jest pętla while. Ma ona postać: while (warunek) instrukcje; Widzimy, że najpierw sprawdzany jest warunek i jeśli jest prawdziwy, wykonywane są instrukcje. Jeśli natomiast jest fałszywy pętla kończy swoje działanie. Może się zatem zdarzyć, że instrukcje w tej pętli nie wykonają się ani razu (w odróżnieniu od pętli...while). Poza tą subtelną różnicą (którą po drobnych poprawkach w kodzie możemy wyeliminować) nie ma znaczenia, czy użyjemy pętli while czy...while. Zadanie 2. Stworzyć plik while.cpp i wpisać w nim następujący kod: int liczba = 59; int odp; cout << "Sprobuj odgadnac liczbe z przedzialu 1-100: "; while (odp!= liczba) if (odp < liczba) cout << "Liczba jest zbyt mala." << endl; else cout << "Za duza liczba." << endl; cout << "Sprobuj jeszcze raz: "; cout << "Trafiles(as) Brawo!" << endl; Powyższy program, choć wydaje się bardziej skomplikowany od poprzedniego, nie powinien być trudny zrozumienia. Ktoś może zapytać zatem, czy jest jakaś różnica między pętlą for a pętlami while lub...while? W niektórych Cezary Obczyński i Rafał Kamocki 3/5

sytuacjach rzeczywiście nie ma znaczenia której pętli użyjemy. Zobaczmy to na przykładzie fragmentu kodu poniżej. cout<<"rozwiazanie przy uzyciu petli for:"<<endl; for(int k=1; k<6; k++) cout <<k<< " "; cout<<"rozwiazanie przy uzyciu petli...while:"<<endl; int k=1; cout<<k<<" "; k++; while(k<6); int k=1; cout<<"rozwiazanie przy uzyciu petli while:"<<endl; while(k<6) cout <<k<<" "; k++; Za każdym razem wypisane zostaną liczby: 1 2 3 4 5. Niemniej często zdarza się tak, że nie chcemy znać od początku ilości cykli (iteracji) pętli (a tak jest w przypadku pętli for), tylko decyzję o tym, czy pętla ma się wykonywać dalej czy nie, będziemy podejmować w każdym cyklu. Przeanalizujmy poniższy program. char litera; Cezary Obczyński i Rafał Kamocki 4/5

cout<<"podaj znak z klawiatury momentu napotkania litery k "; cin>>litera; while(litera!='k'); cout<<"w koncu ja znalazles:)"<<endl; Pobny program to ten z zadania 2. Wczytujemy z klawiatury wolne znaki, aż momentu trafienia litery k. Zauważmy, że to my decydujemy jak długo będziemy wklepywać te znaki. Za pomocą pętli for trudno byłoby napisać ten program (a na pewno nie w tak prosty sposób jak przy użyciu pętli...while). Problem byłby oczywiście z ilością iteracji (czyli z licznikiem) jaka ma się wykonać. Używając pętli while lub...while napisać poniższe programy. Zadanie 3. Napisać program, który oblicza potęgę 2^n, gdzie liczbę naturalną n podaje użytkownik. Zadanie 4. Napisać program, który obliczy sumę wyrazów ciągu arytmetycznego postaci: 1,4,7,10,...,31. Zadanie 5. Zmodyfikować zadanie 8 z poprzedniego arkusza tak, aby menu z wczytywaniem dwóch liczb rzeczywistych oraz poszczególnymi działaniami arytmetycznymi wykonywanymi na nich pojawiały się na ekranie ponownie (po wykonaniu wcześniej wybranego działania) momentu, aż nie wybierzemy opcji oznaczającej wyjście z programu. Więcej szczegółów podam na zajęciach. Cezary Obczyński i Rafał Kamocki 5/5