edusi.pl Portal edukacyjny

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
Funkcja oblicza średnią arytmetyczną dwóch liczb i wyświetla wynik.
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()
oraz instrukcję switch.
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

  1. Napisz funkcję sumującą 2 liczby
  2. Napisz funkcję sprawdzającą parzystość
  3. Napisz funkcję mnożącą
  4. Napisz funkcję obliczającą średnią
  5. 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: