Dyskusja rozwiązań równania liniowego ax+b=0 w zależności od wartości a i b
- jeśli a<>0, to x=-b/a
- jeśli a=0 i b=0, to równanie jest nieoznaczone (spełnione dla każdego x)
- jeśli a=0 i b<>0, to równanie jest sprzeczne
Schemat blokowy algorytmu:
Przykładowy kod programu - wersja podstawowa:
/*dyskusja rozwiązań równania postaci ax+b=0*/ #include <iostream> using namespace std; int main() { float a, b, x; cout << "podaj a: "; cin >> a; cout << "podaj b: "; cin >> b; //jeżeli a!=0 to jest pierwiastek x=-b/a if (a!=0) { x=-b/a; cout << "\nrownanie ma pierwiastek x= " << x; // w przeciwnym przypadku tzn. gdy a=0 wszystko zależy od b } else { // jeżeli b=0 to mamy równanie 0x+0=0 --> nieoznaczone if (b==0) cout << "\nrownanie jest nieoznaczone (prawdziwe dla dowolnego x)"; // w przeciwnym przypadku tzn. b!=0 mamy równanie 0x+b=0, np: 0x+2=0 --> sprzeczne else cout << "\nrownanie jest sprzeczne"; } return 0; }
Wersja z wyświetlaniem równania. Zanim przejdziesz dalej zerknij na film:
Przykładowy kod programu - wersja z wyświetlaniem równania:
#include <iostream> using namespace std; int main() { float a, b, x; cout << "podaj a: "; cin >> a; cout << "podaj b: "; cin >> b; if (a!=0) { x=-b/a; if (b>0) cout << "\nrownanie: " << a << "x+" << b <<"=0 ma pierwiastek x=" << x; else if (b<0) cout << "\nrownanie: " << a << "x" << b << "=0 ma pierwiastek x=" << x; else cout << "\nrownanie: " << a << "x=0 ma pierwiastek x=0"; } else if (b==0) cout << "\nrownanie 0x+0=0 jest nieoznaczone (prawdziwe dla dowolnego x)"; else { if (b>0) cout << "\nrownanie: " << a << "x+" << b <<"=0 jest sprzeczne"; else cout << "\nrownanie: " << a << "x" << b << "=0 jest sprzeczne"; } return 0; }
Użycie kodu:
- Powyższy kod można wykorzystać w środowisku Dev C++ lub innym. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
- Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh
Zadanie:
- Zmodyfikuj program w wersji podstawowej tak, aby zamiast warunku: if(a!=0) jako pierwszy był sprawdzany warunek: if(a==0)