Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problema Con Operación Matemática [Solucionado]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Con Operación Matemática [Solucionado] 
 
Hola!.

Estaba pasando un ejemplo de Python a gambas y me encontré un pequeño problema.
Consiste:

Crear un programa que cuente los cuadrados de los números del 1 al 100 que acaben en 1
Bien, lo hice igual.

Supongamos este primer ejemplo:

Public Sub Main()
Dim x, contador As Integer

For x = 1 To 100
  If (x ^ 2) Mod 10 = 1 Then contador += 1  
Next
Print "El total de los cuadrados del 1 al 100 que terminan en 1 son : " & contador

End
 


Lanza el error "No coinciden los tipos, requerido entero, se obtiene Real o Float"
Creo que no hace falta el paréntesis de la potencia.

Ahora fijaros en este otro:

Public Sub Main()
Dim x, contador, cuadrado As Integer

For x = 1 To 100
  cuadrado = x ^ 2
  If cuadrado Mod 10 = 1 Then  contador += 1  
Next
Print "El total de los cuadrados del 1 al 100 que terminan en 1 son : " & contador

End
 


Es correcto. ¿ Cuál es el problema ?. ¿ Orden de las operaciones ?
Cuestión. No estoy almacenando un valor de un tipo distinto al de las variables, solo estoy averiguando el resultado de una comparación de una expresión.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 06 Noviembre 2014, 11:05; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Operación Matemática 
 
Shell escribió: [Ver mensaje]
Lanza el error "No coinciden los tipos, requerido entero, se obtiene Real o Float"


Este fue un problema que ya puse en el foro italiano:
http://www.gambas-it.org/smf/index.php?topic=2794.0

La potenciación regresa un Float .
 



 
última edición por vuott el Viernes, 31 Octobre 2014, 01:46; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Operación Matemática 
 
Vuott:

Entonces como la variable cuadrado es tipo entero, gambas convierte el valor devuelto Float a entero directamente.
En la ayuda de gambas sobre los operadores aritméticos no habla nada referente a los tipos devueltos.
Con esto se soluciona.

Public Sub Main()
  
  Dim x, contador As Integer
  
  For x = 1 To 100
    If CInt(x ^ 2) Mod 10 = 1 Then contador += 1  
  Next
  Print "El total de los cuadrados del 1 al 100 que terminan en 1 son : " & contador
  
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
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Problema Con Result (Solucionado) chen_08 Bases de Datos 1 Martes, 23 Marzo 2010, 17:56 Ver último mensaje
jguardon
No hay nuevos mensajes Problema Al Insertar Datos A Un TableView[... demonshack Controles/Librerías/Componentes 2 Sabado, 28 Agosto 2010, 00:23 Ver último mensaje
demonshack
No hay nuevos mensajes Problema Con Settings (Solucionado) Dani26 General 4 Viernes, 03 Diciembre 2010, 12:44 Ver último mensaje
Dani26
No hay nuevos mensajes Problema Con El Refresco De Un PictureBox ... shordi Controles/Librerías/Componentes 4 Viernes, 24 Junio 2011, 18:28 Ver último mensaje
shordi
 

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

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
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