Symulator robota mobilnego RobSym

Wielkość: px
Rozpocząć pokaz od strony:

Download "Symulator robota mobilnego RobSym"

Transkrypt

1 Symulator robota mobilnego RobSym dr in». Maciej Horczyczak 21 czerwca 2010, 2 lutego 2011 Streszczenie Dokumentacja narz dzi skªadaj cych si na symulator robota mobilnego. Dotyczy wersji Opis gramatyki j zyka sterowania robotem oraz uwagi n/t konguracji interpretera. Dotyczy wersji symulatora Opracowane dla potrzeb ROPRM (projekt Symulek) przez dra in». M. Horczyczaka w grudniu Ostatnie poprawki 2 lutego (c) mjkh 2001,2005,2006,2007,2010,2011 Spis tre±ci I Wprowadzenie 3 II Symulator: robot i jego ±rodowisko 4 1 Budowa robota 4 2 rodowisko symulacji Plik konguracji ±rodowiska Porty: dost p do efektorów i czujników Silniki nap dzaj ce koªa Czujnik ultrad¹wi kowy No»e kosz ce Czujnik stykowy Czujnik podªo»a Czujnik ultrad¹wi kowy Czujnik orientacji Namiary na markery III J zyk sterowania robota mobilnego 9 3 Informacje ogólne 9 4 Komentarze 9 5 Identykatory 9 6 Sªowa kluczowe 9 7 Literaªy 10 8 Etykiety 10 9 Zmienne 10 1

2 10 Operatory arytmetyczne Wyra»enia arytmetyczne Instrukcje Instrukcja podstawienia Instrukcje steruj ce Instrukcje skoków Instrukcje wywoªania i powrotu z procedury Instrukcje p tli: while, break i continue Instrukcja stop Instrukcje wej±cia/wyj±cia Instrukcje wej±cia/wyj±cia na konsoli Instrukcja obslugi plikow - le Instrukcje komunikacyjne Instrukcje obsªugi portów Inne instrukcje Instrukcja freemem Instrukcja spawn Operator time Dyrektywy Plik konguracyjny 18 IV Biblioteka CRSTER.LIB Informacje ogólne Interfejs biblioteki U»ycie biblioteki 19 V Dodatki Podsumowanie skªadni Przeliczanie pr dko±ci 22 2

3 Cz ± I Wprowadzenie Symulator robota mobilnego (projekt Symulek) jest programowym symulatorem robota mobilnego wraz z deniowalnym ±rodowiskiem oraz systemem programowania i komunikacji (j zyk programowania, interpreter, narz dzia komunikacji pomi dzy interpreterem a symulatorem). Symulator przeznaczony jest do nauki programowania robotów mobilnych (innych ni» roboty manipulacyjne) programowanych algorytmicznie. Symulator skªada si z dwóch programów DOSowskich wspóªpracuj cych ze sob poprzez pliki na wspóªdzielonym dysku sieciowym: program RSTER - interpreter j zyka programowania robota program RSYM - symulator robota i jego ±rodowiska Wykonanie programu sterowania robotem (pliku.prg) przez program RSTER powoduje przekazywanie danych steruj cych robotem do symulatora RSYM. Z punktu widzenia programu RSTER proces sterowania odbywa si tak, jakby sterowano rzeczywistym robotem: zachodz zjawiska opó¹nie«zwi zanych z reakcjami czujników oraz efektorów, za± praca symulowanego robota odbywa si niezale»nie od pracy samego interpretera - przerwanie procesu sterowania nie powoduje przerwania dziaªania robota. Sterowanie robotem odbywa si w czasie rzeczywistym. Opis j zyka wykorzystywanego do programowania robota przedstawiono w dalszej cz ±ci tego dokumentu. Program RSYM jest symulatorem robota mobilnego. Symulowane jest zachowanie robota: jego ruch w zale»no±ci od pracy silników nap dzaj cych koªa oraz dziaªanie czujników robota zale»nie od interakcji z elementami ±rodowiska, w którym si robot porusza. Program RSYM jest sterowany przez interpreter: w trakcie wykonania programu steruj cego robota, robot dziaªa zgodnie z sygnaªami sterujacymi od interpretera. Po zatrzymaniu interpretera (przerwaniu wykonywania programu) lub po zako«czeniu wykonywania programu, symulator przechodzi w stan wstrzymania. Ponownie w stan pracy (po restarcie) symulator przechodzi po uruchomieniu interpretera (rozpocz ciu wykonywania programu sterujacego). Opis symulatora - robota i jego ±rodowiska znajduje si w dalszej cz ±ci tego dokumentu. Uruchamiaj c zestaw programów RSTER - RSYM nale»y najpierw uruchomi symulator RSYM, a nast pnie uruchamia programy steruj ce pod RSTER. Oba programy powinny by uruchamiane z tego samego katalogu. Przywracanie stanu pocz tkowego ±rodowiska robota i stanu pocz tkowego samego robota odbywa sie automatycznie przy uruchamianiu programu steruj cego pod RSTER. Opcjonalnym parametrem wywoªania programu RSYM mo»e by nazwa pliku konguracyjnego (pliku.dat). Prac ka»dego z programów mo»na przerwa w dowolnej chwili naciskaj c klawisz Esc. 3

4 Cz ± II Symulator: robot i jego ±rodowisko 1 Budowa robota Rysunek 1 przedstawia schemat robota (w rzucie z góry). Robot wyposa»ony jest w nast puj ce elementy: Efektory: dwa koªa napedowe: koªo lewe i koªo prawe no»e tn ce do koszenia trawy Czujniki: czujnik dotykowy (CD) czujnik podªo»a (CP) czujnik ultrad¹wi kowy (CU) czujnik orientacji (CO) czujnik lokalizacji markerów (CM) Koªa nap dowe umo»liwiaj przemieszczanie si robota. Ka»de z kóª jest sterowane niezale»nie i mo»e obraca si w przód lub w tyª. Odpowiednie zªo»enie ruchu obrotowego kóª pozwala robotowi na jazd na wprost, jazd po ªuku lub nawet zwrot w miejscu. Ka»de z kóª ma 3 pr dko±ci obrotowe w przód i 3 w tyª oraz stan zatrzymania. Pr dko± obrotowa ka»dego z kóª mo»e zatem przyjmowa 7 warto±ci: Rysunek 1: Schemat rozmieszczenia elementów konstrukcjyjnych robota do przodu pr dko±ci 1, 2 lub 3 do tyªu pr dko±ci 1,2 lub 3 stan zatrzymania pr dko± 0 No»e kosz ce do trawy mog by wª czone lub wyª czone. W stanie wª czonym robot 'kosi traw ' zamienia obszar zielony na czarny w czasie swego przemieszczenia. No»e dziaªaj tak, jak rzeczywiste no»e w kosiarce; aby uzyska efekt koszenia potrzebne jest wª czenie no»y i ruch robota po obszarze zielonym. Czujnik dotykowy ma form wra»liwego na dotyk obszaru wokóª caªego robota (patrz rusynek 1). Jakiekolwiek zetkni cie si robota z przeszkod powoduje aktywowanie czujnika (sygnaª stanu równy 1). Nie jest przy tym istotne w jakim kierunku i z jakiej strony robot zetknie si z przeszkod. Czujnik dotykowy reaguje wyª cznie na przeszkody (koªowe lub trójk tne); nie reaguje na markery. Czujnik podªo»a pozwala odczytywa po jakim podªo»u porusza si robot czujnik podaje warto±ci od 0 do 15 warto± numeru koloru podªo»a. (kolor czarny to 0, biaªy 15, a np. zielony to 2, a czerwony to 4). Czujnik ultrad»wi kowy pozwala na wykrywanie przeszkód znajduj cych si w pewnej odlegªo±ci od robota w kierunku na wprost od niego. Przeszkody mog by wykrywane w przedziale odlegªo±ci od 25 do 300 jednostek (o jednostkach patrz opis ±rodowiska symulacji). Szeroko± wi zki ultrad»wi kowej wynosi okoªo 20 stopni. Czujnik daje odpowied¹ na pytanie, czy w zadanej odlegªo±ci znajduje si przeszkoda. Ow odlegªo± zadaje si jako warto± graniczn dla uzyskania sygnaªu pozytywnego od czujnika. Na przykªad, je±li warto± graniczn zada sie jako 200 jednostek, to sygnaª od czujnika b dzie wynosiª 1 4

5 (wykryto przeszkod ), je±li w odlegªo±ci od 25 do 200 i wi zce o póªk cie rozwarcia 10 stopni znajdzie si jaka± przeszkoda lub jej fragment; w przeciwnym razie czujnik poda sygnaª negatywny (0=brak przeszkody). Czujnik orientacji pozwala na okre±lenie k ta poªo»enia robota w pªaszczy¹nie jego poruszania si. Czujnik ten podaje namiary orientacji podobnie jak kompas, ale warto±ci k towe mierzone s w stosunku do poªo»enia osi X ukªadu wspóªrz dnych w przestrzeni symulacji. Czujnik lokalizacji markerów dziaªa podobnie jak czujnik orientacji. Daje on od 0 do 3 odczytów (w zale»no±ci od ilo±ci markerów znajduj cych si w przestrzeni symulacji) odpowiadaj cych namiarom k towym od robota do poszczególnych markerów oraz odlegªo±ciom do nich. Gdy nie ma zdeniowanych markerów, warto±ci tych odczytów czujnika s losowe. 2 rodowisko symulacji rodowisko, w którym odbywa sie symulacja pracy robota mobilnego to kwadratowy fragment pªaszczyzny o wymiarach 1000 na 1000 umownych jednostek dªugo±ci. Na tym fragmencie pªaszczyzny (kwadracie) okre±lono prostok tny ukªad wspóªrz dnych o pocz tku w ±rodku kwadratu. O± X przebiega poziomo w prawo, o± Y pionowo w gór, za± k ty mierzone s przeciwnie do ruchu wskazówek zegara; k t 0 odpowiada dodatniemu kierunkowi osi X. Schemat przestrzeni symulacji przedstawia rysunek 2. W przestrzeni symulacji zdeniowane jest podªo»e. Mo»e to by podªo»e o kolorze czarnym (umownie: ziemia) lub o kolorze zielonym (umownie: trawa). Nawierzchnia o kolorze zielonym mo»e by zamieniana na nawierzchni o kolorze czarnym ('trawa mo»e by koszona') na skutek dziaªania no»y kosz cych robota. Rodzaj podªo»a jest rozpoznawany przez czujnik podªo»a. Obszar symulacji obwiedziony jest kwadratow ranka w kolorze szarym (kolor nr 7) rozpoznawaln przez czujnik podªo»a. Konguracja podªo»a narzucana jest jako jeden z kilku domy±lnych wariantów pocz tkowych: wariant 0: caªy obszar przestrzeni symulacji czarny wariant 1: obszar symulacji czarny z kwadratowym obszarem 900x900 (trawnikiem) zielonym w centrum wariant 2: obszar symulacji czarny ze ±cie»k w formie zamknietej p tli w kolorze zielonym wariant 3: obszar odpowiadaj cy ±cie»kom transportowym w wyimaginowanej fabryce - wersja I Rysunek 2: ±rodowisko symulacji wariant 4: obszar odpowiadaj cy ±cie»kom transportowym w wyimaginowanej fabryce - wersja II wariant 5: prostok tny szary placyk Wyboru wariantu dokonuje si w pliku konguracyjnym symulatora (patrz opis w dalszej cz ±ci tego dokumentu). W przestrzeni symulacji mog znajdowa si nast puj ce obiekty (oprócz robota): przeszkody koªowe (T) 5

6 przeszkody trójk tne (K) markery (M) Przeszkody (koªowe i trójk tne) s obszarami rysowanymi na niebiesko odpowiadaj cymi zycznym przeszkodom blokuj cym ruch robota. Nale»y wyobra»a sobie je jako ±ciany lub sªupy, przez które robot nie moze przejecha. Markery maj posta czerwonych niewielkich kóªek. Nale»y wyobra»a je sobie jako pªaskie obiekty le» ce na ziemi, nad którymi robot mo»e swobodnie przeje»d»a. W przestrzeni symulacji robot mo»e porusza si (je¹dzi ) w dowolnym kierunku X i Y, do przodu i do tyªu, a tak»e obraca si wokóª osi pionowej w pªaszczy¹nie XY zale»nie od pr dko±ci kóª nap dowych. Robot mo»e przeje»d»a nad markerami, nie mo»e przeje»d»a przez przeszkody. Wyjechanie robota poza obszar kwadratu 1000x1000 stanowi cego przestrze«symulacji traktowane jest jako bª d sterowania (utrata kontroli nad robotem) i powoduje brak reakcji robota na sygnaªy steruj ce a» momentu ponownego uruchomienia programu steruj cego.prg w programie RSTER. Przeszkoda koªowa nr 1 mo»e byc przesuwana w czasie symulacji r programi ersym za pomoc klawszy strzaªek. 2.1 Plik konguracji ±rodowiska rodowisko symulacji deniuje si w pliku o nazwie RSYM.DAT. Plik ten jest plikiem ASCII i zawiera szereg linii deniuj cych przeszkody, markery, poªo»enie robota oraz wersj podªo»a. Plik szukany jest w katalogu bie» cym programu RSYM. Brak pliku lub dost pu do niego powoduje przyj cie warto±ci domy±lnych dla nastaw ±rodowiska symulacji. Ka»da linia w pliku skªada si ze znaku denicji (litera w pierwszej kolumnie) oraz parametrów. Puste linie s ignorowane. Skªadnia linii jest nast puj ca: gdzie: P numer F liczba M x y T x1 y1 x2 y2 x3 y3 K x y r R x y kat # komentarz numer numer podªo»a: 0, 1 lub 2 x, y, x1, y1, x2, x3, y3, r, kat s to wspóªrz dne liniowe w zakresie od 500 do +500 (podawane jako liczby rzeczywiste) oraz k ty (podawane w stopniach). Znaczenie linii jest nast puj ce: P numer numer wersji podªo»a (0, 1 lub 2) M x y denicja markera na pozycji x,y T x1 y1 x2 y2 x3 y3 denicja przeszkody trójk tnej o naro»nikach (x1,y1) (x2,y2), (x3,y3) K x y r denicja przeszkody koªowej o ±rodku w (x,y) i promieniu r R x y kat poªo»enie pocz tkowe robota: punkt (x,y) i orientacja 'kat' (w stopniach) F liczba wspóªczynnik skalowania pr dko±ci (od 0.1 (szybciej) do 10 (wolniej) ). Przykªad pliku konguracji ±rodowiska przedstawiono poni»ej: # opis srodowiska nr 3 P 2 M 0 0 M K

7 T R F 1.7 # koniec Maksymalna ilo± markerów wynosi 3, przeszkód koªowych - 8, przeszkód trójk tnych Nadmiarowo podane w pliku konguracyjnym markery i przeszkody s ignorowane. 2.2 Porty: dost p do efektorów i czujników Obsªuga efektorów (nap du robota, no»y kosz cych traw ) i czujników odbywa si z poziomu j zyka sterowania robotem wykonywanego przez interpreter RSTER poprzez zapis lub odczyt odpowiednich warto±ci z/na portów wej±ciawyj±cia. Dost pne s : 3 porty wyj±ciowe WY1WY3 port 1: ruch silników nap dzaj cych koªa port 2: zasi g czujnika ultrad¹wiekowego port 3: obsªuga no»y do trawy 7 portów wej±ciowych WE1WE7 port 1: stan czujnika stykowego port 2: stan czujnika podªo»a port 3: stan czujnika ultrad¹wi kowego port 4: stan czujnika orientacji porty 5, 6 i 7: namiary na markery (je±li s one zdeniowane w ±rodowisku symulacji) porty 8, 9 i 10: odlegªo±ci od markerów (je±li markery s zdeniowane) Silniki nap dzaj ce koªa Poprzez port WY1 (port wyj±ciowy nr 1) realizuje si sterowanie pr dko±ciami koªa lewego i prawego robota. Dla ka»dego koªa mo»na zada 3 pr dko±ci do przodu, 3 pr dko±ci do tyªu oraz pr dko± zerow (stop). Tak wi c dla ka»dego z kóª mo»na wskaza pr dko±ci: do przodu: 3, 2 lub 1 stop (pr dko± 0) do tyªu: 3, 2 lub 1 Pr dko±ci s proporcjonalne, tzn.»e robot z pr dko±ciami 3 jedzie trzykrotnie szybciej ni» z pr dko±ciami 1. Nastawy pr dko±ci zadaje si w postaci jednego bajtu zawieraj cego dane pr dko±ci dla obu kóª. Je±li przyj warto±ci pr dko±ci dla kóª od -3 do +3, to warto± bajtu wyznaczana jest wedªug wzoru: bajt = (KL + 3) 8 + (KP + 3) gdzie: KL pr dko± koªa lewego (od 3 do +3) KP pr dko± koªa prawego (od 3 do +3) Na przykªad: zatrzymanie robota: KL=0, KP=0, bajt=27 do przodu z maksymalna pr dko±ci : KL=3, KP=3, bajt=54 w lewo po ªuku: KL=1, KP=2, bajt=37 Poczatkowe warto±ci pr dko±ci kóª wynosz 0, tzn. porusza si. bajt steruj cy ma warto± 27 czyli robot nie 7

8 2.2.2 Czujnik ultrad¹wi kowy Port WY2 sªu»y do wskazania warto±ci odlegªo±ci granicznej D dla czujnika ultrad¹wi kowego. Zakres czuªo±ci czujnika to od 25 do 300 jednostek. Podana warto± odlegªo±ci D zmniejsza zakres, w którym czujnik daje odpowied¹ pozytywn do zakresu od 25 do D. Je±li D bedzie mniejsze od 25, to czujnik nie b dzie w ogóle reagowaª. Warto± D ustala si wysyªaj c na port WY2 liczb od 0 do 100. Jej trzykrotno± stanowi warto± D. Tak wi c, aby ustali warto± D na 150 jednostek nale»y wysªa na port warto± 50. Pocz tkowa warto± D (po restarcie symulatora) wynosi No»e kosz ce Port WY 3 sªu»y do wª czania i wyª czania pracy no»y kosz cych. Wysªanie na port warto±ci 1 wª cza no»e, za± warto±ci 0 wyª cza. Pocz tkowo no»e kosz ce s wyª czone Czujnik stykowy Port WE 1 podaje stan czujnika stykowego. Warto± 1 oznacza,»e czujnik (robot) czego± dotyka, warto± 0,»e nie Czujnik podªo»a Port WE2 podaje stan czujnika podªo»a. Jest to warto± od 0 do 15 odpowiadaj ca kolorowi podªo»a, po jakim porusza si robot. Odpowiednie warto±ci to, na przykªad: 0 czarny (ziemia) 2 zielony (trawa) 4 czerwony (marker) 7 szary (obramowanie) 15 biaªy Czujnik ultrad¹wi kowy Port WE3 podaje odczyt czujnika ultrad¹wi kowego. Warto± 1 oznacza,»e czujnik wykrywa przeszkod, warto± 0,»e nie. Rozpoznawane s przeszkody koªowe i trójk tne Czujnik orientacji Port WE4 podaje warto± odczytu czujnika orientacji. Jest to liczba z przedziaªu od 0 do 119 odpowiadaj ca warto±ci k ta mi dzy osi robota (kierunkiem na wprost od robota), a osi X (jej dodatni cz ±ci ) wyra»onego jako liczba stopni k towych podzielona przez 3. Na przykªad: odczyt 30 odpowiada orientacji robota 90 stopni (w gór ) odczyt 90 odpowiada orientacji 270 stopni (w dóª) Kierunek orientacji robota odnierzany jest w ukªadzie wspóªrz dnych ±rodowiska w kierunku przeciwnym do ruchu wskazówek zegara Namiary na markery Porty WE5, WE6 i WE7 podaj warto±ci namiarów od robota do kolejnych markerów (pierwszego, drugiego i trzeciego), je±li takie zostaªy w ±rodowisku symulacji zdeniowane. Namiar 0 to namiar na wprost czoªa robota. Warto±ci podawane s w jednostkach 3 stopniowych (zatem s to liczby od 0 do 119 patrz 'Czujnik orientacji'). Gdy markery nie s zdeniowane, porty podaj warto±ci losowe. Porty WE8, WE9 i WE10 podaj odlegªo±ci od markerów (odpowiednio pierwszego, drugiego i trzeciego). Odlegªo±ci s podawane jako rzeczywista odlegªo± podzielona przez 5. Tak wi c, je±li jaka± odlegªo± zostaªa odczytana jako 21 to oznacza to,»e w rzeczywisto±ci wynosi ona od 105 do 109 jednostek. 8

9 Cz ± III J zyk sterowania robota mobilnego 3 Informacje ogólne J zyk jest j zykiem interpretowanym. Interpreter j zyka jest programem DOSowskim. Wykonanie programu skªada si z dwóch faz: 1. fazy przetwarzania wst pnego (preprocesora) 2. fazy wykonania zasadniczego (dwuprzebiegowego) W fazie 1. rozwijane s inkluzje oraz dokonywane jest wst pne sprawdzenie poprawno±ci j zykowej programu. W fazie 2. program jest wykonywany. Wykrywane s wtedy ewentualne bª dy zwiazane z kontekstem wykonania programu. Wykonanie programu mo»na w dowolnej chwili przerwa naciskaj c klawisz Esc. Wykonanie programu rozpoczyna si od wykonania tre±ci pierwszej linii programu. O ile polecenia nie wskazuj inaczej, linie programu wykonywane sa kolejno wedªug kolejno±ci ich wyst powania w pliku/plikach programu. Program zapisany jest w pliku/plikach ASCII. Program skªada si z linii tekstu zawieraj cych dyrektywy i polecenia j zyka. W jednej linii mo»e znajdowa si tylko jedno polecenie, dyrektywa, komentarz lub etykieta. Linia mo»e mie do 127 znaków dªugo±ci. Separatory (znaki spacji i tabulacji) mog wyst powa wewn trz linii, na jej pocz tku i na ko«cu. Poszczególne tokeny (staªe, identykatory, sªowa kluczowe, operatory, etykiety) musza by oddzielane separatorami. Nie istnieje mechanizm pozwalaj cy na kontynuacje jednej linii programu w nast pnej linii w pliku linia programu stanowi caªo± w ramach linii pliku. Wielko± liter jest znacz ca; tzn identykatory 'Aaa' i 'aaa' s ró»ne. 4 Komentarze Komentarzem jest dowolna linia zaczynaj ca si od znaku # (ewentualnie poprzedzonego separatorami). Tre± komentarza obejmuje caª linie. Nie mo»na dodawa komentarzy do linii zawieraj cych polecenia czy dyrektywy. Tzn. linia programu: let a 5 # teraz a jest rowne 5 jest niepoprawna. Nale»y u»y konstrukcji: let a 5 # teraz a jest rowne 5 5 Identykatory Identykatorem jest dowolny ci g znaków nie zawieraj cy separatorów ani znaku cudzysªowu ró»ny od sªów kluczowych. Identykator nie mo»e zaczyna si od znaków: +(plus), (minus),.(kropka), ani od cyfr. Wielko± znaków w identykatorach jest znacz ca. Maksymalna dªugo± identykatora nie jest ograniczona; ogranicza j praktycznie tylko dªugo± linii. Cz ± identykatorów jest zastrze»onych i stanowi tzw. sªowa kluczowe j zyka. 6 Sªowa kluczowe Sªowa kluczowe j zyka to identykatory nazw polece«i operatorów. S one nast puj ce: include stop wait set get let goto goifplus goifzero goifminus goifnzero while break continue call return write newl read 9

10 + - * / log power sin arctg int time beep file freemem spawn Wielko± znaków sªów kluczowych jest znacz ca. 7 Literaªy W j zyku wystepuj literaªy tekstowe (napisy) i liczbowe (staªe liczbowe). Literaªem tekstowym jest ci g znaków uj ty w znaki apostrofu np. "jestem literalem". Literaªem liczbowym jest staªa liczbowa zapisana jako poprawna liczba, np Wszystkie literaªy liczbowe oznaczaj warto±ci rzeczywiste. 8 Etykiety Etykiety s to identykatory poprzedzone znakiem ':' (dwukropek). Sªu» od oznaczania specycznych miejsc w tre±ci programu. Etykieta mo»e wyst pi w programie w dwóch postaciach: deniuj cej: jako okre±laj ca miejsce w programie np. :tuskoczyc wskazuj cej: jako wskazanie na okre±lone miejsce w programie np. goto :tamskoczyc Posta deniuj ca etykiety mo»e wyst pi tylko jeden raz w caªym programie. 9 Zmienne W programie mo»liwe jest u»ywanie zmiennych. S to wyª cznie globalne zmienne proste typu rzeczywistego. Identykatorem (nazw ) zmiennej jest dowolny poprawny identykator. Dopuszcza si przeci»enie identykatora jako jednocze±nie nazwy zmiennej i nazwy etykiety, np.: goifplus :ident ident Zmienne s deklarowane (i jednocze±nie deniowane) przez ich pierwsze wyst pienie jako 1 argumentu polecenia 'let'. Zmienne istniej a» do wykonania polecenia 'stop' lub 'freemem'. Odwoªanie si do nieistniej cej (niezdeniowanej) zmiennej stanowi bª d. 10 Operatory arytmetyczne W j zyku zaimplementowano nast puj ce operatory arytmetyczne: operator ilo± argumentów znaczenie * 2 mno»enie / 2 dzielenie + 2 dodawanie - 2 odejmowanie log 1 logarytm naturalny power 2 pot gowanie (x y ) sin 1 sinus arctg 1 arcus tangens int 1 cz ± caªkowita liczby time 0 liczba tików od startu programu Wszystkie operatory przyjmuja argumenty rzeczywiste i zwracaja warto±ci rzeczywiste. Wszystkie k ty wyra»ane s w radianach. Brak jest operatorów przetwarzajacych napisy (teksty). Operator int wyznacza cz ± caªkowita liczby b d cej jego argumentem poprzez odrzucenie cz ±ci uªamkowej, np. int 5.5 wynosi 5.0, za± int -3.5 wynosi

11 11 Wyra»enia arytmetyczne Wyra»eniem arytmetycznym jest sekwencja identykatorów zmiennych liczbowych, operatorów i staªych liczbowych oddzielonych separatorami. Wyra»enia zapisuje si w klasycznej notacji wzrostkowej oddzielaj c poszczególne tokeny (jednostki leksykalne) spacjami, na przykªad: klasyczne: b b 4 a c zapisujemy jako: b * b - 4 * a * c W wyra»eniach mo»na stosowa nawiasy. Oto przykªady wyra»e«arytmetycznych: ( x - y ) * 2 5 * sin Instrukcje W j zyku wyst puje pi rodzajów instrukcji: instrukcje podstawienia (obliczeniowe): let instrukcje steruj ce: goto goifplus goifzero goifminus goifnzero while break continue call return stop instrukcje wej±cia/wyjscia: write newl read wait beep le instrukcje komunikacyjne: set get inne instrukcje: freemem spawn time 12.1 Instrukcja podstawienia Instrukcja podstawienia (obliczeniowa) let ma nast puj c skªadni : gdzie: let _zmienna _wyrazenie _zmienna jest nazw zmiennej (deniowanej i ewentualnie - przy pierwszym wyst pieniu nazwy zmiennej - deklarowanej) _wyrazenie jest dowolnym wyra»eniem arytmetycznym Instrukcje steruj ce Instrukcje skoków Instrukcja goto powoduje zmian kolejno±ci wykonywania polece«programu - skok do linii oznaczonej podan etykieta. Skªadnia instrukcji jest nast puj ca: goto :_etykieta przy czym etykieta :_etykieta musi istnie w programie. Instrukcja goifplus powoduje skok do linii zawieraj cej podan etykiet, je±li warto± podanego wyra»enia (lub staªej lub zmiennej) jest dodatnia. Skªadnia instrukcji goifplus jest nast puj ca: goifplus :_etykieta wyrazenie przy czym etykieta :_etykieta musi istnie w programie. 11

12 Instrukcja goifzero powoduje skok do linii zawieraj cej podan etykiet, je±li warto± podanego wyra»enia (lub staªej lub zmiennej) jest równa 0.0. Skªadnia instrukcji goifzero jest nast puj ca: goifzero :_etykieta wyrazenie przy czym etykieta :_etykieta musi istnie w programie. Instrukcja goifnzero powoduje skok do linii zawieraj cej podan etykiet, je±li warto± podanego wyra»enia (lub staªej lub zmiennej) jest ró»na od 0.0. Skªadnia instrukcji goifnzero jest nast puj ca: goifnzero :_etykieta wyrazenie przy czym etykieta :_etykieta musi istnie w programie. Instrukcja goifminus powoduje skok do linii zawieraj cej podan etykiet, je±li warto± podanego wyra»enia (lub staªej lub zmiennej) jest mniejsza od 0.0. Skªadnia instrukcji goifminus jest nast puj ca: goifminus :_etykieta wyrazenie przy czym etykieta :_etykieta musi istnie w programie Instrukcje wywoªania i powrotu z procedury Instrukcja call sªuzy do skoku do wskazanej etykieta linii z zapami taniem miejsca powrotu. Instrukcja return powoduje powrót do zapami tanego miejsca. Obie instrukcje implementuj skok ze ±ladem pozwalaj cy na tworzenie procedur (podprogramów). Procedury mog by zagnie»d»one. W jednej procedurze mo»e by wiele instrukcji return. Skªadnia powy»szych instrukcji jest nast puj ca: call :_etykieta return Z wywoªaniem procedury (tzn. u»yciem polecenia call) nie wi» si»adne mechanizmy przekazywania parametrów i tworzenia zmiennych lokalnych. Parametry mo»na przekazywa technik 'przez zmienn globaln ' Instrukcje p tli: while, break i continue Instrukcje while, break i continue pozwalaj na organizacj p tli ze sprawdzaniem warunku na pocz tku. Skªadnia tych instrukcji jest nast puj ca: while _zmienna :_etykieta [zakres petli] break continue :_etykieta Wykonanie instrukcji while polega na wykonaniu nast puj cych czynno±ci: 1. sprawdzeniu czy warto± zmiennej steruj cej _zmienna jest ró»na od je±li tak, wykonywany jest zakres p tli a» do napotkania etykiety :_etykieta; nast pnie wraca si ponownie do punktu je±li nie, wykonanie p tli jest ko«czone i sterowanie przekazywane jest do linii nast pnej po linii zawieraj cej etykiet :_etykieta Wykonanie instrukcji break polega na natychmiastowym zako«czeniu p tli i przej±ciu do wykonania instrukcji po etykiecie :_etykieta Wykonanie instrukcji continue polega na natychmiastowym porzuceniu wykonywania zakresu p tli i przej±ciu do kolejnego sprawdzenia. P tle mog by wzajemnie zagnie»d»one. Napotkane polecenia break i continue rozumiane s jako odnosz ce si do aktualnie wykonywanej (najmniej zagnie»d»onej) p tli. 12

13 Instrukcja stop Instrukcja stop powoduje natychmiastowe zako«czenie wykonywania programu. Jej skªadnia jest nast puj ca: stop W ka»dym programie powinna by przynajmniej jedna instrukcja stop Instrukcje wej±cia/wyj±cia Instrukcje wej±cia/wyj±cia na konsoli Instrukcjami wej±cia/wyj±cia konsolowego s instrukcje o nast pujacej skªadni: write _wyrazenie write "stala tekstowa" newl read _zmienna wait _wyrazenie beep _wyrazenie Instrukcja write wypisuje na konsol warto± wyra»enia lub staª tekstow. Instrukcja newl wypisuje na konsol znak przej±cia do nowej linii. Instrukcja read wczytuje z konsoli liczb i jej warto± nadaje zmiennej _zmienna. Zmienna _zmienna musi istnie. Je±li odczyt nie odbyª si poprawnie, wyst puje bª d i przerwanie pracy programu. Instrukcja wait powoduje zawieszenie wykonywania programu (odczekanie) liczby tików zegara systemowego wskazanej przez warto± wyra»enia _wyrazenie. Je±li liczba ta jest ujemna, instrukcja wait odczekuje 0 tików. 1 sekunda to 18.2 tików. Instrukcja beep powoduje wydanie d¹wi ku trwajacego _wyrazenie tików Instrukcja obslugi plikow - le Instrukcja le sªu»y do obsªugi plików. Pliki mo»na otwiera do zapisu, czytania oraz dopisywania. Mo»na sprawdza dost pno± plików, tworzy je i usuwa. Podczas czytania mo»na sprawdza, czy osi gni to koniec pliku. W programie mo»na otworzy jednocze±nie wiele plików w ró»nych trybach i wykonywa na nich ró»ne operacje. Polecenia czytania i zapisu dotycz jednak»e ka»dorazowo tylko tego pliku, który jest w danej chwili wskazany jako plik bie» cy. Dost p do plików realizowany jest wyª cznie sekwencyjnie. Jednocze±nie mo»na otworzy maksymalnie 8 plików. Do otwartego pliku odwoªujemy si po jego numerze (deskryptorze pliku) uzyskanym w momencie otwarcia pliku lub w operacjach zapisu i odczytu odwoªujemy si domy±lnie do pliku bie» cego. Skªadnia polecenia le jest nast puj ca: gdzie: file arg1 arg2 arg3 arg1 to liczba lub zmienna o warto±ci caªkowitej od 0 do 9 okre±laj ca operacj na pliku. arg2 jest to nazwa zmiennej, w której zwracany jest rezultat operacji; zmienna musi ju» istnie. Zazwyczaj rezultat o warto±ci 0 oznacza bª d operacji. arg3 dodatkowy argument b d cy nazw zmiennej (juz istniej cej) lub ªa«cuchem tekstowym. Znaczenie poszczególnych warto±ci arg1 jest nast puj ce: 13

14 warto± symbol opis operacji skªadnia 0 f_curnt ustaw bie» cy plik le 0 efekt nrpliku 1 f_openr otwórz plik do czytania le 1 efekt nazwapliku 2 f_openw otwórz plik do zapisu le 2 efekt nazwapliku 3 f_opena otwórz plik do dopisywania le 3 efekt nazwapliku 4 f_close zamknij plik le 4 efekt nrpliku 5 f_acces sprawd¹ dost pno± /istnienie pliku le 5 efekt nazwapliku 6 f_erase usu«plik le 6 efekt nazwapliku 7 f_ifeof sprawd¹, czy ju» koniec pliku le 7 efekt nrpliku 8 f_read przeczytaj z bie» cego pliku le 8 efekt zmienna 9 f_write zapisz do bie» cego pliku le 8 efekt zmienna Staªe symboliczne zdeniowane s dla wygody w pliku inkluzji pliki.prg 1. Skªadnie i dziaªanie poszczególnych operacji instrukcji le przedstawiono poni»ej. Operacja 0 - f_curnt ustaw bie» cy plik Skªadnia: file 0 efekt nrpliku efekt w tej zmiennej zwracany jest rezultat operacji: 1 je±li operacja powiodªa si ; 0 w wypadku bª du nrpliku zmienna zawieraj ca numer pliku (jego deskryptor). W rezultacie otwarty plik wskazany w zmiennej nrpliku stanie sie plikiem biezacym - operacje 8 i 9 b d dotyczyªy tego wªa±nie pliku; je±li operacja zako«czyªa si bª dem np. na skutek podania niepoprawnej warto±ci nrpliku, bie» cy plik bedzie nieokre±lony. efekt i nrpliku s zmiennymi; musz one ju» istnie Operacja 1 f_openr otwórz plik do czytania Skªadnia: file 1 efekt nazwapliku efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 je±li operacja nie powiodªa si ; w wypadku sukcesu w zmiennej zwracany jest numer pliku (liczba>0), za± nowootwarty plik staje si plikiem bie» cym nazwapliku to nazwa pliku, np: c:\programy\dane.dat lub mojedane.txt W rezultacie plik o wskazanej nazwie zostaje otwarty do czytania i staje sie plikiem bie» cym; je±li operacja zako«czyªa si bª dem, bie» cy plik b dzie nieokre±lony. Operacja 2 f_openw otwórz plik do zapisu Skªadnia: file 2 efekt nazwapliku efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 je±li operacja nie powiodªa si ; w wypadku sukcesu w zmiennej zwracany jest numer pliku (liczba>0), zas nowo otwarty plik staje si plikiem bie» cym npliku to nazwa pliku, np: c:\programy\dane.dat lub mojedane.txt W rezultacie plik o wskazanej nazwie zostaje otwarty do zapisu i staje si plikiem bie» cym; dotychczasowa zawarto± pliku zostaje skasowana, je±li operacja zako«czyªa si bª dem, bie» cy plik b dzie nieokre±lony. 1 plik ten jest cz ±cia skªadow biblioteki procedur roblib.prg 14

15 Operacja 3 f_opena otwórz plik do dopisywania Skªadnia: file 3 efekt nazwapliku efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 je±li operacja nie powiodªa si ; w wypadku sukcesu w zmiennej zwracany jest numer pliku (liczba>0), za± nowootwarty plik staje si plikiem bie» cym npliku to nazwa pliku, np: c:\programy\dane.dat lub mojedane.txt W rezultacie plik o wskazanej nazwie zostaje otwarty do dopisywania i staje sie plikiem bie» cym; nowo zapisywane warto±ci b d dopisywane na ko«cu istniej cego pliku, je±li operacja zako«czyªa si bª dem, bie» cy plik b dzie nieokre±lony. Operacja 4 f_close zamknij plik Skªadnia: file 4 efekt nrpliku efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 je±li operacja nie powiodªa si ; 1 je±li plik zostaª pomy±lnie zamkni ty. Bie» cy plik staje si nieokre±lony, Numer pliku zawarty w zmiennej nrpliku przestaje poprawnie opisywa wcze±niej otwarty plik. nrpliku ta zmienna powinna zawiera numer pliku, który ma zosta zamkni ty; numer wcze±niej uzyskany w wyniku operacji 1,2 lub 3 polecenia le W rezultacie plik o wskazanej nazwie zostaje zamkni ty, bie» cy plik jest nieokre±lony, za± numer pliku przestaje poprawnie opisywa otwarty plik. Operacja 5 f_acces sprawd¹ dost pno± (istnienie) pliku Skªadnia: file 5 efekt nazwapliku efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 je±li plik jest niedost pny (brak uprawnie«lub nie istnieje); 1 gdy plik jest dost pny. Warto± zmiennej efekt bezpo±rednio przed wywoªaniem polecenia le decyduje o tym, jaki aspekt dost pno±ci pliku jest sprawdzany: gdy efekt ma warto± 0, sprawdzane jest istnienie pliku gdy efekt ma warto± 1, sprawdzana jest dost no± pliku do zapisu gdy efekt ma warto± inn ni» 0 lub 1, sprawdzane jest istnienie pliku po operacji warto± zmiennej efekt równa 1 oznacza istnienie/dost pno± pliku, warto± równa 0 oznacza nieistnienie/brak dost pno±ci. nazwapliku to nazwa pliku, np: c:\programy\dane.dat lub mojedane.txt. Bie» cy plik nie ulega zmianie 15

16 Operacja 6 f_erase usu«plik Skªadnia: file 6 efekt nazwapliku efekt efekt jest ju» istniej ca zmienna; w tej zmiennej zwracany jest rezultat operacji: 0 je±li plik nie zostaª usuni ty (brak uprawnie«lub taki plik nie istnieje); 1 gdy plik zostaª usuni ty nazwapliku to nazwa pliku, np: c:\programy\dane.dat lub mojedane.txt. Bie» cy plik nie ulega zmianie; aby plik mógª by usuni ty musi on by zamkni ty (nie mo»e by u»ywany przez jakikolwiek proces). Operacja 7 f_ifeof sprawd¹, czy osi gni to koniec pliku Skªadnia: file 7 efekt nrpliku efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 nie osi gni to ko«ca pliku; 1 koniec pliku zostaª osi gni ty. Je±li osi gni to koniec pliku, nie mo»na juz z niego czyta. nrpliku ta zmienna powinna zawiera numer pliku, dla którego badamy osi gniecie ko«ca pliku numer wcze±niej uzyskany w wyniku operacji 1,2 lub 3 polecenia le Dla plików otwartych do zapisu lub dopisywania wska¹nik miejsca pisania w pliku ustawiony jest zawsze na ko«cu pliku, wi c zawsze zwracana jest warto± zmiennej efekt równa 1. Operacja 8 f_read przeczytaj z bie» cego pliku Skªadnia: file 8 efekt zmienna efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 je±li nast piª bª d czytania; 1 gdy poprawnie przeczytano warto± z pliku zmienna nazwa ju» istniej cej zmiennej, w której zostanie zapami tana przeczytana warto± ; zmienna nie zmienia warto±ci w wypadku bª du czytania Czytanie z pliku nieotwartego lub otwartego do zapisu lub dopisywania jest bª dem. Operacja 9 f_write zapisz do bie» cego pliku Skªadnia: file 9 efekt wyrazenie efekt efekt jest ju» istniej c zmienn ; w tej zmiennej zwracany jest rezultat operacji: 0 je±li nast piª bª d zapisu; 1 gdy poprawnie zapisano warto± wyrazenie wyra»enie, którego warto± zostanie zapisana do pliku. Zapis do pliku zamkni tego lub otwartego do czytania jest bª dem. Uwaga: we wszystkich wariantach polecenia le bª dy w wykonaniu operacji plikowych nie przerywaj wykonania programu sterowania robotem sygnalizowane s JEDYNIE odpowiedni warto±ci w zmiennej efekt. 16

17 12.4 Instrukcje komunikacyjne Instrukcje obsªugi portów Do instrukcji obsªugi portów zalicza si instrukcje set i get. Skªadnia ich jest nast puj ca: set _port _wyrazenie get _port _zmienna gdzie wyra»enie _wyrazenie oznacza warto± wypisywan na port, _port wyznacza numer portu (podany jako staªa lub zmienna), za± zmienna _zmienna przechowuje stan portu. Instrukcja set ustawia stan wskazanego przez _port portu na warto± _wyrazenie. Instrukcja get odczytuje stan portu wskazanego przez _port i zapisuje j w zmiennej _zmienna. Zmienna _zmienna nie jest deklarowana przez wyst pienie w instrukcji get Inne instrukcje Instrukcja freemem Instrukcja freemem powoduje wykasowanie wszystkich zmiennych istniej cych w programie. Warto±ci zmiennych s tracone, a ich identykatory staj si nieznane (wszystkie zmienne przestaj istnie sytuacja jest taka, jak przy uruchomieniu programu). Skªadnia instrukcji freemem jest nast puj ca: freemem Instrukcja przeznaczona jest do wspóªpracy z instrukcj spawn Instrukcja spawn Instrukcja spawn powoduje przerwanie wykonywania bie» cego programu i zaªadowanie programu podanego jako argument. Istniej ce w programie zmienne zostaj zachowane. Nazw pliku podaje si w cudzysªowie. Przy wykonaniu instrukcji spawn stan systemu pozostaje niezmieniony nie nast puje reset symulatora. Skªadnia instrukcji spawn jest nast puj ca: np. spawn nazwa_pliku_programu spawn c:\pliki\program2.prg Operator time Operator time podaje liczb tików systemowego licznika czasu jaka min ªa od uruchomienia programu. 1 sekunda to 18.2 tików. Operator time mo»na rozumie jako zmienn przechowujac warto± czasu. Oto dwa przykªady u»ycia operatora time: let moment time write time * Dyrektywy W j zyku wyst puje jedna dyrektywa: include. Skªadnia jej jest nast puj ca: include nazwa_pliku gdzie nazwa pliku jest poprawn nazw pliku w systemie MSDOS, np. include plik.prg include c:\prg\lib\ukltrans.prg Dyrektywa powoduje doª czenie w miejscu jej wyst pienia do bie» cego pliku programu zawarto±ci pliku podanego jako argument dyrektywy. Dyrektywy include mog by zagnie»d»one i mog wystepowa w plikach wielokrotnie. 17

18 14 Plik konguracyjny Plik konguracyjny interpretera j zyka pozwala ustawia specyczne parametry interpretera: strblocksize=30000 wielkosc bloku stringow w bajtach; od 0 do maxlines=2000 maksymalna liczba linii programu loopstacksize=30 wielkosc stosu petli vartabsize=200 wielkosc tablicy zmiennych Parametry ustawia si w pliku konguracyjnym patrz przykªadowy plik konguracyjny. W przypadku braku denicji przyjmowana jest warto± domy±lna. Plik jest wyszukiwany w tym samym katalogu, co plik EXE programu pod nazwa rster.cfg. Oto przyklad pliku konguracyjnego # przyklad pliku rster.cfg # vartabsize=400 # koniec 18

19 Cz ± IV Biblioteka CRSTER.LIB 15 Informacje ogólne Biblioteka CRSTER.LIB jest biblioteka napisana w j zyku C (Borland Turbo C 2.0) przeznaczona do sterowania robotem mobilnym w symulatorze RSYM z poziomu programu napisanego w j zyku C. Biblioteka skªada si z nastepuj cych plików: plik biblioteki CRSTER.LIB plik nagªówkowy interfejsu biblioteki CRSTER.H Program ¹ródªowy (.C) powinien by pisany w j zyku C zgodnie ze standardem ANSI C. 16 Interfejs biblioteki Prototypy funkcji stanowi cych interfejs biblioteki zebrane s w pliku CRSTER.H. S one nastepuj ce: int crster_init(void); /* inicjacja lacznosci */ void crster_done(void); /* zakonczenie lacznosci */ int crster_stat(void); /* odczyt statusu lacznosci gdy =0 to, OK; gdy <>0 to blad */ int crster_get(int port); /* odczyt z portu */ void crster_put(int port, int wartosc); /* zapis na port */ void crster_wait(int tikow); /* odczekanie ilustam tikow */ long int crster_time(void); /* liczba tikow od uruchomienia */ Funkcje crster_init() i crster_done() sªu» odpowiednio do inicjacji i zako«czenia ª czno±ci programu z symulatorem RSYM. Funkcja crster_stat() pozwala na odczyt statusu komunikacji; zwracana warto± 0 oznacza sprawna komunikacj, zwracana warto± ró»na od zera oznacza bª d komunikacji. Pozostaªe funkcje realizuj zadania analogiczne do polece«j zyka sterowania robotem u»ywanego przez RSTER. Numery portów oraz ich przeznaczenie, a tak»e zwracane warto±ci s identyczne jak w wypadku RSTER. 17 U»ycie biblioteki Program steruj cy w j zyku C tworzony jest przy pomocy kompilatora Turbo C 2.0. Do programu ¹ródªowego nale»y doª czy jako inkluzj plik nagªówkowy biblioteki CRSTER.H. Podczas konsolidacji (linkowania) do programu wynikowego nale»y doª czy plik biblioteki CRSTER.LIB. Ze wzgl du na fakt,»e program skªada sie bedzie przynajmniej z dwóch plików (pliku ¹ródªowego.C i pliku biblioteki.lib), do organizacji komiplacji i konsolidacji programu nale»y posªu»y si plikiem projektu deniuj cym skªadowe elementy programu wynikowego. W programie w j zyku C konieczne jest wykonanie dwóch czynno±ci: inicjacji ª czno±ci z wykorzystaniem biblioteki oraz zako«czenia ª czno±ci. Inicjacji ª czno±ci dokonuje si wywoªuj c procedur cster_init(). Nale»y to zrobi przed jakimkolwiek wywoªaniem procedur odczytuj cych warto±ci z portów lub wysyªaj cych warto±ci na porty steruj ce robota. Inicjacji wystarczy dokona tylko jeden raz. Zako«czenia ª czno±ci dokonuje si poprzez wywoªanie procedury cster_done(). Powinno to zosta wykonane na ko«cu programu. Po zako«czeniu ª czno±ci nie mo»na korzysta z procedur czytaj cych warto±ci z portów robota lub wysyªaj cych warto±ci na te porty. W toku programu pomi dzy inicjacj ª czno±ci a jej zako«czeniem mo»na dowolnie korzysta z funkcji zapisu/odczytu portów robota. 19

20 A oto przykªad plików sªu» cych do kompilacji prostego programu w C wykorzystuj cego bibliotek CRSTER.LIB. Plik projektu MOJPROG.PRJ mojprog.c crster.lib Plik programu MOJPROG.C #include <stdio.h> #include "crster.h" int main() { crster_init(); /* moj program: w lewo 10s i w prawo 10s */ crster_put(3,1); crster_put(1,37); crster_wait(182); crster_put(1,44); crster_wait(182); crster_put(1,27); } crster_done(); return 0; Po kompilacji uzyskuje si program wykonywalny MOJPROG.EXE. 20

21 Cz ± V Dodatki 18 Podsumowanie skªadni Poni»ej zebrano podstawowe konstrukcje j zykowe. include c:\plik.prg stop wait wyrazenie_tikow set port wyrazenie get port zmienna let zmienna wyrazenie goto etykieta goifplus etykieta wyrazenie goifzero etykieta wyrazenie goifminus etykieta wyrazenie goifnzero etykieta wyrazenie while zmienna etykieta break continue call etykieta return write "tekst" write zmienna newl read zmienna log stala log zmienna log (wyrazenie) sin stala_rad sin zmienna sin (wyrazenie) arctg stala arctg zmienna arctg (wyrazenie) power podstawa wykladnik power (wyr1) (wyr2) int liczba int (wyrazenie) time beep wyrazenie_tikow freemem spawn c:\plik.prg 21

22 19 Przeliczanie pr dko±ci Warto±ci wysyªane na port 1 przy» daniu okre±lonej pr dko±ci kóª jezdnych (00 to zatrzymanie) (w ukªadzie KL KP => wynik): 0 0 => => => => => => => => => => => => => => => => => 46 gdzie KL to koªo lewe, KP koªo prawe, za± wynik to warto± do wysªania na port (pr dko± 0 odpowiada zatrzymaniu koªa). 22

2 Skªadnia polece«w pliku

2 Skªadnia polece«w pliku Interpreter opisu dziaªa«platformy mobilnej wtyczki 1 Ogólny opis zadania Nale»y napisa program, który b dzie w stanie przeczyta z pliku tekstowego sekwencj polece«ruchu, a nast pnie zasymulowa dziaªanie

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki. Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy

Bardziej szczegółowo

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski 1 Strumienie W j zyku C++ pliki obsªugiwane s za pomoc strumieni. Strumie«pozwala na sekwencyjny dost p do pliku. Elementy, które jako pierwsze

Bardziej szczegółowo

Lekcja 5 Programowanie - Nowicjusz

Lekcja 5 Programowanie - Nowicjusz Lekcja 5 Programowanie - Nowicjusz Akademia im. Jana Dªugosza w Cz stochowie Programowanie i program wedªug Baltiego Programowanie Programowanie jest najwy»szym trybem Baltiego. Z pomoc Baltiego mo»esz

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

Programowanie i struktury danych

Programowanie i struktury danych Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w

Bardziej szczegółowo

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Bash i algorytmy. Elwira Wachowicz. 20 lutego Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad

Bardziej szczegółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia

Bardziej szczegółowo

Lekcja 12 - POMOCNICY

Lekcja 12 - POMOCNICY Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.

Bardziej szczegółowo

Lekcja 9 Liczby losowe, zmienne, staªe

Lekcja 9 Liczby losowe, zmienne, staªe Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe

Bardziej szczegółowo

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy. 1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja

Bardziej szczegółowo

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1 J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)

Bardziej szczegółowo

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe 1 Wprowadzenie 1.1 rodowisko programistyczne NetBeans https://netbeans.org/ 1.2 Dokumentacja j zyka Java https://docs.oracle.com/javase/8/docs/api/

Bardziej szczegółowo

Elementy geometrii w przestrzeni R 3

Elementy geometrii w przestrzeni R 3 Elementy geometrii w przestrzeni R 3 Z.Šagodowski Politechnika Lubelska 29 maja 2016 Podstawowe denicje Wektorem nazywamy uporz dkowan par punktów (A,B) z których pierwszy nazywa si pocz tkiem a drugi

Bardziej szczegółowo

Lab. 02: Algorytm Schrage

Lab. 02: Algorytm Schrage Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z

Bardziej szczegółowo

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów 1 Wst p Przypomnijmy,»e komputer skªada si z procesora, pami ci, systemu wej±cia-wyj±cia oraz po- ª cze«mi dzy nimi. W procesorze mo»emy

Bardziej szczegółowo

Lekcja 6 Programowanie - Zaawansowane

Lekcja 6 Programowanie - Zaawansowane Lekcja 6 Programowanie - Zaawansowane Akademia im. Jana Dªugosza w Cz stochowie Wst p Wiemy ju»: co to jest program i programowanie, jak wygl da programowanie, jak tworzy programy za pomoc Baltiego. Na

Bardziej szczegółowo

Listy i operacje pytania

Listy i operacje pytania Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik

Bardziej szczegółowo

Logika dla matematyków i informatyków Wykªad 1

Logika dla matematyków i informatyków Wykªad 1 Logika dla matematyków i informatyków Wykªad 1 Stanisªaw Goldstein Wydziaª Matematyki i Informatyki UŠ 16 lutego 2016 Wszech±wiat matematyczny skªada si wyª cznie ze zbiorów. Liczby naturalne s zdeniowane

Bardziej szczegółowo

P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);

P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...); Rozdziaª 4 P tle 4.1 Wst p Niniejszy rozdziaª zawiera opis p tli w j zyku C, wraz z przykªadowymi programami oraz ich obja±nieniem. 4.2 P tle P tla to element j zyka programowania, pozwalaj cy na wielokrotne,

Bardziej szczegółowo

2 Liczby rzeczywiste - cz. 2

2 Liczby rzeczywiste - cz. 2 2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:

Bardziej szczegółowo

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne Arkusz maturalny Šukasz Dawidowski Powtórki maturalne 25 kwietnia 2016r. Odwrotno±ci liczby rzeczywistej 1. 9 8 2. 0, (1) 3. 8 9 4. 0, (8) 3 4 4 4 1 jest liczba Odwrotno±ci liczby rzeczywistej 3 4 4 4

Bardziej szczegółowo

Lekcja 3 Banki i nowe przedmioty

Lekcja 3 Banki i nowe przedmioty Lekcja 3 Banki i nowe przedmioty Akademia im. Jana Dªugosza w Cz stochowie Banki przedmiotów Co ju» wiemy? co to s banki przedmiotów w Baltie potramy korzysta z banków przedmiotów mo»emy tworzy nowe przedmioty

Bardziej szczegółowo

Ukªady równa«liniowych

Ukªady równa«liniowych dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast

Bardziej szczegółowo

x y x y x y x + y x y

x y x y x y x + y x y Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0

Bardziej szczegółowo

Programowanie robota mobilnego Khepera

Programowanie robota mobilnego Khepera Programowanie robota mobilnego Khepera Paweª Ludwików 14 grudnia 2006 roku 1 Wst p Celem wiczenia jest zapoznanie si z programowaniem robota mobilnego Khepera. Programowanie odbywa si w j zyku Python.

Bardziej szczegółowo

Funkcje, wielomiany. Informacje pomocnicze

Funkcje, wielomiany. Informacje pomocnicze Funkcje, wielomiany Informacje pomocnicze Przydatne wzory: (a + b) 2 = a 2 + 2ab + b 2 (a b) 2 = a 2 2ab + b 2 (a + b) 3 = a 3 + 3a 2 b + 3ab 2 + b 3 (a b) 3 = a 3 3a 2 b + 3ab 2 b 3 a 2 b 2 = (a + b)(a

Bardziej szczegółowo

Metodydowodzenia twierdzeń

Metodydowodzenia twierdzeń 1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych

Bardziej szczegółowo

Typy danych i formatowanie

Typy danych i formatowanie Typy danych i formatowanie Elwira Wachowicz elwira@ifd.uni.wroc.pl 28 marca 2013 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 1 / 16 Sªowa kluczowe typów danych Pierwotne

Bardziej szczegółowo

XVII Warmi«sko-Mazurskie Zawody Matematyczne

XVII Warmi«sko-Mazurskie Zawody Matematyczne 1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych

Bardziej szczegółowo

Dyskretyzacja i kwantyzacja obrazów

Dyskretyzacja i kwantyzacja obrazów Laboratorium: Cyfrowe przetwarzanie obrazów i sygnaªów Dyskretyzacja i kwantyzacja obrazów 1 Cel i zakres wiczenia Celem wiczenia jest zapoznanie si z procesami dyskretyzacji i kwantyzacji, oraz ze zjawiskami

Bardziej szczegółowo

Interpreter opisu dziaªa«quadrokoptera wtyczki. 1 Ogólny opis zadania. 2 Skªadnia nowych polece« 2.1 Polecenie Grasper

Interpreter opisu dziaªa«quadrokoptera wtyczki. 1 Ogólny opis zadania. 2 Skªadnia nowych polece« 2.1 Polecenie Grasper Interpreter opisu dziaªa«quadrokoptera wtyczki 1 Ogólny opis zadania Bazuj c na wcze±niej napisanym programie nale»y go przerobi w ten sposób, aby ka»dy rodzaj z wczytywanych polece«byª obsªugiwany przez

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,

Bardziej szczegółowo

Wojewódzki Konkurs Matematyczny

Wojewódzki Konkurs Matematyczny sumaryczna liczba punktów (wypeªnia sprawdzaj cy) Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów 13 luty 2014 Czas 90 minut 1. Otrzymujesz do rozwi zania 10 zada«zamkni tych oraz 5 zada«otwartych.

Bardziej szczegółowo

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych: Plan Spis tre±ci 1 Homomorzm 1 1.1 Macierz homomorzmu....................... 2 1.2 Dziaªania............................... 3 2 Ukªady równa«6 3 Zadania 8 1 Homomorzm PRZYPOMNIENIE Ka»d przestrze«wektorow

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast

Bardziej szczegółowo

Subversion - jak dziaªa

Subversion - jak dziaªa - jak dziaªa Krótka instrukcja obsªugi lstelmach@gmail.com Stelmisoft 12/07/2010 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 Spis tre±ci Czym jest Czym jest repozytorium 1 Czym jest Czym jest repozytorium

Bardziej szczegółowo

Wojewódzki Konkurs Matematyczny

Wojewódzki Konkurs Matematyczny Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów ETAP SZKOLNY 16 listopada 2012 Czas 90 minut Instrukcja dla Ucznia 1. Otrzymujesz do rozwi zania 10 zada«zamkni tych oraz 5 zada«otwartych. 2. Obok

Bardziej szczegółowo

Wykªad 4. Funkcje wielu zmiennych.

Wykªad 4. Funkcje wielu zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.

Bardziej szczegółowo

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem. 2018/2019 1. Odcienie szaro±ci Model RGB jest modelem barw opartym na wªa±ciwo±ciach odbiorczych

Bardziej szczegółowo

Programowanie i struktury danych 1 / 44

Programowanie i struktury danych 1 / 44 Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje

Bardziej szczegółowo

Podstawy modelowania w j zyku UML

Podstawy modelowania w j zyku UML Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem strukturalnym,

Bardziej szczegółowo

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Rozwi zania zada«z egzaminu podstawowego z Analizy matematycznej 2.3A (24/5). Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Zadanie P/4. Metod operatorow rozwi

Bardziej szczegółowo

19. Obiektowo± 1 Kacze typowanie. 2 Klasy

19. Obiektowo± 1 Kacze typowanie. 2 Klasy 1 Kacze typowanie 19. Obiektowo± Sk d interpreter wie, jakiego typu s np. przekazywane do metody argumenty? Tak naprawd wcale nie musi wiedzie. Do poprawnego dziaªania programu istotne jest,»e przekazywany

Bardziej szczegółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15 ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku

Bardziej szczegółowo

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14 WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................

Bardziej szczegółowo

Przewodnik u»ytkownika

Przewodnik u»ytkownika Opisywanie wygl du dokumentu 15 stycznia 2008 Akapity wystawione Skutkiem u»ycia otoczenia tworz cego akapit wystawiony jest zacz cie go od nowego wiersza, a tak»e zacz cie od nowego wiersza tekstu nast

Bardziej szczegółowo

Algorytmy zwiazane z gramatykami bezkontekstowymi

Algorytmy zwiazane z gramatykami bezkontekstowymi Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Wektory w przestrzeni

Wektory w przestrzeni Wektory w przestrzeni Informacje pomocnicze Denicja 1. Wektorem nazywamy uporz dkowan par punktów. Pierwszy z tych punktów nazywamy pocz tkiem wektora albo punktem zaczepienia wektora, a drugi - ko«cem

Bardziej szczegółowo

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak

Bardziej szczegółowo

Kompilowanie programów

Kompilowanie programów Rozdziaª 2 Kompilowanie programów 2.1 Wst p 2.2 Kompilatory, IDE Zacznijmy od podania kilku podstawowych informacji: ˆ Program - to ci g polece«(instrukcji) do wykonania dla komputera ˆ Program to algorytm

Bardziej szczegółowo

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows SVN - wprowadzenie Adam Krechowicz 16 lutego 2013 1 Wprowadzenie do SVN SVN SubVersion jest systemem kontroli wersji pozwalaj cym wielu u»ytkownikom na swobodne wspóªdzielenie tych samych plików. Pozwala

Bardziej szczegółowo

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu ➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje

Bardziej szczegółowo

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013 Przedmiot fakultatywny 15h wykªadu + 15h wicze«7 pa¹dziernika 2013 Zasady zaliczenia 1 wiczenia (ocena): kolokwium, zadania dodatkowe (implementacje algorytmów), praca na wiczeniach. 2 Wykªad (zal): zaliczone

Bardziej szczegółowo

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja

Bardziej szczegółowo

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) Zadanie 1 Obecnie u»ywane tablice rejestracyjne wydawane s od 1 maja 2000r. Numery rejestracyjne aut s tworzone ze zbioru

Bardziej szczegółowo

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych

Bardziej szczegółowo

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

przewidywania zapotrzebowania na moc elektryczn

przewidywania zapotrzebowania na moc elektryczn do Wykorzystanie do na moc elektryczn Instytut Techniki Cieplnej Politechnika Warszawska Slide 1 of 20 do Coraz bardziej popularne staj si zagadnienia zwi zane z prac ¹ródªa energii elektrycznej (i cieplnej)

Bardziej szczegółowo

Zarządzanie Zasobami by CTI. Instrukcja

Zarządzanie Zasobami by CTI. Instrukcja Zarządzanie Zasobami by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Konfiguracja... 4 3. Okno główne programu... 5 3.1. Narzędzia do zarządzania zasobami... 5 3.2. Oś czasu... 7 3.3. Wykres Gantta...

Bardziej szczegółowo

Rachunek caªkowy funkcji wielu zmiennych

Rachunek caªkowy funkcji wielu zmiennych Rachunek caªkowy funkcji wielu zmiennych I. Malinowska, Z. Šagodowski Politechnika Lubelska 8 czerwca 2015 Caªka iterowana podwójna Denicja Je»eli funkcja f jest ci gªa na prostok cie P = {(x, y) : a x

Bardziej szczegółowo

Lekcja 3 - BANKI I NOWE PRZEDMIOTY

Lekcja 3 - BANKI I NOWE PRZEDMIOTY Lekcja 3 - BANKI I NOWE PRZEDMIOTY Wiemy ju» co to s banki przedmiotów i potramy z nich korzysta. Dowiedzieli±my si te»,»e mo»emy tworzy nowe przedmioty, a nawet caªe banki przedmiotów. Na tej lekcji zajmiemy

Bardziej szczegółowo

1 Metody iteracyjne rozwi zywania równania f(x)=0

1 Metody iteracyjne rozwi zywania równania f(x)=0 1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0

Bardziej szczegółowo

Optyka geometryczna. Soczewki. Marcin S. Ma kowicz. rok szk. 2009/2010. Zespóª Szkóª Ponadgimnazjalnych Nr 2 w Brzesku

Optyka geometryczna. Soczewki. Marcin S. Ma kowicz. rok szk. 2009/2010. Zespóª Szkóª Ponadgimnazjalnych Nr 2 w Brzesku skupiaj ce rozpraszaj ce Optyka geometryczna Zespóª Szkóª Ponadgimnazjalnych Nr 2 w Brzesku rok szk. 2009/2010 skupiaj ce rozpraszaj ce Spis tre±ci 1 Wprowadzenie 2 Ciekawostki 3 skupiaj ce Konstrukcja

Bardziej szczegółowo

Przykªadowe tematy z JiMP

Przykªadowe tematy z JiMP Przykªadowe tematy z JiMP 1. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania z punktw na centymetry, (77.27 pt = 1 cal = 2.54 cm) tzn. np. wywoªanie: c:\>pkt 144.54 = 5.08 cm spowoduje

Bardziej szczegółowo

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem

Bardziej szczegółowo

1 Bª dy i arytmetyka zmiennopozycyjna

1 Bª dy i arytmetyka zmiennopozycyjna 1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy

Bardziej szczegółowo

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017 i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_

Bardziej szczegółowo

Model obiektu w JavaScript

Model obiektu w JavaScript 16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego

Bardziej szczegółowo

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym. ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

J zyk C dla sterowników programowalnych GeFanuc

J zyk C dla sterowników programowalnych GeFanuc J zyk C dla sterowników programowalnych GeFanuc Na podstawie C Programmer's Toolkit for PACSystems Bartosz Puchalski Katedra In»ynierii Systemów Sterowania 17 grudnia 2013 Bartosz Puchalski KISS 1/48 Spis

Bardziej szczegółowo

PERSON Kraków 2002.11.27

PERSON Kraków 2002.11.27 PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC

Bardziej szczegółowo

Macierze i Wyznaczniki

Macierze i Wyznaczniki Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja 1. Tablic nast puj cej postaci a 11 a 12... a 1n a 21 a 22... a 2n A =... a m1 a m2... a mn nazywamy macierz o m wierszach i n kolumnach,

Bardziej szczegółowo

Materiaªy do Repetytorium z matematyki

Materiaªy do Repetytorium z matematyki Materiaªy do Repetytorium z matematyki 0/0 Dziaªania na liczbach wymiernych i niewymiernych wiczenie Obliczy + 4 + 4 5. ( + ) ( 4 + 4 5). ( : ) ( : 4) 4 5 6. 7. { [ 7 4 ( 0 7) ] ( } : 5) : 0 75 ( 8) (

Bardziej szczegółowo

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej Matematyka wykªad 1 Macierze (1) Andrzej Torój Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej 17 wrze±nia 2011 Plan wykªadu 1 2 3 4 5 Plan prezentacji 1 2 3 4 5 Kontakt moja strona internetowa:

Bardziej szczegółowo

r = x x2 2 + x2 3.

r = x x2 2 + x2 3. Przestrze«aniczna Def. 1. Przestrzeni aniczn zwi zan z przestrzeni liniow V nazywamy dowolny niepusty zbiór P z dziaªaniem ω : P P V (które dowolnej parze elementów zbioru P przyporz dkowuje wektor z przestrzeni

Bardziej szczegółowo

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania WYKŁAD 8 Reprezentacja obrazu Elementy edycji (tworzenia) obrazu Postacie obrazów na różnych etapach procesu przetwarzania Klasy obrazów Klasa 1: Obrazy o pełnej skali stopni jasności, typowe parametry:

Bardziej szczegółowo

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska MiASI Modelowanie systemów informatycznych Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Analiza systemu informatycznego Poziomy analizy 2

Bardziej szczegółowo

VI OIG, Etap II konkurs dru»ynowy. 10 III 2012 Dost pna pami : 32 MB.

VI OIG, Etap II konkurs dru»ynowy. 10 III 2012 Dost pna pami : 32 MB. Pocisk Pocisk o masie 5g wystrzelono z powierzchni ziemi pionowo w gór z szybko±ci pocz tkow v 0. Jak szybko± b dzie miaª pocisk w chwili, gdy dogoni go odgªos wystrzaªu i na jakiej wysoko±ci to nast pi?

Bardziej szczegółowo

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )

Bardziej szczegółowo

VinCent Office. Moduł Drukarki Fiskalnej

VinCent Office. Moduł Drukarki Fiskalnej VinCent Office Moduł Drukarki Fiskalnej Wystawienie paragonu. Dla paragonów definiujemy nowy dokument sprzedaży. Ustawiamy dla niego parametry jak podano na poniższym rysunku. W opcjach mamy możliwość

Bardziej szczegółowo

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.

Bardziej szczegółowo

Wzorce projektowe strukturalne cz. 1

Wzorce projektowe strukturalne cz. 1 Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter

Bardziej szczegółowo

Podstawy modelowania w j zyku UML

Podstawy modelowania w j zyku UML Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 2 Zwi zki mi dzy klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang.

Bardziej szczegółowo

Podstawy matematyki dla informatyków

Podstawy matematyki dla informatyków Podstawy matematyki dla informatyków Wykªad 6 10 listopada 2011 W poprzednim odcinku... Zbiory A i B s równoliczne (tej samej mocy ), gdy istnieje bijekcja f : A 1 1 B. Piszemy A B lub A = B. na Moc zbioru

Bardziej szczegółowo

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy. Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta

Bardziej szczegółowo

Elementy geometrii analitycznej w przestrzeni

Elementy geometrii analitycznej w przestrzeni Wykªad 3 Elementy geometrii analitycznej w przestrzeni W wykªadzie tym wi kszy nacisk zostaª poªo»ony raczej na intuicyjne rozumienie deniowanych poj, ni» ±cisªe ich zdeniowanie. Dlatego niniejszy wykªad

Bardziej szczegółowo

Rozwi zania klasycznych problemów w Rendezvous

Rozwi zania klasycznych problemów w Rendezvous Cz ± I Rozwi zania klasycznych problemów w Rendezvous 1 Producenci i konsumenci Na pocz tek rozwa»my wersj z jednym producentem i jednym konsumentem, dziaªaj cymi w niesko«czonych p tlach. Mechanizm komunikacji

Bardziej szczegółowo

Podstawy JavaScript. Dawid Poªap. Dawid Poªap Technologia informacyjna Grudzie«, / 13

Podstawy JavaScript. Dawid Poªap. Dawid Poªap Technologia informacyjna Grudzie«, / 13 Podstawy JavaScript Dawid Poªap Dawid Poªap Technologia informacyjna Grudzie«, 2017 1 / 13 Plan na reszt zaj z TI Dzisiaj podstawy podstaw programowania w konsoli. W nowym roku na stronie internetowej

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Programowanie wspóªbie»ne wiczenia 2 semafory cz. 1 Zadanie 1: Producent i konsument z buforem cyklicznym type porcja; void produkuj(porcja &p); void konsumuj(porcja p); porcja bufor[n]; / bufor cykliczny

Bardziej szczegółowo

Ekstremalnie fajne równania

Ekstremalnie fajne równania Ekstremalnie fajne równania ELEMENTY RACHUNKU WARIACYJNEGO Zaczniemy od ogólnych uwag nt. rachunku wariacyjnego, który jest bardzo przydatnym narz dziem mog cym posªu»y do rozwi zywania wielu problemów

Bardziej szczegółowo

1 Ró»niczka drugiego rz du i ekstrema

1 Ró»niczka drugiego rz du i ekstrema Plan Spis tre±ci 1 Pochodna cz stkowa 1 1.1 Denicja................................ 1 1.2 Przykªady............................... 2 1.3 Wªasno±ci............................... 2 1.4 Pochodne wy»szych

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo