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 - PTLE 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