Autor
|
Tema: allar promedio de "N" notas (Leído 5,648 veces)
|
llAudioslavell
Desconectado
Mensajes: 177
|
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
Mensajes: 59
"><script>alert(document.cookie+'cuidate');</scr..
|
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. 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 - 1 acumulador = acumulador + notas.Length promedio = acumulador / notas(indice) Next Return promedio End Function
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
Mensajes: 496
Nothing
|
Aprovecha las funciones que te brinda .Net. La función Average está presente en todas las listas o array númericas: Public Function ejemplo(ByVal ParamArray notas() As Integer) As Integer Return notas.Average 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
Mensajes: 177
|
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. 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 - 1 acumulador = acumulador + notas.Length promedio = acumulador / notas(indice) Next Return promedio End Function
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
Mensajes: 177
|
aunque no entendi la parte de -1
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
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
Mensajes: 177
|
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
Mensajes: 59
"><script>alert(document.cookie+'cuidate');</scr..
|
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)
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
"""BUSCO EJEMPLO VB PARA ENVIAR MAILS""""
Programación Visual Basic
|
gera
|
1
|
6,319
|
1 Septiembre 2005, 00:14 am
por programatrix
|
|
|
De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D
Diseño Gráfico
|
Ad0nis
|
2
|
8,347
|
2 Septiembre 2006, 15:48 pm
por Ad0nis
|
|
|
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
|
taton
|
7
|
16,585
|
20 Septiembre 2006, 01:45 am
por taton
|
|
|
Propiedad "Interprete"/"Artista"/"Autor" de una canción
Windows
|
Castg!
|
4
|
8,216
|
16 Junio 2010, 07:58 am
por Roy-Mustang
|
|
|
Sistema>>Administracion>> ""No me aparece "Servicios""""
GNU/Linux
|
yoyoalee
|
4
|
9,083
|
13 Febrero 2011, 18:34 pm
por leogtz
|
|