Plan przygotowania projektu 1. Przygotowanie krótkiego opisu projektu. 2. Opis sposobu zastosowania projektu. 3. Implementacja w języku Prolog: 3.1 definicja maszyny abstrakcyjnej dedykowanej pod realizacje projektu, 3.2 deklaracja języka programowania, 3.3 określenie kompilacji języka programowania, 3.4 przykładowa kompilacja. Tematy projektów Zad. 1 Sterowanie oświetleniem living-room: definicja opcji oświetleniowych, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, Zad. 2 Sterowanie oświetleniem kuchni: definicja opcji oświetleniowych, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, Zad. 3 Sterowanie oświetleniem stanowiska pracy przy biurku: definicja opcji oświetleniowych, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, Zad. 4 Sterowanie grą w szachy: definicja szachów, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, kompilator języka Zad. 5 Sterowanie grą w warcaby: definicja warcabów, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, kompilator języka Zad. 6 Sterowanie wybrana grą planszową: definicja wybranej gry, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone,
Zad. 7 Sterowanie konwersacja językową na zadany temat z wykorzystaniem do dziesięciu typowych pytań oraz schematów typowych zwrotów. Zad. 8 Sporządzanie opisu horoskopu urodzeniowego dla danej pozycji planet w znakach zodiaku. Zad. 9 Sterowanie robotem-odkurzaczem: definicja opcji sprzątania, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, Zad. 10 Głosowe sterowanie łóŝkiem szpitalnym: definicja ruchów łóŝka, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, Zad. 11 Sterowanie robotem dedykowanym do wykonania zadania O naczyniach z wodą : definicja zadania O naczyniach z wodą, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, kompilator języka Zad. 12 Sterowanie automatem dedykowanym do wykonania zadania wybranego zadania informatycznego: definicja wybranego zadania, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złoŝone, kompilator języka Zad. 13 Kalkulator programowany do obliczeń parametrów prądu elektrycznego w układzie zbudowanym ze źródła prądu, oporników i kondensatorów: definicja układu elektrycznego, język obliczeń parametrów układu, kompilator języka obliczeń, przykładowy program obliczeń i jego kompilacja. Zad. 14 Maszyna matematyczna Z. Pawlaka przyjmująca stany obliczeń określone przez ściany dwunastościanu foremnego i ich krawędzie (w prostszej wersji: ściany sześcianu i ich krawędzie): definicja obliczeń, język programowania, kompilator, przykładowe programy i ich kompilacja. Zad. 15 Edytor i wyświetlarka plików tekstowych zawierających treści emocjonalne kodowane za pomocą stosownej cyklicznie animacji liter, np. radość to podskakujące nieregularnie litery tekstów wyraŝających radość, smutek
pochylające się kolejno litery tekstu, neutralność bez zmian, uwaga! mruganie tekstu na który naleŝy zwrócić uwagę. Zad. 16 Opisz rzeczywistość poznawczą, opisaną w poniŝszych sformułowaniach problemów, jako system iteracyjny (uniwersum, cechy, przyporządkowaniaoperacje, relacje i dane, czy teŝ znane przedmioty indywidua, stany i reguły przejść), a następnie zadeklaruj te systemy iteracyjne w języku Proplog. Określ obliczenia realizowane w tych systemach iteracyjnych, języki programowania, kompilatory tych języków. Podaj przykładowe programy rozwiązujące poniŝsze problemy i skompiluj je. Problem 1 (śabie SKOKI) Po obydwu stronach strumienia siedzą Ŝaby. Po prawej trzy Ŝaby wodne (Rana esculenta), po lewej trzy Ŝaby trawne (Rana temporaria). A w strumieniu kamień, wystający ponad powierzchnię wody. ZałóŜmy, Ŝe kaŝda Ŝaba chce przeskoczyć na drugą stronę strumienia, tzn. Ŝaby wodne chcą zamienić się miejscami z trawnymi. KaŜda Ŝaba moŝe skakać o jedno miejsce do przodu (równieŝ na wystający z wody kamień) oraz przeskakiwać jedną Ŝabę innego koloru, za którą jest wolne miejsce. (śaby tego samego koloru nie przeskakują się). śaby nie mogą poruszać się wstecz. Ile skoków muszą wykonać Ŝaby, aby zamienić się brzegami? MoŜna zmieniać warunki zadania, biorąc dwa razy po dwie Ŝaby, dwa razy po cztery itd. i znaleźć w ten sposób ciekawy algorytm Ŝabich skoków. Matchematische Kurzweil Ch. A. Schwengeler, str. 8 Problem 2 (MISJONARZE I LUDOśERCY) Trzech misjonarzy i trzech ludoŝerców usiłuje przeprawić się z jednego brzegu rzeki na drugi. Mają do dyspozycji łódź, która mieści co najwyŝej 2 osoby. JeŜeli w jakimkolwiek momencie przeprawy przez rzekę liczba ludoŝerców na dowolnym brzegu przewyŝsza liczbę znajdujących się tam misjonarzy, ludoŝercy folgują swym naturalnym skłonnościom i zjadają misjonarzy. Podać najprostszy schemat przeprawy przez rzekę, który pozwoli wszystkim misjonarzom i ludoŝercom bezpiecznie przeprawić się na drugi brzeg. Problem 3 MĘśCZYZNA, KOZA, WILK I SAŁATA znajdują się na lewym brzegu rzeki. Na brzegu jest ponadto łódź na tyle pojemna, by pomieścić jednorazowo męŝczyznę i tylko jedno z pozostałych stworzeń lub rzeczy. MęŜczyzna wraz z anturaŝem pragnie przeprawić się na prawy brzeg rzeki. JeŜeli wilk i koza pozostaną razem bez dozoru męŝczyzny, wilk z pewnością zje kozę. Podobnie, jeŝeli bez jego dozoru koza pozostanie na brzegu razem z sałatą, koza sałatę zje. Czy moŝliwa jest przeprawa przez rzekę tak, by koza i sałata nie zostały zjedzone? Problem 4 (PIES I ZAJĄC)
Pies zauwaŝył zająca. Zanim zaczął go gonić, dzieliła ich odległość 150 stóp. Jednym skokiem zając pokonuje odległość siedmiu stóp, a pies dziewięciu stóp. Po ilu skokach pies dogoni zająca? Jaką odległość ( w stopach ) pokona pies, nim dopadnie szaraka? Matchematische Kurzweil Ch. A. Schwengeler Problem 5 (PRZELEWANIE) Mając do dyspozycji dwa naczynia o pojemnościach: 3 litrów i 5 litrów oraz wodę z rzeki, odmierzyć dokładnie 4 litry wody. Inne wersje tego zadania: mając do dyspozycji dwa naczynia o pojemnościach: 2n-1 litrów i 2n+1 litrów, odmierzyć dokładnie 2n litrów wody. Poszczególne przypadki przedstawia tabelka: Rys.1. Implementacja róŝnych wersji zadania o odmierzaniu wody. Źródło: J. Kotyczka, Programowanie logiczne w rozwiązywaniu zadań na poziomie szkolnym, Praca magisterska, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Opole 2003. Problem 6 (MONETY) Mamy osiem monet. Jedna z nich jest lŝejsza od pozostałych (nie wiemy, która). Jak wykryć lŝejszą monetę, jeśli moŝemy tylko dwukrotnie dokonać waŝenia przy uŝyciu wagi szalkowej? MoŜna zmieniać warunki zadania, biorąc: liczbę dozwolonych waŝeń: n = 3, liczbę monet: 18, albo:... Problem 7 (WIĘZIENIE NA PUSTYNI) Król Sztam jest surowym władcą. Jego ulubioną karą jest zsyłanie ludzi do więzienia na pustyni. Nie ma tam cel. Więzień moŝe więc swobodnie spacerować, ale kaŝdy moŝe mieć przy sobie zapas jedzenia i wody jedyni na trzy dni. Na pustyni, aby przeŝyć, trzeba mieć prowiant na kaŝdy spędzony na niej dzień. Jak moŝna by uciec z więzienia, gdyby najbliŝsza oaza była odległa od więzienia o
cztery dni drogi? (oaza - miejsce, w którym jest schowane jedzenie). Ile dni zajęłaby ucieczka? ROZWIĄZANIE: Trzeba wziąć jedzenie na trzy dni, maszerować jeden dzień w kierunku oazy, zostawić jednodniowy zapas poŝywienia i wrócić do więzienia. Znowu zabrać prowiant na trzy dni, iść przez jeden dzień w stronę oazy, wziąć pozostawione zapasy (znowu jest do dyspozycji poŝywienie na trzy dni) i udać się dalej. Ucieczka zajęłaby 6 dni. Jak długo trwałaby ucieczka, gdyby oaza była odległa o pięć dni drogi od więzienia? A o sześć dni?... Jak zmienia się sposób ucieczki, gdy moŝna mieć przy sobie prowiant na cztery dni? Na pięć dni?... Łamigłówki z Manchesteru cz. II, (tłum. M. E. Dawidziuk, M. Dąbrowski,) Biblioteczka Stowarzyszenia Nauczycieli Matematyki, WSiP, W-wa 1993. Problem 8 (WIELBŁĄD NA PUSTYNI) Przejście przez Pustynię śółtą zajmuje wielbłądowi 8 dni. KaŜdego dnia zwierzę musi wypić jeden bukłak wody. Niestety, na wielbłąda moŝna załadować jedynie 5 pełnych bukłaków. MoŜna jednak ustawiać na pustyni magazyny z wodą (i woda ta na szczęście nie wyparuje). Podaj sposób przeprawy wielbłąda przez Pustynię śółtą i określ najmniejszą liczbę wypraw, które musi odbyć. Ilu wypraw potrzeba do przebycia Pustyni Czerwonej, którą wielbłąd pokonuje w 10 dni? Ile dni trwa najdłuŝsza podróŝ, jaką moŝna odbyć na wielbłądzie? Nowa rasa wielbłądów moŝe nosić 6 bukłaków z wodą. Jakie będą tym razem odpowiedzi na powyŝsze pytania? Łamigłówki z Manchesteru cz. II, (tłum. M. E. Dawidziuk, M. Dąbrowski,) Biblioteczka Stowarzyszenia Nauczycieli Matematyki, WSiP, W-wa 1993. Problem 9 (DOMEK i GWIAZDA) Jak bez odrywania ołówka od kartki narysować domek, gwiazdkę itp.