Opis lekcji
- Temat lekcji:
Tworzenie funkcji w języku C++. - Cel lekcji: Umiejętność utworzenia prostych funkcji, które nie zwracają wartości i zwracających wartość.
- W podręczniku mamy to w punkcie 2 na stronie 94.
Co trzeba zrobić:
- Zapoznać się z wiadomościami w podręczniku.
- Zobaczyć film, w którym są pokazane przykłady tworzenia funkcji:
- Przeanalizować poniższy przykładowy kod programu. Ułatwieniem są komentarze w kodzie programu.
- Wykonać zadanie do tematu.
Kod programu:
#include <iostream>
using namespace std;
// Definicja funkcji o nazwie suma1.
// Funkcja zwraca warttość (w definicji jest na początku typzwracanej wartości int).
// Ma ona 2 argumenty a i b typu całkowitego i zwraca wartość całkowitą (int)
int suma1(int a, int b) {
//deklaracja dodatkowej zmiennej wynik typu int
int wynik;
//obliczenie wartości zmiennej instrukcją przypisania
wynik = a + b;
//zwracanie wartości funkcji
return wynik;
}
// Definicja funkcji o nazwie suma2.
// Funkcja NIE zwraca warttości (w definicji jest na początku void).
// Ma ona 2 argumenty a i b typu całkowitego i w wyniku wyświetla wartość całkowitą wynik
void suma2(int a, int b) {
//deklaracja dodatkowej zmiennej wynik typu int
int wynik;
//obliczenie wartości zmiennej instrukcją przypisania
wynik = a + b;
//zwracanie wartości funkcji
cout <<"\n suma = " << wynik;
}
// Definicja funkcji o nazwie pole_kola1.
// Funkcja NIE zwraca warttości (w definicji jest na początku void).
// Ma ona 1 argument r typu całkowitego i w wyniku wyświetla wartość rzeczywistą wynik
void pole_kola1(int r) {
//pole koła liczymy ze wzoru P=PI*r*r, gdzie PI=3,1415
//wynik będzie liczbą rzeczywistą float
float wynik;
//ustawienie przybliżonej wartość liczby PI
float PI=3.14;
wynik = PI * r * r;
// wyświetlenie wartości funkcji
cout <<"\n pole kola o promieniu " << r << " wynosi: " << wynik;
}
// Definicja funkcji o nazwie pole_kola2.
// Funkcja zwraca warttość (w definicji jest na początku float).
// Ma ona 1 argument r typu całkowitego i w wyniku wyświetla wartość rzeczywistą wynik
float pole_kola2(int r) {
//pole koła liczymy ze wzoru P=PI*r*r, gdzie PI=3,1415
//wynik będzie liczbą rzeczywistą float
float wynik;
//ustawiamy przybliżoną wartość liczby PI
float PI=3.14;
wynik = PI * r * r;
//zwracanie wartości funkcji
return wynik;
}
//program główny
int main() {
cout << "\nPrzyklad 1 - uzycie funkcji zwracajacej wartosc";
// wyświetlenie sumy liczb 10 i 12
cout << "\n suma = " << suma1(10, 12);
cout << "\n\nPrzyklad 2 - uzycie funkcji, ktora NIE zwraca wartosci";
// wyświetlenie sumy liczb 10 i 12
suma2(10, 12);
cout << "\n\nPrzyklad 3 - pole kola za pomoca funkcji NIE zwracajacej wartosci: pole_kola1";
// wyświetlenie pola dla r=2
pole_kola1(2);
cout << "\n\nPrzyklad 4 - pole kola za pomoca funkcji zwracajacej wartosc: pole_kola2";
// wyświetlenie pola dla r=2
cout <<"\n pole kola o promieniu " << 2 << " wynosi: " << pole_kola2(2);
return 0;
}
Użycie kodu:
- Powyższy kod można wykorzystać w środowiski Dev C++. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
- Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh
ZADANIE:
- Utwórz w programie 2 funkcje obliczające objętość sześcianu o krawędzia długości a. Jedna z nich na zwracać wartość, a druga ma nie zwracać wartości.
- Zastosuj te funkcje w programie obliczając objętość dla przykładowych liczb.
- W programie zadeklaruj zmienną a typu int
- Poleceniem cin wczytaj wartość a z klawiatury.
- Użyj zmiennej a jako argumentu w funkcjach obliczających objętość.