Zespół Szkół Licealnych i Technicznych
w Tucholi
Zbiór zadań z programowania obiektowego w C++ Builder.
Opracował:
mgr inż. Piotr Pełczyński
Tuchola 2003r.
Wstęp
Praca zawiera zbiór 16 łatwych i 6 trudniejszych zadań, które można rozwiązywać rozpoczynając swoją przygodę z programowaniem w środowisku Borland C++ Builder. Ponadto pracę wzbogaciłem zrzutami ekranów do rozwiązywanych zadań.
Przy opracowywaniu zbioru korzystałem z:
A.Stasiewicz - C++ od podstaw - Edition 2000
A.Stasiewicz - C++Builder. Całkiem inny świat. - Helion 1998
A.Daniluk - C++ Builder 5. Ćwiczenia praktyczne. - Helion 2001
Opracowanie to można znaleźć także na stronie mojej szkoły pod adresem www.zslit.tuchola.pl w dziale Zasoby Edukacyjne.
Wszelkie uwagi proszę przesyłać na adres: piotrpel@tuchola.pl
ZADANIE 1
Napisz program, który po kliknięciu przycisku „PRZEPISZ” odczyta tekst z pierwszego edytora i przepisze go do edytora drugiego, dodając na początku tekstu słowo „KOPIA”. W momencie uruchomienia programu edytory są puste. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 2
Napisz program, który po kliknięciu przycisku „SPRAWDŹ HASŁO” odczyta tekst hasła z pierwszego edytora i jeśli hasło jest poprawne to w drugim edytorze pojawi się napis: „HASŁO POPRAWNE”, w przeciwnym razie pojawi się napis „PODAŁEŚ ZŁE HASŁO”. W momencie uruchomienia programu edytory są puste. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 3
Napisz program, który po kliknięciu w jeden (dowolny) z trzech przycisków z napisami „CZERWONY”, „ZIELONY”, „NIEBIESKI” zmieni kolor napisu „TO JEST KOLOROWY NAPIS” umieszczonego na formie na taki, jaki jest na przycisku. W momencie uruchomienia programu napis na formie jest czarny. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 4
Napisz program, który po kliknięciu w jeden (dowolny) z trzech przycisków z napisami „CZERWONY”, „ZIELONY”, „NIEBIESKI” wyświetli na formie napis: „JESTEM CZERWONY”, lub „JESTEM ZIELONY” lub „JESTEM NIEBIESKI”. W momencie uruchomienia programu na formie nie ma żadnego napisu. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 5
Napisz program, który po kliknięciu przycisku „POKAŻ DANE UCZNIA” wyświetli w komponencie Memo informacje (dane osobowo-adresowe) o pewnym uczniu. Dane o uczniu umieść w zmiennych (lub stałych) wewnątrz programu.
ZADANIE 6
Napisz program zawierający dwa przyciski „OBRAZEK 1”, „OBRAZEK 2” oraz komponent klasy TImage. Po kliknięciu w któryś z przycisków powinien pokazać się w TImage dowolny obraz odczytany z dysku - inny dla przycisku „OBRAZEK 1” i inny dla przycisku „OBRAZEK 2”. W momencie uruchomienia programu na formie nie ma żadnego widocznego obrazka. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 7
Napisz program z użyciem komponentu Timer, który będzie wyświetlał w różnych kolorach (np. losowych) napis: „JESTEM KOLOROWY” w odstępach, co pół sekundy. Napis powinien być komponentem Label. W momencie uruchomienia programu na formie nie ma żadnego napisu. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 8
Napisz program, który po kliknięciu w przycisk „ODCZYTAJ” pokaże w komponencie Memo zawartość pliku tekstowego odczytanego z dysku. Do odczytu pliku z dysku wykorzystaj OpenDialog. W momencie uruchomienia programu w Memo nie ma żadnego napisu. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 9
Napisz program, który pokaże w komponencie ListBox 5 nazw państw europejskich. Po wskazaniu na liście państwa i kliknięciu przycisku „JUŻ WYBRAŁEM” powinien się wyświetlić na formie napis: „WYBRAŁEŚ PAŃSTWO: nazwa”, gdzie nazwa jest nazwą państwa wybraną z listy. W momencie uruchomienia programu na formie nie ma żadnego napisu. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 10
Napisz program, który będzie zawierał cztery CheckBox'y z etykietami „1”, „2”, „4”, „8”. Po kliknięciu przycisku „START” program powinien w zależności od stanu CheckBox'ów obliczyć sumę liczb i wyświetlić ją w edytorze. W momencie uruchomienia programu w edytorze suma równa się zero i żaden CheckBox nie jest wybrany. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 11
Napisz program, który będzie zawierał menu główne z pozycjami „BIAŁY”, „CZERWONY”, „ZIELONY”. Kliknięcie danej pozycji menu wypisze w tytule okna tekst: „BIAŁY” lub „CZERWONY” lub „ZIELONY” i zamieni kolor tła okna na wybrany.
ZADANIE 12
Napisz program, który będzie zawierał menu podręczne z pozycjami „BIAŁY”, „CZERWONY”, „ZIELONY”. Kliknięcie danej pozycji menu wypisze w tytule okna tekst: „BIAŁY” lub „CZERWONY” lub „ZIELONY” i zamieni kolor tła okna na wybrany.
ZADANIE 13
Napisz program, który po wprowadzeniu do edytora dowolnej liczby całkowitej x i po kliknięciu przycisku „OBLICZ” wyświetla w komponentach Label wyniki obliczeń: 2*x, x^2, 1/x. W momencie uruchomienia programu na formie nie ma żadnych napisów. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 14
Napisz program, który po wprowadzeniu dowolnej liczby całkowitej do edytora i po wybraniu jednego z RadioButton'ów z etykietami: „razy 2”, „razy 3”, „razy 4” wyświetli w drugim edytorze wynik mnożenia przez 2 lub 3 lub 4. W momencie uruchomienia programu w edytorach nie ma żadnych napisów. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 15
Napisz program, który po każdym kliknięciu w przycisk „ZMNIEJSZ” zmniejsza szerokość i wysokość okienka o 5 pikseli. Jeżeli któryś z wymiarów okna będzie mniejszy niż 100 pikseli to kliknięcie powinno zakończyć program. Zadbaj o estetyczne rozmieszczenie komponentów i wygląd formy.
ZADANIE 16
Napisz program, który po każdym kliknięciu w przycisk „PRZESUŃ” przesunie tekst (komponent Label): „JESTEM PRZESUWANY” o 10 pikseli w lewo. Jeśli tekst osiągnie lewą krawędź okienka to, program powinien się zakończyć.
Zadania o podwyższonym stopniu trudności
ZADANIE 1
Napisz program, który dla dwóch danych liczb całkowitych a i b wyznaczy ich najmniejszy wspólny dzielnik (NWD) oraz największą wspólną wielokrotność (NWW). Ponadto niech program umożliwia zapis obliczeń do pliku.
ZADANIE 2
Napisz program, który będzie wykonywał cztery podstawowe działania na ułamkach zwykłych.
ZADANIE 3
Napisz program, który daną liczbę pieniędzy (np. 199zł 89gr) zamieni na nominały banknotów i monet. Ponadto niech program umożliwia zapis obliczeń do pliku.
ZADANIE 4
Napisz program, który daną liczbę całkowitą n zapisaną w systemie dziesiętnym zamieni na inne systemy pozycyjne ( od dwójkowego do szesnastkowego).
ZADANIE 5
Napisz program, który wyświetli graficzny zegar pokazujący bieżący czas systemowy. Ponadto program powinien na żądanie użytkownika pokazywać kalendarz na aktualny miesiąc.
ZADANIE 6
Napisz program, który będzie losował liczbę całkowitą z zadanego przedziału, a następnie będzie bawił się z użytkownikiem w zgadywankę podpowiadając czy zgadywana liczba jest za duża, czy za mała.