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 }; 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); 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
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*2 3 +0*2 2 +1*2 1 +0*2 0 =10 (10) System ósemkowy (0-7): 1234 (8) =1*8 3 +2*8 2 +3*8 1 +4*8 0 =668 (10) System dziesiętny (0-9): 1234 (10) =1*10 3 +2*10 2 +3*10 1 +4*10 0 =1234 (10) System szesnastkowy (0-9,A,B,C,D,E,F): 12AF (16) =1*16 3 +2*16 2 +10*16 1 +15*16 0 =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ą przez użytkownika z systemu binarnego na dziesiętny. 5. Napisz program w którym będzie zaimplementowana funkcja zamieniająca liczby z systemu dziesiętnego na system: a) Binarny, b) Ósemkowy, c) Szesnastkowym Zamiana liczby z systemu dziesiętnego na system dwójkowy: 14 10 = (8 + 4 + 2) 10 = (1000 + 100 + 10) 2 = 1110 2 Bądź też przez wyznaczenie reszty z dzielenia: 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: 1110 2 = 1*2 3 + 1*2 2 + 1*2 1 + 0*2 0 = 14 10 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: 14 10 = 1110 2
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