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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

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ć.

0x08 graphic

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.

0x08 graphic

ZADANIE 2

Napisz program, który będzie wykonywał cztery podstawowe działania na ułamkach zwykłych.

0x08 graphic

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.

0x08 graphic

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).

0x08 graphic

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.

0x08 graphic

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.

0x08 graphic

0x01 graphic