Problema Con Operación Matemática [Solucionado]


Objetivo: 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

última edición por Shell el Jueves, 06 Noviembre 2014, 11:05; editado 2 veces
Objetivo: 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
Perfil MP  
Objetivo: 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


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1014s (PHP: -29% SQL: 129%)
Consultas SQL: 25 - Debug off - GZIP Activado