Materiały pomocnicze do Programowania komponentowego C++Builder Wydział Matematyki i Informatyki II rok studia licencjackie UŁ (* na prawach rękopisu ElŜbieta Kryś *) ((barrdzo brrudny BRUDNOPIIS)) update 20 luty 2010 Zasady zaliczenia przedmiotu Programowanie komponentowe : warunkiem zaliczenia przedmiotu jest ocena pozytywna z ćwiczeń i egzaminu; ocena końcowa: średnia waŝona (egzamin 1/2, laboratoria 1/2) egzamin składa się z części pisemnej oraz części praktycznej. warunkiem dopuszczenia do egzaminu jest zaliczenie ćwiczeń. Zasady zaliczenia części praktycznej przedmiotu Programowanie komponentowe Do dnia 31 maja 2010 r otrzymam od Państwa na CD programy Spis Treści: Programy_na_cwiczeniach Zadania_Builder6 Projekt_do_prezentacji Algorytmy_wzrostu Postrzeganie_głębi - programy pisane na zajęciach - programy z pliku zadania-builder6-01.doc - programy na prezentację - Temat do opracowania - Temat do opracowania. Programy_róŜne - dodatkowe programy Index plików: Programy na zajęcia - (10) Zadania Builder6 - (15) Projekt do prezentacji - (2) Algorytm wzrostu - (5 ) Postrzeganie głębi - (3).... Programy róŝne - (10) Razem: 50
Materiały pomocnicze z Programowania komponentowego C++Builder Ćwiczenia z podstawowymi komponentami (1) Forma podstawowa (2) Forma podstawowa właściwości i metody (3) Komponenty podstawowe Label, Button. (4) Komponenty podstawowe Label, Button. (5) Komponenty podstawowe Label, Button, ScrollBar (6) Komponenty podstawowe Label, Button, ScrollBar (7) Komponenty podstawowe Label, Button, RadioGroup, RadioButton (8) Komponenty podstawowe Label, Button, CheckBox (9) Komponenty podstawowe Label, Button, Edit, (10) Komponenty podstawowe Label, Button, Edit, Bitbutton (BitBtn) (11) Komponenty podstawowe Label, Button, TrackBar, (12) Komponenty podstawowe aplikacja Kalkulator-1 (13) Komponenty podstawowe aplikacja Kalkulator-2 Aplikacje proste (14) Komponenty podstawowe aplikacja Kalkulator binarny (15) Aplikacja Kalkulator ósemkowy (16) Komponenty podstawowe Timer-01- zegar (17) Aplikacja Timer-02 - stoper (18) Aplikacja Timer-03 - budzik (19) Aplikacja Timer-04 - scheduler (20) Aplikacja przelicznik walut-01 (21) Aplikacja Kalkulator kosztów - 01 (22) Aplikacja Kółko i krzyŝyk - 01 (23) Aplikacja Kółko i krzyŝyk 02 zaawansowana. (24) Aplikacja rzut ukośny bez grafiki. (25) Aplikacja waga 01 (26) Aplikacja Kalkulator statystyczny - 01 (27) Aplikacja Kalkulator statystyczny - 02 (28) Aplikacja szyfrant - 01 (29) Aplikacja linijka - 01... Grafika w Borland Builder (30) Podstawy - Canvas, Pen, typ TColor i funkcja RGB(r,g,b) (31) Podstawowe funkcje - Pixels [] []
Ćwiczenia z podstawowymi komponentami (1) Forma podstawowa Komponenty: Standard: Button. Podstawowa forma: kliknięcie na przycisku Exit o ile nie zalecono inaczej - powinno zakończyć aplikację. (2) Forma podstawowa - właściwości i metody Komponenty: Standard: Button. Ustaw właściwości formularza: Caption, Color, Font, Height, Left, Top, Width. Zaprogramuj metodę onclick aby po kliknięciu na formie następowało zamknięcie aplikacji. (3) Komponenty podstawowe Label, Button. Komponenty: Standard: Label, Button Na formie ułoŝone dwa buttony i label. W stanie początkowym Label ma barwę zieloną i text Go. Wciśnięcie przycisku "stop" zmienia barwę label na czerwoną i wyświetla text "STOP". Wciśnięcie przycisku "Idz" zmienia barwę label na zieloną i wyświetla text "Idz". (4) Komponenty podstawowe Label, Button. Komponenty: Standard: Label, Button. Na formie ułoŝone jeden button i label. Działanie jak w (3) ale wciśnięcie buttona zmienia na label barwę (na czerwoną) i text (Stop) i na buttonie text (Go).
Następne wciśnięcie buttona zmienia na label barwę (na zieloną) i text (Go) i na buttonie text (Idz). (5) Komponenty podstawowe Label, Button, ScrollBar Komponenty: Standard: Label, Button, ScrollBar. Zmieniając połoŝenie suwaka ScrollBar'ow wypisz na Label datę (rok (2004-2012), miesiąc i dzień. Uwaga: Zwróć uwagę aby dla odpowiednich miesięcy (np. luty) moŝna było ustawić odpowiednią wartość dni. (6) Komponenty podstawowe Label, Button, ScrollBar Standard: Label, Button, ScrollBar. Jak w zadaniu 5 ale dodaj ustawianie i wyświetlanie godzin i minut. (7) Komponenty podstawowe Label, Button, RadioGroup, RadioButton Standard: Label, Button, ScrollBar, RadioGroup, Radiobutton Jak w zadaniu 5 ale rok (2010-2016) i miesiąc wybieraj za pomocą radiobuttonów (pogrupowanych w RadioGroup). (8) Komponenty podstawowe Label, Button, CheckBox Standard: Label, Button, ScrollBar, CheckBox Jak w zadaniu 5 ale wyświetlane na Label daty i godziny wybieraj za pomocą Check Box'ów.
(9) Komponenty podstawowe Label, Button, Edit, Standard: Label, Button, Edit, (dostosować obrazek!) Po kliknięciu Button na Label powinna sie wyświetlić napis z Edit1. Przygotuj własną mapę bitową dla Bitbtn. (10) Komponenty podstawowe Label, Button, TrackBar, Standard: Label, Button, Win32: TrackBar Jak w zadaniu 5 ale zamiast zamiast dwóch ScrollBar'ów uŝyj TrackBar'ow. (11) Komponenty podstawowe aplikacja Kalkulator-1 Standard: Label, Button, Edit, BitBtn, (Bevel?), RadioButton, RadioGroup, ComboBox, Win32: TrackBar. UŜyj buttonów do wybrania rodzaju działania wynik wyświetl na label. (12) Komponenty podstawowe aplikacja Kalkulator-2 Jak w zadaniu 11, ale uŝyj zestawu RadioButton'ów do wybierania rodzaju działania.
Aplikacje proste (13) Komponenty podstawowe aplikacja Kalkulator binarny Zaprojektuj kalkulator binarny (do dodawania i mnoŝenia). (14) Aplikacja Kalkulator bin-2 Zaprojektuj kalkulator binarny który będzie wykonywał działania (odejmowanie) w uzupełnieniu do a) jedynki, b) dwóch, pokazując poszczególne fazy działania. (15) Aplikacja Kalkulator ósemkowy. Zaprojektuj kalkulator liczący w systemie ósemkowym i w systemie heksadecymalnym (do dodawania i mnoŝenia. (16) Komponenty podstawowe Timer-01- zegar Standard: dowolne, System: Timer Zaprojektuj zegarek "cyfrowy" wyświetlający godziny i minuty (wartości pobrane z zegara systemowego). (17) Aplikacja Timer-02 - stoper Zaprojektuj sekundnik/stoper z klawiszami "start" i "koniec", wyświetlający czas (z dokładnością do a) sekundy, b) 1/100 sek. ) między kliknięciem "start" a "koniec". (18) Aplikacja Timer-03 - budzik Zaprojektuj BUDZIK, który po upływie określonej liczby minut uruchomi dźwięk lub aplikację. Ustawiaj godzinę "budzenia": a) za pomocą suwaków b) za pomocą Edit.
(19) Aplikacja Timer-04 - scheduler Siadasz rano do komputera i masz do wykonania dwa zadania. Zadania wykonujesz częściami, na przemian, raz jedno, raz drugie, czasami robisz coś innego. Zaprojektuj aplikację która będzie zliczała sumę czasu spędzonego w ciągu dnia nad jednym i nad drugim zadaniem oddzielnie. Przyjmij, Ŝe zaczynając zadanie pierwsze klikasz na odpowiednim przycisku, kończąc je klikasz takŝe. Podobnie dla zadania drugiego. (20) Aplikacja przelicznik walut-01 Przelicznik walut PLN, USD, EUR, GBP. hrywna.. (21) Aplikacja Kalkulator kosztów - 01 Zaprojektuj GUI aplikacji dla kalkulatora kosztów. Napisz kalkulator obliczający koszty, np. eksploatacji auta, bloku mieszkalnego (elektryczność, gaz, woda co,śmieci, itp.), inne.
(22) Aplikacja Kółko i krzyŝyk - 01 Zaprojektuj GUI aplikacji dla gry w kółko i krzyŝyk -standard. Napisz grę w kółko i krzyŝyk. (23) Aplikacja Kółko i krzyŝyk 02 zaawansowana. Zaprojektuj GUI aplikacji dla gry w kółko i krzyŝyk na planszy 9x9. Wygrywa "gracz" który pierwszy postawi trzy, (cztery) swoje symbole. (24) Aplikacja rzut ukośny bez grafiki. Rzut ukośny = strzelanie z armaty. (25) Aplikacja waga 01 Zaprojektuj GUI dla "wagi" w supermarkecie. Napisz "program" dla wagi.
Aplikacja po kliknięciu przycisku "kliknij TEN przycisk aby zwaŝyć" powinna losować masę artykułu z przedziału od 10 dkg do 2.5 kg. (26) Aplikacja Kalkulator statystyczny - 01 Zaprojektuj i oprogramuj GUI kalkulatora "statystycznego", umoŝliwiającego wprowadzanie do 20 danych i obliczanie z nich średniej i odchylenia standardowego. (27) Aplikacja Kalkulator statystyczny - 02 Zaprojektuj i oprogramuj GUI kalkulatora "statystycznego" jak w zadaniu 26, ale dodaj dodatkowe funkcje i moŝliwości.
(28) Aplikacja szyfrant - 01 Zaprojektuj i oprogramuj GUI dla programu szyfrującego i deszyfrującego plik: a) z moŝliwością podania hasła (passwordu), b) z wyborem min. trzech algorytmów o róŝnych stopniach trudności. (29) Aplikacja linijka - 01 Zaprojektuj i oprogramuj GUI dla programu - "Miarka" do mierzenia odległości w pikselach między dwoma punktami na ekranie: a) niech prawy klik umoŝliwi zapis współrzędnych do pliku.
Grafika w Borland Builder (30) Podstawy - Canvas, Pen, typ TColor i funkcja RGB(r,g,b) Zapoznaj się z obiektem Canvas, Pen (jego atrybutami) i zmienna typu TColor. (31) Podstawowe funkcje - Pixels [] [] Narysuj w okienku sinusoidę wykorzystując Pixels[] []. (32) Podstawowe funkcje - Move To, LineTo Narysuj w okienku gwiazdę, pięciokąt. Zaprojektuj układ (prostokątny) współrzędnych i narysuj go w okienku. (33) Podstawowe funkcje - Move To, LineTo Zaprojektuj aplikację która narysuje w okienku układ współrzędnych i będzie "rysowała" wykres (dla x z przedziału [-2, 5], prosta, parabola, sinusoida) wg wzoru wpisanego w okienko Edit. (34) Podstawowe funkcje Rectangle, Ellipse Narysuj w okienku "lokomotywę" składające się z obiektów typu Rectangle i Ellipse.
Przykład Algorytm wzrostu Przykłady Postrzeganie głębi Projekt do prezentacji - POSTRZEGANIE GŁĘBI np. część teoretyczna Obraz stereoskopowy buduje wraŝenie trójwymiarowości przedmiotów i ich przestrzennego ułoŝenia przy zachowaniu parametrów głębi przestrzeni. Tworzą go dwa półobrazy składowe róŝniące się między sobą punktami widzenia przesuniętymi względem siebie o odległość tzw. bazy. Odległość bazy jest to róŝnica między środkami oczu u człowieka wynosząca w przybliŝeniu 63-65 mm. Przy współdziałaniu obu naszych oczu i w wyniku odbywającego się w naszym mózgu skomplikowanego procesu przekształcania, ta odmienność obrazów zanika i płaskie oddzielne obrazy zlewają się w jedno przestrzenne, wspólne wraŝenie. Zjawisko tworzenia się obrazu stereoskopowego podlega określonym prawom psychologicznym i fizycznym oraz zaleŝy od parametrów przestrzennych oglądanego obiektu. PoniŜej opisane są prawa i zaleŝności jakie mają wpływ na tworzenie obrazu trójwymiarowego.
Na ludzki system wzrokowy składają się oczy, mózg i włókna nerwowe łączące te organy. Cechy tego systemu są istotne w tworzeniu i odbieraniu obrazu trójwymiarowego. Bezpośrednimi receptorami obrazu u człowieka są oczy umieszczone z przodu głowy na tym samym poziomie. Środki ich są od siebie oddalone przeciętnie o 64 mm. Człowiek kieruje oczy zawsze w jedną stronę, a pola ich widzenia niemal w całości pokrywają się i wynoszą około 180. Ciało wodniste, soczewka i ciało szklis te to układ optyczny o zmiennej ogniskowej. Wiązadła soczewki potrafią rozciągać ją, dzięki czemu oczy są w stanie widzieć ostro na odległość od kilku centymetrów do kilku kilometrów. Układ ten charakteryzuje się, podobnie jak układ aparatu fotograficznego, głębią ostrości. Oznacza to, Ŝe obiekty znajdujące się w pobliŝu obiektu obserwowanego widziane są równieŝ ostro, natomiast obiekty połoŝone duŝo dalej lub duŝo bliŝej nie. Tęczówka oka pełni tutaj rolę przysłony. Obraz odwrócony i pomniejszony przez układ optyczny pojawia się na siatkówce, pokrytej duŝą ilością receptorów składających się z tzw. czopków i pręcików. Pręciki pozwalają określić poziom jasności oraz ruch, a czopki odpowiadają za rozpoznawanie kolorów. Informacja o obrazie z oczu przekazywana jest do mózgu. MoŜna stwierdzić z prac dotyczących percepcji oka, Ŝe z około miliarda bitów informacji docierających w ciągu sekundy do oczu, do świadomości dostaje się około sto.
Polecany podręcznik: Stasiewicz Andrzej C++ Builder Symulacje komputerowe Przykłady - tematy dowolne