GRY-Online.pl --> Archiwum Forum

Gdzie zrobiłem błąd ?

30.04.2010
20:26
[1]

unclesam [ Generaďż˝ ]

Gdzie zrobiłem błąd ?

Otóż napisałem już to :

‹Napisz program, który wczyta z klawiatury 3 liczby rzeczywiste (a,b,c) będące
współczynnikami funkcji kwadratowej y=ax2+bx+c. Następnie program obliczy i
wyświetli :
a) współrzędne (p,q) wierzchołka paraboli (p=-b/2a, q=-delta/4a,
delta=b^2-4ac)

b) współrzędne przecięcia paraboli z osią Y (O,c)

c) postać kanoniczną funkcji kwadratowej (y=a(x-p)^2+q)›

program funkcja;

var
a,b,c,delta,p,q:real;

begin
writeln('Podaj 3 liczby rzeczywiste będące współczynnikami funkcji kwadratowej.');
write('Podaj a : ');
readln(a);
write('Podaj b : ');
readln(b);
write('Podaj c : ');
readln(c);
p:=-b/(2*a);
delta:=sqr(b)-4*a*c;
q:=-delta/(4*a);
writeln;
writeln('Współrzędne wierzchołka paraboli wynoszą :(',p:5:2,' i ',q:5:2,')');
writeln('Współrzędne przecięcia paraboli z osią Y :(0,',c:4:1,')');
writeln('Postać kanoniczna funkcji kwadratowej : y=',a:4:1,'(x-',p:5:3,')^2 + ',q:5:3);
readln;
end.


Podałem 3 liczby z funkcji y=-3x^2+x-6 i przy postaci kanonicznej na końcu obliczyło -5.917, na kartce mam wyliczone -6 i 1/12. Gdzie popełniłem błąd ?

30.04.2010
20:31
[2]

Arxel [ Kostka Rubika ]

delta:=sqr(b)-4*a*c;

Zaprogramowałeś pierwiastek, nie potęgę ;)

30.04.2010
20:45
[3]

macko 18 [ Konsul ]

Arxel ma racje to musi być pierwiastek nie potęga

30.04.2010
22:21
[4]

unclesam [ Generaďż˝ ]

ale przecież we wzorze jest potęga

30.04.2010
22:25
[5]

koniec jest blisko [ Generaďż˝ ]

sqr = pierwiastek

we wzorze potega

jest zle

30.04.2010
22:32
[6]

unclesam [ Generaďż˝ ]

a sqr to nie jest potęga do kwadratu ? to jest turbo pascal jakby co

30.04.2010
22:33
[7]

Milka^_^ [ Zjem ci chleb ]

Stary, sqrt to pierwiastek, potęgę się oznacza "^" co z resztą jest napisane w pkt. a) delta=b^2-4ac

30.04.2010
22:43
[8]

unclesam [ Generaďż˝ ]

no tak, sqrt to pierwiastek, a sqr to potęga, nie ma żadnego "^" na moje

30.04.2010
22:49
[9]

Arxel [ Kostka Rubika ]

Na pewno..?

Z jakiegoś forum, odnośnie potęgowania w Turbo Pascalu:
Jeżeli chcemy obliczyć y=a^b,to musimy przekształcić: y=exp(b*ln(a))

Możesz również spróbować dać po prostu b*b..

No to wybacz.. Pascala nigdy się nie uczyłem.. ;)

[11] - owned, hehe.. ;)

30.04.2010
22:55
[10]

unclesam [ Generaďż˝ ]

no nic dzięki, tam akurat nie ma błędu, polecenie które podałeś można wykorzystać do różnych potęg ogólnie, a samo sqr jest tylko do potęgi kwadratowej

30.04.2010
23:03
[11]

tomazzi [ Flash YD ]

Gdzie zrobiłem błąd ?
Na kartce.
y=-3x^2+x-6
delta = 1 - 4*(-3)*(-6) = -71
p= -1/2*(-3) = 1/6
q=71/(-12) = -5.91667

30.04.2010
23:08
[12]

koniec jest blisko [ Generaďż˝ ]

Soory, faktycznie, pomylilem jezyki :)

30.04.2010
23:14
[13]

racel45 [ Generaďż˝ ]

nvm

© 2000-2024 GRY-OnLine S.A.