liniowa






Algorytm Funkcji Liniowej w C++ i Python


Algorytm Funkcji Liniowej

Implementacja w C++ i Python

1. Opis Algorytmu

Funkcja liniowa to jedna z podstawowych funkcji matematycznych opisana równaniem y = ax + b,
gdzie a to współczynnik kierunkowy (nachylenie) a b to wyraz wolny (punkt przecięcia z osią Y).

Definicja: Algorytm obliczania funkcji liniowej przyjmuje na wejściu:

  • Współczynnik kierunkowy a
  • Wyraz wolny b
  • Wartość zmiennej niezależnej x

Na wyjściu zwraca wartość y obliczoną według wzoru y = ax + b.

Charakterystyka

Funkcja liniowa ma następujące właściwości:

  • Liniowość: Wykres funkcji jest linią prostą
  • Monotoniczność: Funkcja jest rosnąca (a > 0) lub malejąca (a < 0)
  • Punkt przecięcia Y: Funkcja przecina oś Y w punkcie (0, b)
  • Złożoność obliczeniowa: O(1) – stała, jedynie jedno mnożenie i dodanie
y = ax + b

2. Specyfikacja Zadania

Element Opis
Cel: Obliczenie wartości funkcji liniowej dla podanych parametrów
Dane wejściowe: • Liczba rzeczywista a (współczynnik kierunkowy)
• Liczba rzeczywista b (wyraz wolny)
• Liczba rzeczywista x (argument funkcji)
Dane wyjściowe: Liczba rzeczywista y będąca wartością funkcji
Ograniczenia: • Parametry mogą być dowolnymi liczbami rzeczywistymi
• Brak ograniczeń dla zakresu wartości
Złożoność: Czasowa: O(1) | Przestrzenna: O(1)

3. Lista Kroków (Pseudokod)

Algorytm obliczania funkcji liniowej:

  1. START – Rozpoczęcie algorytmu
  2. WCZYTAJ(a, b, x) – Odczytaj współczynnik kierunkowy a,
    wyraz wolny b oraz argument x
  3. OBLICZ(iloraz) – Oblicz iloczyn a * x
  4. OBLICZ(y) – Oblicz wynik y = iloraz + b
  5. WYŚWIETL(y) – Wyświetl wynik y
  6. STOP – Zakończenie algorytmu

Opis kroków szczegółowych

Krok 1-2: Pobranie danych wejściowych – wartości współczynników i argumentu funkcji

Krok 3: Mnożenie współczynnika kierunkowego przez argument (operacja mnożenia)

Krok 4: Dodanie wyrazu wolnego do wyniku mnożenia (operacja dodawania)

Krok 5: Wyświetlenie rezultatu na ekranie lub zwrócenie wartości

4. Schemat Blokowy

START

WCZYTAJ: a, b, x

iloraz = a * x

y = iloraz + b

WYŚWIETL: y

STOP

Uwaga: To jest algorytm sekwencyjny (bez pętli i warunków) –
krokami wykonuje się jeden po drugim w określonej kolejności.

5. Implementacja Kodu

5.1 Implementacja w C++

C++ – Funkcja obliczająca wartość funkcji liniowej
// Funkcja obliczająca wartość funkcji liniowej y = ax + b
double obliczFunkcjaLiniowa(double a, double b, double x) {
double y = a * x + b;
return y;
}
C++ – Pełny program z wejściem i wyjściem
#include <iostream>
using namespace std;

double obliczFunkcjaLiniowa(double a, double b, double x) {
return a * x + b;
}

int main() {
double a, b, x, y;

cout << “Podaj współczynnik kierunkowy a: “;
cin >> a;

cout << “Podaj wyraz wolny b: “;
cin >> b;

cout << “Podaj argument funkcji x: “;
cin >> x;

y = obliczFunkcjaLiniowa(a, b, x);

cout << “Wartość funkcji y = “ << y << endl;

return 0;
}

5.2 Implementacja w Python

Python – Funkcja obliczająca wartość funkcji liniowej
def oblicz_funkcja_liniowa(a, b, x):
“””
Oblicza wartość funkcji liniowej y = ax + b

Parametry:
a (float): współczynnik kierunkowy
b (float): wyraz wolny
x (float): argument funkcji

Zwraca:
float: wartość funkcji y
“””
y = a * x + b
return y

Python – Pełny program z wejściem i wyjściem
def oblicz_funkcja_liniowa(a, b, x):
“””Oblicza wartość funkcji liniowej y = ax + b”””
return a * x + b

# Program główny
if __name__ == “__main__”:
try:
a = float(input(“Podaj współczynnik kierunkowy a: “))
b = float(input(“Podaj wyraz wolny b: “))
x = float(input(“Podaj argument funkcji x: “))

y = oblicz_funkcja_liniowa(a, b, x)

print(f”Wartość funkcji y = {y}”)

except ValueError:
print(“Błąd: Podano nieprawidłową wartość liczbową!”)
except Exception as e:
print(f”Błąd: {e}”)

5.3 Przykład z testami

Python – Program z wieloma testami
def oblicz_funkcja_liniowa(a, b, x):
return a * x + b

# Przykłady testowe
przykłady = [
{“a”: 2, “b”: 3, “x”: 5}, # Oczekiwany wynik: 13
{“a”: -1, “b”: 10, “x”: 4}, # Oczekiwany wynik: 6
{“a”: 0.5, “b”: 2, “x”: 4}, # Oczekiwany wynik: 4.0
]

for i, test in enumerate(przykłady, 1):
y = oblicz_funkcja_liniowa(test[“a”], test[“b”], test[“x”])
print(f”Test {i}: a={test[‘a’]}, b={test[‘b’]}, x={test[‘x’]} => y={y}”)

6. Porównanie C++ vs Python

Kryterium C++ Python
Składnia Ścisła, wymaga typów danych Dynamiczna, elastyczna
Wydajność Bardzo szybki (kod kompilowany) Wolniejszy (interpretowany)
Czytelność Bardziej skomplikowana dla początkujących Bardzo przejrzysta i intuicyjna
Deklaracja zmiennych Wymagana: double a; Nie wymagana: a = 0
Obsługa błędów Wyjątkami (try-catch) Try-except
Łatwość nauki Trudniejszy dla początkujących Idealny dla nauczania programowania
Zastosowanie Systemy osadzone, gry, aplikacje wydajnościowe Data science, AI, prototypowanie, edukacja
Podsumowanie: Dla celów edukacyjnych Python jest lepszym wyborem ze względu na przejrzystą
składnię i łatwe zrozumienie algorytmu. C++ natomiast jest preferowany w aplikacjach wymagających
wysokiej wydajności.

Wskazówki Praktyczne

  • Walidacja danych: Zawsze sprawdzaj czy dane wejściowe są prawidłowe
  • Typy zmiennych: W C++ stosuj double dla przeszkości, w Python automatycznie
  • Dokumentacja: Dodawaj komentarze i dokumentację string (docstring w Python)
  • Testy jednostkowe: Testuj algorytm z różnymi wartościami wejściowymi
  • Obsługa wyjątków: Przygotuj program na nieoczekiwane dane wejściowe
  • Wydajność: Algorytm ma O(1) – idealnie szybki niezależnie od wejścia

© 2026 | Algorytm Funkcji Liniowej | Materiał edukacyjny | y = ax + b