Języki programowania z programowaniem obiektowym ...

6
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydzial Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium 7: Funkcje (cz.1), funkcje inline, funkcje biblioteki standardowej C++ Opracowali: dr hab. inż. Witold Beluch [email protected] dr inż. Jacek Ptaszny [email protected] Gliwice 2016

Transcript of Języki programowania z programowaniem obiektowym ...

Page 1: Języki programowania z programowaniem obiektowym ...

Instytut Mechaniki i Inżynierii Obliczeniowejwww.imio.polsl.pl fb.com/imiopolsl @imiopolsl

Wydział Mechaniczny TechnologicznyPolitechnika Śląska

Języki programowaniaz programowaniem obiektowym

Laboratorium 7:Funkcje (cz.1), funkcje inline, funkcje bibliotekistandardowej C++

Opracowali:

dr hab. inż. Witold [email protected]

dr inż. Jacek [email protected]

Gliwice 2016

Page 2: Języki programowania z programowaniem obiektowym ...

Języki programowania z programowaniem obiektowym. Laboratorium 7 1

1. Funkcje

Funkcja to podprogram realizujący jakieś zadanie, który najczęściej jako rezultat zwraca jakąś wartość,na przykład:

Funkcję wywołuje się poprzez podanie jej nazwy i umieszczonych w nawiasie argumentów, np.:

Podczas korzystania z funkcji trzeba pamiętać o następujących zasadach:— każda funkcja przed użyciem musi być zadeklarowana,— nie można definiować funkcji wewnątrz innej funkcji (również main),— funkcja może wywoływać inną funkcję.

Przykładowa deklaracja funkcji wygląda tak:

Przykład użycia funkcji:

Wyróżniamy argumenty funkcji:— formalne - występujące w definicji funkcji (w przykładzie: d),— aktualne – argumenty użyte w wywołaniu funkcji (w przykładzie: srednica).

Page 3: Języki programowania z programowaniem obiektowym ...

Języki programowania z programowaniem obiektowym. Laboratorium 7 2

Definicja funkcji może być również jej deklaracją, zawierającą treść funkcji. Przykład:

Wywołanie funkcji zwracającej rezultat samo w sobie ma wartość, jaką ma rezultat zwracany przez tąfunkcję, można je więc użyć w dowolnym wyrażeniu, np.:

Poniżej przedstawiono przykłady samej deklaracji funkcji:

Jeśli funkcja nie zwraca żadnej wartości, to po słowie kluczowym return nie może stać żadna wartość(można też to słowo pominąć):

2. Funkcje inline

Krótkie funkcje można definiować jako inline („w linii”). Funkcje takie mają następujące właściwości:— jest to sugestia (która może być zignorowana) dla kompilatora, by w miejscu wywołania wstawić treść tej

funkcji,— korzystanie z takich funkcji skutkuje skróceniem czasu działania programu,— definicja (nie tylko deklaracja) występuje przed pierwszym wywołaniem tej funkcji (zwykle na początku

programu lub w pliku nagłówkowym).

Page 4: Języki programowania z programowaniem obiektowym ...

Języki programowania z programowaniem obiektowym. Laboratorium 7 3

Przykład:

3. Przekazywanie danych do funkcji przez wartość

Przekazywanie argumentów do funkcji przez wartość powoduje, że funkcja pracuje na kopii przekazywa-nej zmiennej, więc nie ma możliwości jej modyfikowania. Z innymi metodami przekazywania argumentów,pozwalającymi na modysikowanie wartości przekazywanej zmiennej, zapoznasz się na dalszych laboratoriach.

Przykład:

Page 5: Języki programowania z programowaniem obiektowym ...

Języki programowania z programowaniem obiektowym. Laboratorium 7 4

4. Biblioteka standardowa C++

Programy w C++ składają się z części zwanych klasami i funkcjami. Biblioteka standardowa C++ zawierabogaty zbiór funkcji:— do przeprowadzania operacji matematycznych,— do manipulacji napisami i znakami,— sterujących operacjami wejścia/wyjścia,— sprawdzania błędów i wielu innych użytecznych operacji.

Korzystanie z bibliotek bardzo ułatwia pracę programisty (brak konieczności "powtórnego wymyślaniakoła"). Programy w C++ są zazwyczaj tworzone przez łączenie nowych funkcji i klas, napisanych przezprogramistę, z funkcjami i klasami z biblioteki standardowej C++ oraz z innych niestandardowych bibliotekklas ("wielokrotne użycie oprogramowania").

Funkcje i klasy biblioteki standardowej są udostępniane jako część środowiska programistycznego C++(zwykle dostarczane przez dostawców kompilatorów).

Wiele bibliotek klas specjalnego przeznaczenia jest dostarczanych przez niezależnych dostawców oprogra-mowania.

5. Wybrane funkcje z biblioteki standardowej

5.1. Plik nagłówkowy <cmath>

Niektóre funkcje trygonometryczne:

Funkcje trygonometryczne przyjmują wartości argumentów wyrażone w radianach.

Niektóre funkcje wykładnicze i logarytmiczne:

Potęgi i pierwiastki:

Page 6: Języki programowania z programowaniem obiektowym ...

Języki programowania z programowaniem obiektowym. Laboratorium 7 5

Inne przydatne funkcje:

Istotniejsze stałe matematyczne:

5.2. Plik nagłówkowy <cstdlib>

5.3. Plik nagłówkowy <cctype>

Czywiesz,że...

Wybierając specjalność ME8 możesz w ramach zajęćzajmować się budową i programowaniem urządzeniaz wykorzystaniem zestawów LEGO Mindstorms.Więcej:http://www.icme.polsl.pl/ME8_MSI.html