"Obliczanie pierwiastków równania kwadratowego".

0

"Obliczanie pierwiastków równania kwadratowego".

Należy zaimplementować aplikację rozwiązującą równanie kwadratowe
następującej postaci: ax2 + bx + c = 0. Program poprosi użytkownika
o podanie współczynników a, b, c i na ich podstawie obliczy rozwiązanie.

W ramach projektu należy zrealizować:

  • Schemat blokowy, obrazujący działanie programu
  • Kod źródłowy
  • Słowny opis zasady działania

Przykłady:

2x2 + 3x - 2 = 0; dwa pierwiastki: x1 = -2, x2 = 0,5
-2x2 + 5x + 3 = 0; dwa pierwiastki: x1 = 3, x2 = -0,5
2x2 + 4x + 2 = 0; jeden pierwiastek: x = -1
2x2 + 4x + 3 = 0; brak pierwiastków

Błagam jak ktos by to mógł napisać siedze nad tym tydzień i niemoge tego napisac :/

0

program mam napisać w turbo pascalu

0

Człowieku - a w czym problem?
Rozumiem, że nauczyciel nic przez cały semestr nie tłumaczył a teraz wymaga od biednych uczniów?
I na googla pewnie też masz bana co?

To może w działe praca zamieścisz tego posta? A na pewno ktoś się znajdzie

0

@precel --> Jak nie wiesz co robić, to licz delte.

0

@precel55 jakbyś siedział nad tym tydzień, to napisałbyś to w przynajmniej 7 językach..

0

W tydzień to można to napisać łącznie z pierwiastkami zespolonymi (gdy delta<0)

0
precel55 napisał(a)

siedze nad tym tydzień...

Pokaż ile przez ten tydzień zrobiłeś.

0
madmike napisał(a)
precel55 napisał(a)

siedze nad tym tydzień...

Pokaż ile przez ten tydzień zrobiłeś.

albo przelej 100zł

0

lukas_gab, taki program potrafi napisać student trzeciego roku informatyki i jest święcie przekonany, że to powinno działać:

#include <iostream.h>
#include <conio.h>
main()
{
cout << "Program na obliczanie pierwiastkow liczb kwadratowych"
int a, b, c;
float wynik1, wynik2, delta;
cout << "Podaj a";
cin >> a;
cout <<"Podaj b";
cin >> b;
cout <<"Podaj c";
cin >> c;
delta=b*b-4*a*c;
}
for(delta<0);
cout << "rownanie nie posiada pierwiastkow";
break;
}
{
for(delta=0);
wynik1= -b / 2*a
cout << "pierwiastkiem rownania jest liczba :" <<wynik1;
break;
}
{
for(delta>0);
wynik1= -b - delta /2*a;
wynik2= -b + delta /2*a;
cout << "pierwiastkami rownania kwdratowego sa :" <<wynik1 <<" , " <<wynik2;
}
}

smutne, ale prawdziwe.

0

Jestem na studium więc mam zajęcia co 2tyg z programowania łącznie miałem 5 lekcji więc proszę nie ma co się ze mnie naśmiewać a z programowaniem mam własnie dopiero styczność w tej szkole jedyne co znalazłem to ten program ale on nie działa może ktoś znajdzie w nim błędy ??

Program prog;
uses crt;
var a,b,c: Integer;
delta: Real;
x1,x2: Real;

Begin
clrscr;

 write('Podaj liczbe a:');
 readln(a);
 write('Podaj liczbe b:');
 readln(b);
 write('Podaj liczbe c:');
 readln(c);

 delta := (sqr(b)) - (4*a*c);
 writeln('Delta= ',b,'sqrt - (',4,'*',a,'*',c,') = ',delta:1:2);

 if delta < 0 then
 writeln('Brak pierwiastkow')

 else if delta > 0 then
 x1 := (-b - sqrt(delta)) / (2*a);
 writeln('Pierwiastek x1 wynosi: ',x1:1:1);
 x2 := (-b + sqrt(delta)) / (2*a);
 writeln('Pierwiastek x2 wynosi: ',x2:1:1)

 else
 x1 := (-b - sqrt(delta)) / (2*a);
 writeln('Pierwiastek x1= ',x1:1:2)

 readkey;

End.

0

Zapomniałeś parę średników i lepiej pogrupuj kod w bloki.

Poza tym jest z czego się śmiać. Równania kwadratowe na początku liceum sie robiło, a programy z takim zaawansowaniem pascala to pisałem w 5klasie podstawówki....

0

nie ma co się ze mnie naśmiewać a z programowaniem mam własnie dopiero styczność w tej szkole jedyne co znalazłem to ten program...

Więc się zacznij uczyć, a nie płacz na forum. Jakbyś umiał używać google (tego nawet wyobraź sobie na studiach nie uczą, chamy), to byś znalazł ze 20 kodów dobrych i sprawdzonych.
Kopiować to jedno, a rozumienie tego co się kopiuje to inna sprawa.

0

Ludzie, ogarnijcie się!
Przecież pierwiastek z liczby równej a^2 to a.

0

@up, o czym ty piszesz?
Pierwiastek z liczby to co innego niż pierwiastek równania.
Pierwiastek z liczby a2 nie musi być równy a (i w połowie przypadków nie jest). Pierwiastek z (-3)2 jest równy 3 (a nie -3).

0

Napisałem cos takiego z pomocą kolegi ale to nadal nie działa

program funkcja_kwadratowa;
uses CRT;
var a,b,c,x1,x2,delta:real;
begin
ClrScr;
writeln('Rownania kwadratowe maja postac: ax^2+bx+c=0 , gdzie a<>0');
write('Podaj wartosc a: ');
readln(a);
write('Podaj wartosc b: ');
readln(b);
write('Podaj wartosc c: ');
readln(c);
delta:=bb-4ac;
if delta=0 then
begin
x1:=-b/2
a;
writeln('Delta=0 wiec rownanie ma jeden pierwiastek: ',x1)
end;
if delta<0 then writeln('Delta<0 wiec rownanie nie ma pierwoastkow');
if delta>0 then
begin
x1:=(-b+sqrt(delta))/2a;
x2:=(-b-sqrt(delta))/2
a;
writeln('Pierwiastek x1: ',x1', pierwiastek x2: ',x2)
end;
end.

Nauczyćiel mi pisze iż

Proszę spróbować pański program skompilować, uruchomić i przetestować na następujących
przykładach - ponieważ pierwiastki równania kwadratowego są liczone błędnie!

Przykłady: 2x2 + 3x - 2 = 0; dwa pierwiastki: x1 = -2, x2 = 0,5
-2x2 + 5x + 3 = 0; dwa pierwiastki: x1 = 3, x2 = -0,5
2x2 + 4x + 2 = 0; jeden pierwiastek: x = -1
2x2 + 4x + 3 = 0; brak pierwiastków

P.S. Do pracy kontrolnej należy też dołączyć schemat blokowy.

Może mi tu ktoś wreszcie pomóc ?????

0
Precel55 napisał(a)

Napisałem cos takiego z pomocą kolegi ale to nadal nie działa

program funkcja_kwadratowa;

prawie dobrze, spróuj w ten sposób:

program funkcja_kwadratowa;
uses CRT;
var a,b,c,x1,x2,delta:real;
begin
    ClrScr;
    writeln('Rownania kwadratowe maja postac: ax^2+bx+c=0 , gdzie a<>0');
    write('Podaj wartosc a: ');
    readln(a);
    write('Podaj wartosc b: ');
    readln(b);
    write('Podaj wartosc c: ');
    readln(c);
      If a=0 then //sprawdzenie czy to w ogóle jest równanie kwadratowe?
        begin
           writeln('To nie jest rownanie kwadratowe !!!')
        end
      else //gdy jest
        begin  
         delta:=b*b-4*a*c;
         if delta>0 then 
           begin
             x1:=(-b+sqrt(delta))/2*a;
             x2:=(-b-sqrt(delta))/2*a;
             writeln('Pierwiastek x1: ',x1', pierwiastek x2: ',x2)
            end
         else
         if delta=0 then 
           begin
              x1:=-b/2*a;
              writeln('Delta=0 wiec rownanie ma jeden pierwiastek: ',x1)
           end
         else
         if delta<0 then writeln('Delta<0 wiec rownanie nie ma pierwoastkow');
      end;   
readln;
end.
 
0

Przypomnijcie sobie wzory na pierwiastki równania kwadratowego.

x1:=(-b+sqrt(delta))/(2*a);
....

x/2a to coś innego niż x/(2a)

1 użytkowników online, w tym zalogowanych: 0, gości: 1