Język Programowania Obiektowego Programy dodatkowe

Transkrypt

Język Programowania Obiektowego Programy dodatkowe
Język Programowania Obiektowego
Programy dodatkowe
15 marca 2006
Część 1
1. Przygotuj program który wyświetla swoją (bądź autora) wizytówkę (pamiętaj, aby dać szansę użytkownikowi na przeczytanie wyników pracy programu).
2. Zmodyfikuj program z zadania pierwszego tak, aby program pytał, którą
z wizytówek powinien wydrukowac - swoją czy autora programu.
3. Program, zamieniający ułamki zwykłe na ułamki dziesiętne. Program wczytuje wartość licznika i mianownika, a następnie wyświetla wynik zamiany.
4. Napisz program obliczający i drukujący na ekranie objętości i pola powierzchni następujących brył:
ˆ kuli
ˆ prostopadłoscianu
ˆ stożka
(Pamiętaj, ze niezbedne wymiary program uzyskuje od uzytkownika ...)
5. Napisz program, który pyta o oceny z min. 5 róznych przedmiotów danego
ucznia / studenta, a nastepnie liczy srednia tych ocen. Sprawdz ponadto,
czy studentowi o takiej sredniej przysługuje stypendium naukowe (jesli
srednia > 4.1)
6. Napisz program, który drukuj piramidke postaci:
*
**
***
Piramidka moze byc tworzona z dowolnych znaków. Glebokosc piramidki
podaje uzytkownik
1
7. Napisz program, który drukuje na ekranie po wpisaniu przez użytkownika
wyrazu: hello piramidke postaci:
h
ee
lll
llll
ooooo
8. Przygotuj program, który będzie przeliczał złotówki na inne waluty (euro,
funty, franki, dolary) – użytkownik podaje kwotę w złotych, a dostaje listę wartości przeliczonych na inne waluty. Program powinien pytać użytkownika, na którą walutę należy przeliczyć kwotę w złotych (instrukcja
switch). Wartości przeliczników powinny zostać zdefiniowane w pliku projektu.
9. Używając dowolnie wybranej pętli przygotuj program, który liczy sumę
n pierwszych liczb, następnie wartość n!, a następnie sumę następującego
ciągu: 11 + 1 − 13 + 1 − 15 + . . . − n1 . Oczywiście wyniki obliczeń powinny
zostać zaprezentowane użytkownikowi na ekranie.
10. Używając dowolnie wybranej pętli napisz program, który oblicza wysokość
odsetek na rachunku bankowym w ciągu roku, przy założeniu, że zarówno
wysokość kwoty początkowej jak i oprocentowanie w skali roku, a także
długość okresu kapitalizacji (w dniach) podawane są przez użytkownika.
11. Napisz program, który wczyta 15 liczb różnych liczb całkowitych do jednowymiarowej tablicy, a następnie znajduje największą i najmniejszą z nich,
a także ich pozycje w zbiorze.
12. Napisz program, w którym zadeklarujesz i zainicjujesz dowolnymi wartościami (inicjacja w momencie deklaracji), dwie tablice liczb (10-15 pozycji), a następnie do trzeciej tablicy wpisz odpowiednio:
element pierwszy w tablicy 3 – sumę pierwszego elementu z tablicy 1 i
ostatniego z tablicy 2
element drugi w tablicy 3 – sumę drugiego elementu z tablicy 1 i przedostatniego z tablicy 2, itd.
13. Napisz program obliczający sumy kolumn, sumy wierszy i sumy obu przekątnych macierzy prostokątnej o ustalonym dowolnym wymiarze (np. 20
x 20). Zawartość i analizowany zakres macierzy wczytywana ma być od
użytkownika. Poza wyliczonymi sumami wyświetl również sama macierz.
2
Część 2
14. Napisz program, który odczytuje dane wejściowe aż do napotkania znaku
#, a następnie wyświetla każdy wpisany znak wraz z jego dziesiętnym
kodel ASCII. W jednym wierszu powinno znajdować się osiem par znak
- kod. Propozycja: użyj licznika znaków i operatora modulo (%) do wyświetlania znaku nowej linii w co ósmym cyklu pętli.
15. Napisz program, który pobiera liczby całkowite do momentu wpisania
przez użytkownika cyfry 0.Po zakończeniu wczytywania danych wejściowych program powinien wyświetlić ilość wpisanych liczb parzystych (z
wyłączeniem zera) i ich średnią wartość oraz ilość wpisanych liczb nieparzystych i ich średnią wartość.
16. Korzystając z instrukcji if..else, napisz program, który odczytuje dane
wejściowe do znaku #, zastępuje każdą kropkę wykrzyknikiem, a każdy
wykrzyknik - dwoma wykorzyknikami, oraz wyświetla liczbę zmian, jaką
wykonał.
17. Napisz program, który pobiera liczbę przepracowanych godzin w tygodniu,
a następnie wyświetla wynagrodzenie brutto, podatek oraz wynagrodzenie
netto. Przyjmij następujące wartości:
ˆ podstawowe wynagrodzenie = 40 zł/godz.
ˆ nadgodziny (powyżej 40 godzin w tygodniu) = 150 % podstawowego
wynagrodzenia
ˆ podatek
15 % dla pierwszych 1200 zł
20 % dla kolejnych 600 zł
25 % dla reszty wynagrodzenia.
użyj stałych # DEFINE.
3
18. Zmodyfikuj poprzednie zadanie tak, aby program wyświetlał menu pozwalające wybrać stawkę wynagrodzenia (zastosuj instrukcje switch). Po
uruchomieniu program powinien wyświetlać coś w rodzaju:
***********************************************************
Podaj liczbe odpowiadajaca zadanej stawce wynagrodzenia lub opcji:
1. 35 zł/godz.
2. 37 zł/godz.
3. 40 zł/godz.
4. 45 zł/godz.
5. wyjście
***********************************************************
W przypadku wybrania opcji od 1 do 4, program powinien poprosić o podanie liczby przepracowanych godzin. Po wyświetleniu wyników, program
powinien wrócić do menu. W przypadku wpisania wartości innej niż cyfry
z przedziału od 1 do 5, program powinien przypomnieć użytkownikowi o
dostępnych opcjach, a następnie wrócić do menu. Stawki wynagrodzenia
i podatku przedstaw za pomocą stałych #define.
19. Amerykańska skala podatkowa z roku 1988 była jedną najprostszych w
ostatnich czasach. Składała się ona z czterech kategorii, z których każda
zawierała dwie stawki. Oto jej podsumowanie:
kategoria
stan wolny
Głowa rodziny
Małżeństwo, rozliczenie wspólne
Małżeństwo, rozliczenie osobne
15
15
15
15
%
%
%
%
dochodu
dochodu
dochodu
dochodu
podatek
do 17850 $
do 23900 $
do 29750 $
do 14875 $
+
+
+
+
28
28
28
28
%
%
%
%
reszty
reszty
reszty
reszty
Na przykład, osoba stanu wolnego, która osiągnęła dochód w wysokości
20000 dolarów, jest winna państwu 0.15 × 17850 $ + 0.28 × (20000 $ 17850$). Napisz program, który pobiera kategorię i dochód podlegający
opodoatkowaniu, a nastepnie oblicza wysokość kwoty podatku. Użyj pętli
tak, aby użytkownik mógł obliczyć podatek dla kilku różnych przypadków
w czasie jednej sesji z programem.
4