08 Funkcje rekurencjaid 7257 ppt

background image

Funkcje - rekurencja

Zajęcia 8

background image

Funkcje

- definicja

Ogólna postać

funkcji

w C++:

typZwracany nazwaFunkcji(listaParametrówWejściowychFunkcji)
{

ciało funkcji

}

Funkcja

nie zwracająca wartości

(procedura):

void nazwaFunkcji(listaParametrówWejściowychFunkcji)
{

ciało funkcji

}

Funkcja

zwracająca wartość

:

typZwracany nazwaFunkcji(listaParametrówWejściowychFunkcji)
{

ciało funkcji

return wyrazenie; //wyrazenie musi być typu typZwracany

}

background image

Funkcje

- przykłady

Przykład 1:

void piszLiczbe(int a)
{
cout << „Wartosc liczby wynosi: „ << a;
}

int main()
{
int n;
cout << ’’Podaj liczbe do wczytania: ’’;
cin >> n;
piszLiczbe(n);
return 0;
}

Przykład 2:

void suma(int a, int b)
{
return a+b;
}

int main()
{
int a,b;
cout << ’’Podaj dwie liczby a i b: ’’;
cin >> a;
cin >> b;
cout << ’’Suma liczb wynosi ’’ << suma(a,b);
return 0;
}

background image

Funkcje

- ćwiczenia

Zadanie 1

Napisz program z funkcjami:

int poleProstokata(int bok1, int bok2);

i

int obwodProstokata(int bok1, int bok2);

a następnie dwukrotnie wczytaj po dwie pary liczb całkowitych a i b (długości
boków prostokąta) i używając funkcji poleProstokata i obwodProstokata oblicz
i wyprowadź na ekran odpowiednie wyniki.

Zadanie 2

Popraw funkcje z Zadania 1 tak, aby zwracały wartość -1 o ile długości boków
przesłane do są liczbami ujemnymi.

Zadanie 3

Przerób funkcje z Zadania 1 na:

void poleProstokata(int bok1, int bok2);

i

void obwodProstokata(int bok1, int bok2);

tak aby realizowały problem zasygnalizowany w Zadaniu 2.

background image

Funkcje

– wartość i referencja

Parametry do funkcji możemy przekazywać na dwa sposoby przez

wartość

i przez

referencję

:

Przykład 1:

void zwiekszDwaRazy(int n)
{
n=2*n;
}

int main()
{
int n = 10;
zwiekszDwaRazy(n);
cout << n << endl;
return 0;
}

Przykład 2:

void zwiekszDwaRazy(int &n)
{
n=2*n;
}

int main()
{
int n = 10;
zwiekszDwaRazy(n);
cout << n;
return 0;
}

background image

Funkcje

– iteracja a rekurencja

Rozwiązanie obliczania silni z liczby n z użyciem rekurencji (czyli funkcji wywołującej
samą siebie) i bez rekurencji:

Przykład 1 (iteracja)

long long silnia(int n)
{
long long wynik=1;

for (int i=1; i<=n; i++)
wynik=wynik*i;

return wynik;
}

Przykład 2 (rekurencja)

long long silnia(int n)
{
if (n==0) return 1;

return n*silnia(n-1);
}

background image

Funkcje

– iteracja a rekurencja

Zadanie 1

Rozwiąż problem obliczania sumy n początkowych wyrazów w ciągu arytmetycznym.

Zadanie 2

Rozwiąż problem obliczania sumy n początkowych wyrazów w ciągu geometrycznym.

Zadanie 3

Rozwiąż problem obliczania wartości wielomianu n-tego stopnia w punkcie –
wykorzystaj schemat Horner’a.

background image

Praca domowa:

Zadanie

Napisz prosty kalkulator w C++ z wykorzystaniem funkcji: suma, różnica, iloczyn
oraz iloraz.


Document Outline


Wyszukiwarka

Podobne podstrony:
2009 04 08 POZ 06id 26791 ppt
2 Unia Europejska historia struktura funkcje ciekawostkiid 20887 ppt
08 Prototypowanie oprogramowaniaid 7587 ppt
08 Funkcje
08-Funkcja motywowania w procesie zarzdzania, materiaynaegzaminzpodst zarzdzaniaprzykadowytest
08 Krystalizacja polimerówid 7435 ppt
08 Oświadczenie woliid 7465 ppt
2 4 Funkcje rekurencyjne
08 funkcja liniowa rozwiązania
08 kompresja orogenyid 7583 ppt
08 Teoria Hollandaid 7523 ppt
08 ZAPALENIA (2)id 7290 ppt
08 Funkcje odp
08. FUNKCJE I ZADANIA ŚWIETLIC SZKOLNYCH, Pytania do licencjata kolegium nauczycielskie w Bytomiu
08 ognisko epidemiczeid 7586 ppt
08 funkcja wykladnicza 1

więcej podobnych podstron