Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Función Min
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Función Min 
 
Buenas!.

Al final casi lo olvido. Me he encontrado un problema con:

Min()
 


No es como debiera ser. Solo me compara dos valores!.  
Entonces, ¿ cómo es que en el ejemplo usa algo como esto ? :

Print Min(19, 2, 3)
 


A mí la respuesta que me da es que son demasiados argumentos.  
¿ Alguien me lo puede explicar ?.

Y si uso algo como esto:

  Print Min([19, 2, 3])
 


Me dice que no tiene suficientes argumentos. ( Nunca está contento ).

Ahora que uso la función me dice que no. Esto me recuerda a las mujeres...es broma!!!.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
Un apaño para el min.

Print [19, 2, 3, 12].sort()[0]
 


Si fuera Python podría usar para el máximo índice del array con [-1].
Que raro que esto no se pensara en gambas.  
De esa forma no hace falta almacenarlo en una variable. Era algo casual.

Ah, como no suelo usar esos métodos se olvidan.  Para encontrar el máximo:

Print [19, 2, 3, 12].sort(True)[0]
 


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Viernes, 25 Marzo 2016, 12:40; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
Public Sub Minimo(lista As Integer[]) As Integer
  
  Return lista.Sort()[0]
  
End

Public Sub Maximo(lista As Integer[]) As Integer
  
  Return lista.Sort(True)[0]
  
End
 


Saludos!
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
En el wiki on-line, la que aparece cuando escribes la función, Min() tiene 2 argumentos, no 3.   shrug2
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
a mi también me paso, y lo tengo asumido que min y max solo usan dos valores.

estos métodos están mal y abandonados    y la explicación como dicen no coincide con lo que que realmente hace.

me voy hacer mi propio Min Max  
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Viernes, 25 Marzo 2016, 16:52; editado 2 veces 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
v3ctor escribió: [Ver mensaje]
a mi también me paso....

....uhmmmm....quizas, es un problema de la versión española del Wiki.  
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
Vuott:

Citar:

....uhmmmm....quizas, es un problema de la versión española del Wiki.


Efectivamente, es un error que se debe "corregir"...ajeeeem, ajeeem..en la versión española.  

v3ctor:

La sintaxis son dos, así es, pero ves eso en el manual online y choca.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
supongamos que debemos crear el método o función Max y Min

debe cumplir dos requisitos o dicho de otra manera que se pueda usar un array aceptando una variable array tipo integer[]  o números sueltos, individuales.

1. que se puedan poner valores numéricos ejemplo Max(12,30,50,90)     me pregunto como sera eso  
2. o que se pueda poner un array como el ejemplo de shell.....
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
v3ctor:

Poder se puede hacer. Pero no sé si quieres pasarle solo valores sueltos o un array.
Tambien se puede saber si son valores sueltos o un array.

Pongamos el caso de que quieres averiguar el valor mínimo y máximo de una cantidad de números pasados.
Usamos la clases Param.

Public Sub Main()
  
  Print VMin(4, 3, 5)
  Print VMax(5, 3, 4)
  
End

Public Sub VMin(...) As Variant  
  
  Dim i As Integer
  Dim valormin As Integer
  
  valormin = Param[0]
  
  For i = 1 To Param.Count - 1
    If Min(valormin, Param[i]) <> valormin Then valormin = Min(valormin, Param[i])
  Next
  Return valormin  
  
End

Public Sub VMax(...) As Variant  
  
  Dim i As Integer
  Dim valormax As Integer
  
  valormax = Param[0]
  
  For i = 1 To Param.Count - 1
    If Max(valormax, Param[i]) <> valormax Then valormax = Min(valormax, Param[i])
  Next
  Return valormax
  
End
 


Ahora bien. ¿ Y si le pasas esto ?.

Print VMin(4, 3, 5, [8, 1, 9])
 


Por eso te preguntaba si de antemano sabes que le vas a pasar.
Ahora fíjate en este: Vamos a mostrar uno a uno los valores, de tanto los sueltos, como los que están en el array.


Public Sub Main()

  Valores(4, 3, 5, [8, 1, 9])
  
End

Public Sub Valores(...)
  
  Dim valor As Variant
  Dim v As Variant  
  Dim valormin As Integer
  
  For Each valor In Param
    Select Case TypeOf(valor)
      Case gb.Integer
        Print valor
      Case gb.Object  
        For Each v In valor
          Print v
        Next
    End Select
  Next
  
End
 


Como ves jugamos con el tipo Variant.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Función Min 
 
v3ctor escribió: [Ver mensaje]

1. que se puedan poner valores numéricos ejemplo Max(12,30,50,90)     me pregunto como sera eso  


te respondo novato  

http://novatocodegambas.blogspot.com.uy/2016/04/param.html
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Función Atan2 RIKL Controles/Librerías/Componentes 4 Viernes, 13 Julio 2012, 12:11 Ver último mensaje
RIKL
No hay nuevos mensajes Obtener El Nombre De La Función tincho Aplicaciones/Fragmentos de Código 4 Miercoles, 05 Abril 2017, 18:30 Ver último mensaje
vuott
No hay nuevos mensajes Función CDate Shell General 20 Sabado, 28 Abril 2018, 09:04 Ver último mensaje
Shell
No hay nuevos mensajes Documentar Función Shell General 21 Domingo, 20 Octobre 2019, 17:55 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron