Programowanie w C Biblioteka grafiki winbgim i tworzenie obiektów graficznych

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

Download "Programowanie w C Biblioteka grafiki winbgim i tworzenie obiektów graficznych"

Transkrypt

1 Programowanie w C Biblioteka grafiki winbgim i tworzenie obiektów graficznych Artur Opaliński (pokój E112) (p.wykład administracyjny) URL: (p.wykład administracyjny)

2 Treść wykładu Biblioteka winbgim Od C do C++ Otwieranie i wymiary okna graficznego Tworzenie i usuwanie graficznego Elementu prostego Elementu złożonego Z elementów prostych Z użyciem mapy Jako wielokąta Jako obrazu z pliku 2

3 Support for Yoda Master Slajdy nie były przygotowane z myślą o samodzielnej nauce. Przyjdź na wykład, żeby je lepiej zrozumieć! Zdobądź punkty bonusowe: Korzystając z informacji z wykładu, Internetu, własnych doświadczeń, itp. - opisz myśli z tej prezentacji dokładniej i złóż na Wiki! Zaznacz, które numery slajdów omawiasz 3

4 Biblioteka winbgim Biblioteka winbgim Nie należy do standardu C++ =Może nie być dostępna z każdym kompilatorem C++...jednak do większości kompilatorów istnieją jakieś biblioteki graficzne, o podobnym przeznaczeniu jest wzorowana na bibliotece Borland Graphics Interface Wymaga dodania do środowiska IDE Samej biblioteki, zawierającej m.in. skompilowane funkcje Definicji w pliku nagłówkowym Dość tradycyjna biblioteka... Nie wymaga znajomości programowania obiektowego Nie wprowadza złożonych pojęć Jest niewielka (ok. 100 funkcji) 4

5 Biblioteka winbgim od C do C++ winbgim jest napisana w C++ i tym samym wymaga programowania w C++ Gratuluję znajomości już dwóch języków (C i C++) Język C++ stanowi nadzbiór języka C Programy w C można kompilować jako progr. w C++ - wystarczy użyć kompilatora do C++ Każdy program w C jest programem poprawnym w C++ Oczywiście, program napisany w C jest ubogi - nie korzysta z dodatkowych cech oferowanych przez C++ 5

6 Od C do C++ Na większość platform kompilatory C i C++ są dystrybuowane razem Również kompilatory MinGW w naszym IDE Należy wskazać, którym kompilatorem ma być kompilowany kod źródłowy Najprostszą metodą wskazania jest wybór rozszerzenia nazwy pliku: Kod w pliku z rozszerzeniem *.C jest domyślnie kompilowany przez kompilator C Kod w pliku z rozszerzeniem *.CPP jest domyślnie kompilowany przez kompilator C++ 6

7 Wskazanie kompilatora Kod źródłowy (w dowolnym języku) W pliku o nazwie z rozszerzeniem *.C Kompilator C Kod wykonywalny (maszynowy) W pliku o nazwie z rozszerzeniem *.CPP Kompilator C++ Kod wykonywalny (maszynowy) Kod wykonywalny przeważnie dłuższy; przeważnie dodatkowe Warnings pomagające w kompilacji 7

8 Od C do C++ Stosowanie kompilatora C++ może wymagać pewnych zmian w programie, np: Plik powinien mieć rozszerzenie *.cpp, nie *.c Kompilatory C++ produkują bardziej precyzyjne Warnings Nie można upraszczać definicji main() pomijając jej typ: Poprawne w C: Poprawne w C++: main(){ int main() { /* */ tu kod programu /* */ tu kod programu } return 0; } // mozna pominąć w main() 8

9 Biblioteka winbgim Rozpoczęcie i zakończenie: Zanim program będzie mógł rozpocząć korzystanie z grafiki, musi otworzyć dodatkowe okno graficzne: int maxw, maxh; maxw = getmaxwidth(); maxh = getmaxheight(); initwindow( maxw, maxh ); //jaki szeroki jest ekran? //jaki wysoki jest ekran? //otwórz okno na cały ekran Ekran komputera składa się z punktów, tzw. pikseli, i stąd rozdzielczość, rozmiary, czy współrzędne 9 podawane są jako liczba punktów na ekranie.

10 Test Jak otworzyć okno zajmujące ¼ powierzchni ekranu? a) initwindow( getmaxwidth(), getmaxheight() ); b) initwindow( getmaxwidth()/4, getmaxheight()/4 ); c) initwindow( getmaxwidth()/2, getmaxheight()/2 ); d) initwindow( 1024/2, 768/2 ); 10

11 Test Jak otworzyć okno zajmujące ¼ powierzchni ekranu? a) initwindow( getmaxwidth(), getmaxheight() ); b) initwindow( getmaxwidth()/4, getmaxheight()/4 ); c) initwindow( getmaxwidth()/2, getmaxheight()/2 ); d) initwindow( 1024/2, 768/2 ); Nie wiadomo czy to okno w ogóle zmieści się na ekranie (w niektórych urządzeniach bywają mniejsze ekrany i rozdzielczości) jaką część powierzchni ekranu zajmie okno? 11

12 Biblioteka winbgim Rozpoczęcie i zakończenie: Po zakończeniu korzystania z grafiki, program powinien zamknąć okno graficzne: closegraph(); Nie jest to konieczne przy kończeniu programu wszystkie okna zostaną zamknięte przez system operacyjny Od chwili otwarcia okna graficznego, program ma do dyspozycji (co najmniej) dwa okna! 12 Jak wskazać, gdzie program ma wyświetlić animację?

13 Biblioteka winbgim Funkcje Operacje w oknie tekstowym: printf(), putchar(), puts(), scanf(), itd. z <stdio.h> Operacje w oknie graficznym: getmaxx() //zwraca rozmiar poziomy okna, w punktach getmaxy() //zwraca rozmiar pionowy okna, w punktach putpixel(x,y,kol) //punkt na współrzędnych (x,y) w kolorze o numerze kol getpixel(x,y) //zwraca kolor punktu na współrzędnych (x,y) line(xp,yp,xk,yk) // linia od punktu (xp,yp) do (xk,yx) circle(x,y,r) //koło o środku w (x,y) i promieniu r rectangle(xp,yp,xk,yk) // prostokąt od punktu (xp,yp) do (xk,yx) outtextxy(x,y,"tekst"); // napis tekst od współrzędnych (x,y) 13 getch(); // pobranie kodu klawisza; czeka na wciśnięcie

14 Biblioteka winbgim Test inicjalizacji grafiki Otwarcie okna graficznego wiąże się z tzw. inicjalizacją grafiki Zostaje przydzielona dodatkowo pamięć dla programu Zostają zainicjalizowane zmienne w bibliotece winbgim Żąda się od systemu operacyjnego otwarcia okna graficznego Każdy z powyższych kroków może zawieźć Brak pamięci Niemożliwe otwarcie okna graficznego Inne nieoczekiwane sytuacje Dlatego po zakończeniu działania initwindow() wcale nie należy zakładać w ciemno, ze program może już korzystać z pozostałych funkcji winbgim Skąd program może wiedzieć, czy udało mu się otworzyć okno 14 graficzne?

15 Biblioteka winbgim Test inicjalizacji grafiki #include <graphics.h> #include <stdio.h> int main() { int errorcode; Ten program musi być w pliku z rozszerzeniem nazwy *.CPP initwindow(getmaxwidth()/2, getmaxheight()/2); /* otwar cie okna graficznego */ errorcode = graphresult(); // czy inicjalizacja sie udala? if (errorcode!= grok) { // Inicjalizacja nieudana! :-( printf("blad BGI: %s\n", grapherrormsg(errorcode)); printf("wcisnij dowolny klawicz, zeby zakonczyc:"); getch(); } else 15

16 Biblioteka winbgim Test inicjalizacji grafiki (c.d.) { // zadziałało else, czyli inicjalizacja sie udala! :-) line(0, 0, getmaxx(), getmaxy()); //narysuj linie outtextxy(0,0," Udało się, widzisz grafikę!"); getch(); closegraph(); //zamknij okno graficzne } } 16

17 Biblioteka winbgim Test inicjalizacji grafiki (c.d.) Przydatne elementy podczas testu inicjalizacji grafiki: graphresult() - funkcja winbgim zwracająca liczbe typu int tzw. kod błędu, informujący czy winbgim nie natrafiła na problemy w ostatnio wykonywanej swojej funkcji. Zwrócenie wartości niezerowej oznacza problem. Po odczytaniu kodu błędu wartość przechowywana przez winb- GIm zostaje wyzerowana (wskazując, że wykonanie ostatniej funkcji t.j. graphresult() się powiodło). grapherrormsg() - funkcja winbgim zamieniająca liczbę typu int (kod błędu), podaną jako jej argument, na łańcuch znaków - komunikat w języku angielskim, który opisuje na czym polegał błąd. 17

18 Biblioteka winbgim Test inicjalizacji grafiki (c.d.) Przydatne elementy podczas testu inicjalizacji grafiki: grok stała liczbowa winbgim. Zwrócenie takiej liczby przez graphresult() oznaczająca brak problemów w winbgim. Jest zdefiniowana w graphics.h jako zero: # define grok 0 exit() - standardowa funkcja języka C/C++. Jej deklaracja jest jednak dołączana poprzez #include zawarte w pliku graphics.h nie trzeba zatem dodawać we własnym kodzie #include <stdlib.h>. Natrafienie na nią w programie oznacza natychmiastowe zakończenie całego programu. Wartość int przekazana jej jako argument jest wówczas wartością zwracaną przez cały program; zwyczajowo wartość niezerowa 18 oznacza błąd, ale w naszym projekcie nie gra ona roli.

19 Funkcja pomocnicza W dalszych przykładach dla uproszczenia będzie wykorzystywana funkcja: #include <graphics.h> #include <stdio.h> void initgrafiki(unsigned int x, unsigned int y) { int errorcode; initwindow(x, y); // proba otwar cia okna graficznego errorcode = graphresult(); // czy inicjalizacja sie udala? if (errorcode!= grok) { // Inicjalizacja nieudana! :-( printf("blad nr %d BGI przy otwieraniu okna (%d, %d): %s\n", errorcode, x, y, grapherrormsg(errorcode) ); printf("wcisnij dowolny klawicz, zeby zakonczyc:"); getch(); exit(-1); // zakończ program; koniec zabawy :-( } 19 }

20 TEST: Jakie są możliwe kody błędów winbgim? Jak sprawdzić wszystkie możliwe kody błędów winb- GIm? Czyli: co może w programie pójść nie tak podczas działania winbgim? 20

21 TEST: Jakie są możliwe kody błędów winbgim? Jak sprawdzić wszystkie możliwe kody błędów winb- GIm? Czyli: co może w programie pójść nie tak podczas działania winbgim? Odp 1: Zajrzyj w Internecie do dokumentacji funkcji graphresult() Odp2: Uruchom kod, który wyświetli wszystkie (16) możliwe komunikaty o błędach: #include <graphics.h> #include <stdio.h> int i; initgrafiki(getmaxwidth()/10, getmaxheight()/10); /*malutkie okno; konieczne tylko, żeby zainicjalizować winbgim */ for(i=0; i>-16; i--) 21 printf("%d = %s\n", i, grapherrormsg(i));

22 Biblioteka winbgim Rozmiary ekranu i współrzędne na nim getmaxwidth() Otwarte okno graficzne winbgim getmaxheight() 22

23 Biblioteka winbgim Rozmiary ekranu i współrzędne na nim getmaxwidth() getmaxx() Otwarte okno graficzne winbgim getmaxy() getmaxheight() 23

24 Biblioteka winbgim Rozmiary ekranu i współrzędne na nim Punkt o współrzędnych (0;0) Otwarte okno graficzne winbgim Tak rośnie wartość y Tak rośnie wartość x Punkt o współrzędnych 24 (getmaxx(); getmaxy())

25 WinBGIm: Tworzenie prostego elementu Punkt #include <graphics.h> #include <stdio.h> Pierwszy argument to współrzędna x; drugi argument to współrzędna y, trzeci argument to kolor. Nazwy stałych liczbowych do oznaczenia kolorów patrz dokumentacja winbgim initgrafiki(getmaxwidth()/3, getmaxheight()/3); putpixel(5,15,white); /* ten punkt będzie blisko lewego górnego narożnika okna */ putpixel(getmaxx()-5,getmaxy()-15,yellow); /* ten punkt będzie blisko prawego dolnego narożnika okna */ 25

26 WinBGIm: Tworzenie prostego elementu Linie i prostokąty #include <graphics.h> #include <stdio.h> Argument pierwszy i drugi to współrzędne (x,y) jednego końca linii. Argument trzeci i czwarty to współrzędne (x,y) drugiego końca linii. Domyślny kolor rysowania. initgrafiki(getmaxwidth()/3, getmaxheight()/3); line(getmaxx(),0,0,getmaxy()) ;//przekątna od prawego górnego rogu do lewego dolnego */ rectangle(20,20,100,40); //prostokąt poziomy setcolor(green); Zmień domyślny kolor rysowania. //zmiana koloru rectangle(20,50,40,150); //prostokąt pionowy Argument pierwszy i drugi to współrzędne (x,y) lewego górnego narożnika prosto- 26 kąta. Argument trzeci i czwarty to współrzędne (x,y) prawego dolnego narożnika.

27 WinBGIm: Tworzenie prostego elementu Linie i prostokąty (c.d.) Do rysowania linii niekiedy mogą być wygodniejsze funkcje: void linerel (int dx, int dy); void lineto (int x, int y); Ich przeznaczenie doczytaj w dokumentacji winbgim 27

28 WinBGIm: Tworzenie prostego elementu Tekst w oknie graficznym #include <graphics.h> #include <stdio.h> initgrafiki(getmaxwidth()/3, getmaxheight()/3); outtextxy(10,160,"oto tekst"); ; //napis oto tekst Argument pierwszy i drugi to współrzędne (x,y) tekstu, t.j. jego lewego górnego narożnika. Sprawdź w dokumentacji winbgim: Jak zmienić kolor tekstu? Jak zmienić wielkość i krój czcionki? x=10 Jak zmienić kierunek tekstu (np. napisać pionowo) Jak zmienić justyfikację (ang. justify) tekstu? Sprawdź, co będze, gdy tekst nie zmieści się na ekranie lub gdy ma wiele linii y=160 oto tekst 28

29 WinBGIm: Tworzenie prostego elementu Tekst w oknie graficznym Funkcja outtextxy(), oraz podobna do niej outtext() to jedyne funkcje do wyświetlania znaków na ekranie graficznym Jako argument wymagają napisu: albo jako stałej łańcuchowej, albo jaki zmiennej łańcuchowej: x=10; y=160; v=oblicz(); char napis[]="twoja predkosc to:"; outtextxy(x, y, napis); Jak wyświetlić wartość stałej czy zmiennej liczbowej (np. powyżej zmiennej v, opisującej prędkość)? Czyli znaki: 0,1,2,3,4 29

30 Test: Tekst w oknie graficznym x=10; y=160; v=oblicz(); char napis[]="twoja predkosc to:"; outtextxy(x, y, napis); Jak wyświetlić wartość stałej czy zmiennej liczbowej (np. powyżej zmiennej v, opisującej prędkość)? Czyli znaki: 0,1,2,3,...,8,9, może z kropką dziesiętną, może z minusem, może w notacji wykładniczej (np.. 3.4E-10) a) outtext(x,y,v); b) outtext(x,y,"v"); c) outtext(x,y,"\v"); d) outtext(x,y,char(v)); e) outtext(x,y,"%f",v); f) nie ma takiej możliwości 30

31 Test: Tekst w oknie graficznym x=10; y=160; v=oblicz(); char napis[]="twoja predkosc to:"; outtextxy(x, y, napis); Jak wyświetlić wartość stałej czy zmiennej liczbowej (np. powyżej zmiennej v, opisującej prędkość)? Czyli znaki: 0,1,2,3,...,8,9, może z kropką dziesiętną, może z minusem, może w notacji wykładniczej (np.. 3.4E-10) a) outtext(x,y,v); b) outtext(x,y,"v"); c) outtext(x,y,"\v"); d) outtext(x,y,char(v)); e) outtext(x,y,"%f",v); f) nie ma takiej możliwości Biblioteka winbgim drukuje wyłącznie gotowe łańcuchy. Wkrótce poznamy w C/C++ sposób zamiany dowolnej liczby 31 na łańcuch.

32 WinBGIm: Tworzenie prostego elementu Wypełnanie Dotychczas prostokąty były rysowane tylko w postaci boków Żeby wypełnić figurę kolorem: Można ją od razu narysować wypełnioną kolorem Można ją od pokolorować później W każdym wypadku kolorowanie odbędzie się zgodnie z aktualnymi wartościami dwóch wewnętrznych zmiennych winbgim: koloru wypełnienia wzoru wypełnienia 32

33 WinBGIm: Tworzenie prostego elementu Wypełnanie Dotychczas prostokąty były rysowane tylko w postaci boków Żeby wypełnić figurę kolorem: Można ją od razu narysować wypełnioną kolorem Można ją od pokolorować później W każdym wypadku kolorowanie odbędzie się zgodnie z aktualnymi wartościami dwóch wewnętrznych zmiennych winbgim: koloru wypełnienia wzoru wypełnienia 33

34 WinBGIm: Tworzenie prostego elementu Wypełnanie setcolor(green); circle(200, 300, 100); /* narysuj okrąg w kolorze GREEN; niewypelniony */ floodfill (200, 300, GREEN); /* pokoloruj domyślnymi ustawieniami wzoru i koloru wypełnienia wszystkie punkty: --- poczynając od punktu (200, 300) t.j. od środka okręgu, --- aż do natrafienia na kolor GREEN) */ 34

35 WinBGIm: Tworzenie prostego elementu Wypełnanie setcolor(green); circle(200, 300, 100); /* narysuj okrąg w kolorze GREEN; niewypelniony */ setfillstyle(solid_fill, BLUE); /* zmień aktualne ustawienia wzoru i koloru wypełnienia */ floodfill (200, 300, GREEN); /* pokoloruj aktualnymi ustawieniami wzoru i koloru wypełnienia wszystkie punkty: --- poczynając od punktu (200, 300) t.j. od środka okręgu, --- aż do natrafienia na kolor GREEN) */ 35

36 WinBGIm: Tworzenie prostego elementu Wypełnanie setcolor(black); setfillstyle(line_fill, RED); /* zmień aktualne ustawienia wzoru i koloru wypełnienia na wypełnianie czerwonymi liniami*/ fillellipse (100, 200, 50, 50); /* narysuj koło (elipsę o promieniach 50 i 50, i środku w punkcie (100,200)) o obrzeżu czarnym, w aktualnych ustawieniach wypełnienia */ Zachodzące słońce? 36

37 Tworzenie prostego elementu Podsumowanie Tworzenie prostego elementu w trybie graficznym wymaga: Ustalenia współrzędnych, które mieszczą się w otwartym oknie Uwzględnienia przy tym że element ma swoje rozmiary, i zapewne cały ma się mieścić na ekranie Wyboru koloru (zawsze) Wyboru wypełnienia (dla figur innych niż punkt i linia) Oczywiście zawsze najpierw trzeba zainicjalizować okno graficzne 37

38 Tworzenie elementu złożonego Najprostsze tworzenie elementów złożonych to komponowanie ich z elementów prostych Jeżeli komponenty proste będą miały odpowiednio dobrane kolory obwodu, to można łatwiej wypełnić złożony element przez floodfill() Podobnie jak przy otwieraniu okna należy uwzględnić, że ekrany miewają różną rozdzielczość. Najlepiej, żeby wielkość obiektów była zależna od wielkości aktualnie otwartego okna. Współrzędne poszczególnych prostych elementów powinny być sparametryzowane względem wybranego punktu odniesienia (np. środka głowy) jeżeli zmieni się współrzędne głowy, wówczas łatwo przemieścić cała postać 9 prostokątów i jedno koło 38

39 Tworzenie elementu złożonego Jak tworzyć bardziej skomplikowane elementy, złożone z wielu punktów? Skoro można narysować punkt, to w czym problem z wieloma punktami? Rozwiązanie 1: skoro element składa się ze 100 punktów, to założyć zmienne x1..x100 i y1..y100 Wiele punktów, to Wiele np. współrzędnych do przechowywania...które trzeba aktualizować...które trzeba sprawdzać (mieszczą się na ekranie? Czy ich wyświetlenie nie zakryje innego elementu? Rozwiązanie 2: Przechowywać tylko współrzędne jednego narożnika elementu, zaś punkty składowe opisać mapą (tablicą dwuwymiarową) 39

40 Tworzenie elementu złożonego (c.d.) Ustalenie współrzędnych prowadzone tylko dla tego punktu Wszystkie pozostałe punkty elementu wyświetlane są zawsze na tych samych pozycjach względem lewego górnego narożnika Jak długo oba objęte czerwonym kółkiem punkty mieszczą się na ekranie, tak długo widać cały element 40

41 Tworzenie elementu złożonego z użyciem mapy #include <graphics.h> #define POKAZ 1 #define UKRYJ 0 #define SZER 18 #define WYS 22 41

42 Tworzenie elementu złożonego z użyciem mapy (c.d.) void samolot(int x, int y, int widzialny){ int w,k; char rys[wys][szer]={ {0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,1,1, 1,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,1,1, 1,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,0}, {0,0,0,0,1,1,1,1,1, 1,1,1,1,1,0,0,0,0}, {0,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,0}, {1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1}, {1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1}, {0,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,0}, {0,0,0,0,1,1,1,1,1, 1,1,1,1,1,0,0,0,0}, {0,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,0}, {0,0,0,0,0,0,0,1,1, 1,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,0}, {0,0,0,0,1,1,1,1,1, 1,1,1,1,1,0,0,0,0}, {0,0,0,0,1,1,1,1,1, 1,1,1,1,1,0,0,0,0} }; Wartości 0 oznaczają, że dany piksel nie ma być rysowany; wartości 1 że dany piksel ma być rysowany. Ew. zamiast wartości 0 i 1 można podawać numery koloru piksela 42

43 Tworzenie elementu złożonego z użyciem mapy (c.d.) kontynuacja funkcji samolot() rysowanie elementu na pozycjach (w;k) względem lewego górnego narożnika (x;y): for(w=0;w<wys;w++) for(k=0;k<szer;k++) if(widzialny) { if(rys[w][k]==1) // jak uzyskać kolorowy obrazek? putpixel(x+k,y+w, YELLOW); } else { if(rys[w][k]==1) putpixel(x+k,y+w, BLACK); } } 43

44 Tworzenie elementu złożonego, z użyciem mapy: wady Powolność wywołanie funkcji samolot()...rysuje SZER*WYS punktów Oko ludzkie rejestruje momenty na ekranie, gdy element nie jest w całości narysowany Rozwiązania: Przyspieszyć realizację funkcji samolot()? Jak? :-( Zmniejszyć ilość punktów do rysowania np. zauwazyć, że w kolejnej klatce większość punktów i tak zostanie narysowanych tam, gdzie (inne) punkty były w poprzedniej klatce Zastosować szybszy język programowania Funkcje winbgim są częściowo napisane w assemblerze, i dobrze zoptymalizowane 44

45 Tworzenie elementu złożonego jako wielokąta: fillpolly() Funkcja fillpoly() o nagłówku: void fillpoly (int numpoints, int polypoints[] )...rysuje dowolny wielokąt (=dowolny kształt), i zamalowuje jego wnętrze Działa bardzo szybko, mimo że rysuje wiele punktów Parametr numpoints podaje, z ilu wierzchołków składa się wielokąt Parametr polypoints[] to tablica liczb int, zawierająca współrzędne wierzchołków w postaci: {x1,y1, x2,y2, x3,y3,...} Współrzędne (x,y) pierwszego punktu, współrzędne (x,y) drugiego punktu, itd.. 45

46 Tworzenie elementu złożonego jako wielokąta: fillpolly(), c.d. Przed fillpoly() wcześniej warto wskazać kolor, oraz linię obwodu, oraz sposób wypełnienia: Nagłówek funkcji do ustawienia koloru linii obwodu: void setcolor(int color) Nazwa: setcolor() Nic nie zwraca Pobiera jeden parametr: liczbę określającą numer koloru Nagłówek funkcji do ustawienia stylu linii obwodu: void setlinestyle (int linestyle, unsigned upattern, int thickness) Nazwa: setlinestyle(); Nic nie zwraca linestyle to np. SOLID_LINE, wówczas upattern jest pomijany (można podać dowolną wartość) thickness to NORM_WIDTH (1 pixel) lub THICK_WIDTH (3 pixele) 46

47 Tworzenie elementu złożonego jako wielokąta: fillpolly(), c.d. Nagłówek funkcji do ustawienia stylu wypełnienia wielokąta: void setfillstyle (int pattern, int color); Nazwa: setfillstyle() Nic nie zwraca Parametr pattern określa szraf, np. SOLID_FILL Parametr color to numer koloru (np. YELLOW) 47

48 Tworzenie elementu złożonego jako wielokąta (DEMO) #include <graphics.h> #define WIERZCHOLKI 3 int obrys[wierzcholki*2]={ /*Trójkat równoramienny. Każdy wierzchołek ma 2 współrzędne */ 10,0, 0,20, 20,20 }; setlinestyle(solid_line,0,norm_width); /* obwód linią ciągłą, normalnej szerokości */ setcolor(black); // czarny kolor linii obwodu setfillstyle(solid_fill, YELLOW); // wypełnienie żółte fillpoly(wierzcholki, obrys); //narysuj wypełniony wielokąt 48

49 Tworzenie elementu złożonego jako wielokąta (DEMO) Niezamalowany wielokąt można utworzyć funkcją o nagłówku: void drawpoly (int numpoints, int polypoints[]) Taki wielokąt może być wypełniony kolorem i szrafem w dowolnym momencie. Szczegóły w dokumentacji wingbim 49

50 Tworzenie elementu złożonego jako obrazu Biblioteka wingbim pozwala wyświetlić jako element gotowy obraz Z pliku Z pamięci komputera Do wyświetlenia obrazu z pliku służy funkcja o nagłówku: void readimagefile( const char* filename, int left, int top, int right, int bottom ) Szczegóły w dokumentacji winbgim 50

51 Tworzenie elementu złożonego jako obrazu Do manipulowania obrazami w pamięci komputera służą funkcje o nagłówkach: unsigned imagesize (int left, int top, int right, int bottom); Podaje, ile miejsca przygotować w pamięci na zadany fragment obrazu pobrany z ekranu komputera void getimage (int left, int top, int right, int bottom, void bitmap[]); Kopiuje do zadanego miejsca w pamięci zadany fragment obrazu, pobrany z ekranu komputera void putimage(int left, int top, void bitmap[], int op); Przenosi obraz z pamięci na ekran, i nakłada go na istniejący w tym miejscu obraz zgodnie z operacją op 51

52 Usuwanie elementu graficznego Tło jednolite Główną metodą usunięcia elementy graficznego z ekrany jest zamalowanie go w kolorze tła Np. na jednolitym, czarnym tle można wyświetlić elementy: putpixel(a,b,white); //współrzędne a,b powinny mieścić się na ekranie setcolor(white); //wybierz kolor do rysowania okręgu poniżej circle(x,y,r); //zmienne x,y,r powinny zapewniać zmieszczenie elementu na ekranie...i usunąć te elementy, poprzez narysowanie ich w tym samym miejscu, w kolorze tła: putpixel(a,b,black); // jeśli tło było czarne element zniknie setcolor(black); circle(x,y,r); // jeśli tło było czarne element zniknie 52

53 Usuwanie elementu graficznego Tło niejednolite W przypadku, gdy tło nie jest jednolite (np. narysowana trawa), trzeba jego poprzednią zawartość - która była w tym miejscy przed narysowaniem nowego elementu - narysować na nowo zamalowując w ten sposób usuwany element Czyli poprzednią zawartość obszaru trzeba zapamiętać, przed narysowaniem elementu To (względnie) łatwe, jeśli ten oobszar to stały element tła, i wiadomo, jak go narysować Jeśli trudno jest odtworzyć tło, przed narysowaniem elementu trzeba zapamiętać obszar, przykrywany przez ten element, np. używając: unsigned int getpixel(int x, int y); void getimage (int left, int top, int right, int bottom, void bitmap[]); 53

54 Co powinienem wiedzieć? Znać podstawowe podobieństwa i róznice przy programowaniu w C i C++ Znać podstawowe funkcje do tworzenia i zamykania okna grafiki w winbgim Znać podstawowe funkcje wykorzystujące okno grafiki Umieć tworzyć proste obiekty graficzne Umieć tworzyć złożone obiekty graficzne, Z elementów prostych Opisane mapą punktów Opisane jako wielokąt (wierzchołkami) Umieć sprawdzić, czy obiekt w całości mieści się na ekranie Umieć odczytywać podstawowe informacje z prototypów funkcji Znać sposoby wypełniania obiektów kolorem i szrafem 54 Rozumieć problem usuwania obiektów graficznych

Instrukcja instalacji winbgim

Instrukcja instalacji winbgim Instrukcja instalacji winbgim 1. Przegląd instalacji Instalacja winbgim polega na przekopiowaniu w odpowiednie miejsca dwóch plików: pliku biblioteki, zawierającego m.in. skompilowane funkcje (libbgi.a),

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

Programowanie w C Wartości pseudolosowe i pomiar czasu

Programowanie w C Wartości pseudolosowe i pomiar czasu Programowanie w C Wartości pseudolosowe i pomiar czasu Artur Opaliński (pokój E112) e-mail: (p. wykład administracyjny) URL: (p. wykład administracyjny) Treść wykładu Generowanie wartości losowych Wartości

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

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

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty. Przyszedł czas na rysowanie własnych figur, czyli prymitywy, obracanie bitmap, oraz alpha blending-czyli półprzezroczystość. Będę opisywał tylko rzeczy nowe-nie ma potrzeby abym się powtarzał. Zaczynajmny

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

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

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

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

// 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

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

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

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Obsługa obrazków w PHP Wprowadzenie Tworzenie i niszczenie obrazka Kolory Funkcje od obsługi obrazków - 1 - Wprowadzenie Przygotowanie

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

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

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

Cykl lekcji informatyki w klasie IV szkoły podstawowej. Wstęp

Cykl lekcji informatyki w klasie IV szkoły podstawowej. Wstęp Cykl lekcji informatyki w klasie IV szkoły podstawowej Wstęp Poniżej przedstawiam cykl początkowych lekcji informatyki poświęconym programowi Paint. Nie są to scenariusze lekcji, lecz coś w rodzaju kart

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

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

Pokaz slajdów na stronie internetowej

Pokaz slajdów na stronie internetowej Pokaz slajdów na stronie internetowej... 1 Podpisy pod zdjęciami... 3 Publikacja pokazu slajdów w Internecie... 4 Generator strony Uczelni... 4 Funkcje dla zaawansowanych użytkowników... 5 Zmiana kolorów

Bardziej szczegółowo

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst

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

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. #include #include #include #include

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

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

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

Praktyka programowania projekt

Praktyka programowania projekt Praktyka programowania projekt Zadanie projektowe nr. 2 Gra PacMan K. M. Ocetkiewicz, T Goluch 19 listopada 2012 Plan prezentacji Opis 2 zadania projektowego Plan prezentacji Opis 2 zadania projektowego

Bardziej szczegółowo

Programowanie w językach wysokiego poziomu

Programowanie w językach wysokiego poziomu Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania Rok akademicki 2013/2014, Pracownia nr 10 2/20 Informatyka 1 Tablica elementów ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu Politechnika Białostocka - Wydział Elektryczny Elektrotechnika,

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

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

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

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

C Biblioteka G2. C.1 Koncepcja biblioteki G2.

C Biblioteka G2. C.1 Koncepcja biblioteki G2. C Biblioteka G2. J a c e k Ta r a s i u k C.1 Koncepcja biblioteki G2. Biblioteka graficzna G2 umożliwia tworzenie rysunków 2D z wykorzystaniem prostych funkcji rysujących. Niezwykle użyteczną cechą biblioteki

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

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

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

Utworzenie pliku. Dowiesz się:

Utworzenie pliku. Dowiesz się: Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

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

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

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

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

IX. Wskaźniki.(3 godz.)

IX. Wskaźniki.(3 godz.) Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Wskaźniki w C. Anna Gogolińska

Wskaźniki w C. Anna Gogolińska Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik

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

Tablice, funkcje - wprowadzenie

Tablice, funkcje - wprowadzenie Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

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

POMOC / INSTRUKCJA OBSŁUGI

POMOC / INSTRUKCJA OBSŁUGI POMOC / INSTRUKCJA OBSŁUGI 1. Powiększanie mapy 2. Plakat 3. Schemat lekcji 4. Broszura informacyjna 5. Instrukcja obsługi Pasek narzędzi i menu wyboru Zmiana skali mapy Mini mapa - podgląd na położenie

Bardziej szczegółowo

Informatyka I : Tworzenie projektu

Informatyka I : Tworzenie projektu Tworzenie nowego projektu w programie Microsoft Visual Studio 2013 Instrukcja opisuje w jaki sposób stworzyć projekt wykorzystujący bibliotekę winbgi2 w programie Microsoft Visual Studio 2013. 1. Otwórz

Bardziej szczegółowo

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

Bardziej szczegółowo

7. Dynamiczne generowanie grafiki

7. Dynamiczne generowanie grafiki 7. Dynamiczne generowanie grafiki 7.1. Biblioteka GD Dynamiczne generowanie kodu HTML to podstawowe zastosowanie języka PHP. Często jednak to nie wystarczy i mieszanka: dynamiczny HTML plus statyczna grafika,

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

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Dokumentacja dla Scandroid. Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Scandroid to aplikacja przeznaczona

Bardziej szczegółowo

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3, WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)

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

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres: Funkcje czyli wieloużywalność kodu Omówienie przekazywania argumentów: "przez

Bardziej szczegółowo

tablica: dane_liczbowe

tablica: dane_liczbowe TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica

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

Zmienne i struktury dynamiczne

Zmienne i struktury dynamiczne Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest

Bardziej szczegółowo

Wstęp. Opis programu :

Wstęp. Opis programu : Wstęp Program komputerowy to ciąg zrozumiałych dla komputera poleceń, każdy program jest napisany w jakimś języku programowania (np. C#, C++, Batch :), Java, Basic, PHP i wiele, wiele innych ). Każdy z

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja

Bardziej szczegółowo

Laboratorium 10: Maszyna stanów

Laboratorium 10: Maszyna stanów Wojciech Myszka Laboratorium 10: Maszyna stanów 2016-05-07 09:05:39 +0200 1. Wprowadzenie Laboratorium poświęcone jest operacjom na napisach (ciągach znaków). Przypominam, że: a to stała typu char o wartości

Bardziej szczegółowo

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Projekt graficzny z metamorfozą (ćwiczenie dla grup I i II modułowych) Otwórz nowy rysunek. Ustal rozmiar arkusza na A4. Z przybornika wybierz rysowanie elipsy (1). Narysuj okrąg i nadaj mu średnicę 100

Bardziej szczegółowo

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.

Bardziej szczegółowo

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni, Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja

Bardziej szczegółowo

Biblioteka standardowa - operacje wejścia/wyjścia

Biblioteka standardowa - operacje wejścia/wyjścia Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline

Bardziej szczegółowo

Co nie powinno być umieszczane w plikach nagłówkowych:

Co nie powinno być umieszczane w plikach nagłówkowych: Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

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

Praca w środowisku Visual Studio 2008, Visual C

Praca w środowisku Visual Studio 2008, Visual C Praca w środowisku Visual Studio 2008, Visual C++ 2008 mgr inż. Tomasz Jaworski tjaworski@kis.p.lodz.pl http://tjaworski.kis.p.lodz.pl/ Tworzenie aplikacji konsolowych 2 3 Tworzenie nowego projektu aplikacji

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

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH Wstęp Ten multimedialny program edukacyjny zawiera zadania konstrukcyjne pozwalające na samodzielne ćwiczenie i sprawdzenie wiadomości w zakresie konstrukcji podstawowych figur geometrycznych. Jest przeznaczony

Bardziej szczegółowo

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak: Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji

Bardziej szczegółowo

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Uruchamianie edytora OpenOffice.ux.pl Writer 9 Dostosowywanie środowiska pracy 11 Menu Widok 14 Ustawienia dokumentu 16 Rozdział 2. OpenOffice

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo