Crear una condicional para averiguar si es multiplo

Maria JC
19 de Agosto del 2010
Hola. Estoy haciendo un curso sobre visual basic y estoy muy perdida... Me he quedado atascada en un ejercicio que me pide una condicional.

Tengo que hacer que el programa me pida dos números enteros y diga si el primero es múltiplo del segundo. para ello me pide que cree un método auxiliar que tome como parámetros los dos números enteros y devuelva True si el primer número es múltiplo del segundo y False si no lo es.

Me da el siguiente esqueleto del programa:

Module Modulo1
Sub Main
' Pedir los datos y mostrar si es cierto o no que uno es multiplo de otro llamando al metodo esMultiplo
End Sub
Function esMultiplo(x As Integer, y as Integer) As Boolean
....
End function
End Module

Se que debe de ser de lo mas sencillo, pero me he quedado bloqueada, por favor agradezco vuestra ayuda.

Juan A. Santos López
23 de Septiembre del 2010
Hola Maria JC, me llamo Juan, te respondo a tu duda:

Es muy fácil, solo tienes que hacer una división sin decimales y si el resto es 0 significa que es múltiplo y si el resto es diferente a 0 es que no es múltiplo.

Te dejo el código para que lo veas más claro, crea un nuevo proyecto e inserta un command (command1) en el formulario (form1) y pega el siguiente código:

Option Explicit

Private Sub Command1_Click()
'crea la variable del primer numero
Dim numero1 As Integer
'crea la variable del segundo numero
Dim numero2 As Integer

'pide el primer número
numero1 = InputBox("Introduce el Primer Número", "Comprobación")
'pide el segundo numero
numero2 = InputBox("Introduce el Segundo Número", "Comprobación")

'llama a la funcion MULTIPLO y muestra mensaje
If Multiplo(numero1, numero2) Then
MsgBox "El número " & numero1 & " es múltiplo de " & numero2
Else
MsgBox "El número " & numero1 & " NO es múltiplo de " & numero2
End If

End Sub


Private Function Multiplo(ByVal miNumero1 As Long, ByVal miNumero2 As Long) As Boolean
'crea variable de resto de division
Dim Resto As Integer
'divide los numeros sin decimales
Resto = miNumero1 Mod miNumero2
'comprueba si el resto es cero
If Resto = 0 Then
Multiplo = True 'si es cero es multiplo
Else
Multiplo = False 'si no es cero no es multiplo
End If
End Function

Private Sub Form_Load()
'cambia el caption del formulario y del command
Me.Caption = "Comprobación de MULTIPLO"
Command1.Caption = "Pedir DATOS"
End Sub


Juan A. Santos López
23 de Septiembre del 2010
upsss salió mal, me equivoque de boton, aqui te dejo el codigo mejor:

Option Explicit

Private Sub Command1_Click()
'crea la variable del primer numero
Dim numero1 As Integer
'crea la variable del segundo numero
Dim numero2 As Integer

'pide el primer número
numero1 = InputBox("Introduce el Primer Número", "Comprobación")
'pide el segundo numero
numero2 = InputBox("Introduce el Segundo Número", "Comprobación")

'llama a la funcion MULTIPLO y muestra mensaje
If Multiplo(numero1, numero2) Then
MsgBox "El número " & numero1 & " es múltiplo de " & numero2
Else
MsgBox "El número " & numero1 & " NO es múltiplo de " & numero2
End If

End Sub


Private Function Multiplo(ByVal miNumero1 As Long, ByVal miNumero2 As Long) As Boolean
'crea variable de resto de division
Dim Resto As Integer
'divide los numeros sin decimales
Resto = miNumero1 Mod miNumero2
'comprueba si el resto es cero
If Resto = 0 Then
Multiplo = True 'si es cero es multiplo
Else
Multiplo = False 'si no es cero no es multiplo
End If
End Function

Private Sub Form_Load()
'cambia el caption del formulario y del command
Me.Caption = "Comprobación de MULTIPLO"
Command1.Caption = "Pedir DATOS"
End Sub


si tienes alguna duda escribeme: [email protected]

Juan A. Santos López
23 de Septiembre del 2010
joder no se porque pone las

borralas que no deben estar ahi...

Juan A. Santos López
23 de Septiembre del 2010
LAS BARRAS, QUITALAS TODAS