Lekcja 11 - P†TLE 1 P¦tle 2 P¦tla For

Transkrypt

Lekcja 11 - P†TLE 1 P¦tle 2 P¦tla For
Lekcja 11 - P†TLE
1
P¦tle
P¦tla czyli powtarzanie - umo»liwia wykonywanie ci¡gu instrukcji do pewnego momentu (okre±lonego przez twórc¦ programu).
P¦tle nale»¡ do podstawowych narz¦dzi programistycznych.
W Baltiem do u»ywania p¦tli sªu»¡ trzy polecenia: for, while, break (rys. 1).
‘rodkowe polecenie while jest rozwijane
do dwóch polece«: while, do-while (rys. 2).
2
Rysunek 1: Polecenia p¦tle
Rysunek 2: Polecenia while
P¦tla For
P¦tla for ze zmienn¡ steruj¡c¡
- dla
Tworz¡c tak¡ p¦tle zaczynamy od jej nagªówka, który wygl¡da nast¦puj¡co:
for(zmienna steruj¡ca, pocz¡tkowa warto±¢ zmiennej, ko«cowa warto±¢ zmiennej, krok)
Dla nas oznacza to, »e po poleceniu for musimy w nawiasie umie±ci¢ typ
zmiennej, warto±¢ pocz¡tkow¡ tej zmiennej, jej warto±¢ ko«cow¡ oraz co ile
ma si¦ ona zmienia¢ - mo»emy to pomin¡¢ wtedy przyjmie ona warto±¢ 1.
Mo»liwe, »e teraz wygl¡da to do±¢ skomplikowanie, jednak po kilku przykªadowych programach powinno by¢ jasne w jaki sposób u»ywa¢ tej p¦tli.
1
3
P¦tla For - pierwszy program
Oto przykªadowy program (rys. 3), gdzie zmienna steruj¡ca to zmienna A
przyjmuj¡ca warto±ci od 1 do 5, i zmieniaj¡c¡ warto±¢ o jeden.
Rysunek 3: P¦tla for pierwszy program
Wynikiem dziaªania tego programu b¦dzie wyczarowanie przez Baltiego
pi¦ciu drzewek.
Pytanie brzmi: po co u»ywa¢ p¦tli For skoro w tym przypadku wystarczyªby
zwykªy blok polece«?
Odpowied¹ jest prosta. Mo»emy u»y¢ zmiennej w poleceniach w p¦tli i wykorzysta¢ jej zmieniaj¡c¡ si¦ warto±¢.
Wykorzystamy to w kolejnym programie.
Rysunek 4: P¦tla for drugi program
2
4
P¦tla For - drugi program
Kolejny program wykorzystuj¡cy p¦tle for (rys. 4). Skupmy si¦ na wierszu z
poleceniem, który znajduje si¦ wewn¡trz p¦tli:
szary kwadrat to polecenie dowolny przedmiot, a pó¹niej znajduj¦ si¦ zmienna
A i Baltie robi krok do przodu. Oznacza to dla nas, »e Baltie wyczaruje
przedmiot o takim numerze jaka jest warto±¢ zmiennej A, czyli przedmioty
od numeru 2 do 7.
5
P¦tla For - Rosn¡cy grzybek
Stwórzmy program, w którym Baltie b¦dzie wyczarowywaª kolejne przedmioty z powi¦kszaj¡cym si¦ grzybkiem. Wykorzystajmy do tego ten sam wiersz
polece« co w poprzednim programie. Jednak zmie«my nagªówek p¦tli, by
zmienna przyjmowaªa warto±ci odpowiadaj¡ce numerom przedmiotu grzyba
czyli od 3045 do 3037. Warto±ci zmiennej maj¡ male¢, wi¦c nie mo»emy zmienia¢ warto±ci zmiennej jak w poprzednich programach. Dlatego krok (czyli
zmiana warto±ci zmiennej) musi wynosi¢ -1, co oznacza »e warto±¢ zmiennej
jest pomniejszana o jeden.
Gotoyw prgram rys. 5 oraz efekt jego dziaªania rys. 6.
Rysunek 5: P¦tla for rosn¡cy grzybek
Rysunek 6: Efekt dzia ªanie programu osn¡cy grzybek
3
6
While
Powtarzanie z warunkiem na pocz¡tku While
While czyli dopóki
W tej p¦tli najpierw jest sprawdzany warunek, a potem jest wykonywane
(lub nie) polecenie.
Skªadnia tej p¦tli wygl¡da nast¦puj¡co:
while<warunek><polecenia>
7
While - pierwszy program
Pierwszy program z u»yciem p¦tli While, wygl¡da jak na rys. 7.
Rysunek 7: P¦tla while pierwszy program
W nagªówku p¦tli pojawia si¦ polecenie not czyli nie, wi¦c warunek brzmi:
dopóki nie ma dowolnego przedmiotu przed Baltiem to:...
Ta p¦tla nigdy si¦ nie sko«czy, poniewa» w poleceniu Baltie robi krok do przodu i skr¦ca w lewo, wi¦c nigdy nie tra na »aden przedmiot ani na koniec
sceny.
8
While - mur
Przy u»yciu p¦tli while napiszmy program, w którym b¦dzie rysowany mur
o dªugo±ci 6 elementów i wysoko±ci 2 elementów. Wykorzystajmy warunek,
którego u»yli±my w poprzednim programie. Natomiast w bloku polece« zacznijmy od narysowania muru 5 razy, nast¦pnie obrót Baltiego w lewo, rysujemy jeden mur i znowu obrót Baltiego w lewo.
Gotowy program przedstawia rys. 8, a efekt jego dziaªania rys. 9.
4
Rysunek 8: P¦tla while rysowanie muru
Rysunek 9: Efekt dziaªania programu, który tworzy mur
Baltie nie czaruje dalej muru, poniewa» napotyka na swej drodze przedmiot mur.
9
While - zmienna
Teraz stwórzmy program, w którym wykorzystamy zmienn¡ powi¦kszan¡
w p¦tli dwukrotnie (poprzez dodanie jej do siebie) oraz wykorzystajmy j¡
w warunku - by nie byªa wi¦ksza od 100.
Zaplanujmy nasz¡ prac¦ - napiszmy algorytm:
1. Deklarujemy zmienn¡ caªkowit¡ A o warto±ci pocz¡tkowej 1.
2. Nagªówek p¦tli: dopóki zmienna A b¦dzie mniejsza od 100.
3. Polecenia w p¦tli:
- przypisujemy zmiennej A now¡ warto±¢ - sum¦ dwóch zmiennych A
- wy±wietlamy pusty przedmiot na ekranie
- wy±wietlamy zmienn¡ A na ekranie
Spróbuj samodzielnie napisa¢ ten program. Gotowy program rys. 10.
5
Rysunek 10: P¦tla while program ze zmienn¡
Efektem dziaªania programu b¦dzie wy±wietlenie na ekranie liczb:
2, 4, 8, 16, 32, 64, 128
Pewnie zastanawiasz si¦ dlaczego na ekranie wy±wietla si¦ liczba 128, skoro
zmienna A miaªa by¢ mniejsza od 100?
Poniewa» do p¦tli 'wchodzi' zmienna A o warto±ci 64 po dodaniu jej do siebie
otrzymujemy 128, która jest wy±wietlona na ekranie.
10
Do-while
P¦tla do-while dziaªa podobnie do p¦tli while, z t¡ ró»nic¡, »e warunek jest sprawdzany na ko«cu, a nie na pocz¡tku.
Korzystamy z niej gdy potrzebujemy najpierw wykona¢ polecenie przed sprawdzeniem warunku.
Skªadnia tej p¦tli wygl¡da nast¦puj¡co:
<polecenie>do-while<warunek>
11
Do-while program
Przykªadowy program, który wykorzystuje p¦tle do-while (rys. 11). W tym
programie Baltie b¦dzie szedª dopóki nie napotka przedmiotu - czyli przy
czystej scenie dojdzie do ko«ca linii.
6
Rysunek 11: Program z u»yciem p¦tli do-while
12
Break
jest poleceniem, które towarzyszy p¦tlom.
U»ywa si¦ go do przerwania dziaªania p¦tli.
Element Break
13
Break program
Napiszmy program, w którym wykorzystamy polecenie break.
Niech program w niesko«czono±¢ przypisuje zmiennej caªkowitej Los warto±¢
losow¡ od 1 do 6 i wy±wietla j¡ na ekranie. Natomiast je»eli zostanie wylosowana liczba 5 (zmienna Los b¦dzie równa 5) to program przestanie dziaªa¢
(rys. 12).
Rysunek 12: Program z u»yciem break
W tym programie u»ywamy równie» warunku if (je»eli) oraz kilku bloków
polece« - jeden w drugim.
7
Bloki polece«
W Baltiem mo»emy u»ywa¢ wielu bloków polece« w taki sposób jak w programie, dla naszej wygody ka»da para nawiasów b¦dzie miaªa inny kolor
(rys. 13)
Rysunek 13: Bloki polece«
14
Praca wªasna
Stwórz trzy programy, w którym na ekranie zostan¡ wy±wietlone liczby od 0
do 10.
• z u»yciem p¦tli while
• z u»yciem p¦tli for
• z u»yciem p¦tli do-while
8