Wyklad 3 funkcje wprowadzenie


Podstawy programowania. Wykład 3  wprowadzenie do funkcji
Małgorzata Nalbach-Moszyńska
5 Funkcje...........................................................................................................................2
5.1 Wywołanie funkcji..................................................................................................2
5.2 Definiowanie funkcji...............................................................................................3
5.3 Przekazywanie parametrów.....................................................................................6
5.4 Uwagi o tworzeniu funkcji ......................................................................................6
1
Podstawy programowania. Wykład 3  wprowadzenie do funkcji
Małgorzata Nalbach-Moszyńska
5 Funkcje
" Podstawowe  cegiełki , których buduje się program.
" W ka\dym programie musi być co najmniej jedna funkcja  main.
" Mo\e być wiele definicji i wywołań innych funkcji
5.1 Wywołanie funkcji
#include
#include // tu są prototypy funkcji matematycznych
//double sqrt(double); // prototyp funkcji sqrt-
// mo\na zamiast #include
using namespace std;
int main(){ //funkcja wywołująca
double arg= 0.25;
double wart;
wart = sqrt(arg); //sqrt - funkcja wywoływana,
//arg -argument funkcji
cout << "sqrt("<< arg<<") = "< //co zostanie wyswietlone?
return 0;
}
" Kompilator musi znać wszystkie identyfikatory występujące w programie. Musi
wiedzieć, \e:
o Identyfikator jest nazwą funkcji,
o typ wartości tej funkcji to ...
o liczbę i typy argumentów (parametrów funkcji)
Te informacje są zawarte w:
o definicji funkcji,
o prototypie funkcji.
" Oznacza to, \e przed wywołaniem funkcji musi wystąpić albo definicja albo prototyp
funkcji, w przeciwnym przypadku wystąpi błąd kompilacji;
" Standardowe pliki nagłówkowe zawierają prototypy funkcji standardowych np. plik
zawiera prototypy funkcji matematycznych. Przykłady:
sqrt (pierwiastek kwadratowy),
cos (cosinus),
log (logarytm naturalny),
log10 (logarytm dziesiętny).
2
Podstawy programowania. Wykład 3  wprowadzenie do funkcji
Małgorzata Nalbach-Moszyńska
Jak to działa?
Funkcja wywołująca Funkcja wywoływana
... kod funkcji sqrt()
int main(){
...
...
...
wart = sqrt(arg);
...
...
return()
//powrót do funkcji wywołującej
}
5.2 Definiowanie funkcji
Schemat definicji funkcji
( ){

}
Przykład Obliczanie pola prostokąta
double pole (double dlug, double szer){ //nagłówek funkcji
return dlug * szer; // ciało funkcji
// i zwracana wartosc
}
" Wartość zwracana  typ double
" Nazwa funkcji  pole
" Dwa argumenty dlug i szer ; oba typu double.
" Parametry w nagłówku definicji funkcji to parametry formalne, a parametry w
wywołaniu to parametry aktualne.
Je\eli nie interesuje nas wartość zwracana to nadajemy typ void i return bez
wartości.
3
Podstawy programowania. Wykład 3  wprowadzenie do funkcji
Małgorzata Nalbach-Moszyńska
Przykład  program z polem prostokąta najpierw definicje funkcji - potem wywołanie.
// definiowanie funkcji - obsługa prostokątów
// najpierw definicje funkcji - potem wywołanie
#include
using namespace std;
double pole (double dlug, double szer){
// funkcja pole oblicza pole prostokąta
cout <<"Wyliczam pole prostokata. Dlugosc "<<
dlug << " szerokosc " <// wydruk kontrolny,
//ułatwia testowanie
return (dlug * szer);
}
void wyswietlProst (double dl, double szer, double area){
// funkcja wyswietlProst wyświetla dane prostokąta
cout <<"Dane prostokata"<< endl;
cout <<"\t Dlugosc = "< cout <<"\t Szerokosc = "< cout <<"\t Pole = "< return;
}
int main(){
double dlug, szer, area;
// wczytujemy wymiary
cout <<"\t Dlugosc = ";
cin >> dlug;
cout <<"\t Szerokosc = ";
cin >> szer;
area = pole(dlug, szer); // obliczamy pole
wyswietlProst (dlug, szer, area);
return 0;
}
4
Podstawy programowania. Wykład 3  wprowadzenie do funkcji
Małgorzata Nalbach-Moszyńska
Przykład  program z polem prostokąta najpierw prototyp, potem wywołanie na końcu
definicja.
// definiowanie funkcji - obsługa prostokątów
// najpierw prototypy funkcji, potem wywołanie a na końcu
definicja
#include
using namespace std;
double pole (double dlug, double szer); // od razu ; bo to
prototyp
void wyswietlProst (double dl, double szer, double area);
// Poniewa\ wa\na jest tylko liczba i typy parametrów,
// to mo\na te\ tak:
//double pole (double, double);
//void wyswietlProst (double, double, double);
int main(){
double dlug, szer, area;
// wczytujemy wymiary
cout <<"\t Dlugosc = ";
cin >> dlug;
cout <<"\t Szerokosc = ";
cin >> szer;
area = pole(dlug, szer); //obliczamy pole
wyswietlProst (dlug, szer, area); // wyświetlamy dane
prostokąta
return 0;
}
double pole (double dlug, double szer){
// funkcja pole oblicza pole prostokąta
cout <<"Wyliczam pole prostokata. Dlugosc "<<
dlug << " szerokosc " <kontrolny,
//ułatwia
testowanie
return (dlug * szer);
}
void wyswietlProst (double dl, double szer, double area){
// funkcja wyswietlProst wyświetla dane prostokąta
cout <<"Dane prostokata"<< endl;
cout <<"\t Dlugosc = "< cout <<"\t Szerokosc = "< cout <<"\t Pole = "<5
Podstawy programowania. Wykład 3  wprowadzenie do funkcji
Małgorzata Nalbach-Moszyńska
return;
}
5.3 Przekazywanie parametrów
" Przez wartość  podczas wywołania tworzona jest kopia parametru (zmienna o takiej
samej nazwie);
" Skutki:
o nie mo\na zmienić wartości  po wyjściu z funkcji parametr zawsze ma taką samą
wartość, jak przy wywołaniu;
o mo\na wywoływać z wyra\eniem jako parametrem; np
double powierzchnia;
powierzchnia = pole (2+dlug, szer * 3);
5.4 Uwagi o tworzeniu funkcji
1. Pomaga zachować strukturę programu  projektować w stylu top-down.
2. Zwiększa czytelność programu.
3. Funkcja musi do czegoś słu\yć!
4. Zawiera ściśle określoną funkcjonalność  nie nale\y łączyć kilku działań. Jeśli
funkcja ma coś wyliczać, to nie powinna nic wyświetlać  do tego lepiej u\yć innej
funkcji.
5. Raz zdefiniowaną funkcję mo\na wielokrotnie, nawet w tym samym programie
wywoływać.
6. Ułatwia podział pracy w zespole  ka\dą funkcję mo\e pisać ktoś inny  biblioteki
funkcji.
6


Wyszukiwarka

Podobne podstrony:
Wyklad 3 funkcje wprowadzenie
Wyklad 2 FUNKCJE POCHODNA IN EKOL
Wyklad 5 FUNKCJE POCHODNA Biol 2012
Wykład 8 Funkcje skrótu
Wyklady z funkcji analitycznych I M Jarnicki
wykład 5 Funkcje wielu zmiennych
Wykład 01 Wprowadzenie do sieci telekomunikacyjnych
wyklad 3 Funkcje gestosci prawdopodobienstwa PL [tryb zgodności]
Matematyka Sem 2 Wykład Funkcje Uwikłane
IO Wyklad 01 Wprowadzenie
funkcje wprowadzenie
Jarnicki M Wykłady z funkcji analitycznych
Wykład 01 Wprowadzenie klasyfikacja
wykład funkcje rekurencyjne
wyklad i funkcje i definicje pieniadza

więcej podobnych podstron