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



Podobne dokumenty
Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Pętla for. Wynik działania programu:

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

Metody Metody, parametry, zwracanie wartości

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

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Podstawy Programowania C++

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

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

7. Pętle for. Przykłady

Programowanie - instrukcje sterujące

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

Java EE produkcja oprogramowania

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

Struktura pliku projektu Console Application

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

Wstęp do informatyki- wykład 7

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

1 Podstawy c++ w pigułce.

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Konstrukcje warunkowe Pętle

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

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

Programowanie, algorytmy i struktury danych

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Wprowadzenie do języka Java

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

KOTLIN. Język programowania dla Androida

Podstawy programowania w języku C

Podstawy i języki programowania

Warunki logiczne instrukcja if

LibreOffice Calc VBA

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

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Java Podstawy. Michał Bereta

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

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

do instrukcja while (wyrażenie);

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

6. Pętle while. Przykłady

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Podstawowe części projektu w Javie

Podstawy i języki programowania

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

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

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

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

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.pl. Tablice cz. II. Kopiowanie tablic, tablice wielowymiarowe

JAVA?? to proste!! Autor: wojtekb111111

Wstęp do programowania

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podstawy i języki programowania

Wstęp do informatyki- wykład 6

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

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

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

4. Funkcje. Przykłady

Cw.12 JAVAScript w dokumentach HTML

Instrukcje sterujące. Programowanie Proceduralne 1

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Programowanie komputerowe. Zajęcia 1

Instrukcje sterujące

Podstawy i języki programowania

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

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

Blockly Kodowanie pomoc.

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

1 Wielokrotne powtarzanie tych samych operacji

Kontrola przebiegu programu

Programowanie strukturalne i obiektowe

Odczyt danych z klawiatury Operatory w Javie

1 Podstawy c++ w pigułce.

Bloki anonimowe w PL/SQL

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

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

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

ForPascal Interpreter języka Pascal

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

dr inż. Jarosław Forenc

Pytania sprawdzające wiedzę z programowania C++

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Pascal - wprowadzenie

Wstęp do programowania

Transkrypt:

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

Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x += y x -= y x *= y znaczenie x = x+y x = x-y x = x*y x /= y x = x/y int x=8; System.out.println("Wartość x na początku to "+x); x += 2; System.out.println("Po x += 2 wartość x = "+x); x -= 2; System.out.println("Po x -= 2 wartość x = "+x); x *= 2; System.out.println("Po x *= 2 wartość x = "+x); x /= 2; System.out.println("Po x /= 2 wartość x = "+x);

operatory inkrementacji /dekrementacji (zwiększania/zmniejszania) int y; int x=8; y = 2 * x++; przykład znaczenie wartość x pobierana przed zmianą wartości x++ x = x+1 x-- x = x-1 wartość x pobierana po zmianie wartości --x x = x-1 ++x x = x+1 System.out.println("Po x = 8 i y = 2 * x++ wartość x = "+x+" y = "+y); x = 8; y = 2 * ++x; System.out.println("Po x = 8 i y = 2 * ++x wartość x = "+x+" y = "+y); x = 8; System.out.println("Po x = 8 i x++ wartość x = "+ x++); x = 8; System.out.println("Po x = 8 i ++x wartość x = "+ ++x);

Napisz to za karę 100 razy! Często programy muszą wykonywać wielokrotnie tę samą czynność. Na przykład wypisać ten sam tekst/znak. Można to zrobic tak: System.out.print("Będę ćwiczyć programowanie w języku Java. "); System.out.print("Będę ćwiczyć programowanie w języku Java. "); System.out.print("Będę ćwiczyć programowanie w języku Java. "); System.out.print("Będę ćwiczyć programowanie w języku Java. ");... Takie rozwiązanie, szczególnie gdy liczba powtórzeń nie jest z góry ustalona, ma wiele wad. Na szczęście wymyślono pętle.

Ogólna zasada działania pętli warunek NIE TAK {...

for... (wersja podstawowa) (deklaracja i) inicjalizacja zmiennej test logiczny zwracający true lub false, dopóki zwraca true, pętla wykonuje się. zmiana wartości zmiennej for (inicjalizacja; warunek ; zmiana) {... Deklaracja zmiennej i której przypisuje się wartośc 0 polecenia wykonują się, dopóki zmienna i jest mniejsza niż 10 po każdej iteracji*, wartość i jest zwiększana o 1 for (int i=0; i<10 ; i++) {... blok poleceń wykonywanych w pętli * wykonaniu poleceń w pętli

for... Wykonaj kod: for (int i=0; i<100 ; i++) { System.out.println(i+ " Będę w domu ćwiczyć programowanie w języku Java. "); Otrzymujemy: 0 Będę w domu ćwiczyć programowanie w języku Java. 1 Będę w domu ćwiczyć programowanie w języku Java. 2 Będę w domu ćwiczyć programowanie w języku Java. 3 Będę w domu ćwiczyć programowanie w języku Java.... 97 Będę w domu ćwiczyć programowanie w języku Java. 98 Będę w domu ćwiczyć programowanie w języku Java. 99 Będę w domu ćwiczyć programowanie w języku Java.

for... Gdybyśmy chcieli otrzymać numerację od 1 do 100 : for (int i=1; i<=100 ; i++) { System.out.println(i+ " Będę w domu ćwiczyć programowanie w języku Java. "); Otrzymujemy: 1 Będę w domu ćwiczyć programowanie w języku Java. 2 Będę w domu ćwiczyć programowanie w języku Java. 3 Będę w domu ćwiczyć programowanie w języku Java.... 98 Będę w domu ćwiczyć programowanie w języku Java. 99 Będę w domu ćwiczyć programowanie w języku Java. 100 Będę w domu ćwiczyć programowanie w języku Java.

while... test logiczny zwracający true lub false, dopóki zwraca true, pętla wykonuje się. while (warunek) {...

while... Uruchom kod: int i=1; while (i<=100) { System.out.println(i+ " Będę w domu ćwiczyć programowanie w języku Java. "); i++; Otrzymujemy: 1 Będę w domu ćwiczyć programowanie w języku Java. 2 Będę w domu ćwiczyć programowanie w języku Java. 3 Będę w domu ćwiczyć programowanie w języku Java.... 98 Będę w domu ćwiczyć programowanie w języku Java. 99 Będę w domu ćwiczyć programowanie w języku Java. 100 Będę w domu ćwiczyć programowanie w języku Java.

while... Można też tak: int i=0; while (i<100) { i++; System.out.println(i+ " Będę w domu ćwiczyć programowanie w języku Java. "); Otrzymujemy: 1 Będę w domu ćwiczyć programowanie w języku Java. 2 Będę w domu ćwiczyć programowanie w języku Java. 3 Będę w domu ćwiczyć programowanie w języku Java.... 98 Będę w domu ćwiczyć programowanie w języku Java. 99 Będę w domu ćwiczyć programowanie w języku Java. 100 Będę w domu ćwiczyć programowanie w języku Java.

do... while... do {... while (warunek) Ponieważ warunek sprawdzany jest po wykonaniu pętli, najpierw wykonują się polecenia w niej zawarte Konstrukcję tą stosujemy gdy chcemy mieć pewność, że kod w pętli wykona się przynajmniej raz. TAK warunek NIE {...

while... Uruchom kod: int i=100; do { System.out.println(" i = "+i); while (i == 0); Otrzymujemy: i = 100 Kod się wykonał, chociaż warunek nie został spełniony.

foreach Ten rodzaj pętli poznamy przy okazji tablic

Zagnieżdżanie pętli Pętle można zagnieżdżać, np: zewnętrzna pętla widoczna i wewnętrzna pętla widoczna i oraz j for (int i=0; i<5; i++) { for (int j=0; j<3; j++ ) { System.out.println("i="+i+" j="+j+" : "); System.out.println("i="+i); UWAGA: Zmienne zadeklarowane w pętli, nie są widoczne na zewnątrz, ale można się do nich odwoływać w pętlach wewnętrznych. Dlatego w powyższym przykładzie w pętli wewnętrznej możemy się odwołać do zmiennych i oraz j ale próba odwołania się do zmiennej j w pętli zewnętrznej spowodowałaby błąd. Podobnie jest z innymi zagnieżdzonymi blokami kodu np. przy instrukcjach wyboru.

Zagnieżdżanie pętli zewnętrzna pętla się wykonuje, dochodzi do pętli wewnętrznej wewnętrzna pętla wykonuje się określoną liczbę razy program wraca do pętli zewnętrznej

Pętle - przykłady Napisz program który pobierze od użytkownika liczbę całkowitą, a następnie wypisze wszystkie liczby nieparzyste od zera do podanej liczby. Scanner skaner = new Scanner(System.in); System.out.print("Podaj liczbę: "); // Pobiera liczbę z klawiatury String liczbak = skaner.nextline(); // Parsuje String na int int liczba = Integer.parseInt(liczbaK); // pętla która zwiększa wartość zmiennej "i" od 0 do // wartości równej zmiennej "liczba" for (int i = 0; i <= liczba; i++) { // Sprawdzamy, czy liczba jest nieparzysta if (i%2!=0) { System.out.println("Kolejna liczba nieparzysta to: "+i);

Pętle - przykłady Ulepsz program tak, aby nie wykonywał się raz, ale działał tak długo aż użytkownik wprowadzi znak K lub k (jak koniec) Scanner skaner = new Scanner(System.in); String liczbak = "0"; int liczba; while (!liczbak.equalsignorecase("k")){ Jeśli chcemy wydrukować cudzysłów, należy go poprzedzić znakiem \ System.out.print("Podaj liczbę, jeśli chcesz wyjść, wprowadź \"k\": "); liczbak = skaner.nextline(); // Sprawdzamy, czy użytkownik nie wcisnął "k" if (!liczbak.equalsignorecase("k")){ liczba = Integer.parseInt(liczbaK); for (int i = 0; i <= liczba; i++) { // Sprawdzamy, czy liczba jest nieparzysta if (i%2!=0) { System.out.println("Kolejna liczba nieparzysta to: "+i); System.out.println("Dziękuję za owocną współpracę.");

Pętle - przykłady Druga wersja powyższego, ale tym razem umieszczamy kod pobierający informację od użytkownika pod pętlą iterującą, która po raz pierwszy się w ogóle nie wykonuje. Dzięki temu unikamy powtórnego sprawdzania wartości wprowadzonego Stringa. Scanner skaner = new Scanner(System.in); String liczbak = "0"; int liczba; while (!liczbak.equalsignorecase("k")){ liczba = Integer.parseInt(liczbaK); // pierwszy raz komunikat się nie drukuje, ponieważ liczba == 0 i i%2 ==0. for (int i = 0; i <= liczba; i++) { if (i%2!=0) { System.out.println("Kolejna liczba nieparzysta to: "+i); System.out.print("Podaj liczbę, jeśli chcesz wyjść, wprowadź \"k\": "); liczbak = skaner.nextline(); System.out.println("Dziękuję za owocną współpracę.");