7. Uczymy się tabliczkę mnożenia

Cześć przyjaciele!

Ostatnim razem nauczyliśmy się, że kwadraciki w programie można przesuwać na inne miejsce lewym przyciskiem myszy lub kopiować ich prawym przyciskiem myszy. Niepotrzebny kwadracik można odciągnąć poza czarną przestrzeń, jeśli brakujący kwadracik wprowadzimy pomiędzy dwa inne, zrobią mu tam miejsce. Wprowadzenie kwadracika "koniec wiersza" (strzałka zgięta ) znaczy, że następne polecenia będą na następnym wierszu, nawet gdy poprzedni nie jest jeszcze cały wypełniony.

Teraz powiedzmy, jak zapisać powtarzanie poleceń i rozwiążemy zadanie domowe z ostatniej lekcji.

Jak powtarzać te same polecenia?

Wyobraźcie sobie, że chcecie, bym obrócił się na lewo, pięć razy poszedł do przodu, wyczarował zegar i poczekał na naciśnięcie dowolnego klawisza lub przycisku myszy (żeby było można pooglądać wynik). Nic trudnego, powiecie sobie, zaczniecie programować i za chwilkę jest gotowe. Program wyglądać będzie np. tak:

i jego wynik tak:

Lecz my teraz skrócimy cały zapis. Jeśli powinienem pięć razy pójść, napiszecie to właśnie dokładnie tak: 5 x idź. Zamiast słowa idź oczywiście użyjecie kwadracik i dlatego program będzie wyglądać tak jak na następnym rysunku. Jest to takie same jak w matematyce? I dla czego nie?

Uwaga, ja chcę od was dokładne zadanie. Jeśli komuś słowami powiecie: "pięć razy idź i wyczaruj zegar", nie wie ten ktoś, czy powinien najpierw pięć razy iść i dopiero potem czarować, czy też iść, czarować, iść, czarować... razem pięć razy. Dla mnie jest program na górnym rysunku jasny: pięć razy powtórzę tylko jedno polecenie, które jest tuż za znakiem razy.

Co robić, jeśli chcecie drugą możliwość – zawsze po każdym z pięciu kroków czarować? W tym przypadku użyjcie następnej rzeczy, znanej z matematyki: nawiasy! Pamiętajcie: jeśli za kwadracikiem będzie nawias, zostanie powtarzane wszystko, co jest w nawiasach. Popatrzcie na następny rysunek:

Zapis ten znaczy, że obrócę się na lewo, potem pójdę, wyczaruję zegar, pójdę, wyczaruję, pójdę, wyczaruje... i gdy będzie na ekranie pięcioro zegarów, poczekam na naciśnięcie klawisza. Wynik jest oto taki (porównajcie go do poprzedniego):

Dla tych bardziej doświadczonych: nawiasy mogą być zgnieździone. To znaczy, że w nawiasach mogą być następne nawiasy. Jest to podobne do matematyki, gdzie można napisać np. 3x(2+5x(1+7)). Lecz uwaga: wszystkie nawiasy są okrągłe (nie zmienia się ich kształt), liczba otwierających i zamykających nawiasów musi być równa i nawiasów nie można przekładać przez siebie.

Użycie więcej nawiasów pokażemy na rozwiązaniu zadania z ostatniego rozdziału. Powinniśmy stworzyć program, który po całym skraju mojej przestrzeni wyczaruje dzwonki.

Najprostsze rozwiązanie jest chyba to: obejdę całą przestrzeń i ciągle będę czarować przed sobą dzwonki. Ponieważ na dłuższej stronie mieści się 15 i na krótszej 10 kwadracików, wystarczy 14 razy powtórzyć polecenia idź i czaruj dzwonek, potem obrócić się na lewo, 9 razy powtórzyć tą samą parę poleceń, znów obrócić się na lewo, znów 14 razy powtórzyć i obrócić się na lewo, 9 razy powtórzyć. Dla czego 14 i 9 razy i nie 15 i 10 razy? Więc dlatego, że kwadraciki w kątach wspólne są dla dwóch sąsiednich stron! Taki program można na pewno stworzyć, lecz jest z tym dużo roboty, poukładać wszystkie kwadraciki. Dla czego więc nie użyć polecenia "razy"? Cały program będzie w tym przypadku znacznie skrócony:

Jeśli jednak popatrzycie dokładnie na ten rysunek, stwierdzicie, że pierwsze dwa wiersze są takie same jak trzeci i czwarty. Zapiszmy więc pierwsze dwa i rozkażmy wykonać je podwójnie. Program ten widać na następnym rysunku. Zauważcie też to, że nie zużytkowałem całej długości dwóch wierszy. Zamiast tego jest mój program łatwy do zrozumienia, cóż?


do strony domowejwsteczspis treścidalej

[do strony domowej] [wstecz] [spis treści] [dalej]