Kvadratická rovnice – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Kvadratická rovnice – Visual Basic – Fórum – Programujte.comKvadratická rovnice – Visual Basic – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Kolis0
Duch
16. 6. 2016   #1
-
0
-

Private Sub CommandButton1_Click()
Dim a, b, c, d, e, f, g, h As Double
a = TextBox1.Value
b = TextBox2.Value
c = TextBox3.Value
d = b * b - 4 * a * c
e = sgr(d)
f = 2 * a
g = ((-b) + e) / f
h = ((-b) - e) / f
Label6.Caption = g
Label7.Caption = h
End Sub

 zatím mám toho ale pořád mi to házi chybu u e = sgr(d) a nevím co s tím :D a jestli je to prkotinka tak se předem omlouvám jsem začátečník :) program by měl počítat x1,2 u Kvadratické rovnice

s Pozdravem Kolis

Nahlásit jako SPAM
IP: 46.13.196.–
Reklama
Reklama
hlucheucho+10
Posthunter
17. 6. 2016   #2
-
0
-

Podívej se, kolik je d. Druhou odmocninu lze stanovit jen u čísla většího než nula.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
peter
~ Anonymní uživatel
2528 příspěvků
17. 6. 2016   #3
-
0
-

Pokud to pise chybu, tak je dobre napsat celou chybovou hlasku. Treba "undefined", "divide by zero". Pripadne ji zkopirovat nejdriv do google.

VB nepouzivam, ale bezne se odmocnina pise jako funkce sqrt nebo pow(x,0.5). A odmocnovat lze jen cisla >0.
g = ((-b) + e) / f ... f, delit lze pouze cislem <>0

Pripadne bych si do nejakeho labelu ci textarea vypsat vsechny vysledky
Label6.Caption = d
Label7.Caption = e
Label8.Caption = f atd

Nahlásit jako SPAM
IP: 2001:718:2601:26c:48b5:b5...–
hlucheucho+10
Posthunter
17. 6. 2016   #4
-
0
-

#3 peter
že zkomolil jméno funkce jsem si nevšiml. Začínám být slepej.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Kolis0
Duch
17. 6. 2016   #5
-
0
-

chyba je compile error sub or function not defined.

odmocni jsem dal jako sgrt a nebo jako sgr stale ta sama chyba a vzdy se označí to sgr tak uz nevím :D

prosím o rady ted to vypada takto 

Private Sub CommandButton1_Click()
Dim a, b, c, d, e, f, g, h As Double
a = TextBox1.Value
b = TextBox2.Value
c = TextBox3.Value
d = b * b - 4 * a * c
If d > 0 Then
e = pow(d)
f = 2 * a
g = ((-b) + e) / f
h = ((-b) - e) / f
End If
Label6.Caption = g
Label7.Caption = h
End Sub

Nahlásit jako SPAM
IP: 85.13.68.–
Kolis0
Duch
17. 6. 2016   #6
-
0
-

#5 Kolis
 místo pow jsem dával sgr a sgrt

Nahlásit jako SPAM
IP: 85.13.68.–
lukas.balaz0
Super člen
17. 6. 2016   #7
-
0
-

peter napisal: VB nepouzivam, ale bezne se odmocnina pise jako funkce sqrt nebo pow(x,0.5)
Takže ani nie pow(x) ani nie sgrt ... v tvojom pripade by to malo byt sqrt(d).

Okrem toho, ked je d mensie ako 0, tvoj kod sa spusti, ale potom pouziva asi nie uplne definovane premenne g a h (neviem ako toto funguje vo VB, ale v kazdom pripade teraz to mas urobene zle). Musis pridat, ze ked je d<0, na vystupe (cokolvek je tym vystupom) bude, ze to nema riesenie.

Nahlásit jako SPAM
IP: 80.242.41.–
peter
~ Anonymní uživatel
2528 příspěvků
20. 6. 2016   #8
-
0
-

* SQRT = Square root, koren ctverce, druha odmocnina (sGrt je spatne, G neni Q)
* POW = Power, to je klasicke umocnovani, druha odmocnina je x na 1/2, druha mocnina x na 2; Nevidel jsem teda jeste funkci pro odmocninu, jakoze treti, ctvrtou... Ale zhlediska spravnosti by v programech mela existovat, protoze je to v podstate inverzi funkce.
* Tez by mohl fungovat symbol ^

x = 5^0.5 // 5^.5 - a v nekterych jazycich neni povinost psat nulu.
x = pow(5,0.5) // pow(5,.5)
x = sqrt(5)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:7091:69...–
peter
~ Anonymní uživatel
2528 příspěvků
20. 6. 2016   #9
-
0
-

Jo, ta druha vec s tim ifkem, Lukas ti chtel naznacit, ze to ifko by melo koncit az za vypisem. Pokud je D zaporny, tak g,h mas undefined a tim padem to napise do tech labelu nesmysly.
Ale mohlo by to treba do labelu 'log' vypsat, ze je diskriminant zaporny, aby uzivatel vedel, proc to nic nespocitalo.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:7091:69...–
Jorya0
Newbie
30. 6. 2016   #10
-
0
-

Nejsem žádný programátor, ale co mám zatím zkušenosti s VB, tak mám dojem, že je třeba použít matematická knihovna, tedy ten zápis by měl vypadat:

e = Math.Sqrt(d)

Nepoužívám běžně ani typ Double. Zpravidla využívám typ Decimal.

Nahlásit jako SPAM
IP: 89.190.90.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Kvadratická rovnice — založil pazdy

Kvadraticka rovnice — založil Yurda

Kvadratická rovnice — založil rdckONE

Kvadraticka rovnice — založil Hanmir1

Kvadratická rovnice — založil Patrik Hlobil

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý