Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Funktion etsijä

hunajavohveli [04.12.2003 12:45:30]

#

Tämä ohjelmaa etsii kaikki funktiot annettujen rajojen sisällä, jotka toteuttavat DATA-lausekkeisiin luetut muuttujaparit. Esimeriksi, jos käyttäjä antaa parit 1-3 ja 2-5, niin ohjelma näyttää esim. funktion y = 2x + 1.

DIM matrix(1 TO 10, 1 TO 2)

ON ERROR GOTO virhe

'x ja y-parit

DATA -3,0
DATA -2,-3
DATA -1,-4
DATA 0,-3
DATA 1,0
DATA 2,5
DATA 3,12

FOR mtr = 1 TO 10   'luetaan x ja y-parit taulukkoon...
IF loppu = 1 THEN mtr = mtr - 2: EXIT FOR
READ matrix(mtr, 1)
READ matrix(mtr, 2)
NEXT mtr


CLS

FOR k = -5 TO 5        'käydään läpi kulmakertoimet alueelta -5 - +5
IF k = 0 THEN k = 1      'jos kerroin on 0, hypätään yli
FOR v = -5 TO 5      ' vakiomuuttujat alueelta -5 - +5
FOR e = 1 TO 10     'eksponentit...
FOR l = -5 TO 5     'vakiomuuttujat, jotka vaikuttavat x:ään ennen eksponettia, tai kulmakerrointa

t = 1    'oletetaan että funktio on tosi
FOR b = 1 TO mtr    'aletaan laskea funktiota x ja y -pareilla
x = matrix(b, 1)
y = matrix(b, 2)
arvo = k * (x + l) ^ e + v   'lasketaan funktio
IF arvo <> y THEN t = 0     'jos ei toimi, funktio on epätosi
IF l <> 0 AND e = 1 THEN t = 0    'karsitaan pois (ei tarvitse ymmärtää)
NEXT b

IF t = 1 THEN    'jos funktio on tosi...

f$ = "y ="
IF k > 1 THEN f$ = f$ + LEFT$(STR$(k), LEN(k))
IF k < 1 THEN f$ = f$ + " " + LEFT$(STR$(k), LEN(k))
IF l <> 0 THEN f$ = f$ + " ("
IF k <> 1 OR l <> 0 THEN f$ = f$ + "x" ELSE f$ = f$ + " x"
IF l > 0 THEN f$ = f$ + "+"
IF l < 0 THEN f$ = f$ + "-"
IF l <> 0 THEN f$ = f$ + RIGHT$(STR$(l), LEN(l) - 3) + ")"
IF e <> 1 THEN f$ = f$ + " ^" + STR$(e)
IF v < 0 THEN f$ = f$ + " " + STR$(v)
IF v > 0 THEN f$ = f$ + " +" + STR$(v)
PRINT f$     'näytetään funktio

END IF

NEXT l
NEXT e
NEXT v
NEXT k

IF SCREEN(1, 1) = 32 THEN PRINT "Ei toteuttavia funktioita."

END

virhe:
loppu = 1
RESUME NEXT

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta