Funkcje, podprogramy
Jak go ulepszyć? Co będzie jak tych tablic będzie 100? A co będzie jak będą to różne tablice? A jak byśmy tak chcieli sobie ułatwić życie?
Funkcja w matematyce, to takie coś: f x = x 2 + 5
Funkcja w matematyce, to takie coś: f x = x 2 + 5 Ale tym Was męczyć nie będę
Funkcja w matematyce, to takie coś: f x = x 2 + 5 Jak działa? Jak się nazywa? Co potrzebuje, żeby działać?
Co zwraca? Jak się nazywa? Co potrzebuje, żeby działać? Jak działa?
Funkcja zawsze zwraca jakąś wartość, np. double w1 = sin(3.14); Procedura, to taka funkcja, która zwraca nic A nic, to void wyswietl(); Wartość zwracaną przez funkcję można przypisać.
1. Obniżenie kosztu 2. Niezawodność 3. Spójność 4. Mniejsza i łatwiejsza praca dla programistów przy wykorzystaniu gotowego kodu.
Funkcja/procedura Wywołanie Definicja Deklaracja Argumenty/parametry Rezultat Ciało funkcji
1. Napisz funkcje, która wyświetla losowo wybrane prawo Murphy ego na ekran. 2. Napisz funkcję, która liczy pole figury geometrycznej (double pole(double figura, double rozmiar1, double rozmiar2): koło, kwadrat, trójkąt. 3. Napisz funkcję sprawdzającą, czy liczba podana w parametrze jest pierwsza czy złożona. 4. Napisz funkcję zwracającą liczbę dzielników liczby podanej w parametrze. Hint: Jaki będzie rezultat wywołania: sizeof(tab)/sizeof(tab[0])?
Odp: a)3 ; 4 b)3 ; 3
Odp: a)3 ; 4 b)3 ; 3 Przy przekazywaniu parametrów przez wartość, wartość parametru aktualnego wywołania funkcji kopiowana jest do parametru formalnego funkcji. Od tego momentu parametr aktualny i formalny są od siebie niezależne.
Jeśli chcemy przekazać więcej parametrów niż jeden, np.
1. Zaprojektuj funkcję, która odczytuje liczby od użytkownika aż do podania 0. Funkcja ma zwrócić 0 lub 1 w zależności od tego czy tych liczb była parzysta czy nieparzysta liczba. Co więcej funkcja ma jednocześnie zwrócić sumą oraz iloczyn wszystkich podanych liczb. 2. Napisz program do konwertowania temperatury (Celcjusz, Kelwin, Farenheit). Odpowiednie zamiany mają być oddzielnymi funkcjami. Wykorzystaj referencję, aby dokonać zmian w miejscu.
Napisz funkcje, która wypełnia tablicę typu bool (rozmiar 10x10) w sposób losowy. Napisz funkcję, która dla dowolnie podanych współrzędnych obliczy liczbę jedynek w tablicy od współrzędnych do końca Przerób powyższą funkcję, aby domyślnie liczyła odległość od punktu (5,5).
Napisz program porównujący lokaty bankowe. Najpierw użytkownik wprowadza liczbę lokat bankowych, które chce porównać. Potem dla każdej lokaty wprowadza okres oszczędzania oraz oprocentowanie Opcjonalnie, użytkownik wpisuje kapitał początkowy (jeśli za kapitał wpisze 0, wtedy przyjmij, że ma 1000 zł) Na końcu program wyświetla która lokata da największe zyski z wpłaconej kwoty. Dodatkowo: niech program wyświetla ile użytkownik zarobi na każdej z lokat Z gwiazdką: uwzględnij dodatkowy parametr: kapitalizację odsetek Zadbaj o poprawne komunikaty dla użytkownika.
W pewnym teatrze zapanowały rządy partii tragicznej. Z tego też powodu wszystkie komedie muszą zostać zamienione na tragedie. Rzecz jasna jest to problem dość trudny, ale dla chcącego nic trudnego. Aby przejść od komedii do tragedii należy oczywiście pozamieniać wszystko na rzeczy przeciwne. Tekst literacki jest już opracowywany, natomiast owa partia ma problem z liczbami. I tu pojawiasz się Ty. Napisz program, który odwraca liczby pojawiające się na wejściu. Odbywa się to tak, że np. 1245 odwrócone to 5421 (zakładamy, że największa liczba na wejściu ma 7 cyfr). Rzecz jasna, jeśli odwracamy 1200, to omijamy zera z początku i wychodzi nam 21. Wniosek z tego taki, że zarówno 1200 jak i 120 po odwróceniu dają 21. Ale to nie wszystko. Do celów statystycznych, należy pododawać te odwrócone liczby i... odwrócić sumę. W pierwszej linii wejścia znajduje się liczba linijek do przetworzenia. Wejście Wyjście 3 24 1 34 4358 754 1998 305 794 1
Tu live demo
Napisz aplikację do transponowania podstawowych akordów gitarowych. Ma to być funkcja, która przyjmuje dwa parametry (liczbę od -7 7 oraz tablicę charów). Zmiana polega na zamianie dźwięku na kolejny zgodnie ze skalą: C, D, E, F, G, A, B Jeśli np. użytkownik każe zamienić C D F o 2 tony wyżej, to w wyniku mamy dostać E F A.
Napisz funkcje sortujące tablicę jednowymiarową: Charów Intów Doubli Każdą z parametrem czyrosnąco (jako domyślnie = TAK) Umieść te funkcje w oddzielnym pliku.h W tym samym pliku napisz funkcję generuj, która generuje tablice jednowymiarową dowolnym typem danych.
Napisz program, który oblicza całkę ograniczoną z funkcji wielomianowej. Użytkownik podaje stopień wielomianu oraz współczynniki przy kolejnych potęgach, a następnie górną i dolną granicę całkowania. Twoim zadaniem jest jej numeryczne (albo metodą trapezów) obliczenie.
Napisz aplikację walidator: PESELi - http://pl.wikipedia.org/wiki/pesel Nr kart kredytowych, IMEI: http://www.algorytm.org/sumykontrolne/algorytm-luhna-mod-10.html Tylko proszę nie zżynać gotowego rozwiązania, a pomyśleć samemu!