elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  allar promedio de "N" notas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: allar promedio de "N" notas  (Leído 5,605 veces)
llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
allar promedio de "N" notas
« en: 28 Agosto 2011, 07:51 am »

olas bueno tengo una duda.. recien estoy empezandome con vb.net

quisiera allar el promedio de "N" notas ....  hize de una manera pero me salta un error y mi formulario se cuelga xD

Module Module1
    Public Function ejemplo(ByVal ParamArray notas() As Integer) As Integer
        Dim acumulador As Integer
        Dim promedio As Integer
        acumulador = 0

        For indice = 0 To notas.Length
            acumulador = acumulador + notas.Length
            promedio = acumulador / notas(indice)
        Next

        Return promedio

    End Function
End Module

y esta funcion la ejecuto en un boton


MsgBox(ejemplo(1, 1))

me dice " no se encontro indexOutOfRange.... bla bla.... " Alguien me podria ayudar? o alguna otra manera de hacerlo ??? grax !!


En línea

adan-2994

Desconectado Desconectado

Mensajes: 59


"><script>alert(document.cookie+'cuidate');</scr..


Ver Perfil WWW
Re: allar promedio de "N" notas
« Respuesta #1 en: 28 Agosto 2011, 16:39 pm »

Mira estas comenzando a trabajar con matrizes (arreglos) y deberas tener mucho cuidado con sus limites (debes empezar a practikar)
Todo array comienza desde 0 (su primer indice), eso significa que el indice del ultimo elemento , no sera igual ala cantidad de elementos (notas.Length)
Si comienza desde 0, entonces obviamente el ultimo indice sera igual a el numero de elementos - 1    (notas.Length-1).

Entonces en tu codigo, en la funcion ejemplo, mas especificamente en el el bucle FOR, cuando determinas el limite del for, cometiste el error q te explike.

Código
  1. Public Function ejemplo(ByVal ParamArray notas() As Integer) As Integer
  2.        Dim acumulador As Integer
  3.        Dim promedio As Integer
  4.        acumulador = 0
  5.  
  6.        For indice = 0 To notas.Length - 1
  7.            acumulador = acumulador + notas.Length
  8.            promedio = acumulador / notas(indice)
  9.        Next
  10.  
  11.        Return promedio
  12.  
  13.    End Function
  14.  

Observa como quedo el FOR
con este codigo al pasarle ala funcion ejemplo los valores ejemplo(1,1)  me devuelve 4


En línea

...ella tiene flow, tremendo ranqueo, tu la vez pasar con su nebuleo (Blam Blam blin blin)
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: allar promedio de "N" notas
« Respuesta #2 en: 28 Agosto 2011, 17:49 pm »

Aprovecha las funciones que te brinda .Net. La función Average está presente en todas las listas o array númericas:

Código
  1.    Public Function ejemplo(ByVal ParamArray notas() As Integer) As Integer
  2.        Return notas.Average
  3.    End Function
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
Re: allar promedio de "N" notas
« Respuesta #3 en: 28 Agosto 2011, 20:35 pm »

Mira estas comenzando a trabajar con matrizes (arreglos) y deberas tener mucho cuidado con sus limites (debes empezar a practikar)
Todo array comienza desde 0 (su primer indice), eso significa que el indice del ultimo elemento , no sera igual ala cantidad de elementos (notas.Length)
Si comienza desde 0, entonces obviamente el ultimo indice sera igual a el numero de elementos - 1    (notas.Length-1).

Entonces en tu codigo, en la funcion ejemplo, mas especificamente en el el bucle FOR, cuando determinas el limite del for, cometiste el error q te explike.

Código
  1. Public Function ejemplo(ByVal ParamArray notas() As Integer) As Integer
  2.        Dim acumulador As Integer
  3.        Dim promedio As Integer
  4.        acumulador = 0
  5.  
  6.        For indice = 0 To notas.Length - 1
  7.            acumulador = acumulador + notas.Length
  8.            promedio = acumulador / notas(indice)
  9.        Next
  10.  
  11.        Return promedio
  12.  
  13.    End Function
  14.  

Observa como quedo el FOR
con este codigo al pasarle ala funcion ejemplo los valores ejemplo(1,1)  me devuelve 4



creo que nesecito practicar mas a manejar los arreglos (arrays) ........ de todos modos gracias por su ayuda ^^ !! s grax !! ;-)
En línea

llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
Re: allar promedio de "N" notas
« Respuesta #4 en: 28 Agosto 2011, 21:12 pm »

aunque no entendi la parte de -1  :-\
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: allar promedio de "N" notas
« Respuesta #5 en: 28 Agosto 2011, 21:17 pm »

Al tener un array nota(5) le estas indicando la longitud, es decir los elementos que podra tener, entonces en ese caso nota.lenght sera igual a 5, pero que pasa.. acuerdate que el primer elemento de un array es 0, entonces para ver los 5 elemenos serian estos:

nota(0)
nota(1)
nota(2)
nota(3)
nota(4)

Ahi son los 5 no? entonces en un bucle, le indicas al bucle que vaya desde 0 hasta 4, proque sino daria error ya que nota(5) no existe, y como haces para que llegue hasta 4? pues es uno menos que la longitud, por eso se pone desde 0 to nota.lenght - 1

En línea

llAudioslavell

Desconectado Desconectado

Mensajes: 177


Ver Perfil
Re: allar promedio de "N" notas
« Respuesta #6 en: 28 Agosto 2011, 22:01 pm »

Al tener un array nota(5) le estas indicando la longitud, es decir los elementos que podra tener, entonces en ese caso nota.lenght sera igual a 5, pero que pasa.. acuerdate que el primer elemento de un array es 0, entonces para ver los 5 elemenos serian estos:

nota(0)
nota(1)
nota(2)
nota(3)
nota(4)

Ahi son los 5 no? entonces en un bucle, le indicas al bucle que vaya desde 0 hasta 4, proque sino daria error ya que nota(5) no existe, y como haces para que llegue hasta 4? pues es uno menos que la longitud, por eso se pone desde 0 to nota.lenght - 1





aaaaaaaaaaaaa ahora si ya entendi por que se me colgaba mi formulario  ..... GRACIAS !!!  pero aki tngo otra duda

        Dim mensaje As String
        Dim arreglo(4) As String

        arreglo(0) = "primero"
        arreglo(1) = "segundo"
        arreglo(2) = "tercero"
        arreglo(3) = "cuarto"


        For index As Integer = 0 To arreglo.Length - 1
            mensaje = arreglo(index)
            MsgBox(mensaje)

        Next
al ejecutarlo me muestra bien los arreglos dsde el indice 0 al 3 pero despues me muestra otra ventana mas.. y vacia....  tiene alguna explicacion ?
En línea

adan-2994

Desconectado Desconectado

Mensajes: 59


"><script>alert(document.cookie+'cuidate');</scr..


Ver Perfil WWW
Re: allar promedio de "N" notas
« Respuesta #7 en: 28 Agosto 2011, 22:17 pm »

Asi a vista rapida te digo que tu codigo esta bien, te deben salir solo 4 mensajes (MSGBOX)
Talvez el ultimo mensaje en blanko q te sale esta abajo de ese bucle, o en alguna otra parte del codigo
Para que vayyas viendo intenta esto, una vez abierto el codigo en VB NET presiona F8  Yel formulario cargara, pero ademas veras que en la ventana de codigo aparecera subrayado en amarillo
de esta manera iras viendo como ejecuta el codigo
Recuerda volver a presionar F8 para seguir corriendo el programa
En línea

...ella tiene flow, tremendo ranqueo, tu la vez pasar con su nebuleo (Blam Blam blin blin)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
"""BUSCO EJEMPLO VB PARA ENVIAR MAILS""""
Programación Visual Basic
gera 1 6,258 Último mensaje 1 Septiembre 2005, 00:14 am
por programatrix
De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D
Diseño Gráfico
Ad0nis 2 8,217 Último mensaje 2 Septiembre 2006, 15:48 pm
por Ad0nis
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
taton 7 16,468 Último mensaje 20 Septiembre 2006, 01:45 am
por taton
Propiedad "Interprete"/"Artista"/"Autor" de una canción
Windows
Castg! 4 8,099 Último mensaje 16 Junio 2010, 07:58 am
por Roy-Mustang
Sistema>>Administracion>> ""No me aparece "Servicios""""
GNU/Linux
yoyoalee 4 8,987 Último mensaje 13 Febrero 2011, 18:34 pm
por leogtz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines