Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Algorytm]Równanie pierwszego stopnia
sajborg
post
Post #1





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Witam mam problem jak napisac algorytm na obliczanie równania pierwszego stopnia z jedną niewiadomą.
Zapytalem sie o co chodzi i oOstałem taką odpowiedz "Rozwiązać równanie to znaczy znaleźć wartości argumentów (x), dla których f(x) = 0.
W zależności od a i b wartości x będą różne.

Ale dalej nie wiem jak napisac ten algorytm. Nie chodzi tu o jezyk mam napisac specyfikacje i schemat blokowy
Go to the top of the page
+Quote Post
sztosz
post
Post #2





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Chodzi o równanie
Kod
y = ax + b


jeżeli się nie mylę?

To
Kod
f(x) = y
f(x) = 0
y = 0

f(x) = ax + b
y = ax + b
0 = ax + b // -b odejmujemy obustronnie b
0 - b = ax // /a dzielimy obustronnie przez a
(0 - b)/a = x


I teraz kilka rozwiązania

dla b =0
Kod
b = 0
(0 - b)/a = x
(0 - 0)/a = x
0/a = x
0 = x


Tylko nie myśl że to wszystko musisz sprawdzić dla a = 0, b = 0 i ich kombinacji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Poza tym lepiej żebys to od razu na poczatku sprawdził co i jak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jak mi postawisz piwo to ci ładnie w html'u zrobie schemat blokowy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

A jeżeli to nie to to nie wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował sztosz 21.09.2005, 18:32:08
Go to the top of the page
+Quote Post
sajborg
post
Post #3





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Napisales juz dla b=0 dla a=0 bedzie podobnie a jak dla ich kombinacji jesli a i b = 0 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) To we wszystkich wypadkach x wyjdzie 0 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Heheh (IMG:http://paweb.ekskluzywne.info/temp/piwko2.gif) prosze a blokowy w wordzie wystarczy :]

Ten post edytował paweb 21.09.2005, 18:37:21
Go to the top of the page
+Quote Post
sztosz
post
Post #4





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Che szczerze mówiąc nigdy nie potrafilem na tyle worda ujarzmić żeby w wordzie cos wyrysować (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Najpierw sprawdzamy warunki:

a i b rózne od zera:
Kod
0 = ax + b
0 - b = ax
(0 - b)/a = x


a rózne od zera, b = zero:
Kod
0 = ax + b
0 = ax + 0
0 = ax
0/a = x
0 = x


b rózne od zera, a = zero:
Kod
0 = ax + b
0 = 0x + b
0 - b = 0
-b  = 0
Brak rozwiązań??


b = 0, a = zero:
Kod
0 = ax + b
0 = 0x + 0
0 = 0
0 = 0
Nieskończenie wiele rozwiązań??



Coś mi się wydaje że wszystko popierd*****m (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Jakby ktoś to mógl zweryfikować to by było dobrze.

Ten post edytował sztosz 21.09.2005, 18:51:50
Go to the top of the page
+Quote Post
sajborg
post
Post #5





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


To jak lepiej ci w html to byl bym bardzo wdzieczny. Bo ja aakurat tego algorytmu nie qumam (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Cudi
post
Post #6


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


Jeśli a = 0 to to nie jest równanie pierwszego stopnia tylko zerowego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Tak więc jeśli mamy obliczać wynik równania pierwszego stopnia to możemy z góry założyć, że a nie jest równe zero. Tak więc x = -b/a.
Go to the top of the page
+Quote Post
sajborg
post
Post #7





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Wiesz moze jak bedzie wygladac caly algorytm (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Jak bys mogl mozesz napisac w krokach (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ja to w blokowym zrobie
Go to the top of the page
+Quote Post
TomASS
post
Post #8





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


1. sprawdzasz, czy jest to równanie pierwszego stopnia w postaci y = ax+b, czyli czy a!=0 i b!=0
2a. jesli a==0 i b!=0 to równanie jest sprzeczna (zero rozwiazan)
2b. jesli a==0 i b==0 to równanie jest nieokreślone (ma nieskończenie wiele rozwiązań)
2c. jeśli a!=0 i b==0 to rozwiązaniem równania jest 0
2b. jesli a!= i b!=0 to rozwiązaniem jest liczba -b/a
3. chyba nigdzie się nie pomyliłem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował TomASS 21.09.2005, 21:29:57
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Proste jak drut:

1. wprowadzasz A i B
2. jesli A == 0 to (3), jesli nie to (4)
3. jesli B == 0 to oo wiele rozwiazan jesli nie to brak rozwiazan (r. sprzeczne) -> (5)
4. X = - B / A (nawet dla B == 0) -> (5)
5. koniec
Go to the top of the page
+Quote Post
sztosz
post
Post #10





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Heh (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to się jednak nie pomyliłem, tryle że mozna to sobie uproscić od razu sprawdzając czy to równanie 1 stopnia czy nie, tak jak cudi napisał (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I pewnie datego ze na to nie wpadłem/zapomniałem już wydawało mi się że coś mi się pokrecilo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A dr_bonham napisał to nakprościej ajk się dało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pigula
post
Post #11





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(Cudi @ 2005-09-21 21:45:35)
Jeśli a = 0 to to nie jest równanie pierwszego stopnia tylko zerowego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

oj chyba nie dale jest stopnia pierwszego. bo o stopniu decyduje potega przy x, a nie czy a jest rowny czy rozny od zera. dalej masz rownanie y=a*x+b gdzie a=0 czyli y=0*x+b czyli y=b czyli rownanie sprzeczne i nie ma rozwiazania przynajmniej taki mi sie wydaj choc matme skonczylem juz jakis czas temu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) wiec sie moge mylic (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

-------------
a zapomnialem ze b != 0 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ma byc

Ten post edytował Pigula 22.09.2005, 08:03:36
Go to the top of the page
+Quote Post
TomASS
post
Post #12





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Cytat(Pigula @ 2005-09-22 09:00:55)
Cytat(Cudi @ 2005-09-21 21:45:35)
Jeśli a = 0 to to nie jest równanie pierwszego stopnia tylko zerowego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

oj chyba nie dale jest stopnia pierwszego. bo o stopniu decyduje potega przy x, a nie czy a jest rowny czy rozny od zera.

Decyduje to i to, zarówno współczynnik przy największj potędze jak i potęga, jednakże jeśli jest to równanie zapisane wzorem ogólnym y=ax+b, to wiadomo, że x jest w pierwszej potędze i decyduje wsp. a (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A co zrobić z równaniami wyższego stopnia, z równaniami liczb zespolonych, itp. itd....jeszcze wiele do myślenia (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Go to the top of the page
+Quote Post
sztosz
post
Post #13





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


TomASS ma rację bo przy równaniach kwadratowych tj. drugiego stopnia (Ax*x+Bx+C=0) też sprawdzamy "stopień" równania poprzez sprawdzenie wspólczynnika "a". I jeżeli A=0 i B != 0 i to mamy równanie pierwszego stopnia, i nie trzeba się bawić z deltą lub wzorami Vieta których mimo ich prostoty nigdy nie lubilem.

Ten post edytował sztosz 22.09.2005, 09:15:54
Go to the top of the page
+Quote Post
Pigula
post
Post #14





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


no coz nie kluce sie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) bo jak zaznaczylem juz dawno nie mailem matmy. swoj wywod oparlem na tym ze jak a=0, b!=0 to rownanie jest sprzeczne i nie ma rozwiazania (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
pozdrawaim
Go to the top of the page
+Quote Post
sajborg
post
Post #15





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Zrobilem cos takiego chyba dobze
(IMG:http://paweb.ekskluzywne.info/temp/algorytm.gif)
Go to the top of the page
+Quote Post
TomASS
post
Post #16





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Wygląda na ok (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Gratuluje, tylko jedna jedna sugestia:

Cytat
Równanie ma wartość....

Zastąp na: "Równanie ma jedno rozwiązanie x=".$x;

Oraz
Cytat
Równanie ma wiele rozwiązań....

Zastąp na: "Równanie ma nieskończenie wiele roziązań";

Ten post edytował TomASS 22.09.2005, 13:46:13
Go to the top of the page
+Quote Post
sajborg
post
Post #17





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Ok thx juz poprawilem :] Dzieki wszystkim

Poprawiona wersja (IMG:http://paweb.ekskluzywne.info/temp/algorytm.gif)

Ten post edytował paweb 22.09.2005, 14:45:13
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #18





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Zapomniales o opisaniu strzalek -- skad mam wiedziec gdzie isc po sprawdzeniu czy A == 0?

zrob np. tak

<--------N--< A == 0 ? > --Y------>
Go to the top of the page
+Quote Post
Cudi
post
Post #19


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


Cytat(Pigula @ 2005-09-22 08:00:55)
Cytat(Cudi @ 2005-09-21 21:45:35)
Jeśli a = 0 to to nie jest równanie pierwszego stopnia tylko zerowego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

oj chyba nie dale jest stopnia pierwszego. bo o stopniu decyduje potega przy x, a nie czy a jest rowny czy rozny od zera. dalej masz rownanie y=a*x+b gdzie a=0 czyli y=0*x+b czyli y=b czyli rownanie sprzeczne i nie ma rozwiazania przynajmniej taki mi sie wydaj choc matme skonczylem juz jakis czas temu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) wiec sie moge mylic (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Jeśli a == 0 to nie ma x i mamy samo b. A takie równanie nie ma stopnia (bo nie ma x). Takie samo założenie jest dla każdego wielomianu, że an != 0, bo inaczej wielomian byłby stopień (lub kilka, do pierwszego niezerowego a) niższy.
Go to the top of the page
+Quote Post
sajborg
post
Post #20





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 2005-09-22 16:36:39)
Zapomniales o opisaniu strzalek -- skad mam wiedziec gdzie isc po sprawdzeniu czy A == 0?

zrob np. tak

<--------N--< A == 0 ? > --Y------>

Wiem wiem mam to w wordzie ale sie zle skopiowalo :]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 22:17