Temat 7: Funkcje w JavaScript
📘 Teoria
🔹 Definicja funkcji
function nazwa(arg1, arg2) {
instrukcje;
}
- function – słowo kluczowe
- nazwa funkcji
- argumenty (opcjonalne)
- ciało funkcji
🔹 Przykład – średnia
function srednia(a, b) {
document.write("Średnia = " + (a + b) / 2);
}
srednia(4, 6);
---
🔹 Funkcja zwracająca wartość
function suma(a, b) {
return a + b;
}
let wynik = suma(3, 5);
document.write("Suma: " + wynik);
---
🔹 Funkcja + prompt
function suma(a, b) {
return a + b;
}
let a = Number(prompt("Podaj a"));
let b = Number(prompt("Podaj b"));
document.write("Wynik: " + suma(a,b));
---
🔹 Kalkulator (z podręcznika)
function suma(a,b){ return a+b; }
function odejmij(a,b){ return a-b; }
function iloczyn(a,b){ return a*b; }
function iloraz(a,b){ return a/b; }
let a = Number(prompt("a"));
let b = Number(prompt("b"));
let znak = prompt("+, -, *, /");
switch(znak){
case "+":
document.write("Suma = " + suma(a,b));
break;
case "-":
document.write("Różnica = " + odejmij(a,b));
break;
case "*":
document.write("Iloczyn = " + iloczyn(a,b));
break;
case "/":
if(b!=0){
document.write("Iloraz = " + iloraz(a,b));
}else{
document.write("Dzielenie przez 0!");
}
break;
default:
document.write("Błąd");
}
---
🔹 Funkcja iteracyjna – potęga
function potega1(x){
let wynik = 1;
for(let i=1;i<=x;i++){
wynik *= 2;
}
return wynik;
}
---
🔹 Funkcja rekurencyjna
function potega2(x){
if(x==0) return 1;
return 2 * potega2(x-1);
}
---
🔹 Użycie obu funkcji
let n = Number(prompt("Podaj potęgę"));
document.write("Iteracyjnie: " + potega1(n) + "<br>");
document.write("Rekurencyjnie: " + potega2(n));
---
🔹 Funkcje wbudowane
- Number() – konwersja
- parseInt()
- isNaN()
- alert(), prompt()
📘 Przykład 42.1 – Funkcja obliczająca średnią
Funkcja srednia(a,b) posiada dwa argumenty:
- a – pierwsza liczba
- b – druga liczba
function srednia(a,b)
{
document.write(
"Średnia liczb "
+a+" oraz "
+b+" wynosi "
+((a+b)/2));
}
srednia(7,3);
Wpisz dwie liczby:
📘 Przykład 42.2 – Funkcja zwracająca sumę
W tym przykładzie zastosowano instrukcję:
return
Funkcja zwraca wynik działania, który później można wykorzystać w programie.
function suma(a,b)
{
return a+b;
}
var a=5;
var b=8;
document.write(
"Suma liczb wynosi "
+suma(a,b));
📘 Przykład 42.3 – Kalkulator funkcji
Przykład przedstawia kilka funkcji:
- suma()
- odejmij()
- iloczyn()
- iloraz()
function suma(a,b)
{
return a+b;
}
function odejmij(a,b)
{
return a-b;
}
function iloczyn(a,b)
{
return a*b;
}
function iloraz(a,b)
{
return a/b;
}
📘 Przykład 42.4 – Potęgowanie iteracyjne i rekurencyjne
Przykład przedstawia dwa sposoby obliczania potęgi liczby 2:
- iteracyjnie – za pomocą pętli FOR
- rekurencyjnie – funkcja wywołuje samą siebie
🔁 Rekurencja polega na wywoływaniu funkcji przez samą siebie.
function potega1(x)
{
var wynik=1;
for(var i=1;i<=x;i++)
{
wynik*=2;
}
return wynik;
}
function potega2(x)
{
if(x==0)
return 1;
else
return 2*potega2(x-1);
}
Podaj potęgę liczby 2:
⭐ Dodatkowy przykład – Funkcja sprawdzająca parzystość
Funkcja sprawdza czy liczba jest:
- parzysta
- nieparzysta
function parzysta(x)
{
if(x%2==0)
{
return "PARZYSTA";
}
else
{
return "NIEPARZYSTA";
}
}
🧠 Ćwiczenia
- Napisz funkcję sumującą 2 liczby
- Napisz funkcję sprawdzającą parzystość
- Napisz funkcję mnożącą
- Napisz funkcję obliczającą średnią
- Napisz funkcję potęgi
function suma(a,b){
return a+b;
}
function parzysta(x){
return (x%2==0);
}
function srednia(a,b){
return (a+b)/2;
}
📊 Zadania egzaminacyjne
Zadanie 1
Przelicz zł → euro i funty (funkcja).
function waluty(zl){
let euro = zl / 4.5;
let funt = zl / 5;
return "Euro: " + euro + " Funt: " + funt;
}
let x = Number(prompt("Podaj zł"));
document.write(waluty(x));
Zadanie 2
Oblicz BMI.
function bmi(wzrost, waga){
return waga / (wzrost*wzrost);
}
let w = Number(prompt("waga"));
let h = Number(prompt("wzrost"));
document.write("BMI: " + bmi(h,w));
Zadanie 3
Funkcja sprawdzająca parzystość (1 / -1).
function czyParzysta(x){
if(x%2==0) return 1;
else return -1;
}
let x = Number(prompt("x"));
if(czyParzysta(x)==1)
document.write("PARZYSTA");
else
document.write("NIEPARZYSTA");
Zadanie 4
Kalkulator funkcji (pełny egzamin).
📝 Test (10 pytań)
1. Funkcja zaczyna się od:
2. return służy do:
3. Funkcja może mieć:
4. Rekurencja to:
5. prompt to:
6. Funkcja bez return:
7. Funkcja może być:
8. Argument to:
9. return kończy:
10. Funkcja służy do: