Podstawy Programowania Wykład czternasty:

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

Download "Podstawy Programowania Wykład czternasty:"

Transkrypt

1 Podstawy Programowania Wykład czternasty: Grafika (modu ł Graph) cz ęść pierwsza

2 1. Wstęp Współczesne karty graficzne pozwalaj ą na tworzenie przestrzennej, realistycznej grafiki komputerowej. Niestety język Pascal, a konkretniej jego odmiana stwo- rzona przez firm ę Borland i udostępniona w postaci pakietu Turbo Pascal, nie pozwala na obsług ę zaawansowanych funkcji takich kart. Dostarczany wraz z tym środowiskiem modu ł graph pozwala obsługiwa ć karty graficzne w trybie zgodności ze standardem VGA udostępniając kilka trybów graficznych o względnie małej rozdzielczości (maksimum 1024x768 pikseli) i liczbie kolorów (maksimum 256) 1. Istnieje możliwo ść dostępu do trybów graficznych o wyższych rozdzielczościach i większej liczbie kolorów, ale wymaga ona użycia przerwa ń BIOS i nie będzie ona tu opisywana 2. Pomimo skromnych możliwości modu ł graph może by ć przydatny do uzyskania kilku ciekawych efektów graficznych i do zwiększenia atrakcyjności wizualnej napisanych w języku Pascal programów. 2. Ogólny opis modułu graph Pomimo, że możliwości graficzne, jakie oferuje modu ł graph ze współczesnego punktu widzenia s ą dosy ć skromne, to jego rozmiary s ą dosy ć znaczne. Elementy w nim zgromadzone możemy podzieli ć na cztery kategorie: związane z inicjalizacj ą trybu graficznego, związane z zarządzaniem trybem graficznym, związane z wyświetlaniem obrazu i związane z wyświetlaniem tekstu. Najwa- żniejsze z nich zostan ą omówione w następnych rozdziałach. 3. Elementy modułu graph związane z inicjalizacj ą trybu graficznego Inicjalizacja trybu graficznego (pierwsze włączenie) dokonywane jest za pomocą procedury InitGraph. Przyjmuje ona trzy argumenty wywołania. Pierwsze dwa s ą typu integer i musz ą by ć zmiennymi, ostatni jest typu string i może być zmienn ą lub ciągiem znaków. Pierwszy parametr wywołana określa sterownik, jaki ma zosta ć użyty do uruchomienia trybu graficznego. W module graph zostały zdefiniowane stałe pozwalające określi ć rodzaj sterownika. Oto niektóre z nich: Detect (0) procedura initgraph automatycznie 3 rozpozna kart ę graficz- n ą jaka zainstalowana jest w systemie, dobierze dla niej odpowiedni sterownik i wybierze najlepszy tryb wyświetlania, CGA (1) sterownik dla karty CGA, lub 1 Podane wartości maksymalne odnosz ą si ę do karty IBM851, rzadko obecnie spotykanej. 2 Tryby o wyższych rozdzielczościach nale żą do standardu VESA. Więcej o tych trybach i sposobach ich używania można przeczyta ć w książce autorstwa P.Metzgera i A.Jełowickiego pt Anatomia PC lub Tworzenie gier 2D i 3D w języku Turbo Pascal autorstwa Piotra Besty. 3 lub jak niektórzy wol ą automagicznie :-) 2

3 zgodnej z tym standardem, EGA (3) i EGA64 (4) sterowniki kart EGA, lub zgodnych z tym standardem, EGAMono - sterownik monochromatycznych kart EGA, lub zgodnych z tym standardem, HercMono (7) sterownik kart Hercules lub zgodnych z tym standardem, VGA (9) sterownik kart VGA lub zgodnych z tym standardem. Poniewa ż wszystkie współcześnie produkowane karty są zgodne ze standardem VGA najlepiej jest używa ć sterownika tej karty lub pozwoli ć procedurze initgraph automatycznie wykry ć rodzaj sterownika. Drugi parametr określa tryb graficzny jaki ma zosta ć użyty. Każdy z wymienionych wcześniej rodzajów kart graficznych oferuje kilka różnych trybów graficznych. Ze względów pragmatycznych zapoznamy si ę tylko z trybami oferowanymi przez karty VGA i zgodne z nimi. Karty te oferuj ą trzy tryby. Zostały zdefiniowane od- powiednie stałe w module graph, które ułatwiaj ą wybór tych trybów: VGALo (0) tryb wyświetlania o rozdzielczości 640x200 pikseli, 16 kolorach i 4 stronach, VGAMed (1) tryb o rozdzielczości 640x350 pikseli, 16 kolorach i 2 stronach, VGAHi (2) tryb o rozdzielczości 640x480 pikseli, 16 kolorach i jednej stronie. Piksel jest najmniejszym pojedynczym punktem, który można wyświetli ć na ekranie w trybie graficznym. Pierwsza liczba w oznaczeniu rozdzielczości oznacza liczb ę pikseli w poziomie, a druga w pionie. Strony s ą użyteczne w tworzeniu animacji. Jedna strona może by ć w danej chwili wyświetlana, podczas gdy na pozostałych tworzone s ą kolejne klatki animacji. Trzecim parametrem wywołania procedury initgraph jest ścieżka dostępu do katalogu, w którym znajduje si ę plik ze sterownikiem do karty graficznej (zazwyczaj pliki sterowników kart graficznych s ą umieszczone w katalogu BGI, który jest podkatalogiem katalogu, w którym znajduje si ę kompilator). Jeśli plik sterownika 4 znajduje si ę w katalogu bieżącym, to wystarczy jako ścieżk ę do- stępu poda ć pusty łańcuch znaków (''). Jeśli zmiennej, która będzie pierwszym argumentem wywołania przypiszemy warto ść stałej Detect, to procedura initgraph wywoła inn ą procedur ę o nazwie DetectGraph, celem wykrycia optymalnego sterownika i trybu graficznego. Procedura ta przyjmuje jako parametry wywołania dwie zmienne typu integer. W pierwszej zapisuje numer sterownika, w drugiej numer trybu graficznego. T ę procedur ę możemy również wywoła ć samodzielnie, przed wywołaniem initgraph, cho ć nie jest to często stosowane rozwiązanie. Jeśli po włączeniu trybu graficznego zachodzi koniecz- no ść chwilowego skorzystania z trybu tekstowego, to możemy dokonać przełączenia trybów za pomoc ą procedury RestoreCrtMode, która nie przyjmuje żadnych parametrów wywołania. Przywracany jest tryb tekstowy, który by ł używany przed włączeniem trybu graficznego. Aby powróci ć do trybu graficznego wywołujemy procedur ę SetGraphMode. Przyjmuje ona tylko jeden parametr wywołania i może nim by ć zmienna, wyrażenie lub wartość 4 W przypadku kart VGA i kompatybilnych plik sterownika nazywa si ę EGAVGA.BGI. 3

4 określająca numer trybu graficznego. Najczęściej stosuje si ę jedn ą z opisanych wyżej stałych. Jeśli chcemy skończy ć prac ę w trybie graficznym, to wywołujemy procedur ę CloseGraph. Nie wymaga ona żadnych parametrów wywołania. Typowa procedura inicjalizująca tryb graficzny może mie ć następując ą posta ć: procedure inicjalizuj; var sterownik,tryb,kod:integer; begin sterownik:=detect; initgraph(sterownik,tryb,'c:\tp\bgi'); kod:=graphresult; if kod <> grok then begin grapherrormsg(kod); halt(1); Działanie funkcji graphresult i grapherrormsg zostanie opisane w następnym rozdziale. Jeśli użyjemy tej procedury, to musimy zapewni ć, że sterownik karty graficznej znajdzie si ę w określonym przez trzeci parametr wywołania proce- dury katalogu. Jeżeli chcemy unikn ąć tego dosy ć niewygodnego rozwiązania możemy plik sterownika dołączy ć do pliku wykonywalnego naszego programu. Procedura inicjalizuj w tym wypadku powinna mie ć następując ą posta ć: procedure EGAVGAdriver; external; {$L EGAVGA.OBJ } procedure inicjalizuj; var grdriver,grmode:integer; begin grdriver:=detect; registerbgidriver(@egavgadriver); initgraph(grdriver,grmode,''); if graphresult<>grok then halt(1); 4

5 Przed definicj ą tej procedury powinna by ć zadeklarowana procedura sterow- nika karty. Jest to procedura zewnętrzna 5, zdefiniowana w innym pliku. O tym jak si ę nazywa ten plik informujemy kompilator za pomoc ą dyrektywy $L, tak jak to jest pokazane w kodzie źródłowym. W procedurze inicjalizuj przed wywo- łaniem initgraph wywołujemy procedur ę RegisterBGIDriver. Jako parametr 6 wywołania przyjmuje ona wskaźnik na procedur ę sterownika. Plik EGAVGA.OBJ uzyskujemy z pliku EGAVGA.BGI konwertując go za pomocą programu binobj dostarczanego wraz ze środowiskiem Turbo Pascala. W przypadku opisywanego pliku sterownika program ten wywołujemy z wiersza polece ń następująco: binobj egavga.bgi egavga.obj EGAVGAdriver 4. Elementy modułu graph związane z organizacj ą pracy w trybie graficznym Użyta w procedurze inicjalizującej funkcja GraphResult zwraca kod poprawno- ści wykonania operacji graficznej, przeprowadzonej bezpośrednio przed jej wywołaniem. Jeśli operacja ta zakończyła si ę pomyślnie, to zwracana jest warto ść 0 (zero), jeśli nie warto ść różna od zera. W module graph zostały zdefiniowane stałe odpowiadające wartościom sygnalizującym poszczególne błędy. Wartości zero odpowiada stała grok. Nazwy pozostałych stałych nie będ ą tu przytaczane. Jeśli chcemy uzyska ń komunikat (w języku angielskim) opisujący rodzaj błędu, to możemy wywoła ć procedur ę GraphErrorMsg. Przyjmuje ona jeden parametr wywołania będący wartości ą, wyrażeniem lub zmienn ą oznaczając ą kod błędu. Funkcja graphresult współpracuje między innymi z następującymi podprogramami modułu graph: bar, bar3d, clearviewport, closegraph, detectgraph, drawpoly, fillpoly, getgraphmode, imagesize, initgraph, pieslice, registerbgidriver, setallpalette, setfillpattern, setfillstyle, setgraphbufsize, setgraphmode, setlinestyle, settextjustify, settextstyle. Aby pozna ć nazw ę trybu graficznego w którym pracujemy, lub który nas interesuje, możemy posłuży ć si ę funkcj ą GetModeName. Jako parametr wywołania pobiera ona numer trybu, którego nazw ę chcemy uzyska ć, a zwraca warto ść typu string, zawierając ą nazw ę trybu. Tworząc obraz w trybie graficznym posługujemy si ę współrzędnymi. Układ współrzędnych we wszystkich trybach graficznych jest zorganizowany tak, jak pokazano to na rysunku: 5 O tym informuje słowo kluczowe external. 6 Inaczej adres procedury. Wskaźniki będ ą tematyk ą następnych wykładów. 5

6 0 maxx 0 maxy Aby pozna ć warto ść maksymalnej rzędnej i odciętej w bieżącym trybie graficz- nym użyjemy funkcji s ą typu GetMaxX i GetMaxY. Wartości zwracane przez te funkcje integer. Procedura GetModeRange zwraca numery trybów o najmniejszej i największej rozdzielczości dla danego sterownika. Przyjmuje ona trzy parametry wywołania. Pierwszym jest zmienna, wyrażenie lub warto ść typu integer będąca numerem sterownika. Jeśli chcemy pozna ć wymienione tryby dla bieżącego sterownika, to pierwszym parametrem wywołania getmoderange może by ć stała CurrentDriver (-128). Dwa następne parametry s ą zmiennymi typu integer. Pierwsza będzie zawierała numer trybu o najmniejszej rozdzielczo- ści, druga o największej. Jeśli chcemy operacje graficzne związane z rysowa- niem lub wyświetlaniem tekstu ograniczy ć tylko do pewnego wycinka po- wierzchni ekranu, to możemy zdefiniowa ć okno, które w języku angielskim na- zwane zostało viewport. Do tworzenia takiego okna służy procedura SetViewPort. Przyjmuje ona pi ęć argumentów wywołania. Pierwsze cztery są typu integer, ostatni typu boolean. Pierwsza para argumentów wywołania to współrzędne lewego, górnego rogu okna, druga to współrzędne prawego dolnego rogu okna. Ostatni parametr określa, czy umieszczane w oknie elementy mogą wystawa ć poza okno, czy nie. Jeśli ma on warto ść true, to rysowanie ograniczone jest tylko do obszaru okna. Zamiast bezpośrednio stosowa ć war- tości true i false możemy uży ć stałych ClipOn (true) i ClipOff (false). Do wyczyszczenia bieżącego okna używamy procedury ClearViewPort, która nie przyjmuje żadnych parametrów wywołania. Aby pozna ć parametry bieżącego okna możemy posłuży ć si ę procedur ą GetViewSettings. Przyjmuje ona tylko jeden parametr wywołania będący zmienn ą typu ViewPortType. ViewPortType = record x1,y1,x2,y2:integer; Clip: boolean; 6

7 Powyżej podana jest definicja tego typu w module graph. Pola x1, y1, x2, y2 są przeznaczone do przechowywania wartości współrzędnych odpowiednich rogów okna, natomiast pole Clip informuje, o tym, czy wyświetlanie jest ograniczone do obszaru okna, czy te ż nie. Do czyszczenia zawartości całego ekranu jest używana procedura ClearDevice, która nie przyjmuje żadnych parametrów wywołania. Kursor w trybie graficznym jest niewidoczny. Aby pozna ć jego położenie możemy uży ć funkcji GetX i GetY. Obie te funkcje zwracaj ą wartości typu integer i nie pobjeraj ą żadnych parametrów wywoł ania. Współrzędne kursora s ą liczone względem bieżącego okna. Aby umieści ć kursor w wybranym miejscu na ekranie wywołujemy procedur ę MoveTo. Przyjmuje ona dwa argumenty wywołania, które mog ą by ć zmienn ą, wyrażeniem lub wartością typu integer i które stanowi ą współrzędne nowego położenia kursora. Dzięki procedurze MoveRel mamy możliwo ść przemieszczenia kursora o pewien ustalony przez nas wektor, względem bieżącego jego położenia 7. Procedura ta równie ż przyjmuje dwa parametry typu integer, które s ą odpowiednio składową poziom ą i pionow ą wektora. Jeśli korzystamy z mechanizmu stron do tworzenia animacji, to procedura SetActivePage określa nam stron ę, na której będzie rysowana bieżąca klatka, a SetVisualPage, stron ę, która będzie wyświetlana. Obie procedury przyjmuj ą jeden parametr wywołania, który jest typu word i który jest numerem strony. Jeśli używamy sterowników do kart EGA, EGA64 lub VGA, to równocześnie na ekranie możemy wyświetli ć 16 kolorów. W module graph zdefiniowano stałe o odpowiednich nazwach dla każdego z nich (są dokładnie takie same, jak w module crt). Istnieje ponadto możliwo ść stworzenia swojej palety barw. Oferuje j ą procedura SetAllPalette. Przyjmuje ona za parametr wywołania zmienn ą typu PaletteType. Ten typ w module graph zosta ł zdefiniowany następująco: PaletteType = record Size : Byte; Colors : array[0..maxcolors] of ShortInt; gdzie stała MaxColors ma warto ść 15. Pole Size określa rozmiar palety kolorów, czyli ile elementów tablicy Colors będzie miało znaczące wartości. Warto ść elementu określa numer koloru. Oznacza to, że jeśli np. w elemencie tej tablicy o indeksie 0 (czarny) umieszcz ę warto ść 4 (zielony), to elementy, które dotychczas rysowałbym na czarno będ ę rysowa ł na zielono. Aby zmienić tylko jeden kolor w palecie możemy uży ć zamiast SetAllPalette procedury 7 Np. cztery piksele w prawo i dwa w dó ł. 7

8 SetPalette. Przyjmuje ona dwa parametry wywołania jeden typu word, drugi typu shortint i s ą to: numer koloru który ma by ć zmieniony i numer koloru na jaki ten kolor chcemy zmieni ć. Na bardziej elastyczn ą manipulacj ę kolorami palety pozwala nam procedura SetRGBPalette. Przyjmuje ona cztery argumenty wywołania, wszystkie typu integer. Pierwszym jest numer koloru w palecie, który ma by ć zmieniony, a następne trzy określaj ą, odpowiednio, składow ą czerwon ą, zielon ą i niebiesk ą tego koloru. Należy zauważy ć, że tylko wartości młodszych bajtów, trzech ostatnich parametrów s ą używane przez tę procedur ę. Funkcja GetMaxColor zwraca warto ść typu word określającą maksymalny numer koloru dla bieżącego trybu graficznego. Do określenia koloru, w jakim będ ą wyświetlane elementy obrazu służy procedura SetColor, natomiast do określenia koloru tła na jakim te elementy będ ą rysowane służy procedura SetBkColor. Obie one przyjmuj ą jeden parametr wywołania, który jest typu word. Funkcje GetColor i GetBkColor zwracaj ą wartości typu word będące numerami bieżących kolorów odpowiednio: rysowanych elementów i tła. Procedura SetWriteMode określa sposób rysowania obrazu, a właściwie sposób nakładania go na istniejące tło. Przyjmuje ona tylko jeden parametr wywołania typu integer. Najczęściej parametrem tym jest jedna z następujących stałych: NormalPut lub CopyPut (0) oznaczaj ą, że element będzie po prostu zastępowa ł fragment tła na którym będzie rysowany, XORPut (1) oznacza, że będzie wykonywana operacja xor dla każdego piksela rysowanego elementu i odpowiadającego mu piksela tła, na którym jest rysowany, OrPut (2) podobnie jak poprzednio, ale wykonywana jest operacja or, AndPut (3) wykonywana jest operacja and, NotPut każda warto ść piksela (kolor) jest negowana przed narysowaniem elementu. Do uzyskania numeru koloru piksela o wybranych współrzędnych możemy uży ć funkcji GetPixel. Przyjmuje ona dwa parametry wywołania, typu natomiast zwraca warto ść typu integer, które określaj ą rzędn ą i odcięt ą piksela, word, która jest numerem koloru piksela. Do pobrania bieżącej palety kolorów służy procedura GetPalette, która przyjmuje jako parametr wywołania jedn ą zmienn ą typu PaletteType. Rozmiar palety (liczb ę dostępnych kolorów) możemy pozna ć wywołując funkcję bezparametrow ą o nazwie GetPaletteSize. Zwraca on warto ść typu integer. Procedura SetLineStyle pozwala określi ć styl rysowanej linii. Procedura ta przyjmuje trzy argumenty wywołania, wszystkie typu word. Pierwszy z nich określa rodzaj stylu i może by ć następując ą sta łą: SolidLn (0) linia ciągła, DottedLn (1) linia kropkowana, CenterLn (2) linia symetrii (używana w rysunkach technicznych), DashedLn (3) linia kreskowana, UserBitLn (4) stała pozwalająca określi ć własny rodzaj linii. Jeśli jest ona podana jako pierwszy parametr wywołania SetLineStyle, to ma znaczenie warto ść drugiego parametru wywołania tej procedury. Jest to tzw. wzorzec bitowy linii (0 piksel 8

9 wygaszony, 1 piksel zapalony). Trzeci parametr określa grubo ść linii i najczęściej jest jedn ą z dwóch stałych: NormWidth (1) normalna szerokość linii, ThickWidth (3) linia pogrubiona. Niektóre z figur lub bry ł w trybie graficzny s ą rysowane wypełnione, inne można wypełni ć. Rodzaj wypełnienia można określi ć za pomoc ą procedury SetFillStyle, przyjmującej dwa parametry wywołania, oba typu word. Pierwszy z nich jest numerem wzorca, drugi numerem koloru wypełnienia. Istnieje możliwo ść zdefiniowania własnego wzorca wypełnienia, za pomoc ą procedury SetFillPattern. Przyjmuje ona dwa argumenty wywołania. Pierwszy jest typu FillPatternType, drugi jest typu word i okreś la kolor wzorca. Typ FillPatternType jest zdefiniowany w module graph następująco: FillPatternType = array [1..8] of Byte; Warto ść każdego elementu tej tablicy jest traktowana jako wzorzec bitowy zapisany w wierszu macierzy o rozmiarach 8x8. Jeśli rysowane na ekranie koło lub okrąg wydaj ą si ę nam eliptyczne, możemy t ę wad ę skorygowa ć używając funkcji SetAspectRatio, która ustala stosunek szerokości do wysokości ekranu. Przyjmuje ona dwa argumenty wywołania typu word określające nową szeroko ść i wysoko ść ekranu i zwraca równie ż warto ść typu word. Niestety dokumentacja elektroniczna nie podaje znaczenia tej wartości. Najczęściej jest ona w programach ignorowana. Do poznania stosunku szerokości i wysokości ekranu służy procedura GetAspectRatio, która pobiera jako parametry wywołania dwie zmienne typu word. Do tych zmiennych zostanie zapisana po wywołaniu procedury odpowiednio szeroko ść i wysoko ść ekranu. 5. Elementy modułu graph służące do tworzenia obrazu Modu ł graph dostarcza wielu podprogramów służących do tworzenia prostych obiektów graficznych (zwanych w grafice komputerowej prymitywami) oraz do tworzenia bardziej złożonych elementów obrazu. Najprostszym elementem obrazu komputerowego w trybie graficznym jest piksel. Możemy narysowa ć pojedynczy piksel, określając jego kolor za pomoc ą procedury PutPixel. Przyjmuje ona trzy parametry wywołania. Pierwsza para tych parametrów jest typu integer i określa współrzędne piksela (odpowiednio rzędn ą i odcięt ą), natomiast trzeci parametr jest typu word i określa kolor jaki piksel ma przyj ąć. Odcinek jest obiektem graficznym złożonym z punktów, czyli pikseli. Taki odcinek możemy narysowa ć za pomoc ą jednej z trzech procedury. Procedura Line przyjmuje cztery parametry typu integer, które s ą współrzędnymi punku początkowego i końcowego odcinka. Procedura LineTo rysuje odcinek od 9

10 punktu, w którym bieżąco znajduje si ę kursor, do punktu o podanych współrzędnych. Współrzędne te s ą przekazywane za pomoc ą dwóch parametrów wywołania typu integer. Na podobnej zasadzie działa procedura LineRel, ale jako parametry przyjmuje długo ść poziom ą i pionow ą wektora 8, który posłuży do wyliczenia punktu końcowego odcinka. Współrzędne tego punku s ą liczone względem bieżącego położenia kursora. Do narysowania prostokąta możemy si ę posłuży ć procedur ą rectangle, która przyjmuje cztery parametry typu integer określające położenie lewego górnego i prawego dolnego rogu rysowanego prostokąta. Jeśli chcemy, żeby ten prostokąt by ł wypełniony, to zamiast procedury rectangle użyjemy procedury bar wywoływanej w identyczny sposób (z dokładności ą do nazwy). Do rysowania okręgów na ekranie służy procedura Circle. Dwa pierwsze parametry wywołania tej procedury określaj ą współrzędne środka tego okręgu (s ą typu integer), natomiast ostatni parametr jest typu word i określa długo ść promienia okręgu. Fragment okręgu, czyli łuk możemy narysowa ć za pomoc ą procedury Arc. Przyjmuje ona pi ęć parametrów. Pierwsze dwa s ą typu integer i określają współrzędne środka okręgu, którego wycinek stanowi rysowany łuk. Ostatni parametr typu word określa promie ń tego okręgu, natomiast trzeci i czwarty parametr s ą typu word i określaj ą kąt początkowy, od którego jest rysowany łuk i kąt końcowy. Miara obu kątów jest wyrażona w stopniach. Jeśli chcemy, aby nasz łuk by ł wypełniony, to używamy procedury PieSlice 9 wywoływanej w ten sam sposób. Do rysowania elips lub ich fragmentów służy procedura Ellipse. Przyjmuje ona sze ść parametrów wywołania. Pierwsze dwa s ą typu integer, cztery kolejne s ą typu word. Dwa pierwsze to współrzędne środka elipsy, dwa kolejne to kąt początkowy i końcowy (jeśli ma by ć pełna elipsa, to musz ą to by ć odpowiednio: 0 i 360), a dwa kolejne, to długo ść półosi poziomej i pionowej elipsy. Jeśli rysujemy fragment elipsy, który ma by ć wypełniony, to używamy procedury Sector wywoływanej w identyczny sposób jak Ellipse. Całą i wypełnion ą elips ę możemy narysowa ć za pomoc ą procedury FillEllipse. Pobiera ona cztery argumenty wywołania. Dwa pierwsze s ą typu integer, dwa pozostałe typu word. Pierwsza para określa położenie środka elipsy, trzeci parametr określa długo ść półosi poziomej, czwarty długo ść półosi pionowej elipsy. Do narysowania dowolnej figury może posłuży ć nam procedura DrawPoly. Przyjmuje ona dwa parametry wywołania. Pierwszy, typu word, określa liczb ę charakterystycznych punktów rysowanej figury, natomiast drugi jest tablic ą rekordów typu PointType, które określaj ą współrzędne tych punktów. Typ PointType jest zdefiniowany następująco: 8 Podobnie jak ma to miejsce w przypadku MoveRel. 9 Dosłowne tłumaczenia z angielskiego: kawałek ciasta. Ten element graficzny służy najczęściej do tworzenia wykresów kołowych. 10

11 PointType = record X,Y:integer; Jeśli chcemy, aby nasza figura była wypełniona, zamiast DrawPoly użyjemy FillPoly. Sposób wywołania tej procedury nie zmienia si ę. Do narysowania prostopadłościanu możemy uży ć procedury Bar3d. Przyjmuje ona sześć parametrów wejściowych. Pierwsze dwie pary s ą współrzędnymi lewego górnego i prawego dolnego rogu przedniej ściany prostopadłościanu. Kolejny parametr, typu word określa głęboko ść prostopadłościanu, natomiast ostatni, typu boolean określa, czy ma by ć widoczny wierzchołek tego prostopadłościanu, czy te ż nie. Zamiast wartości true i false możemy uży ć, jako tego parametru, stałych TopOn (true) i TopOff (false). Czasem zachodzi konieczno ść skopiowania fragmentu obraz i umieszczenia go w innym miejscu. Aby skopiowa ć wybrany fragment obrazu należy uży ć procedury GetImage. Przyjmuje ona pi ęć parametrów wywołania. Pierwsze cztery s ą typu integer (może to by ć zmienna, warto ść lub wyrażenie). Pierwsza para jest współrzędnymi lewego, górnego rogu kopiowanego obszaru, druga prawego dolnego rogu (obszar ten jest prostokątny). Ostatni parametr może być 10 zdereferencjonowanym wskaźnikiem typu pointer. Ten wskaźnik zawiera adres dynamicznie przydzielonego obszaru pamięci, w którym będzie zapisany skopiowany fragment obrazu. Pami ęć t ą możemy przydzieli ć za pomocą procedury getmem. Dla tej procedury musimy określi ć ilo ść pamięci, któr ą ma przydzieli ć. Możemy to uczyni ć za pomoc ą funkcji ImageSize. Zwraca ona warto ść typu word, będąc ą liczb ą bajtów zajmowanych przez dany fragment obrazu, a pobiera cztery parametry wywołania typu integer, określające współrzędne lewego górnego i prawego dolnego rogu kopiowanego fragmentu obrazu. Wklejenia obrazu dokonujemy za pomoc ą procedury PutImage. Przyjmuje ona dwa parametry wywołania. Pierwsze dwa s ą typu integer i określaj ą współrzędne, w których ma znale źć si ę lewy, górny róg wklejanego obrazu, trzecim parametrem może by ć zdereferencjonowany wskaźnik zawierający adres pamięci, w której jest umieszczony wklejany obraz 11, natomiast jako ostatni parametr określa sposób umieszczenia obrazu na tle i powinna to by ć jedna ze stałych, które były opisywane wraz z procedurą SetWriteMode Temat wskaźników będzie poruszany na następnych wykładach. 11 Ta pami ęć pełni rol ę podobn ą do roli schowka w systemie MS Windows. 12 Prosz ę zauważy ć, że zastosowanie XORPut pozwoli w prosty sposób uzyska ć efekt operacji cof- nij (ang. undo). Wystarczy ponownie nałoży ć obraz, aby go usun ąć. 11

12 6. Elementy modułu graph związane z tekstem Niestety modu ł graph nie dysponuje tak wygodn ą w użyciu procedurą wypisywania tekstu, jak ą jest write. Dostępne s ą dwie procedury wykonujące, takie operacje, ale wypisujące tylko łańcuchy znaków. Jeśli chcemy wypisać warto ść innego typu, to musimy j ą skonwertowa ć na typ string. Pierwsz ą z tych procedur jest outtext, drug ą jest parametr wywołania typu współrzędnymi (typ outextxy. Pierwsza przyjmuje tylko jeden string, druga trzy, z czego dwa pierwsze są integer) punktu na ekranie, od którego będzie wypisywany tekst, natomiast trzeci jest zmienn ą typu string lub łańcuchem znaków. Aby określi ć sposób wypisywania tekstu na ekranie możemy posłuży ć si ę procedurą SetTextStyle. Pobiera ona trzy parametry wywołania typu word. Pierwszy parametr określa krój pisma, drugi kierunek, natomiast trzeci rozmiar znaków. Dostępnych jest kilka stałych zdefiniowanych w module graph, które mog ą być użyte jako warto ść pierwszego parametru. S ą to: DefaultFont (0) domyślny krój, TriplexFont (1) krój triplex (znaki s ą wygładzone), SmallFont (2) małe znaki, SansSerifFont (3) krój bezszeryfowy, GothicFont (4) krój gotycki. Jako warto ść drugiego parametru możemy zastosowa ć stałe: HorizDir (0) kierunek poziomy, VertDir (1) kierunek pionowy. Procedura SetTextJustify pozwala określi ć wyrównanie tekstu w pionie i poziomie. Przyjmuje ona dwa parametry typu word. Pierwszy z nich może by ć jedną z trzech stałych, określających sposób wyrównania tekstu w poziomie: LeftText (0) wyrównanie do strony lewej, CenterText (1) wyśrodkowanie tekstu, RightText (2) wyrównanie do strony prawej tekstu. Jako drugi parametr wywołania, określający wyrównanie tekstu w pionie, może zostać przekazana jedna z trzech następujących stałych: BottomText (0) wyrównanie w dó ł, CenterText (1) wyśrodkowanie i TopText (2) wyrównanie w gór ę. Jeśli chcemy pozna ć wymiary tekstu w pikselach, to możemy zastosowa ć dwie funkcje: TextHight która zwraca warto ść typu word, określając ą wysoko ść tekstu i TextWidth, która równie ż zwraca warto ść TextSettingsType = record Font:Word; Direction: Word; CharSize: Word; Horiz: Word; Vert: Word; 12

13 typu word, ale określając ą szeroko ść tekstu. Obie funkcje jako parametr wywołania przyjmuj ą łańcuch znaków lub zmienn ą typu string. Jeśli chcemy pozna ć parametry wyświetlania tekstu, to musimy uży ć procedury GetTextSettings. Przyjmuje ona tylko jeden parametr wywołania, będący zmienn ą typu TextSettingsType. Definicja typu, która jest umieszczona w module graph została podana w ramce na poprzedniej stronie. Pole Font zawiera informacje o kroju, pole Direction zawiera informacje o kierunku wypisywania, pole CharSize zawiera informacje o rozmiarze znaków, pole Horiz zawiera informacje o wyrównaniu pionowym tekstu, pole Vert o wyrównaniu poziomym. 13

Moduł graph w Pascalu

Moduł graph w Pascalu Moduł graph w Pascalu Wykład: uses graph, InitGraph, Detect, SetGraphMode, kolory, wypełnienia, linie, SetFillStyle, FloodFill, SetLineStyle, SetTextStyle, OutTextXY, SetTextJustify, GetMaxX, ClearDevice,

Bardziej szczegółowo

Wykład VII PASCAL - grafika;

Wykład VII PASCAL - grafika; Podstawy programowania Wykład VII PASCAL - grafika; 1 Procedura InitGraph() InitGraph ( var sterownik,tryb:integer; katalog:string ); biblioteka: GRAPH Służy do włączenia trybu graficznego. Możliwe sterowniki

Bardziej szczegółowo

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2) Grafika w Pascalu. Do tej pory, tworząc programy w Pascalu, wykorzystywaliśmy jedynie tryb tekstowy. Jednak Pascal, tak jak i inne języki programowania, umoŝliwia korzystanie równieŝ z trybu graficznego.

Bardziej szczegółowo

Tryb graficzny w Pascalu

Tryb graficzny w Pascalu Komputer może pracować w trybach: qq qq graficznym (ang. graphics mode), tekstowym (ang. text mode, character mode). Fachowcy nazywają grafikę tworzoną za pomocą Turbo Pascala dla środowiska MS -DOS grafiką

Bardziej szczegółowo

GRAFIKA PROGRAMOWANA W PASCALU ==================================

GRAFIKA PROGRAMOWANA W PASCALU ================================== GRAFIKA PROGRAMOWANA Cg to kompletne środowisko programistyczne do szybkiego tworzenia efektów specjalnych i grafiki o kinowej jakości w czasie rzeczywistym dla wielu platform. Ponieważ język jest niezależny

Bardziej szczegółowo

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe Pakiet crt zawiera procedury i funkcje, które pozwalają na sterowanie trybem ekranu, kolorami, oknami i dźwiękiem. Opisy procedur są zawarte w pliku pomocy, można je wyświetlić z menu Help Standard units

Bardziej szczegółowo

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny Moduł graph Pascal - grafika Pascal zawiera standardowy moduł do tworzenia obiektów graficznych linii, punktów, figur geometrycznych itp. Chcąc go użyć należy w programie (w nagłówku) wstawić deklarację:

Bardziej szczegółowo

Okna i liczby pseudolosowe

Okna i liczby pseudolosowe 8.1. Okno graficzne ViewPort Zacznijmy od rzutu oka na tabelkę graficznych funkcji i procedur bibliotecznych. Znajduje się tam procedura graficzna SetViewPort(), która służy do tworzenia okien graficznych

Bardziej szczegółowo

GRAFIKA I ROZPOZNAWANIE OBRAZÓW

GRAFIKA I ROZPOZNAWANIE OBRAZÓW GRAFIKA I ROZPOZNAWANIE OBRAZÓW Podstawy programowania graficznego w środowisku MS DOS 1. Tryb tekstowy a tryb graficzny Ze względu na reprezentację wyświetlanych danych na ekranie można wyróżnić dwa tryby

Bardziej szczegółowo

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

8. Dynamiczne generowanie grafiki, cz. 2

8. Dynamiczne generowanie grafiki, cz. 2 8. Dynamiczne generowanie grafiki, cz. 2 8.1. Generowanie tekstu Chociaż tekst można umieścić na grafice korzystając z HTML (używając grafiki jako tła obiektu), często wygodniej jest umieścić tekst bezpośrednio

Bardziej szczegółowo

W zależności od posiadanej karty, różna może być rozdzielczość i liczba kolorów. Schemat programu. zainicjowanie grafiki. operacje w trybie graficznym

W zależności od posiadanej karty, różna może być rozdzielczość i liczba kolorów. Schemat programu. zainicjowanie grafiki. operacje w trybie graficznym GRAFIKA Moduł graphicsh zawiera funkcje umożliwiające: obsługę kart graficznych wybór i zmianę trybu graficznego rysowanie różnych figur geometrycznych z zastosowaniem linii o różnej grubości i fakturze

Bardziej szczegółowo

Podstawy Informatyki Wykład V

Podstawy Informatyki Wykład V Nie wytaczaj armaty by zabić komara Podstawy Informatyki Wykład V Grafika rastrowa Paint Copyright by Arkadiusz Rzucidło 1 Wprowadzenie - grafika rastrowa Grafika komputerowa tworzenie i przetwarzanie

Bardziej szczegółowo

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe. Programowanie Wizualno-Obiektowe (studia zaoczne - inżynieria komputerowa) Zajęcia z Delphi 5, program 1 Temat: Zadanie: Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków

Bardziej szczegółowo

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać

Bardziej szczegółowo

Część II Wyświetlanie obrazów

Część II Wyświetlanie obrazów Tło fragmentu ABA-X Display jest wyposażony w mechanizm automatycznego tworzenia tła fragmentu. Najprościej można to wykonać za pomocą skryptu tlo.sh: Składnia: tlo.sh numer oznacza numer

Bardziej szczegółowo

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012 Rysowanie precyzyjne 7 W ćwiczeniu tym pokazane zostaną wybrane techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2012, między innymi wykorzystanie punktów charakterystycznych. Narysować

Bardziej szczegółowo

Grażyna Koba. Grafika komputerowa. materiały dodatkowe do podręcznika. Informatyka dla gimnazjum

Grażyna Koba. Grafika komputerowa. materiały dodatkowe do podręcznika. Informatyka dla gimnazjum Grażyna Koba Grafika komputerowa materiały dodatkowe do podręcznika Informatyka dla gimnazjum Rysunki i animacje w Edytorze postaci 1. Rysunek w Edytorze postaci Edytor postaci (rys. 1.) jest częścią programu

Bardziej szczegółowo

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania. Elementy programu Paint Aby otworzyć program Paint, należy kliknąć przycisk Start i Paint., Wszystkie programy, Akcesoria Po uruchomieniu programu Paint jest wyświetlane okno, które jest w większej części

Bardziej szczegółowo

Podstawy Programowania semestr drugi. Wykład czternasty

Podstawy Programowania semestr drugi. Wykład czternasty Wykład czternasty 1. Polimorfizm Ostatni wykład zakończyliśmy stwierdzeniem, że możemy obiektowi dowolnej klasy przypisa ć obiekt klasy dziedziczącej po tej klasie. Przypisanie takie obejmuje jednak jedynie

Bardziej szczegółowo

3 Biblioteka WinBGIm. 3.1 Powstanie biblioteki WinBGI(m).

3 Biblioteka WinBGIm. 3.1 Powstanie biblioteki WinBGI(m). 3 Biblioteka WinBGIm J a c e k Ta r a s i u k 3.1 Powstanie biblioteki WinBGI(m). Na początku lat 90-tych XX wieku firma Borland udostępniła pierwszą prostą bibliotekę graficzną współpracującą z jej kompilatorami

Bardziej szczegółowo

KATEGORIA OBSZAR WIEDZY

KATEGORIA OBSZAR WIEDZY Moduł 6 - Grafika menedżerska i prezentacyjna - od kandydata wymaga się umiejętności posługiwania się programem komputerowym do tworzenia. Zdający powinien posiadać umiejętności wykonania następujących

Bardziej szczegółowo

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2. Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo

Bardziej szczegółowo

Rysowanie precyzyjne. Polecenie:

Rysowanie precyzyjne. Polecenie: 7 Rysowanie precyzyjne W ćwiczeniu tym pokazane zostaną różne techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2010, między innymi wykorzystanie punktów charakterystycznych. Z uwagi na

Bardziej szczegółowo

3.4. Opis konfiguracji layoutów.

3.4. Opis konfiguracji layoutów. Definicja layout-ów dla tablicy odczytywana jest z tabeli w bazie danych: [UnitId_System] Gdańsk = 42, Gdynia = 43 [UnitId_Subsytem] 6 = TZT, 7 = ZZT [UnitId_Unit] identyfikator obiektu [Update_TimeStamp]

Bardziej szczegółowo

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Wykład 11 Grafika 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Grafika GDI+ GDI+ - Graphics Device Interface jeden z trzech podstawowych komponentów

Bardziej szczegółowo

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku WYKŁ 3 WYPŁNINI OSZRÓW. Wypełnianie wieloboku Zasada parzystości: Prosta, która nie przechodzi przez wierzchołek przecina wielobok parzystą ilość razy. Plan wykładu: Wypełnianie wieloboku Wypełnianie konturu

Bardziej szczegółowo

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory GRAFIKA Rodzaje grafiki i odpowiadające im edytory Obraz graficzny w komputerze Może być: utworzony automatycznie przez wybrany program (np. jako wykres w arkuszu kalkulacyjnym) lub urządzenie (np. zdjęcie

Bardziej szczegółowo

Maskowanie i selekcja

Maskowanie i selekcja Maskowanie i selekcja Maska prostokątna Grafika bitmapowa - Corel PHOTO-PAINT Pozwala definiować prostokątne obszary edytowalne. Kiedy chcemy wykonać operacje nie na całym obrazku, lecz na jego części,

Bardziej szczegółowo

TWORZENIE OBIEKTÓW GRAFICZNYCH

TWORZENIE OBIEKTÓW GRAFICZNYCH R O Z D Z I A Ł 2 TWORZENIE OBIEKTÓW GRAFICZNYCH Rozdział ten poświęcony będzie dokładnemu wyjaśnieniu, w jaki sposób działają polecenia służące do rysowania różnych obiektów oraz jak z nich korzystać.

Bardziej szczegółowo

Microsoft Small Basic

Microsoft Small Basic Microsoft Small Basic Okno grafiki Szacowany czas trwania lekcji: 1 godzina Okno grafiki Podczas tej lekcji uzyskasz informacje na temat: Instrukcji używających obiektu GraphicsWindow. Właściwości obiektu

Bardziej szczegółowo

Tematy lekcji informatyki klasa 4a styczeń 2013

Tematy lekcji informatyki klasa 4a styczeń 2013 Tematy lekcji informatyki klasa 4a styczeń 2013 temat 7. z podręcznika (str. 70-72); sztuczki 4. i 5. (str. 78); Narysuj ikony narzędzi do zaznaczania i opisz je. 19 Zaznaczamy fragment rysunku i przenosimy

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

Rysowanie punktów na powierzchni graficznej Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.

Bardziej szczegółowo

Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Środowisko Delphi Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór

Bardziej szczegółowo

Ćwiczenie 1 Automatyczna animacja ruchu

Ćwiczenie 1 Automatyczna animacja ruchu Automatyczna animacja ruchu Celem ćwiczenia jest poznanie procesu tworzenia automatycznej animacji ruchu, która jest podstawą większości projektów we Flashu. Ze względu na swoją wszechstronność omawiana

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin

Bardziej szczegółowo

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0 Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0 UWAGA 1: Przed dokonaniem jakichkolwiek zmian, zalecamy skopiować wcześniej kod html modułu do pliku na lokalnym dysku. W przypadku problemów ułatwi

Bardziej szczegółowo

Wstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku...

Wstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku... Wstęp... 5 Pierwsze kroki... 7 Pierwszy rysunek... 15 Podstawowe obiekty... 23 Współrzędne punktów... 49 Oglądanie rysunku... 69 Punkty charakterystyczne... 83 System pomocy... 95 Modyfikacje obiektów...

Bardziej szczegółowo

Sylabus Moduł 4: Grafika menedżerska i prezentacyjna

Sylabus Moduł 4: Grafika menedżerska i prezentacyjna Sylabus Moduł 4: Grafika menedżerska i prezentacyjna Niniejsze opracowanie przeznaczone jest dla osób zamierzających zdać egzamin ECDL (European Computer Driving Licence) na poziomie podstawowym. Publikacja

Bardziej szczegółowo

Cel ćwiczenia: Celem ćwiczenia jest nabranie wprawy w rysowaniu kół i okręgów o zadanych rozmiarach.

Cel ćwiczenia: Celem ćwiczenia jest nabranie wprawy w rysowaniu kół i okręgów o zadanych rozmiarach. Cel ćwiczenia: Celem ćwiczenia jest nabranie wprawy w rysowaniu kół i okręgów o zadanych rozmiarach. Dodatkowo w zadaniu tym, ćwiczone są umiejętności w nadawaniu kolorów wypełnienia i obrysu oraz w używaniu

Bardziej szczegółowo

Programowanie. Grafika w języku j programowania. Klasa 2 Lekcja 16 GRAFIKA

Programowanie. Grafika w języku j programowania. Klasa 2 Lekcja 16 GRAFIKA Programowanie Grafika w języku j programowania Klasa 2 Lekcja 16 GRAFIKA Wprowadzenie Analizowane dotąd d programy pracują w trybie tekstowym, czyli mogą wyświetla wietlać na ekranie tylko pewien określony

Bardziej szczegółowo

Grafika komputerowa. Dla DSI II

Grafika komputerowa. Dla DSI II Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji

Bardziej szczegółowo

Tworzenie prezentacji w MS PowerPoint

Tworzenie prezentacji w MS PowerPoint Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Autokształtów Autokształt AUTOKSZTAŁTY Wstaw Obraz Autokształty Autokształty GDYNIA 2009

Autokształtów Autokształt AUTOKSZTAŁTY Wstaw Obraz Autokształty Autokształty GDYNIA 2009 szkolenie zespołu matematyczno-przyrodniczego W programach pakietu MS Office (Word, PowerPoint, Excel), zamiast importować grafikę, obrazki lub wykresy sami możemy je tworzyć przy użyciu Autokształtów.

Bardziej szczegółowo

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1) W odcinku III tworzyliśmy paski narzędzi. Umieszczaliśmy na panelach ikony, reprezentujące czynności (charakterystyczne dla edytorów tekstu). Musimy teraz przypisać każdemu przyciskowi jego czynność (wycinanie,

Bardziej szczegółowo

Programowanie w języku Pascal

Programowanie w języku Pascal Programowanie w języku Pascal Dr inż. Grażyna KRUPIŃSKA grazyna@novell.ftj.agh.edu.pl D-10 pokój 227 Od algorytmu do programu PROBLEM ALGORYTM PROGRAM ŹRÓDŁOWY wykonywalnego ETAPY PROGRAMOWANIA 0. WYBÓR-ZNALEZIENIE-

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4 1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4 1. Komputer i programy komputerowe Posługiwanie się komputerem i praca z programem

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt. Grafika w dokumencie Wprowadzanie ozdobnych napisów WordArt Do tworzenia efektownych, ozdobnych napisów służy obiekt WordArt. Aby wstawić do dokumentu obiekt WordArt: 1. Umieść kursor w miejscu, w którym

Bardziej szczegółowo

3.7. Wykresy czyli popatrzmy na statystyki

3.7. Wykresy czyli popatrzmy na statystyki 3.7. Wykresy czyli popatrzmy na statystyki Współczesne edytory tekstu umożliwiają umieszczanie w dokumentach prostych wykresów, służących do graficznej reprezentacji jakiś danych. Najprostszym sposobem

Bardziej szczegółowo

Szybkie tworzenie grafiki w GcIde

Szybkie tworzenie grafiki w GcIde Szybkie tworzenie grafiki w GcIde Opracował: Ryszard Olchawa Poniższy opis dotyczy aplikacji okienkowej w systemie Windows lub Linux bazującej na obiektowej bibliotece rofrm stworzonej w środowisku GcIde.

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Obsługa programu Paint. mgr Katarzyna Paliwoda

Obsługa programu Paint. mgr Katarzyna Paliwoda Obsługa programu Paint. mgr Katarzyna Paliwoda Podstawowo program mieści się w Systemie a dojście do niego odbywa się przez polecenia: Start- Wszystkie programy - Akcesoria - Paint. Program otwiera się

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV 1 Posługiwanie się komputerem i praca z programem komputerowym wymienia przynajmniej trzy podstawowe zasady ich, m.in.: dba o porządek na stanowisku

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający

1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający Instrukcja laboratoryjna 3 Grafika komputerowa 2D Temat: Obcinanie odcinków do prostokąta Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1

Bardziej szczegółowo

INFORMATYKA KLASA IV

INFORMATYKA KLASA IV 1 INFORMATYKA KLASA IV WYMAGANIA NA POSZCZEGÓLNE OCENY SZKOLNE 1. Komputer i programy komputerowe Posługiwanie się komputerem i praca z programem komputerowym wymienia przynajmniej trzy podstawowe zasady

Bardziej szczegółowo

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony Scilab - podstawy Scilab jest środowiskiem numerycznym, programistycznym i numerycznym dostępnym za darmo z INRIA (Institut Nationale de Recherche en Informatique et Automatique). Jest programem podobnym

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Kanwa, to komponent służący do rysowania. Można ją dodać w Designerze przeciągając komponent Canvas z sekcji Basic. W celu ustawienia obrazka jako

Bardziej szczegółowo

Dodawanie grafiki i obiektów

Dodawanie grafiki i obiektów Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,

Bardziej szczegółowo

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt Zadanie: Utwórz szablon rysunkowy składający się z: - warstw - tabelki rysunkowej w postaci bloku (według wzoru poniżej)

Bardziej szczegółowo

Tablice. Jones Stygar na tropie zmiennych

Tablice. Jones Stygar na tropie zmiennych Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),

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

Podstawy Programowania 1 Podstawy Grafiki 2D - część pierwsza Biblioteka Allegro. Plan. Wprowadzenie. Inicjacja i finalizacja. Notatki.

Podstawy Programowania 1 Podstawy Grafiki 2D - część pierwsza Biblioteka Allegro. Plan. Wprowadzenie. Inicjacja i finalizacja. Notatki. Podstawy Programowania 1 Podstawy Grafiki 2D - część pierwsza Biblioteka Allegro Arkadiusz Chrobot Zakład Informatyki 28 stycznia 2016 1 / 28 Plan Wprowadzenie Rysowanie prymitywów Obsługa klawiatury Animacja

Bardziej szczegółowo

. Podstawy Programowania 1. Podstawy Grafiki 2D - część pierwsza Biblioteka Allegro. Arkadiusz Chrobot. 28 stycznia 2016

. Podstawy Programowania 1. Podstawy Grafiki 2D - część pierwsza Biblioteka Allegro. Arkadiusz Chrobot. 28 stycznia 2016 .. Podstawy Programowania 1 Podstawy Grafiki 2D - część pierwsza Biblioteka Allegro Arkadiusz Chrobot Zakład Informatyki 28 stycznia 2016 1 / 28 Plan.1 Wprowadzenie.2 Inicjacja i finalizacja.3 Rysowanie

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Grafika rastrowa (bitmapa)-

Grafika rastrowa (bitmapa)- Grafika komputerowa Grafika rastrowa Grafika rastrowa (bitmapa)- sposób zapisu obrazów w postaci prostokątnej tablicy wartości, opisujących kolory poszczególnych punktów obrazu (prostokątów składowych).

Bardziej szczegółowo

Część I - Zarządzanie powierzchnią ekranu

Część I - Zarządzanie powierzchnią ekranu Ekran monitora podłączonego do urządzenia ABA-X Display jest zorganizowany w następujący sposób: Orientacja monitora może być pozioma (Pejzaż) lub pionowa (Potret). Cały ekran posiada domyśny numer :0,

Bardziej szczegółowo

Jak dodać własny szablon ramki w programie dibudka i dilustro

Jak dodać własny szablon ramki w programie dibudka i dilustro Aby dodać własną ramkę otwórz moduł administracyjny dibudkaadmin.exe, wejdź do zakładki Ramki, tła, id i następnie Edycja. 1. Kliknij przycisk Dodaj ramkę 2. Określ wymiary nowej ramki Jeżeli dodajesz

Bardziej szczegółowo

Skaner Mustek Scan Express

Skaner Mustek Scan Express INSTRUKCJA OBSŁUGI Nr produktu 884056 Skaner Mustek Scan Express Strona 1 z 14 Instalacja sterownika skanera TWAIN. Sterownik TWAIN jest modułem skanującym dostarczonym wraz Twoim skanerem. Jest on łatwo

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3 DODAJEMY TREŚĆ DO STRONY 1. Dockbar, CMS + wyszukiwarka aplikacji... 2 2. Dodawanie portletów... 3 Widok zawartości stron... 3 Omówienie zawartości portletu (usunięcie ramki itd.)... 4 3. Ikonki wybierz

Bardziej szczegółowo

KATEGORIA OBSZAR WIEDZY

KATEGORIA OBSZAR WIEDZY Moduł 3 - Przetwarzanie tekstów - od kandydata wymaga się zaprezentowania umiejętności wykorzystywania programu do edycji tekstu. Kandydat powinien wykonać zadania o charakterze podstawowym związane z

Bardziej szczegółowo

Sylabus Moduł 2: Przetwarzanie tekstów

Sylabus Moduł 2: Przetwarzanie tekstów Sylabus Moduł 2: Przetwarzanie tekstów Niniejsze opracowanie przeznaczone jest dla osób zamierzających zdać egzamin ECDL (European Computer Driving Licence) na poziomie podstawowym. Publikacja zawiera

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 Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Animacje z zastosowaniem suwaka i przycisku

Animacje z zastosowaniem suwaka i przycisku Animacje z zastosowaniem suwaka i przycisku Animacja Pole równoległoboku Naukę tworzenia animacji uruchamianych na przycisk zaczynamy od przygotowania stosunkowo prostej animacji, za pomocą, której można

Bardziej szczegółowo

BAZY DANYCH Panel sterujący

BAZY DANYCH Panel sterujący BAZY DANYCH Panel sterujący Panel sterujący pełni z reguły rolę centrum, z którego wydajemy polecenia i uruchamiamy różnorodne, wcześniej zdefiniowane zadania, np. wyświetlamy formularze lub drukujemy

Bardziej szczegółowo

Wymiarowanie i teksty. Polecenie:

Wymiarowanie i teksty. Polecenie: 11 Wymiarowanie i teksty Polecenie: a) Utwórz nowy rysunek z pięcioma warstwami, dla każdej warstwy przyjmij inny, dowolny kolor oraz grubość linii. Następnie narysuj pokazaną na rysunku łamaną warstwie

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer

Bardziej szczegółowo

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,

Bardziej szczegółowo

1. OPEN OFFICE RYSUNKI

1. OPEN OFFICE RYSUNKI 1. 1 1. OPEN OFFICE RYSUNKI 1.1 Wiadomości podstawowe Po uruchomieniu programu Draw okno aplikacji wygląda jak na poniższym rysunku. Składa się ono z głównego okna, w którym edytuje się rysunek oraz czterech

Bardziej szczegółowo

Platforma e-learningowa

Platforma e-learningowa Platforma e-learningowa skrócona instrukcja obsługi. Aby uruchomić platformę e-learningową, należy otworzyć przeglądarkę internetową, a następnie wpisać adres http://aok.learnway.eu/ - wyświetlony zostanie

Bardziej szczegółowo

Tik Z wiadomości wstępne

Tik Z wiadomości wstępne Tik Z wiadomości wstępne Zofia Walczak 17 lutego 2014 1 Co należy wiedzieć na początku Aby rozpocząć pracę z TikZ -em należy w preambule dokumentu wczytać pakiet używając polecenia \usepackage{tikz}. Tik

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Tematy lekcji zajęć komputerowych klasa 5b grupa 1 i grupa 2

Tematy lekcji zajęć komputerowych klasa 5b grupa 1 i grupa 2 Tematy lekcji zajęć komputerowych klasa 5b grupa 1 i grupa 2 1 Program nauczania. Przedmiotowy system oceniania. Regulamin pracowni komputerowej. - 7 punktów regulaminu potrafi powiedzieć, czego się będzie

Bardziej szczegółowo

1. Przypisy, indeks i spisy.

1. Przypisy, indeks i spisy. 1. Przypisy, indeks i spisy. (Wstaw Odwołanie Przypis dolny - ) (Wstaw Odwołanie Indeks i spisy - ) Przypisy dolne i końcowe w drukowanych dokumentach umożliwiają umieszczanie w dokumencie objaśnień, komentarzy

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3 Podstawy programowania, Poniedziałek 13.05.2015, 8-10 Projekt, część 3 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0 ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Grafika menedżerska i prezentacyjna. Sylabus

Bardziej szczegółowo

Scenariusz lekcji. Scenariusz lekcji. opisać działanie narzędzi przybornika. korzystać z Edytora postaci programu Logomocja;

Scenariusz lekcji. Scenariusz lekcji. opisać działanie narzędzi przybornika. korzystać z Edytora postaci programu Logomocja; Kolorowe neony Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Kolorowe neony 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: opisać sposób tworzenia animacji; wyjaśnić pojęcie klatka ; opisać działanie

Bardziej szczegółowo

Praca w programie Power Draft

Praca w programie Power Draft Praca w programie Power Draft Tworzenie mapy cyfrowej w oparciu o wyznaczone w terenie współrzędne I. Przygotowanie foldera roboczego 1. Na ostatnim (alfabetycznie np. D) dysku komputera: - sprawdzić czy

Bardziej szczegółowo