[+] Bash - obliczanie równania kwadratowego
: 31 grudnia 2011, 15:04
Witam!
Próbuję napisać skrypt obliczający miejsca zerowe z równania kwadratowego. Dopiero uczę się basha i nie mogąc sobie poradzić. Postanowiłem ściągnąć gotowca i sprawdzić co ostatnio robiłem źle w swoim skrypcie. Znalazłem taki program:
Przebieg jego działania jest np. taki:
Niestety nie jestem w stanie poradzić sobie z tym problemem. Nie wiem co oznacza ten błąd i zwracam się do Was z prośbą o pomoc w napisaniu tego programu.
Próbuję napisać skrypt obliczający miejsca zerowe z równania kwadratowego. Dopiero uczę się basha i nie mogąc sobie poradzić. Postanowiłem ściągnąć gotowca i sprawdzić co ostatnio robiłem źle w swoim skrypcie. Znalazłem taki program:
Kod: Zaznacz cały
#!/bin/bash echo "Podaj A: "
read A
echo "Podaj B: "
read B
echo "Podaj C: "
read C
DELTA="$((B*B-4*A*C))"
PIERW=`echo "scale=5 ; sqrt($DELTA)" | bc`
echo "Delta wynosi: $DELTA , jej pierwiastek to: $PIERW"
if [ "$DELTA" = 0 ]; then
P0="$(( -1*B/2*A ))"
echo "Rownanie posiada jeden pierwiastek: $P0"
elif [ "$DELTA" -gt 0 ]; then
P1="$(( -1*B+PIERW/2*A ))"
P2="$(( -1*B-PIERW/2*A ))"
echo "Rownanie posiada dwa pierwiastki: $P1 i $P2"
else
echo "To rownanie nie posiada pierwiastkow"
fi
Kod: Zaznacz cały
Podaj A:
2
Podaj B:
8
Podaj C:
3
Delta wynosi: 40, jej pierwiastek to: 6.32455
./test: line 17: 6.32455: błąd składni: nieprawidłowy operator arytmetyczny (error token is ".32455")