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