Foros del Web » Programando para Internet » ASP Clásico »

polinomios y asp

Estas en el tema de polinomios y asp en el foro de ASP Clásico en Foros del Web. pregunto alguien sabe de algun codigo que lea el grado de un poilinomio y que lo evaluea en un punto (x, P(x)) y que haga ...
  #1 (permalink)  
Antiguo 10/02/2006, 12:14
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
polinomios y asp

pregunto

alguien sabe de algun codigo que lea el grado de un poilinomio y que lo evaluea en un punto (x, P(x)) y que haga los mismo para su derivada

es sobre metodos numericos
y estaba pensando en asp para hcerlo
__________________
JuanRa Pérez
San Salvador, El Salvador
  #2 (permalink)  
Antiguo 10/02/2006, 15:01
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
solo por curiosidad
¿es para una tarea? ¿o es para algo aplicado a la realidad?
  #3 (permalink)  
Antiguo 13/02/2006, 08:37
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
la verdad e suna tarea maestro, pero no era mia era de mi hermana y ella lo posteo jajajaj

no te digo pues

encontre unos codigos para visual basic estan medio interesantes!!!!

gracias de antemano
__________________
JuanRa Pérez
San Salvador, El Salvador
  #4 (permalink)  
Antiguo 13/02/2006, 13:29
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 18 años, 7 meses
Puntos: 1
Kuanto vizio hay aki!!!
  #5 (permalink)  
Antiguo 13/02/2006, 15:35
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
jajajajajajajajajaj
asi es el fútbol!
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 13/02/2006, 15:45
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 4 meses
Puntos: 6
Pues se me ocurre hacer esto:

Analizar cadena, contar "x", contar números al lado de la x y precedidos por un ^. Números anteriores a la "x" también (y todos esos datos ir guardándolos en un vector. Un vector con un tamaño inicial muy grande o un vector que puedas ir redimensionando).

Después, es sumar y multiplicar, así de sencillo (x^3 es x·x·x, lo cual puedes conseguir mediante un bucle).

Con las funciones adecuadas de tratamiento de cadena podrás hacerlo (busca el equivalente al charAt de Javascript, en ASP. Luego es en un bucle ir recorriendo la cadena recibida, que contendrá la ecuación, desde la posición 0 hasta la de su longitud menose uno, para iniciar el programa y empezar a dar los pasos que he comentado antes).

PD: Ah, ni vector dinámico ni pollas, que estaba pensando en guardar la información del polinomio para evaluarla después para cualquier número. Pero si quieres evaluar directamente el polinomio en un número, puedes ir haciéndolo "sobre la marcha" y utilizar para ello sólo tres o cuatro variables, e ir guardando en una (por medio de ir sumándole los monomios) el resultado final.

PPD: Leer el grado de un polinomio es trivial, si antes se ha de hacer lo otro.
  #7 (permalink)  
Antiguo 13/02/2006, 15:54
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
GRACIAS UN TIO

gracias!
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 23/02/2006, 09:39
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
detalle de la resolucion

pero fue en visual basic

lo dejo por si a alguien le interesa mas adelante

sludos.

Suerte


Cita:
Attribute VB_Name = "frm_derivadas"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim rvalor, rExp, rvar1, rvar2, roper, rmay9
rvalor = 0
roper = ""
If Len(Text6) > 0 Then
rvez = 1
For i = 1 To Len(Text6)
' verificar el grado
If Mid(Text6, i, 2) = "X^" Then
If rvalor < Mid(Text6, i + 2, 1) Then
rvalor = Mid(Text6, i + 2, 1)
End If
Else
If Mid(Text6, i, 1) = "X" Then
If Val(rvalor) < Val(Mid(Text6, i + 1, 1)) Then
rvalor = Mid(Text6, i + 1, 1)
Else
' rvalor = 1
End If
End If
End If
' calcular derivada
If Mid(Text6, i, 1) = "+" Or Mid(Text6, i, 1) = "-" Then
If rvez = 1 Then
Dim pos(10) As Integer
Dim posV(10) As String
Dim posY As Integer
rconta = 0
For p = 1 To Len(Text6)
If Mid(Text6, p, 1) = "+" Or Mid(Text6, p, 1) = "-" Then
pos(rconta) = p
posV(rconta) = Mid(Text6, p, 1)
rconta = rconta + 1
End If
Next p
For p = 1 To Len(Text6)
If Mid(Text6, p, 1) = "=" Then
posY = p
End If
Next p

K = 0

Dim rlimI, rlimS
Do While rconta + 1 > 0
If rconta > 0 Then
If K = 0 Then
rlimI = 1
rlimS = pos(K)
rlong = rlimS - rlimI
Else
rlimI = pos(K - 1) + 1
rlimS = pos(K)
rlong = rlimS - rlimI
End If
Else
If rconta = 0 Then
rlimI = pos(K - 1) + 1
rlimS = posY
rlong = rlimS - rlimI
Else
rlimI = pos(K - 1) + 1
rlimS = pos(K)
rlong = rlimS - rlimI
End If
End If
rvar1 = Mid(Text6, rlimI, rlong)

For l = 1 To Len(rvar1)
If Mid(rvar1, l, 2) = "X^" Then
rExp = Mid(rvar1, l + 2, 1)
rmay9 = Val(Left(rvar1, 2))
If rmay9 > 9 Then
rvar2 = Mid(rvar1, l - 2, 2)
Else
If rmay9 = 0 Then
rvar2 = 1
Else
rvar2 = Mid(rvar1, l - 1, 1)
End If
End If
If Val(rExp) = 2 Then
roper = roper + " " + Trim(posV(K - 1)) + " " + Str(Val(rExp) * Val(rvar2)) + "X"
Else
If Val(rExp) = 1 Then
Else
If Len(roper) > 0 Then
roper = roper + " " + Trim(posV(K - 1)) + " " + Str(Val(rExp) * Val(rvar2)) + "X^" + Str(rExp - 1)
Else
roper = Str(Val(rExp) * Val(rvar2)) + "X^" + Str(rExp - 1)
End If
End If
End If
Else
If Mid(rvar1, l, 1) = "X" Then
rExp = Mid(rvar1, l + 2, 1)
rmay9 = Val(Left(rvar1, 2))
If rmay9 > 9 Then
rvar2 = Mid(rvar1, l - 2, 2)
Else
If rmay9 = 0 Then
rvar2 = 1
Else
rvar2 = Mid(rvar1, l - 1, 1)
End If
End If
If Val(rExp) = 2 Then
roper = roper + " " + Trim(posV(K - 1)) + " " + Str(Val(rExp) * Val(rvar2)) + "X"
Else
If Val(rExp) = 0 Then
roper = roper + " " + Trim(posV(K - 1)) + " " + rvar2
Else
roper = roper + " " + Trim(posV(K - 1)) + " " + Str(Val(rExp) * Val(rvar2)) + "X^" + Str(rExp - 1)
End If
End If
End If
End If
Next l
rconta = rconta - 1
K = K + 1
rvez = 3
Loop
End If
End If
Next i
End If



MsgBox "la derivada es de grado." + Str(rvalor)
MsgBox "la derivada es " + roper
End Sub

powered raul, cros y jr
__________________
JuanRa Pérez
San Salvador, El Salvador
  #9 (permalink)  
Antiguo 23/02/2006, 10:10
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Eres JuanRAPerez o la hermana?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 24/02/2006, 10:23
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
la hermanita por?

(esque deja la sesion abierta este dundito jijijijijij)
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 24/02/2006, 10:30
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Por nada...nada mas preguntaba no hagas diabluras con su cuenta eh?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:04.