Łączna liczba wyświetleń

Pokazywanie postów oznaczonych etykietą logo. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą logo. Pokaż wszystkie posty

sobota, 14 października 2017

Nowe wyzwanie- Python

Oto zastępca Logomocji. Właściwie tworzę to samo z tą różnicą, że Python jest środowiskiem całkowicie tekstowym. Nie posiada okienek na poszczególne procedury, a skrypt jest w języku angielskim. Bez wahania można stwierdzić, że jest trudniejszy niż Logo. Oto kilka przykładów funkcji z Pythona:

for i in range(4):
#jeśli tworzymy pętle (w tym przypadku jest to for) to ważne jest, aby wszystko, co znajduję się w #pętli musi zostać napisane po wcięciu (Tab)
    fd(30); rt(90)

Po wywołaniu tej funkcji zostanie narysowany kwadrat o boku 30. Przy jakichkolwiek rysunkach należy pamiętać, że w Pythonie "żółw"nie zaczyna patrząc do góry, ale w prawo. Jeśli ktoś dużo pracował w Logomocji, to trudno będzie się przestawić na nowy tryb myślenia.

Wszystko co napiszemy w linijce po znaku # zostaje uznane za nasz komentarz, i jest omijane przez program.

Oczywiście w Pythonie można tworzyć o wiele trudniejsze rysunki,a jest to tylko jeden moduł całego programu. Często przy korzystaniu z grafiki żółwia trzeba skorzystać także z innych modułów np.: math, random itd.

wtorek, 10 stycznia 2017

Trochę przygotowań

Jako, że niedługo drugi etap minilogii na zajeciach informatycznych ćwiczyłam na zadaniach konkursowych. Był to motyw, wachlarz i wycinanka (wachlarza nie skończyłam).

Motyw:

Wycinanka (ta procedura zawierała parametr. Wywołanie na rysunku jest wywołaniem dla wartości parametru :ile  7)


 A wachlarza nie ma :).

Te trzy zadanie (bo wachlarz był zrobiony, ale nie do końca) udało mi się zrobić w mniej niż 2 godziny, a że konkurs trwa właśnie 2 godziny mogę być spokojniejsza.

wtorek, 3 stycznia 2017

Od dziś rekurencja

Rekurencja, to inaczej wywoływanie procedury w procedurze. W logomocji przedstawia się to tak, że procedura wywołuje samą siebie tworząc rekurencję. Podstawowymi przykładami rekurencji są drzewa. Takie jak to:

drzewo 100 4
albo to


hibernakus 100 5 ( z elementami losowości)

No albo to


tunel 200 (wiem, że tej rekurencji nie widać, ale jest :] )

Kwiatek, kwaitek.kwaitek...

Dziś na zajęciach informatycznych udało mi się zaprogramować kwiatek (procedura wyszła kwaietek, ale nie ważne). Składa się on z sześciokątnego środka i sześciu ramion złożonych z losowej liczby elementów.






Zaczęłam programowanie od zielonego sześciokąta

oto sześciokąt
 ukp "czerwony
 pod ws 56 lw 60 opu
 ukm "zielony3
 wielokąt[powtórz 6[np 56 pw 60]]
 pod pw 60 np 56 opu
  już


Ma on czerwoną obwódkę nie czarna (to nie pomyłka).

Potem dodałam procedury pomocnicze rysujące te mniejsze sześciokąty wypełniające środek.

oto sześciokątm
ukp "czarny
 ukm "zielony6
 wielokąt [powtórz 6 [np (56/3) pw 60]]

już

oto sześciokątm2
 ukp "czarny
 ukm "żółty8
 wielokąt [powtórz 7 [np (56/3) pw 60]]
już


Jeden jest jaśniejszy od drugiego. Wskazują na to liczby przy kolorach (mogą mieć one wartość od 1 do 12). Im wieksza wartość liczby, tym jaśniejszy jest kolor.

Aby narysować ramię kwiatka zaczęłam od trójkąta.

oto sześciokątm2
 ukp "czarny
 ukm "żółty8
 wielokąt [powtórz 7 [np (56/3) pw 60]]
już


Zmienna "bok oznacza długość boku, który potem będzie się zmniejszał.

Następnie przy rysowaniu pełnego ramienia (co było dość trudne) wykorzystałam długość boku sześciokąta na środku, czyli 56, aby pozmniejszać trójkąty przy powtarzaniu.

oto ramię
niech "bok 56
niech "n 1+losowa 8
powtórz :n[trójkąt :bok pw 60 np :bok pw 120 np (:bok-7)/2 lw 180 niech "bok :bok-7]
pod
powtórz :n [np (56-(7*(:n-(npw-1))))/2 lw 120 np (56-(7*(:n-(npw)))) pw 120]
już


W piątej linijce pierwsze obliczenia dotyczą cofnięcia w miejscu, gdzie trójkąty się stykają. Drugie działanie, to już cofnięcie po pełnej ściance trójkąta. Oba te działanie, to cofnięcia ze ,,szczytu" ramienia.

czerwony- pierwsze obliczenie
niebieski- drugie obliczenia





Procedura końcowa była chyba najłatwiejszą częścią pracy.

oto kwiatek
 środek pod pw 120 np 56 lw 120
 powtórz 6[ ramię np 56 lw 60]
już



wtorek, 29 listopada 2016

ROZETA

Dziś na zajęciach dodatkowych udało mi się stworzyc pewien rysunek, a konkretniej rozetę stworzona z mniejszych gwiazdek.

Rozeta 5






Rozeta 9


 Wysokość jest stała i wynosi 450. Jeśli ktoś miałby pomysł, jak rozwiązać to zadanie, propozycje można zamieścić w komentarzach ^-^.

wtorek, 15 listopada 2016

miniLOGIA

Ostatnio na drzwiach sali 31 głośno o zadaniach z I etapu konkursu miniLOGIA. Postanowiłam wziąć udział w tym konkursie. Termin kończy się 17 listopada, ale ja już ukończyłam zadania i wyglądają one mniejwięcej tak:


Posadzka 18





















Panda (obecnie nie mam zdjęcia, ale pojawi się niedługo).


Pas (tu także zabrakło mi grafiki).

wtorek, 18 października 2016

Code Week

Ten tydzień jest europejskim Tygodniem Kodowania(Code Week). Postanowiłam uczcić ten tydzień i z tej okazji zaprogramowałam w logo takie kwadratowe mozaiki:

1.

 Wersja 1.2 :>



Wykorzystałam tu procedurę kwadrat (taka podstawowa) z Parametrem :bok. A w procedurze końcowej zamieniłam ją na zmienną lokalną i dodałam parametr :ile.

2.
Wersja 2.2:



 Wkrótce pojawi więcej postów z programowania ( a zwłaszcza scratch).

wtorek, 11 października 2016

Informatyka z dziś znowu kontynuacja

Trzecim, a zarazem ostatnim zadaniem był kryształ złożony z pięciokątów:





Pierwszym etapem był oczywiście pięciokąt:

oto pięciokąt
 powtórz 5[np 70 pw 72]
już

Potem wystarczyło tylko stworzyć procedurę powtarzającą go 10 razy:

oto kryształ
ugp 2
ukp "zielony5
 powtórz 10 [pięciokąt pw 360/10]

I znowu ukp i ugp są całkowicie dowolne.

Informatyka z dziś kontynuacja

Kolejne zadanie:

Jest to śnieżynka o określonej liczbie ramion oraz igieł. Odległość miedzy ramionami śnieżynki zmienia charakter całego rysunku.



zaczęłam od stworzenia pojedynczej gałązki

oto gałązka :ile
np 5
powtórz :ile [np 5 pw 45 np 20 ws 20 lw 90 np 20 ws 20 pw 45]
ws :ile*5 ws 5
już

 Mając gałązkę możemy już złożyć całą śnieżynkę

oto śnieżynka :n
przypisz "ile :n*5-10
ugp 2
ukp "czerwony5
powtórz :ile[gałązka :ile pw 360/:n]
już

Tak jak w poprzednim zadaniu ugp i ukp są dowolne

Tym razem możemy zauważyć procedurę przypisz, która pojawiła się zamiast niech.
Niech tworzy zmienną lokalną (wyjaśnienia w poprzednim zadaniu), a przypisz tworzy zmienną globalną. Zmienna lokalna jest nie widoczna i nie widzimy co się w niej znajduję. Tymczasem zmienna globalna daje nam możliwość podglądu przechowywanej liczby.

Informatyka z dziś

Dziś na zajęciach dodatkowych z informatyki ćwiczyłam procedury z parametrem pisanie procedur z parametrem. Oto efekt mojej pracy:





Procedura poniżej :)


Zaczęłam od zwykłego pięciokąta:

oto pięciokąt :bok
powtórz 5[np :bok pw 360/5]
już


Parametr :bok jest KONIECZNY. Przyda na późniejszych etapach rysunku.

Następnym etapem pracy był płatek z dodatkowym parametrem :ile

oto płatek :ile
niech "bok 10
powtórz :ile[pięciokąt :bok niech "bok :bok+10]


W tym przypadku parametr :ile określa, ile małych pięciokątów ma się znajdować w tym największym. Parametr :bok nie pojawił się obok parametru :ile. Dlaczego? Pozbyłam się go, tworząc zmienną "bok równą 10.

Procedura ,,niech" tworzy zmienną lokalną dla tej jednej procedury (nie możemy jej użyć w innej procedurze, no chyba że użyjemy procedury zawierającą tą zmienną w innej).

Procedura końcowa ,,kwiatek" wygląda tak:

to kwiatek :ile
ugp 4
ukp "jasnoniebieski4
powtórz 5[płatek :ile pw 360/5]

już

ugp oraz ukp mogą być dowolne :)

Oto przykłady wywołania procedury kwiatek dla parametrów..

:ile 5


:ile 14





:ile 10