typ_zwracany nazwa_funkcji
Transkrypt
typ_zwracany nazwa_funkcji
Podstawy informatyki Informatyka Stosowana Zajęcia nr 5 autor: Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo – Hutnicza im. Stanisława Staszica w Krakowie, Rok akademicki: 2015/2016 Informacje teoretyczne Funkcje::Deklaracja, definicja użycie Deklaracja funkcji: • typ_zwracany nazwa_funkcji( argumenty ); Definicja funkcji: typ_zwracany nazwa_funkcji( argumenty ) { ciało funkcji }; Funkcja jest to część programu, która możemy wywołać w kodzie programu poprzez podanie jej nazwy w programie oraz poprzez (opcjonalne) przekazanie argumentów do funkcji. Uwaga! Możliwa jest jednoczesna deklaracja z definicja funkcji, ale musi się ona odbyć przed użyciem funkcji w kodzie Przekazywanie argumentów do funkcji jest opcjonalne. Możliwe jest również przekazywanie kilku argumentów jednocześnie. By to zrobić należy rozdzielić jest przecinkami. Przykład: int funkcja(int arg1, int arg2); Funkcje::Przeładowanie • Może istnieć zdefiniowanych wiele funkcji o tej samej nazwie z różną liczbą argumentów jednak ich deklaracja ma być jednoznaczna! Tablice Tablice::Tablice statyczne Odwoływanie się do elementów tablicy: int tab[3] = { 1, 2, 3 }; Wartości: tab[0] = 1; tab[1] = 2; tab[2] = 3; Jeśli umiemy się odwołać do elementu, możemy wywołać na nim: cin>>element; cout<<element; Tablice::Tablice statyczne Inicjalizacja tablicy statycznej dwuwymiarowej oraz podgląd w debbug’u. Systemy liczbowe Liczbowe systemy pozycyjne System dwójkowy (0,1): 1010(2)=1*23+0*22+1*21+0*20=10(10) System ósemkowy (0-7): 1234(8)=1*83+2*82+3*81+4*80=668(10) System dziesiętny (0-9): 1234(10)=1*103+2*102+3*101+4*100=1234(10) System szesnastkowy (0-9,A,B,C,D,E,F): 12AF(16)=1*163+2*162+10*161+15*160=4783(10) Zadania Zadania: 1a. Napisz program, w którym będzie zaimplementowana funkcja potęga (wykładnik ma być liczba całkowitą, uwzględnij wykładniki ujemne). 1b. Napisz funkcję przyjmującą dwie wartości X, Y wyświetlającą informację: Liczba X podniesiona do potęgi Y wynosi: wynik 2. Napisz program, w którym liczba podana przez użytkownika będzie przekazana do funkcji sprawdzającej czy jest ona liczbą pierwszą. Funkcja ma zwracać tylko prawdę lub fałsz. Wynik działania funkcji ma zostać przekazany do funkcji wyświetlającej informację: Liczba X jest/nie jest liczbą pierwszą Zadania: 3. Napisz program w którym będzie zaimplementowana tablica statyczna 1000 elementowa. a) uzupełnij tablicę wartościami losowymi z przedziału zadanego przez użytkownika, b) sprawdź czy tablica jest symetryczna (elementy tablicy mają być przekazane do funkcji sprawdzającej) c) zlicz ilość wartości parzystych, nieparzystych. d) wykonaj operacje (a,b,c) dla tablicy dwuwymiarowej. e) uzupełnij tablicę jedno- i dwuwymiarową wartościami losowymi w taki sposób, by spełniła warunek symetrii. Zadania: 4. Napisz program zamieniający liczbę wczytaną użytkownika z systemu binarnego na dziesiętny. przez 5. Napisz program w którym będzie zaimplementowana funkcja zamieniająca liczby z systemu dziesiętnego na system: Zamiana liczby z systemu dziesiętnego na system a) Binarny, dwójkowy: 1410 = (8 + 4 + 2)10 = (1000 + 100 + 10)2 = 11102 b) Ósemkowy, Bądź też przez wyznaczenie reszty z dzielenia: c) Szesnastkowym zamianę z systemu dwójkowego na inny można wykonać poprzez zapisanie liczby jako sumy potęg liczby 2 pomnożonych przez wartość cyfry w systemie, na który przekształcamy. Przykładowo przy zamianie liczby na system dziesiętny: 11102 = 1*23 + 1*22 + 1*21 + 0*20 = 1410 14 / 2 = 7 reszty 0 – cyfra jedności 7 / 2 = 3 reszty 1 – cyfra drugiego rzędu 3 / 2 = 1 reszty 1 – cyfra trzeciego rzędu 1 / 2 = 0 reszty 1 – cyfra czwartego rzędu Aby obliczyć wartość liczbową zapisujemy od końca cyfry reszt: 1410 = 11102 Zadania 6. Napisz program, który sprawdzi czy: a) podana liczba (int) b) podany wyraz znaków (typ string) c) podany ciąg znaków (możliwe spacje) jest palindromem (z wykorzystaniem tablic). Palindrom (gr. palindromeo – biec z powrotem) – to wyrażenie brzmiące tak samo czytane od strony lewej do prawej i od prawej do lewej. Aby sprawdzić czy dane słowo jest palindromem należy porównywać kolejne litery od końca oraz od początku – pierwszą od początku porównujemy z ostatnią, drugą z przedostatnią, itd. Prezentacja udostępniona na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Pewne prawa zastrzeżone na rzecz autorów. Zezwala się na dowolne wykorzystywanie treści pod warunkiem wskazania autorów jako właścicieli praw do prezentacji oraz zachowania niniejszej informacji licencyjnej tak długo, jak tylko na utwory zależne będzie udzielana taka sama licencja. Tekst licencji dostępny jest na stronie: http://creativecommons.org/licenses/by-sa/3.0/deed.pl