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