Równanie / Pilne




Serpher20.11.2007 22:24:30
#
Dołączył: 20.11.2007

Witam, Chciałbym prosić o poradę dotyczącą Pascala. Mianowicie mam napisać program, który poda rozwiązanie równania postaci: ax+b=c(x+b) i w zależności od tego jakie będzie to rozwiązanie, muszę podać czy to jest równanie: oznaczone, tożsamościowe lub sprzeczne. Ma mi wyświetlić tekst "Pierwiastki równania ax+b=c(x+b) to x = ... ". Napisałem już podstawową strukturę kody, ale jaki napisać kod żeby w zależności od podanego wyniku wyświetlało się jakie to jest równanie?

Wiem na razie tyle, że do obliczenia X trzeba zastosować to

x:=((c*b)-b)/(a-c)

Natomiast do równania sprzecznego to

if ((a*x)+b) <> (c*(x+b)) then writeln("Równanie sprzeczne")

Jak napisać wreszcie ten program?

Proszę o pomoc.

Pozdrawiam, Serpher

ktyl21.11.2007 20:38:20
#
Dołączył: 21.10.2004

Na lekcji informatyki spałeś, a teraz chcesz zeby odrobic za ciebie prace domową. Podaj jeszcze adres szkoly do ktorej chodzisz, to wyslemy odpowiedniego maila.

Jesli tak wyglada kwiat naszej mlodziezy, to ja moge sobie spokojnie pracowac, bez obaw ze ktos bedzie probowal wykoleic mnie z mojej posady.

Serpher21.11.2007 21:41:23
#
Dołączył: 20.11.2007
Karol Tyl napisa≥:
Na lekcji informatyki spałeś, a teraz chcesz zeby odrobic za ciebie prace domową. Podaj jeszcze adres szkoly do ktorej chodzisz, to wyslemy odpowiedniego maila. Jesli tak wyglada kwiat naszej mlodziezy, to ja moge sobie spokojnie pracowac, bez obaw ze ktos bedzie probowal wykoleic mnie z mojej posady.

Wow. ¦wietna pobudzająca odpowiedź. I jaka miła w dodatku. Ja tu nikogo nie proszę o odrabianie moich prac domowych. Proszę tylko o pomoc, w znalezieniu odpowiedzi dotycząych następujących typów równań. Dopiero zaczynam przygodę z Pascalem, a programowanie mnie specjalnie nie interesuje w informatyce. Życzliwością aż tu się na boki leje.

Na Twoją posadę ani mi się śni nawet patrzeć. Jeżeli tak wygląda tu administracja, to ja dziękuję, wolę pracować w jakimś realnym zawodzie niż administrator takiej strony.

ktyl22.11.2007 00:19:51
#
Dołączył: 21.10.2004
Serpher napisa≥:
Ja tu nikogo nie proszę o odrabianie moich prac domowych.

W takim razie przepraszam, ale wymowa Twojego postu byla dość jednoznaczna.

Proszę tylko o pomoc, w znalezieniu odpowiedzi dotycząych następujących typów równań.

Nie widzialem takiego pytania. Nie napisales, z czym masz problem. Nie napisales, co zrobiles do tej pory. Dwie linijki kodu wyrwane zupelnie z kontekstu to jedyne co widze w tym poscie.

Dopiero zaczynam przygodę z Pascalem, a programowanie mnie specjalnie nie interesuje w informatyce.

To nie jest powod, zeby ktos odrabial za Ciebie prace domowe.

wolę pracować w jakimś realnym zawodzie niż administrator takiej strony.

To nie zawod, bo modowanie tutaj to zajecie czysto spoleczne.

Podsumowujac: masz problem - pytaj, ale o konkrety. Pokaz co zrobiles sam (ja jasnowidzem nie jestem, nie widzac twojego kodu nie wiem jak Ci odpowiedziec), gdzie trafiles na problem. Zapewniam Cie, ze wtedy pomozemy.

-- Pozdrawiam, Karol

Serpher22.11.2007 13:06:09
#
Dołączył: 20.11.2007
Pokaz co zrobiles sam (...), gdzie trafiles na problem. Zapewniam Cie, ze wtedy pomozemy.

Dobra. W zasadzie to chodzi mi (teraz) o poprawność tego bloku instrukcji.

if (a<>c) then
 begin
  write('Rownanie oznaczone, x= ');
  writeln(x:4:4);
 end

else if (c*b=b) AND (a=c) then
 begin  
  write('Rownanie tozsamosciowe');
 end

else if (a=c) then
 writeln('Rownanie sprzeczne');

Poprawność względem rodzajów równań jest właściwa. Program liczy, ale zawsze podaje wynik jako równanie oznaczone, tak więc nie wiem czy reszta kodu rzeczywiście działa. Bo chodzi o to, żeby program - w zależności od wyniku - pokazał również jakie to równanie.

jac66622.11.2007 14:59:14
#
Dołączył: 29.10.2007

Proponuje inne rozwiazanie: ax+b=c(x+b) to sa 2 proste: y=ax+b i y=c(x+b)

Gdy sa rownolegle: 1.Rozwiazanie sprzeczne - sie nie pokrywaja

2.Rozwiazanie nieoznaczone - pokrywaja sie

Nie sa rownolegle: 3.Rownanie oznaczone - Maja 1 punkt przeciecia

Wlasciwosci prostej y = Ax + B nie sa ci z pewnoscia obce, wiec dalej juz z gorki.

Serpher22.11.2007 18:26:07
#
Dołączył: 20.11.2007

Szczerze mówiąc, nie rozumiem tego, co napisałeś. Jakie proste? Wybacz, ale ja nie jestem orłem z matematyki, więc nie bardzo rozumiem o co Ci chodzi. Nauczyciel matematyki podał mi w jakich sytuacjach występuje dane równanie, które zapisałem w kodzie. Natomiast nikt dotąd nie mówił o prostych w tym zadaniu (a miałem wiele opinii).

lukaszmaster22.11.2007 21:22:38
#
Dołączył: 16.09.2006
Postów: 119
Serpher napisa≥:
Szczerze mówiąc, nie rozumiem tego, co napisałeś. Jakie proste?

Chodzi o proste które są wykresem funkcji f(x)= ax+b i f(x)=c(x+b). Rysujesz wykres funkcji f(x)=ax+b jest to funkcja liniowa więc wykresem będzie prosta. Potem rysujesz wykres funkcji f(x)=c(x+b). Chyba nie muszę Ci wspominać że żeby narysować wykres funkcji liniowej to trzeba policzyć OX i OY czyli miejsce zerowe i punk przecięcia z osią OY. 1.Jeśli obie proste będą sie przecinały w jednym punkcie to znaczy że równanie ax+b=c(x+b) ma jedno rozwiązanie i punkt przecięcia wykresów obu funkcji jest rozwiązaniem tego równania. Wtedy jest to rónanie oznaczone.

  1. Jeśli wykresy obu funkcji nie przecinają się w żadnym punkcie(są równoległe) to znaczy że równanie ax+b=c(x+b)nie ma rozwiązań. W takim przypadku jest to równanie sprzeczne.

  2. Natomiast gdy wykresy obu tych funkcji nakłądają się na siebie równanie ax+b=c(x+b) ma nieskończenie wiele rozwiązań i wtedy nazywamy takie równanie nieoznaczonym

To jest praktycznie to samo co napisał jac666. Chyba prościej nie da sie tego wytłumaczyć

Kliknij tutaj i poczytaj o graficznej metodzie rozwiązywania równań

Serpher22.11.2007 22:13:13
#
Dołączył: 20.11.2007

Dość obszerna odpowiedź, ale nie wiem czy mi ona zbytnio pomoże. Dwie inne osoby (co do rozwiązania tego zadania) mówią (a raczej piszą) co innego. Jedna teoria to:

writeln('Pierwiastki rownania ax+b=c(x+b)');
if (a<>c) then
begin
  x:=((c*b)-b)/(a-c);
  writeln('Rownanie oznaczone, x=', x:4:4);
end
else if (a=1) OR (b=0) then
  writeln('Rownanie tozsamosciowe')
else
  writeln('Rownanie sprzeczne');

Natomiast druga to:

if (a<>c) then
 begin
  write('Rownanie oznaczone, x= ');
  writeln(x:4:4);
 end

else if (c*b=b) AND (a=c) then
 begin  
  write('Rownanie tozsamosciowe, x=');
 end

else if (a=c) then
 writeln('Rownanie sprzeczne');

Nie wiem już w co wierzyć, ani co robić...




Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?