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.