P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);
|
|
- Zdzisław Kujawa
- 4 lat temu
- Przeglądów:
Transkrypt
1 Rozdziaª 4 P tle 4.1 Wst p Niniejszy rozdziaª zawiera opis p tli w j zyku C, wraz z przykªadowymi programami oraz ich obja±nieniem. 4.2 P tle 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. P tla (ang. loop) jest instrukcj zªo»on, która pozwala cyklicznie wykonywa zadan instrukcj j zyka C. P tla warunkowa (ang. conditional loop) wykonuje powtarzanie w zale»no±ci od okre±lonego warunku (takiego samego jak dla instrukcji warunkowej if). P tla to specjalna instrukcja j zyka C, która powtarza pewien blok instrukcji, dopóki jest speªniony odpowiedni warunek. Implementuj c p tl, ustalamy, ile razy ta p tla ma wykona zawarty w niej blok instrukcji i jakie maj by warunki zako«czenia jej dziaªania. W j zyku C istniej konstrukcje powtarzaj ce kod - 3 typy p tli P tla for(...); P tla for okre±la jak warto± pocz tkow oraz ko«cow b dzie miaªa u»ywana przez ni zmienna, i co b dzie si dziaªo z ni w mi dzyczasie (czy b dzie si zwi ksza, czy zmniejsza ). Skªadnia p tli for : 1 f o r ( instrukcja1 ; warunek ; instrukcja2 ) 2 { 3 /* kod_ 1_ instrukcji ; */ 4 } co, maj c tylko jedn instrukcj, mo»na upro±ci do: 1 f o r ( instrukcja1 ; warunek ; instrukcja2 ) 2 /* kod_ 1_ instrukcji ; */ lub: 1 f o r ( instrukcja1 ; warunek ; instrukcja2 ) 2 { 3 /* kod_ 1_ instrukcji ; */ 59
2 4 /* kod_ 2_ instrukcji ; */ 5 /*... */ 6 /* kod_ntej_instrukcji ; */ 7 } gdzie: ˆ instrukcja1; - wykonywana jest tylko raz, przed rozpocz ciem pierwszej iteracji (przed uruchomieniem p tli), wykonywana przed pierwszym sprawdzeniem warunku ˆ warunek; - warunek sprawdzany jest przy ka»dym obrocie p tli, p tla wykonuje si dopóki warunek jest speªniony, warunek jest sprawdzany na pocz tku ka»dej iteracji ˆ instrukcja2 - wykonywana po zako«czeniu ka»dej iteracji, tj. po wykonaniu wszystkich instrukcji zawartych w bloku p tli for Przykªadowa p tla for: 1 i n t i ; 2 f o r ( i=0; i<3; i++) 3 { 4 printf ( " Witaj! \ n" ) ; 5 } Spróbujmy przeanalizowa jej dziaªanie krok po kroku. Przed wej±ciem do p tli zadeklarowali±my zmienn i. Zmiennej, ju» w p tli, w pierwszej instrukcji p tli (instrukcja1;) przypisali±my zmiennej warto± zero, wi c takie przypisanie, zgodnie z powy»sz denicj zostanie wykonane tylko 1 raz, przed wªa±ciwym wej±ciem do p tli. St d, w pierwszym kroku zmienna i b dzie miaªa warto± zero. Nast pnie, je±li zmienna i jest mniejsza od 3 (sprawdzamy warunek i<3;), wówczas wywoªujemy instrukcj p tli, tj. wypisanie tekstu na ekranie. Kolejno, zgodnie z budow i funkcj p tli for zwi kszamy warto± zmiennej i - skoro miaª warto± 0, teraz przyjmie warto± 1, i w kolejnym sprawdzeniu warunku b dzie mie nadal warto± 1. Aby lepiej zapami ta dziaªanie p tli for, opiszmy j krok po kroku: KROK 1 ˆ Zmienna i ma warto± 0, i=0; mniejsza, poniewa» jest równa zero, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Witaj! za pomoc funkcji printf zapami tana w zmiennej i, poprzednia jej warto± (0) zostaje zapomniana i zast piona 1 KROK 2 ˆ Zmienna i ma warto± 1, i=1; mniejsza, poniewa» jest równa jeden, wi c i<3; jest prawd 60
3 ˆ Wypisujemy na ekranie napis Witaj! za pomoc funkcji printf zapami tana w zmiennej i, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 3 ˆ Zmienna i ma warto± 2, i=2; mniejsza, poniewa» jest równa dwa, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Witaj! za pomoc funkcji printf zapami tana w zmiennej i, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 4 ˆ Zmienna i ma warto± 3, i=3; równa 3, wi c warunek i<3; nie jest prawd - p tla zostaje zako«czona, nie s wykonywane»adne dodatkowe instrukcje Ciekawostka: je±li z jakich± powodów chcemy, aby p tla for, a co za tym idzie instrukcje zawarte w jej bloku wykonywaªy si w niesko«czono± (jest to przykªad innite loop - p tli niesko«czonej), u»ywamy p tli for w nastepuj cej formie: 1 f o r ( ; ; ) 2 { 3 /* i n s t r u k c j e */ 4 } Nale»y zwróci szczególn uwag na nawiasy klamrowe nast puj ce po p tli for. Je±li ich nie podamy, zostanie powtórzona jedynie pierwsza instrukcja, która znajduje si bezpo±rednio pod p tl for. Za- ªó»my,»e w naszym programie chcemy wy±wietli 3 razy napis Hello world!, jednak»e po ka»dym takim napisie (w nowej linii) chcemy wy±wietli ilo± ju» wy±wietlonych napisów. Dla kodu: 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( ) 4 { 5 i n t i ; 6 7 f o r ( i=0; i<3; i++) 8 { 9 printf ( " Hello world! \ n" ) ; 10 printf ( " Napis wyswietlno j u z %d razy \n", i+1) ; 11 } return 0 ; 14 } 61
4 na ekranie zobaczymy: Je±li jednak nie u»yjemy nawiasów w satych po p tli for, powtórzona trzykrotnie zostanie jedynie pierwsza instrukcja, która znajduje si bezpo±rednio pod p tl, czyli samo wy±wietlenie napisu. Wy±wietlenie licznika, który informuje nas o tym, ile ju» razy wy±wietlili±my napis, pokazane b dzie tylko 1 raz (instrukcja nie zostanie powtórzona, poniewa» nie znajduje si w bloku instrukcji, które p tla for ma powtórzy ). W zwi zku z tym poni»szy program: 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( ) 4 { 5 i n t i ; 6 7 f o r ( i=0; i<3; i++) 8 printf ( " Hello world! \ n" ) ; 9 printf ( " Napis wyswietlno j u z %d razy \n", i+1) ; return 0 ; 12 } wy±wietli: Nale»y wi c zapami ta, i» aby za pomoc p tli powtórzy kilka instrukcji, nale»y je wszystkie zawrze w bloku instrukcji, za pomoc nawiasów klamrowych. Reguªa dotyczy równie» p tli while P tla while(...); P tla while jest to p tla, która wykonuje instrukcje zawarte mi dzy nawiasami klamrowymi dopóki warunek jest speªniony. Skªadnia p tli while : 1 while ( warunek ) 2 { 3 /* kod_ 1_ instrukcji ; */ 4 } 62
5 lub: 1 while ( warunek ) 2 { 3 /* kod_ 1_ instrukcji ; */ 4 /* kod_ 2_ instrukcji ; */ 5 /*... */ 6 /* kod_ntej_instrukcji ; */ 7 } gdzie: ˆ warunek; - warunek sprawdzany jest przy ka»dym obrocie p tli, p tla wykonuje si dopóki warunek jest speªniony, warunek jest sprawdzany na pocz tku ka»dej iteracji, dopóki warunek jest prawdziwy, powtarzane s wszystkie insrukcje, które znajduj si pomi dzy nawiasami klamrowymi p tli while Przykªadowa p tla while: 1 i n t i=0; 2 while ( i<3) 3 { 4 printf ( " Witaj! \ n" ) ; 5 i ++; 6 } Prze±led¹my krok po kroku jej dziaªanie: KROK 1 ˆ Zmienna i ma warto± 0, i=0; mniejsza, poniewa» jest równa zero, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Witaj! za pomoc funkcji printf zapami tana w zmiennej i, poprzednia jej warto± (0) zostaje zapomniana i zast piona 1 KROK 2 ˆ Zmienna i ma warto± 1, i=1; mniejsza, poniewa» jest równa jeden, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Witaj! za pomoc funkcji printf 63
6 zapami tana w zmiennej i, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 3 ˆ Zmienna i ma warto± 2, i=2; mniejsza, poniewa» jest równa dwa, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Witaj! za pomoc funkcji printf zapami tana w zmiennej i, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 4 ˆ Zmienna i ma warto± 3, i=3; równa 3, wi c warunek i<3; nie jest prawd - p tla zostaje zako«czona, nie s wykonywane»adne dodatkowe instrukcje Konwersja pomi dzy p tlami for i while Jak zamieni p tl for na p tl while? Wbrew pozorom nie jest to proces skomplikowany. Spójrzmy na schemat p tli for : Ró»nymi kolorami oznaczone zostaªy elementy, które musz znale¹ si w obu p tlach, aby mo»liwe byªo przetªumaczenie jednej p tli na drug. Odpowiednie instrukcje (nale»y zwróci uwag na kolory), bez wªa±ciwie jakichkolwiek zmian mo»na od razu przepisa do p tli while podczas jej konstruowania: W identyczny sposób dokonujemy konwersji z p tli while do p tli for. 64
7 4.2.4 P tla do{...}while(...); Kod, który ma by powtarzany umieszczamy wewn trz bloku instrukcji, który jest poprzedzony sªowem kluczowym do oraz zako«czony sªowem kluczowym while. Liczba powtórze«instrukcji umieszczonych w bloku p tli do... while jest zale»na od warunku ko«cz cego p tl. P tla do... while zako«czy si gdy warunek umieszczony w nawiasach zaokr glonych zwróci warto± false (b dzie nieprawdziwy). Istotn cech p tli do... while jest fakt,»e kod zawarty mi dzy sªowami kluczowymi do... while zawsze wykona si conajmniej jeden raz. Skªadnia p tli do... while : 1 do 2 { 3 /* kod_ 1_ instrukcji ; */ 4 } while ( warunek ) ; lub: 1 do 2 { 3 /* kod_ 1_ instrukcji ; */ 4 /* kod_ 2_ instrukcji ; */ 5 /*... ; */ 6 /* kod_n t e j _ i n s t r u k c j i ; */ 7 } while ( warunek ) ; Przykªad Przeanalizujmy krok po kroku poni»szy przykªad. 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( ) 4 { 5 i n t ile = 4 ; 6 7 do 8 { 9 printf ( " Hello! \ n" ) ; ile ; } while ( ile > 0 ) ; return 0 ; 16 } KROK 1 ˆ Zmienna ile ma warto± 4, ile=4; ˆ Wypisujemy na ekranie napis Hello! za pomoc funkcji printf ˆ Wykonujemy instrukcj ile--, czyli zmniejszamy warto± zmiennej ile o 1, warto± zmniejszona zostaje zapami tana w zmiennej ile, poprzednia jej warto± (4) zostaje zapomniana i zast piona 3 ˆ Sprawdzamy warunek, je±li zmienna ile jest wi ksza od 0, przechodzimy ponownie do pocz tku p tli (do sªowa do) 65
8 KROK 2 ˆ Zmienna ile ma warto± 3 ˆ Wypisujemy na ekranie napis Hello! za pomoc funkcji printf ˆ Wykonujemy instrukcj ile--, czyli zmniejszamy warto± zmiennej ile o 1, warto± zmniejszona zostaje zapami tana w zmiennej ile, poprzednia jej warto± (3) zostaje zapomniana i zast piona 2 ˆ Sprawdzamy warunek, je±li zmienna ile jest wi ksza od 0, przechodzimy ponownie do pocz tku p tli (do sªowa do) KROK 3 ˆ Zmienna ile ma warto± 2 ˆ Wypisujemy na ekranie napis Hello! za pomoc funkcji printf ˆ Wykonujemy instrukcj ile--, czyli zmniejszamy warto± zmiennej ile o 1, warto± zmniejszona zostaje zapami tana w zmiennej ile, poprzednia jej warto± (2) zostaje zapomniana i zast piona 1 ˆ Sprawdzamy warunek, je±li zmienna ile jest wi ksza od 0, przechodzimy ponownie do pocz tku p tli (do sªowa do) KROK 4 ˆ Zmienna ile ma warto± 1 ˆ Wypisujemy na ekranie napis Hello! za pomoc funkcji printf ˆ Wykonujemy instrukcj ile--, czyli zmniejszamy warto± zmiennej ile o 1, warto± zmniejszona zostaje zapami tana w zmiennej ile, poprzednia jej warto± (1) zostaje zapomniana i zast piona 0 ˆ Sprawdzamy warunek, je±li zmienna ile jest wi ksza od 0, przechodzimy ponownie do pocz tku p tli (do sªowa do). Tutaj zmienna ile jest równa 0, wi c nie jest wi ksza od 0 - tak wi c warunek p tli while nie jest prawdziwy - p tla ko«czy dziaªanie, jej instrukcje nie b d ju» ani razu powtórzone. 66
9 4.2.5 Ró»nice pomi dzy p tlami Nale»y zapami ta, i» p tle for oraz while dokonuj sprawdzenia warunku przed swoim wykonaniem, tj. przed wykonaniem instrukcji do powtórzenia. Z tego powodu, instrukcje zawarte w tego typu p tlach mog si nigdy nie wykona (je±li warunek b dzie nieprawdziwy, p tla si nie wykona ani razu). P tla do{...}while(...); jest inna - w niej kod zawarty mi dzy sªowami kluczowymi do... zawsze wykona si conajmniej jeden raz. while P tla w p tli Nic nie stoi na przeszkodzie, aby w p tli u»y drugiej p tli - która równie» b dzie powtarzana. Zaªó»my,»e chcemy wy±wietli kilka wierszy, które wygl daj nast puj co: 0: 1 2 1: 1 2 2: 1 2 3: 1 2 Zauwa»my,»e wiersze 1 2 powtarzaj si 4 razy (powtórzenie - konieczno± u»ycia p tli), natomiast wy- ±wietlenie kolejnych liczb wiersza równie» mo»na zrealizowa za pomoc p tli. Program, który wy±wietli powy»sze wiersze wygl da wi c nast puj co: 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( ) 4 { 5 i n t i, j ; 6 7 f o r ( i=0; i<4; i++) 8 { 9 printf ( "%d : ", i ) ; 10 f o r ( j=1; j<3; j++) 11 { 12 printf ( "%d ", j ) ; 13 } 14 printf ( "\n" ) ; 15 } return 0 ; 18 } 67
10 Spróbujmy krok po kroku przeanalizowa dziaªanie p tli w p tli. KROK 1 p tli for i ˆ Zmienna i ma warto± 0 ˆ Sprawdzamy warunek, je±li zmienna i jest mniejsza ni» 4, wykonujemy instrukcje p tli. Tutaj warto± zapisana w zmiennej i jest mniejsza od 4, poniewa» jest równa 0, wi c i<4 jest prawd ˆ Za pomoc funkcji printf wy±wietlamy: 0: ˆ Przechodzimy do wykonywania p tli for j poniewa» jest ona kolejn instrukcj p tli for i KROK 1 p tli for j Zmienna j ma warto± 1 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 1, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 1 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 2 p tli for j Zmienna j ma warto± 2 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 2, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 2 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 3 p tli for j Zmienna j ma warto± 3 warto± zapisana w zmiennej j jest równa 3, wi c j<3 nie jest prawd P tla for j zostaje zako«czona ˆ Za pomoc funkcji printf wy±wietlamy znak nowej linii (enter), czyli przechodzimy do nowego wiersza zapami tana w zmiennej i, poprzednia jej warto± (0) zostaje zapomniana i zast piona 1 KROK 2 p tli for i 68
11 ˆ Zmienna i ma warto± 1 ˆ Sprawdzamy warunek, je±li zmienna i jest mniejsza ni» 4, wykonujemy instrukcje p tli. Tutaj warto± zapisana w zmiennej i jest mniejsza od 4, poniewa» jest równa 1, wi c i<4 jest prawd ˆ Za pomoc funkcji printf wy±wietlamy: 1: ˆ Przechodzimy do wykonywania p tli for j poniewa» jest ona kolejn instrukcj p tli for i KROK 1 p tli for j Zmienna j ma warto± 1 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 1, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 1 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 2 p tli for j Zmienna j ma warto± 2 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 2, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 2 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 3 p tli for j Zmienna j ma warto± 3 warto± zapisana w zmiennej j jest równa 3, wi c j<3 nie jest prawd P tla for j zostaje zako«czona ˆ Za pomoc funkcji printf wy±wietlamy znak nowej linii (enter), czyli przechodzimy do nowego wiersza zapami tana w zmiennej i, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 3 p tli for i ˆ Zmienna i ma warto± 2 ˆ Sprawdzamy warunek, je±li zmienna i jest mniejsza ni» 4, wykonujemy instrukcje p tli. Tutaj warto± zapisana w zmiennej i jest mniejsza od 4, poniewa» jest równa 2, wi c i<4 jest prawd 69
12 ˆ Za pomoc funkcji printf wy±wietlamy: 2: ˆ Przechodzimy do wykonywania p tli for j poniewa» jest ona kolejn instrukcj p tli for i KROK 1 p tli for j Zmienna j ma warto± 1 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 1, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 1 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 2 p tli for j Zmienna j ma warto± 2 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 2, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 2 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 3 p tli for j Zmienna j ma warto± 3 warto± zapisana w zmiennej j jest równa 3, wi c j<3 nie jest prawd P tla for j zostaje zako«czona ˆ Za pomoc funkcji printf wy±wietlamy znak nowej linii (enter), czyli przechodzimy do nowego wiersza zapami tana w zmiennej i, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 4 p tli for i ˆ Zmienna i ma warto± 3 ˆ Sprawdzamy warunek, je±li zmienna i jest mniejsza ni» 4, wykonujemy instrukcje p tli. Tutaj warto± zapisana w zmiennej i jest mniejsza od 4, poniewa» jest równa 3, wi c i<4 jest prawd ˆ Za pomoc funkcji printf wy±wietlamy: 3: ˆ Przechodzimy do wykonywania p tli for j poniewa» jest ona kolejn instrukcj p tli for i 70
13 KROK 1 p tli for j Zmienna j ma warto± 1 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 1, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 1 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 2 p tli for j Zmienna j ma warto± 2 warto± zapisana w zmiennej j jest mniejsza od 3, poniewa» jest równa 2, wi c j<3 jest prawd Za pomoc funkcji printf wyisujemy na ekranie warto± zmiennej j, czyli 2 Wykonujemy instrukcj textttj++, czyli zwi kszamy warto± zmiennej j o 1, warto± zwi kszona zostaje zapami tana w zmiennej j, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 3 p tli for j Zmienna j ma warto± 3 warto± zapisana w zmiennej j jest równa 3, wi c j<3 nie jest prawd P tla for j zostaje zako«czona ˆ Za pomoc funkcji printf wy±wietlamy znak nowej linii (enter), czyli przechodzimy do nowego wiersza zapami tana w zmiennej i, poprzednia jej warto± (3) zostaje zapomniana i zast piona 4 KROK 5 p tli for i ˆ Zmienna i ma warto± 4 ˆ Sprawdzamy warunek, je±li zmienna i jest mniejsza ni» 4, wykonujemy instrukcje p tli. warto± zapisana w zmiennej i jest równa 4, wi c i<4 nie jest prawd Tutaj ˆ P tla for i zostaje zako«czona, nie s ju» wykonywane»adne jej instrukcje - nie jest równie» wykonywana p tla for j, jako,»e jest ona jedn z instrukcji p tli for i, która wªa±nie si zako«czyªa, z tego wzgl du nie zostanie równie» wykonana Analizuj c krok po kroku wykonywanie si p tli w p tli, zauwa»amy,»e p tla wewn trzna, tj. p tla for j wykonaªa si tyle razy, ile powtórze«wymagaªa p tla zewn trzna, tj. for i. 71
14 4.2.7 Instrukcja break; Instrukcja break pozwala na opuszczenie wykonywania p tli w dowolnym momencie. Instrukcja break umo»liwia wcze±niejsze zako«czenie p tli. Wywoªanie tej instrukcji powoduje natychmiastowe opuszczenie p tl i przej±cie do instrukcji znajduj cej si bezpo±rednio po p tli. Przykªad Przeanalizujmy poni»szy przykªad wykorzystuj cy instrukcj break;. 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( ) 4 { 5 i n t i ; 6 7 f o r ( i=0; i<3; i++) 8 { 9 printf ( " Hello world! \ n" ) ; 10 break ; 11 } return 0 ; 14 } P tla, jak ju» wiemy, sªu»y do powtarzania fragmentu kodu. Co jednak si stanie, je±li wewn trz p tli umie±cimy instrukcj break? Przenalizujmy dziaªanie programu krok po kroku: ˆ zmienna i przyjmuje warto± 0 ˆ sprawdzany jest warunek, tutaj i jest mniejsze od zera, wi c p tla sie wykonuje ˆ za pomoc funkcji printf wy±wietlony zostaje napis Hello world! ˆ nast puje przej±cie do kolejnej instrukcji p tli, któr jest instrukcja break - po jej napotkaniu program przerywa p tl (nawet je±li warunek jest jeszcze prawdziwy!) ˆ program wychodzi z p tli, przechodzi do kolejnych instrukcji, które s tu» za ni (w naszym przykªadzie - do instrukcji return) Instrukcja continue; Instrukcja kontynuacji u»ywana jest wewn trz p tli i ma posta : continue;. Instrukcja ta powoduje bezwarunkowe przej±cie na pocz tek p tli (do nast pnej iteracji) z pomini ciem instrukcji znajduj cych si poni»ej continue;. Przykªad Przeanalizujmy poni»szy przykªad wykorzystuj cy instrukcj continue;. 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( ) 4 { 5 i n t i ; 6 7 f o r ( i=0; i<3; i++) 8 { 9 printf ( " Hello \n" ) ; 10 continue ; 11 printf ( " world! \ n" ) ; 12 } return 0 ; 15 } 72
15 P tla, jak ju» wiemy, sªu»y do powtarzania fragmentu kodu. Co jednak si stanie, je±li wewn trz p tli umie±cimy instrukcj continue;? Przenalizujmy dziaªanie programu krok po kroku: KROK 1 ˆ Zmienna i ma warto± 0, i=0; mniejsza, poniewa» jest równa zero, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Hello za pomoc funkcji printf ˆ Nast puje przej±cie do kolejnej instrukcji p tli, któr jest instrukcja continue; - po jej napotkaniu program przechodzi do wykonywania dalszej cz ±ci p tli, pomijaj c wy±wietlenie napisu world - nie wykonuje ju»»adnej instrukcji, która znajduje si poni»ej continue; zapami tana w zmiennej i, poprzednia jej warto± (0) zostaje zapomniana i zast piona 1 KROK 2 ˆ Zmienna i ma warto± 1, i=1; mniejsza, poniewa» jest równa 1, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Hello za pomoc funkcji printf ˆ Nast puje przej±cie do kolejnej instrukcji p tli, któr jest instrukcja continue; - po jej napotkaniu program przechodzi do wykonywania dalszej cz ±ci p tli, pomijaj c wy±wietlenie napisu world - nie wykonuje ju»»adnej instrukcji, która znajduje si poni»ej continue; zapami tana w zmiennej i, poprzednia jej warto± (1) zostaje zapomniana i zast piona 2 KROK 3 ˆ Zmienna i ma warto± 2, i=2; mniejsza, poniewa» jest równa 2, wi c i<3; jest prawd ˆ Wypisujemy na ekranie napis Hello za pomoc funkcji printf ˆ Nast puje przej±cie do kolejnej instrukcji p tli, któr jest instrukcja continue; - po jej napotkaniu program przechodzi do wykonywania dalszej cz ±ci p tli, pomijaj c wy±wietlenie napisu world - nie wykonuje ju»»adnej instrukcji, która znajduje si poni»ej continue; 73
16 zapami tana w zmiennej i, poprzednia jej warto± (2) zostaje zapomniana i zast piona 3 KROK 4 ˆ Zmienna i ma warto± 3, i=3; równa, poniewa» wynosi 3, wi c i<3; nie jest prawd ˆ P tla zostaje zako«czona 4.3 Operatory ++ oraz Je±li zwi kszamy lub zmniejszamy zmienn o 1, mo»emy u»y operatorów ++ i --: ˆ x++ operator postinkrementacji: warto±ci wyra»enia jest warto± zmiennej przed zwi kszeniem, ˆ ++x operator preinkrementacji: warto±ci wyra»enia jest warto± zmiennej po zwi kszeniu, ˆ x-- operator postdekrementacji: warto±ci wyra»enia jest warto± zmiennej przed zmniejszeniem, ˆ --x operator preinkrementacji: warto±ci wyra»enia jest warto± zmiennej po zmniejszeniu, 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( ) 4 { 5 i n t x = 100; 6 i n t y = 100; 7 8 printf ( "x++ = %d\n", x++); 9 printf ( "++x = %d\n", ++x ) ; 10 printf ( "y = %d\n", y ) ; 11 printf ( " y = %d\n", y ) ; return 0 ; 14 } Wynik dziaªania programu: 74
17 4.4 Zadania do wykonania Zadanie 0.0 Napisz program, który wczyta liczb caªkowit (dodatni ) n, a nast pnie wypisze wszystkie liczby caªkowite od 1 do n wª cznie. Zadanie 0.1 Napisz program, który wczyta liczb caªkowit (dodatni ) n, a nast pnie wypisze wszystkie liczby caªkowite od n do 1 wª cznie. Zadanie 0.2 Zmodykuj program ze wcze±niejszego zadania tak, aby zamiast wypisywa liczby, sumowaª je i na ko«cu wypisaª ostateczny wynik. Zadanie 0.3 Napisz program, który wczyta liczb caªkowit (dodatni ) n, a nast pnie wypisze wszystkie liczby caªkowite od 1 do n podzielne przez 5. Zadanie 1 Napisz program, który wczytuje ze standardowego wej±cia nieujemn liczb caªkowit n i wypisuje na standardowym wyj±ciu liczb n!. Zadanie 2 Napisz program, który wczytuje ze standardowego wej±cia nieujemn liczb caªkowit n i wypisuje na standardowym wyj±ciu sum kwadratów liczb od 0 do n czyli warto± n 2. Zadanie 3 Napisz program, który wczytuje ze standardowego wej±cia dodatni liczb caªkowit n i wypisuje na standardowym wyj±ciu iloczyn liczb parzystych z zakresu od 2 do n (czyli ). Zadanie 4 Napisz program, który wczytuje ze standardowego wej±cia nieujemn liczb caªkowit n i wypisuje na standardowym wyj±ciu element ci gu Fibonacciego o indeksie n. Zadanie 5 Napisz program który wczytuje ze standardowego wej±cia dodatnie liczby caªkowite n i m, i wypisuje na standardowe wyj±cie najwi kszy wspólny dzielnik tych liczb. Zadanie 6 Napisz program szukaj cy najwi kszego dzielnika dodatniej caªkowitej liczby n takiego,»e a jest ró»ne od n. Zakªadamy,»e n > 1. Liczba n powinna zosta wczytana ze standardowego wej±cia a znaleziony dzielnik powinien zosta wypisany na standardowym wyj±ciu. Zadanie 7 Napisz program, który wczytuje ze standardowego wej±cia liczby a, b, c i d, i wypisuje na standardowe wyj±cie najmniejsz nieujemn liczb caªkowit x tak,»e a x 2 + b x + c > d. Zadanie 8 Napisz program, który wczytuje ze standardowego wej±cia liczby a, b i c, i wypisuje na standardowym wyj±ciu najwi ksz nieujemn liczb caªkowit x tak,»e 5 x 2 + a x + b < c. Zakªadamy,»e taka nieujemna caªkowita liczba x istnieje. Zadanie 9 Napisz program, który wczytuje ze standardowego wej±cia liczby a, b i c, i wypisuje na standardowe wyj±cie najwi ksz nieujemn liczb caªkowit x tak,»e 5 x 2 + a x + b c. Zakªadamy,»e taka nieujemna caªkowita liczba x istnieje. Zadanie 10 Napisz program, który wczytuje ze standardowego wej±cia liczb caªkowit n, a nast pnie oblicza sum jej cyfr i wypisuje j na standardowe wyj±cie. Zadanie 11 Napisz program, który wczytuje od u»ytkownika 2 zmienne: liczb wymiern p i nieujemn liczb caªkowit w i wy±wietla p w (przy pisaniu programu nie wolno korzysta z funkcji bibliotecznych). Zadanie 12 Napisz program, który pobierze od u»ytkownika dwie liczby caªkowite n i m (zakªadamy,»e n < m). Program ma wy±wietli wszytkie liczby z przedziaªu domkni tego [n; m], które s podzielne przez 3 lub podzielne przez 5. Zadanie 13 Napisz program, który dopóty b dzie wczytywaª ze standardowego wej±cia liczby naturalne, dopóki ich suma nie przekroczy liczby 100. Program na standardowym wyj±ciu powinien wy±wietli war- 75
18 to± o jak obliczona suma przekroczyªa liczb 100. Zadanie 14 Napisz program, który wczytuje od u»ytkownika liczb dodatni i wy±wietla liczb jej nieparzystych dzielników. Zadanie 15 Napisz program, który wczytuje od u»ytkownika liczb caªkowit x i wy±wietla liczb jej cyfr podzielnych przez 3. Zadanie 16 Napisz program, który pobierze od u»ytkownika liczb caªkowit n i wy±wietla warto± sum liczb nieparzystych z przedziaªu domkni tego < n, 2n >. Przykªad: We: 5 Wy: 21 (czyli suma 5+7+9). Zadanie 17 Napisz program, który pobierze od u»ytkownika trzy liczby caªkowite a, b, n i wyswietla na standardowym wyjsciu wszystkie liczby caªkowite z przedziaªu domkni tego < a, b >, które s podzielne przez n. Przykªad: a = 5, b = 25, n = 5, Wynik: 5, 10, 15, 20,
1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoVincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java
J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,
Bardziej szczegółowoLekcja 12 - POMOCNICY
Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.
Bardziej szczegółowoWska¹niki, tablice dynamiczne wielowymiarowe
Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna
Bardziej szczegółowoZestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.
ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów
Bardziej szczegółowoPrzetwarzanie sygnaªów
Przetwarzanie sygnaªów Laboratorium 1 - wst p do C# Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 17 Czego mo»na oczekiwa wzgl dem programowania w C# na tych laboratoriach? Dawid Poªap Przetwarzanie
Bardziej szczegółowoBash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
Bardziej szczegółowoLekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
Bardziej szczegółowoˆ tablice statyczne (o staªej ilo±ci elementów) ˆ tablice dynamiczne (o zmiennej ilo±ci elementów) 7.1 Tablice jednowymiarowe statyczne
Rozdziaª 7 Tablice W niniejszym rozdziale zostan omówione tablice. Zostan zaprezentowane kody ¹ródªowe programów w j zyku C, pokazuj ce ich wykorzystanie w praktyce. Istnieje kilka rodzajów tablic w C,
Bardziej szczegółowoMetodydowodzenia twierdzeń
1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych
Bardziej szczegółowoJAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
Bardziej szczegółowo2 Skªadnia polece«w pliku
Interpreter opisu dziaªa«platformy mobilnej wtyczki 1 Ogólny opis zadania Nale»y napisa program, który b dzie w stanie przeczyta z pliku tekstowego sekwencj polece«ruchu, a nast pnie zasymulowa dziaªanie
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Programowanie wspóªbie»ne wiczenia 12 Przestrzenie krotek cz. 2 Przychodnia lekarska W przychodni lekarskiej pracuje L > 0 lekarzy, z których ka»dy ma jedn z 0 < S L specjalno±ci, przy czym
Bardziej szczegółowoProgramowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
Bardziej szczegółowoLekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz
Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
Bardziej szczegółowo1 Metody iteracyjne rozwi zywania równania f(x)=0
1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0
Bardziej szczegółowoANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoA = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.
Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoListy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Bardziej szczegółowoMetody dowodzenia twierdze«
Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku
Bardziej szczegółowoPodstawy JavaScript. Dawid Poªap. Dawid Poªap Technologia informacyjna Grudzie«, / 13
Podstawy JavaScript Dawid Poªap Dawid Poªap Technologia informacyjna Grudzie«, 2017 1 / 13 Plan na reszt zaj z TI Dzisiaj podstawy podstaw programowania w konsoli. W nowym roku na stronie internetowej
Bardziej szczegółowoLekcja 9 Liczby losowe, zmienne, staªe
Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe
Bardziej szczegółowoWykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
Bardziej szczegółowowiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe
wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe 1 Wprowadzenie 1.1 rodowisko programistyczne NetBeans https://netbeans.org/ 1.2 Dokumentacja j zyka Java https://docs.oracle.com/javase/8/docs/api/
Bardziej szczegółowoRelacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
Bardziej szczegółowoPodziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie
Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem
Bardziej szczegółowo7.3 Tablice jednowymiarowe dynamiczne
7.3 Tablice jednowymiarowe dynamiczne Tablice statyczne nie daj nam mo»liwo±ci decydowania o ich wymiarach podczas dziaªania programu. Oznacza to»e musimy zna wielko± tablicy na poziomie tworzenia aplikacji.
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Programowanie wspóªbie»ne wiczenia 11 Przestrzenie krotek cz. 1 Obliczanie caªki oznaczonej Rozwa»my iteracyjne obliczanie caªki oznaczonej na przedziale [a, b] metod trapezów. Krok iteracji
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoIteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.
Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje
Bardziej szczegółowoPODSTAWY INFORMATYKI 1 PRACOWNIA NR 6
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoc Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach
12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa
Bardziej szczegółowoAlgorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Bardziej szczegółowoLab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
Bardziej szczegółowoPzetestuj działanie pętli while i do...while na poniższym przykładzie:
Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Zadania pętla while i do...while: 1. Napisz program, który wczytuje od użytkownika liczbę całkowitą, dopóki podana liczba jest mniejsza
Bardziej szczegółowoPętle. Dodał Administrator niedziela, 14 marzec :27
Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,
Bardziej szczegółowofor (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;
Rok akademicki 2014/2015, Pracownia nr 5 2/36 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2014/2015 Pracownia
Bardziej szczegółowoWstęp do informatyki- wykład 7
1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
Bardziej szczegółowoZastosowania matematyki
Zastosowania matematyki Monika Bartkiewicz 1 / 126 ...czy«cie dobrze i po»yczajcie niczego si nie spodziewaj c(šk. 6,34-35) Zagadnienie pobierania procentu jest tak stare jak gospodarka pieni»na. Procent
Bardziej szczegółowoLekcja 5 Programowanie - Nowicjusz
Lekcja 5 Programowanie - Nowicjusz Akademia im. Jana Dªugosza w Cz stochowie Programowanie i program wedªug Baltiego Programowanie Programowanie jest najwy»szym trybem Baltiego. Z pomoc Baltiego mo»esz
Bardziej szczegółowoMaszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne
Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )
Bardziej szczegółowoInstrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Bardziej szczegółowoPrzekroje Dedekinda 1
Przekroje Dedekinda 1 O liczbach wymiernych (tj. zbiorze Q) wiemy,»e: 1. zbiór Q jest uporz dkowany relacj mniejszo±ci < ; 2. zbiór liczb wymiernych jest g sty, tzn.: p, q Q : p < q w : p < w < q 3. 2
Bardziej szczegółowoO pewnym zadaniu olimpijskim
O pewnym zadaniu olimpijskim Michaª Seweryn, V LO w Krakowie opiekun pracy: dr Jacek Dymel Problem pocz tkowy Na drugim etapie LXII Olimpiady Matematycznej pojawiª si nast puj cy problem: Dla ka»dej liczby
Bardziej szczegółowoJęzyk C, instrukcje sterujące (laboratorium)
Język C, instrukcje sterujące (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Na podstawie http://pl.wikibooks.org/wiki/c Wstęp Instrukcja warunkowa Instrukcja if/if-else pozwala na warunkowe
Bardziej szczegółowoWST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Pracownia nr 7 (10/20.04.2015) dr inż. Jarosław Forenc Rok
Bardziej szczegółowox y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Bardziej szczegółowo7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
Bardziej szczegółowoFunkcja kwadratowa, wielomiany oraz funkcje wymierne
Funkcja kwadratowa, wielomiany oraz funkcje wymierne Šukasz Dawidowski Nocne powtórki maturalne 28 kwietnia 2014 r. Troch teorii Funkcj f : R R dan wzorem: f (x) = ax 2 + bx + c gdzie a 0 nazywamy funkcj
Bardziej szczegółowoKLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu
➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje
Bardziej szczegółowoXVII Warmi«sko-Mazurskie Zawody Matematyczne
1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych
Bardziej szczegółowoLiczby zmiennoprzecinkowe
Liczby zmiennoprzecinkowe 1 Liczby zmiennoprzecinkowe Najprostszym sposobem reprezentowania liczb rzeczywistych byªaby reprezentacja staªopozycyjna: zakªadamy,»e mamy n bitów na cz ± caªkowit oraz m na
Bardziej szczegółowoWst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych
Bardziej szczegółowoWybrane poj cia i twierdzenia z wykªadu z teorii liczb
Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych
Bardziej szczegółowo2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoInterpolacja funkcjami sklejanymi
Interpolacja funkcjami sklejanymi Funkcje sklejane: Zaªó»my,»e mamy n + 1 w zªów t 0, t 1,, t n takich,»e t 0 < t 1 < < t n Dla danej liczby caªkowitej, nieujemnej k funkcj sklejan stopnia k nazywamy tak
Bardziej szczegółowodo instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Bardziej szczegółowoFunkcje, wielomiany. Informacje pomocnicze
Funkcje, wielomiany Informacje pomocnicze Przydatne wzory: (a + b) 2 = a 2 + 2ab + b 2 (a b) 2 = a 2 2ab + b 2 (a + b) 3 = a 3 + 3a 2 b + 3ab 2 + b 3 (a b) 3 = a 3 3a 2 b + 3ab 2 b 3 a 2 b 2 = (a + b)(a
Bardziej szczegółowoWST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 2013/14 Spis tre±ci 1 Kodowanie i dekodowanie 4 1.1 Kodowanie a szyfrowanie..................... 4 1.2 Podstawowe poj cia........................
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoWska¹niki, tablice dynamiczne jednowymiarowe, staªe
Rozdziaª 9 Wska¹niki, tablice dynamiczne jednowymiarowe, staªe 9.1 Wst p Czym w C jest wska¹nik? Wska¹nik jest zmienn, która zawiera adres (wskazanie) innej zmiennej lub adres dowolnego obszaru w pami
Bardziej szczegółowoCiaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1
Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Denicja ciaªa Niech F b dzie zbiorem, i niech + (dodawanie) oraz (mno»enie) b d dziaªaniami na zbiorze F. Denicja. Zbiór F wraz z dziaªaniami + i nazywamy ciaªem,
Bardziej szczegółowofor (i=1; i<=10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;
Rok akademicki 2011/2012, Pracownia nr 8 2/30 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr
Bardziej szczegółowoLekcja 6 Programowanie - Zaawansowane
Lekcja 6 Programowanie - Zaawansowane Akademia im. Jana Dªugosza w Cz stochowie Wst p Wiemy ju»: co to jest program i programowanie, jak wygl da programowanie, jak tworzy programy za pomoc Baltiego. Na
Bardziej szczegółowoWYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH
WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie
Bardziej szczegółowoX WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)
X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) Zadanie 1 Obecnie u»ywane tablice rejestracyjne wydawane s od 1 maja 2000r. Numery rejestracyjne aut s tworzone ze zbioru
Bardziej szczegółowo6. Pętle while. Przykłady
6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!
Bardziej szczegółowofor (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }
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
Bardziej szczegółowoKażde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.
Część XIII C++ Czym jest pętla? Pętla jest blokiem instrukcji, które wykonywane są w kółko (czyli po wykonaniu ostatniej instrukcji z bloku komputer wykonuje ponownie pierwszą instrukcję, później drugą
Bardziej szczegółowoEkstremalnie fajne równania
Ekstremalnie fajne równania ELEMENTY RACHUNKU WARIACYJNEGO Zaczniemy od ogólnych uwag nt. rachunku wariacyjnego, który jest bardzo przydatnym narz dziem mog cym posªu»y do rozwi zywania wielu problemów
Bardziej szczegółowoLaboratorium 2: Pętle i instrukcje warunkowe. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 2: Pętle i instrukcje warunkowe mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 17 października 2015 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje
Bardziej szczegółowoZadania z kolokwiów ze Wst pu do Informatyki. Semestr II.
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz
Bardziej szczegółowoPodstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 2 Zwi zki mi dzy klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang.
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoELEMENTARNA TEORIA LICZB. 1. Podzielno±
ELEMENTARNA TEORIA LICZB IZABELA AGATA MALINOWSKA N = {1, 2,...} 1. Podzielno± Denicja 1.1. Niepusty podzbiór A zbioru liczb naturalnych jest ograniczony, je»eli istnieje taka liczba naturalna n 0,»e m
Bardziej szczegółowoWarunki logiczne instrukcja if
Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y
Bardziej szczegółowoKompilowanie programów
Rozdziaª 2 Kompilowanie programów 2.1 Wst p 2.2 Kompilatory, IDE Zacznijmy od podania kilku podstawowych informacji: ˆ Program - to ci g polece«(instrukcji) do wykonania dla komputera ˆ Program to algorytm
Bardziej szczegółowoALGORYTMY SORTOWANIA DANYCH
ALGORYTMY SORTOWANIA DANYCH W zagadnieniu sortowania danych rozpatrywa b dziemy n liczb caªkowitych, b d cych pierwotnie w losowej kolejno±ci, które nale»y uporz dkowa nierosn co. Oczywi±cie sortowa mo»emy
Bardziej szczegółowoŸ1 Oznaczenia, poj cia wst pne
Ÿ1 Oznaczenia, poj cia wst pne Symbol sumy, j, k Z, j k: k x i = x j + x j+1 + + x k. i=j Przykªad 1.1. Oblicz 5 i=1 2i. Odpowied¹ 1.1. 5 i=1 2i = 2 1 + 2 2 + 2 3 + 2 4 + 2 5 = 2 + 4 + 8 + 16 + 32 = 62.
Bardziej szczegółowofor (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }
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
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoWielomiany o wspóªczynnikach rzeczywistych
Wielomiany o wspóªczynnikach rzeczywistych Wielomian: W (x) = a n x n + a n 1 x n 1 + a n 2 x n 2 +... + a 2 x 2 + a 1 x + a 0 wspóªczynniki wielomianu: a 0, a 1, a 2,..., a n 1, a n ; wyraz wolny: a 0
Bardziej szczegółowoLogika dla matematyków i informatyków Wykªad 1
Logika dla matematyków i informatyków Wykªad 1 Stanisªaw Goldstein Wydziaª Matematyki i Informatyki UŠ 16 lutego 2016 Wszech±wiat matematyczny skªada si wyª cznie ze zbiorów. Liczby naturalne s zdeniowane
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoWstęp do informatyki- wykład 6
1 Wstęp do informatyki- wykład 6 Operatory przypisania, złożone operatory przypisania, operator przecinkowy Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++.
Bardziej szczegółowoArkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Uk ad graficzny CKE 2010 KOD WPISUJE ZDAJ CY PESEL Miejsce na naklejk z kodem EGZAMIN MATURALNY
Bardziej szczegółowoMateriaªy do Repetytorium z matematyki
Materiaªy do Repetytorium z matematyki 0/0 Dziaªania na liczbach wymiernych i niewymiernych wiczenie Obliczy + 4 + 4 5. ( + ) ( 4 + 4 5). ( : ) ( : 4) 4 5 6. 7. { [ 7 4 ( 0 7) ] ( } : 5) : 0 75 ( 8) (
Bardziej szczegółowoCyfrowe Ukªady Scalone
Cyfrowe Ukªady Scalone Marcin Polkowski marcin@polkowski.eu 7 listopada 2007 Spis tre±ci 1 Wprowadzenie 2 2 Zadania ukªadu 2 3 Wykorzystane moduªy elektroniczne 3 3.1 7493 - cztero bitowy licznik binarny..................................
Bardziej szczegółowoPrzykªadowe tematy z JiMP
Przykªadowe tematy z JiMP 1. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania z punktw na centymetry, (77.27 pt = 1 cal = 2.54 cm) tzn. np. wywoªanie: c:\>pkt 144.54 = 5.08 cm spowoduje
Bardziej szczegółowo