Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Kalkulator bc: Pierwiastki równania kwadratowego

piątek,

Kalkulator bc: Pierwiastki równania kwadratowego

W świecie programowania i automatyzacji, skrypty bash często stanowią nieocenione narzędzie dla systemów operacyjnych opartych na Linuksie. Skrypty mogą także posłużyć do obliczeń matematycznych, jednak w takim przypadku warto w nich wykorzystać zewnętrzne narzędzie w postaci kalkulatora bc. Dzięki niemu można zniwelować m.in. brak obsługi obliczeń zmiennoprzecinkowych i pierwiastków kwadratowych w „czystym” bash. Kalkulator bc mocno ułatwia tworzenie skryptu bash do obliczania pierwiastków równania kwadratowego.

Biorąc pod uwagę, że bc nie obsługuje bezpośrednio pierwiastków kwadratowych z liczb ujemnych, przykładowy skrypt będzie działać poprawnie tylko w przypadkach, gdy równanie ma rozwiązania rzeczywiste (delta większa lub równa zero). Ograniczenie to można zniwelować, ale wtedy skrypt będzie znacznie bardziej złożony.

Sposób na obliczanie za pomocą bc pierwiastków kwadratowych z liczb ujemnych znajdziesz w materiale „Kalkulator bc: Pierwiastki kwadratowe z liczb ujemnych”. Jeśli potrzebujesz szybkiej pomocy z zakresu obliczania pierwiastków równania kwadratowego, zerknij do materiału „Bash: Pierwiastki równania kwadratowego”.

Przykładowy skrypt bash

#!/bin/bash

# Wartości współczynników
a=1
b=-3
c=2

# Obliczanie delty
delta=$(echo "scale=4; $b^2 - 4*$a*$c" | bc)

# Sprawdzanie, czy delta jest większa lub równa zero
if (( $(echo "$delta >= 0" | bc -l) )); then
    # Obliczanie pierwiastków
    x1=$(echo "scale=4; ($((-$b)) + sqrt($delta))/(2*$a)" | bc)
    x2=$(echo "scale=4; ($((-$b)) - sqrt($delta))/(2*$a)" | bc)

    echo "Pierwiastki równania kwadratowego to: x1 = $x1, x2 = $x2"
else
    echo "Równanie nie ma rozwiązań rzeczywistych."
fi

W tym skrypcie:

  • Najpierw definiujemy współczynniki równania kwadratowego (a, b, c).
  • Obliczamy deltę: Delta = b^2 - 4ac.
  • Jeśli delta jest większa lub równa zero, obliczamy oba pierwiastki równania kwadratowego, korzystając ze wzoru.
  • Wyniki są wyświetlane. Jeśli delta jest ujemna, skrypt informuje, że równanie nie ma rozwiązań rzeczywistych.

Możesz dostosować wartości a, b, c do swojego konkretnego równania kwadratowego, aby uzyskać odpowiednie rozwiązania.

Modyfikacja skryptu

Skrypt może być wywoływany z przekazaniem argumentów, po niewielkiej przeróbce:

# Wartości współczynników
a=$1
b=$2
c=$3

Trzy miesiące temu na naszej stronie…

Artykuł: Pierwszy skrypt bash

Pierwszy skrypt bash

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły