Przejdź do głównej zawartości

4 klasa. Temat 15. Funkcje zwracające wartość w języku Python (2 lekcje)

 

Krok 1. Funkcje w języku Python

👉 Funkcje
Jeden fragment kodu może być użyty wielokrotnie w różnych miejscach programu. Taki blok nazywamy podprogramem
👉 W Pythonie realizowany jest za pomocą funkcji, która zwraca wartości lub wykonuje działania.
Na przykład funkcja input() jest przykładem funkcji (zwraca jako wynik działania łańcuch znaków), a funkcja print() jest przykładem procedury. 
👉 Użytkownik może zdefiniować własne funkcje. 



Słowo kluczowe def oznacza definicję funkcji – czyli właśnie tego powtarzalnego fragmentu programu. Po nagłówku zaczynającym się od def następuje blok kodu stanowiący tak zwane „ciało" funkcji. 

Ćwiczenie 1.
1) Przepisz program:


2) Zapisz program w pliku pod nazwą Pierwiastek.

Ćwiczenie 2.
1) Napisz funkcję, która będzie pobierać jedną liczbę jako parametr i zwracać jej kwadrat. 
2) Zapisz program w pliku pod nazwą Kwadrat.

Krok 2. Funkcje zwracające wartość z parametrami w języku Python

Zauważmy, że instrukcji return można użyć w kodzie funkcji wielokrotnie.

Ćwiczenie 3.
1) Przepisz program:


W zależności, od podanej pary liczb, wykonywanie funkcji jest przerywane albo po instrukcji if x > y:, albo po instrukcji else:

2) Zapisz program w pliku pod nazwą Większa_z_dwóch.

Ćwiczenie 4.
Napisz program sprawdzający, która z dwóch podanych liczb jest podzielna przez 3.

Krok 3. Co jest nie tak?

Ćwiczenie 5.
1) Co jest nie tak z poniższą definicją funkcji? 


2) Co jest nie tak z poniższą definicją funkcji?


  • a) Nie powinno się umieszczać żadnych wyrażeń w liniach po słowie return. W momencie, gdy wykonując wyrażenia z ciała funkcji dojdziemy do słowa retrun funkcja zwróci wartość i zakończu się jej wykonywanie.
  • b) Przed zwróceniem wartości wyrażenia x+y+z trzeba je obliczyć.
  • c) Funkcja nie może zwracać liczb.

3) Co zwróci poniższa funkcja?


  • a) None
  • b) Wartość sumy x + y + z
  • c) Ciąg znaków 'x + y + z'

Krok 4. Przykład funkcji z jednym parametrem, obliczającej sumę n liczb

Do magazynu sprzętu RTV dowożone są kilkakrotnie w ciągu miesiąca różne artykuły. Jak napisać program zliczający, ile sztuk każdego artykułu dostarczono we wszystkich dostawach łącznie?

Dane
  • liczba naturalna większa od zera l_dostaw_tv oznaczająca liczbę dostaw telewizorów, 
  • l_dostaw_tv liczb naturalnych większych od zera wprowadzonych kolejno i zapamiętywanych w zmiennej a, oznaczających odpowiednio wielkości kolejnych dostaw telewizorów.
Wyniki:
łączna liczba dostarczonych telewizorów: suma_tv.

Na początku programu zdefiniujemy funkcję suma z jednym parametrem, obliczającą i zwracającą sumę n liczb wprowadzanych z klawiatury. Parametrem przekazywanym do funkcji jest liczba elementów zbioru n.

Ćwiczenie 6.
1) Przepisz program podany w przykładzie:



2) Zapisz program w pliku pod nazwą Sumy_dostaw.

Ćwiczenie 7.
1) W programie Sumy_dostaw zapisano tylko obliczenia łącznej wielkości dostaw telewizorów. Dodaj podobne instrukcję dla obliczenia łącznej wielkości dostaw głośników.
2) Przyjmij następujące nazwy dla zmiennych:
l_dostaw_glosnikow, oznaczającą liczbę dostaw głośników i suma_glosnikow, oznaczającą łączną liczbę dostarczonych głośników.
3) Funkcję suma() wywołaj w programie głównym z parametrem l_dostaw_glosnikow.

Wskazówką
Ułatwiaj sobie pracę i kopiuj podobne fragmenty programu, w których wystarczy tylko zmienić nazwy zmiennych.

Krok 5. Funkcje zwracające wartość bez parametrów w języku Python

Ćwiczenie 8.
Definiujemy funkcję zwracającą wartość bez parametrów.
1) Zdefiniuj funkcję obwód() bez parametrów,  zwracającą do programu głównego obwód kwadratu o boku bok
2) Wywołaj funkcję w programie głównym i wyprowadź wartość obwodu. Wartość zmiennej bok wprowadzaj z klawiatury.

Opis rozwiązania
w programie zastosujemy zmienną globalną bok. Typ zmiennej bok określa instrukcja 

3) Przepisz program podany na rysunku:


4) Dodaj do programu funkcję pole() bez parametru, obliczającą pole kwadratu o boku bok
5) Zapisz program w pliku pod nazwą Obwod_i_pole_kwadratu. Uruchom i przetestuj program dla kilku różnych wartości zmiennej.

Ćwiczenie 9.
1) Otwórz plik Obwod_i_pole_kwadratu. 
2) Zmodyfikuj program, rezygnując ze zmiennej globalnej i zmieniając definicje funkcji suma() i obwod() na funkcje z parametrem. 
3) W programie głównym wywołaj funkcje z parametrem aktualnym x, wprowadzanym z klawiatury jako liczba całkowita. 
4) Zapisz program w pliku pod nazwą Obwod_i_pole_kwadratu_z _par.
Wskazówka
w obydwu funkcjach można użyć tej samej nazwy parametru:



Komentarze