Technologie Informacyjne

Transkrypt

Technologie Informacyjne
Technologie Informacyjne
Mechatronika 2012/2013
Algorytmy. Podstawy programowania
1. Wstęp
Celem laboratorium jest przećwiczenie tworzenia algorytmów. Podczas laboratorium każdy z
uczestników zapozna się z językiem programowania Google Blocky i napisze w nim własny
algorytm.
2. Zadania do wykonania
Podczas wykonywania niżej wymienionych zadań niedopuszczalne jest korzystanie z Internetu
1. Otworzyć stronę Google Blocky
http://blockly-demo.appspot.com/blockly/demos/maze/index.html
Rys. 1: Strona startowa Google Blocky Maze
2. Zbudować program umożliwiający przejście wyświetlonego labiryntu za pomocą komend z
zakładki Commands
Rys. 2: Komendy z zakładki Commands
3. Zmienić wyświetlany labirynt za pomocą polecenia Randomize Maze
4. Spróbować przejść nowy schemat labiryntu za pomocą wcześniej napisanego programu →
Nie da się...=)
5. Na kartce papieru narysować, rozpisać algorytm (schemat) umożliwiający przejście
dowolnego wygenerowanego labiryntu.
6. Wymyślony algorytm zaimplementować w Google Blocky. W tym celu oprócz zakładki
Commands wykorzystać komendy z zakładki Logic.
Rys. 3: Komendy z zakładki Logic
7. Sprawdzić poprawność działania programu za pomocą kilkukrotnej zmiany labiryntu. Za
każdym razem ludzik powinien dotrzeć do końca labiryntu.
8. *Na wypadek, gdyby większość skończyła wcześniej zadanie punkt 4. Jeśli nie Punkt 4 jest
zadaniem domowym.
Przygotowany materiał należy przesłać pocztą elektroniczną z adresu politechnicznego na adres
prowadzącego (jako print screen).
3. Materiały pomocnicze
3.1. Commands
a)
Idź prosto
b)
Skręć w prawo
c)
Skręć w lewo
Klikając w jasne pole lewym przyciskiem myszki można zmienić instrukcje (Rys. 4).
Rys. 4: Zmiana instrukcji
w bloku
Klikając w blok prawym przyciskiem myszy wchodzi się polecenie edycji bloków (Rys. 5) np.
można jakiś blok zdezaktywować (Disable Block).
3.2. Logic
a)
Rys. 5: Edycja bloków
Ściana z :
- przodu
- z lewej strony
- z prawej strony
- z tyłu
Element do wykorzystania
logicznym, pętli itp.
w
warunku
b)
Negacja. Zaprzeczenie umieszczonego za
wyrażenia Przykład:
nią
c)
W zależności od wyboru koniunkcja lub
alternatywa
d)
Warunek logiczny jeżeli sprawdza czy podane
wyrażenie jest prawdziwe jeżeli tak wykonuje
zadaną instrukcje. Można dodawać więcej niż
jeden warunek logiczny poprzez kliknięcie lewym
przyciskiem myszy w plusik w rogu i
przemieszczenie bloku else czy też else if do bloku
if. Przykład:
e)
Pętla
warunkowa.
Sekwencja
instrukcji
umieszczona po poleceniu do jest wykonywana aż
do dotarcia ludzika do chorągiewki ( przejścia
labiryntu)
f)
Pętla
warunkowa.
Sekwencja
instrukcji
następująca po do będzie wykonywana:
- dopóki warunek istnieje (while), np.
- aż do osiągnięcia zadanego warunku (until) np.
Rezultat działania obydwu pętli bezie taki sam.
4. Liczenie błędów
4.1. Liczenie błędu podczas obliczania wzoru okres drgań wahadła
matematycznego
Okres drgań wahadła matematycznego dany jest wzorem:
√
l
,
g
gdzie l to długość wahadła, a g to przyspieszenie (ziemskie).
T =2 π
(1)
Zadanie polega na przyjęciu jakiejś długości wahadła, zaproponowaniu i uzasadnieniu błędu
bezwzględnego pomiaru długości, a następnie obliczenia okresu drgań wahadła i oszacowaniu
błędu bezwzględnego dla kilku wartości przybliżeń stałych π i g (1, 2, 4 cyfry po przecinku).
Obliczenia należy wykonać ręcznie, ewentualnie używając kalkulatora.
Uwaga: Należy zaproponować oszacowanie błędu operacji pierwiastkowania (wychodząc z definicji
błędu bezwzględnego).
4.2. Obliczanie błędu w przypadku wielomianów
Powtórzyć samodzielnie cykl obliczeń zaprezentowany na wykładzie (slajdy 83 do 87) dla
zestawu wygenerowanych danych
Aby wygenerować dane należy wykorzystać formularz na stronie formularza na stronie. Po
otworzeniu strony należy wpisać numer indeksu a program wygeneruje pary liczb. Każda para to
wartość parametru i błąd.
Przykład wygenerowanych liczb:
123456
Dane (i bledy) w kolejnosci: a0, a1, a2, a3, a4, x
+5.5 0.00
+5.3 0.01
-8.5 0.03
-5.9 0.04
-9.0 0.04
+2.9 0.05
Obliczenia należy prowadzić tak jak na przykładzie podany podczas wykładu: po każdym działaniu
należy „obcinać” wyniki do zadanej liczby cyfr po przecinku i wyznaczać błąd bezwzględny.