Anda di halaman 1dari 9

Ejercicio de la practica 3 – Recursividad

Evaluar si un número es par o impar.

Module Module1

Sub Main()

Dim n As Integer
Console.Write("Ingrese el número que desee evaluar: ")
n = Console.ReadLine
pi(n)
Console.ReadLine()

End Sub
Sub pi(ByVal x)
If x = 0 Then
Console.Write ("Par")
ElseIf x = 1 Then
Console.Write ("Impar")
Else
pi(x - 2)
End If
End Sub
End Module

Máximo común divisor de 2 números.

Module Module1

Sub Main()

Dim a, c, b As Integer
Console.Write("Ingrese el 1º número: ")
a = Console.ReadLine
Console.Write("Ingrese el 2º número: ")
b = Console.ReadLine
c = b
Console.Write("El mcd es: ")

Console.Write(mcd(a, b, c))
Console.ReadLine()
End Sub
Function mcd(ByVal a, ByVal b, ByVal c)
If c = a Then
Return 0
Else
If (a Mod c = 0) And (b Mod c = 0) Then
Return c
Else
Return mcd(a, b, c - 1)
End If
End If
End Function
End module

Evaluar si un número es primo o no

Module module1

Sub main()
Dim x As Integer

Console.Write("Ingrese el número que desee evaluar: ")


x = Console.ReadLine

Console.Write( primo(x, x - 1))


End Sub
Function primo(ByVal n, ByVal x)
Dim y As Boolean
If n < 2 Then
Return (False)
Else
If x = 1 Or x = 0 Then
Return True
Else
If n Mod x <> 0 Then
y = True
Else
y = False
End If

Return primo(n, x - 1) And y


End If
End If
End Function
End module

Contar la cantidad de digitos de un número

Module module1

Sub main()
Dim n As Integer
Console.Write("Ingrese el número que desee evaluar: ")
n = Console.ReadLine
Console.Write(nd1(n))
Console.ReadLine()
End Sub
Function nd1(ByVal n)
Dim b As Integer
b = 0
Return nd2(n, b)
End Function
Function nd2(ByVal n, ByVal b)
If n = 0 Then
Return 1
Else

If n < 1 Then
Return b
Else
Return nd2(n / 10, b + 1)
End If
End If
End Function
End module

Suma de cuadrados

Module module1

Sub main()

Dim x As Integer
Console.Writeline(“ 1^2+2^2+3^2+... ... +n^2”)
Console.Write("Ingrese n: ")
x = Console.ReadLine
Console.Write("El resultado es: ")

Console.Write(cu(x))
Console.ReadLine ()
End Sub
Function cu(ByVal x)
If x = 1 Then Return 1
Return x ^ 2 + cu(x - 1)
End Function
End module

Mostrar los dígitos de un número por separado

Module module1

Sub main()

Dim x As Integer
Console.Write("Ingrese el número que desee evaluar: ")
x = Console.ReadLine

Di(x)
Console.ReadLine()

End Sub
Sub di(ByVal x)
If x > 0 Then
Console.Writeline (" - " & x Mod 10)
x = Int(x / 10)
di(x)
End If
End Sub
End module

Mostrar los factores comunes de dos números

Module module1

Sub main()

Dim a, b As Integer
Console.Write("Ingrese el 1º número que desee evaluar: ")
a = Console.ReadLine
Console.Write("Ingrese el 2º número que desee evaluar: ")
b = Console.ReadLine
fc(a, b, b)
Console.ReadLine ()
End Sub
Sub fc(ByVal a, ByVal b, ByVal c)
If c <> 0 Then
If (a Mod c = 0) And (b Mod c = 0) Then
Console.Writeline (" - " & c)
fc(a, b, c - 1)
Else
fc(a, b, c - 1)
End If
End If
End Sub
End module

Potencia de un número

Module module1

Sub main()

Dim x, y As Integer
Console.Write("Ingrese la base: ")
x= Console.ReadLine
Console.Write("Ingrese el exponente: ")
y = Console.ReadLine
Console.Write( pot(x, y))
Console.ReadLine ()
End Sub
Function pot(ByVal x, ByVal y)
If y = 1 Then Return x
Return pot(x, y - 1) * x
End Function
End module

Fin de Ejercicio de la practica 3 – Recursividad

Ejercicios de la practica 4 – Arrays


Hallar el promedio aritmético de n números

Module module1

Sub main()

Dim c, x, s As Integer
Console.Write("Ingrese La cantidad de numeros que desee evaluar:
")
x = Console.ReadLine
Dim ar(x) As Integer

For c = 1 To x
Console.Write("Ingrese " & c & "º numero: ")
Ar(c) = Console.ReadLine
s = s + ar(c)
Next
Console.Write("El promedio aritmetico es: ")
Console.Write(s / x)
Console.ReadLine()
End Sub
End Module

Hallar el promedio geométrico de n números

Module module1

Sub main()

Dim c, x, s As Integer
Console.Write("Ingrese La cantidad de numeros que desee evaluar:
")
x = Console.ReadLine
s = 1
Dim ar(x) As Integer

For c = 1 To x
Console.Write("Ingrese " & c & "º numero: ")
Ar(c) = Console.ReadLine
s = s * ar(c)
Next
Console.Write("El promedio geometrico es: ")
Console.Write(s ^ (1 / x))
Console.ReadLine()
End Sub
End Module

Hallar el promedio Armónico de n números

Module module1

Sub main()

Dim c, x As Integer
Dim s As Double
s = 0
Console.Write("Ingrese La cantidad de numeros que desee evaluar:
")
x = Console.ReadLine
Dim ar(x) As Integer
For c = 1 To x
Console.Write("Ingrese " & c & "º numero: ")
Ar(c) = Console.ReadLine
s = s + (1 / ar(c))
Next
Console.Write("El promedio Armonico es: ")
Console.Write(x / s)
Console.ReadLine()

End Sub
End Module

Hallar el promedio ponderado de n números

Module module1

Sub main()

Dim c, x, sp, si As Integer


Console.WriteLine("Numeros pares: 70% ")

Console.WriteLine("Numeros impares: 30% ")

Console.Write("Ingrese La cantidad de numeros que desee evaluar:


")
x = Console.ReadLine
Dim ar(x) As Integer
For c = 1 To x
Console.Write("Ingrese " & c & "º numero: ")
Ar(c) = Console.ReadLine
If ar(c) Mod 2 = 0 Then
sp = sp + ar(c)
Else
si = si + ar(c)
End If
Next
Console.Write(sp * 0.7 + si * 0.3)
Console.ReadLine()
End Sub
End Module

Buscar un número dentro de un array

Module module1

Sub main()

Dim c, x, s As Integer
Dim pert As Boolean
Pert = False
Console.Writeline("El array se rrellenara de forma aleatoria de 0
a 9 ")

Console.Write("Ingrese La cantidad de numeros del array: ")


x = Console.ReadLine

Console.Write("Ingrese El numero buscado: ")


s = Console.ReadLine
Console.Writeline("Los elementos del array son: ")

Dim ar(x) As Integer


For c = 1 To x
ar(c) = (Rnd() * 9)
Console.Writeline(ar(c))
If ar(c) = s Then
Pert = True

End If
Next
Console.WriteLine()
If pert = False Then
Console.Writeline(s & " no pertenece al array")
ElseIf pert = True Then
Console.Writeline(s & " si pertenece al array")
End If
Console.ReadLine()
End Sub
End Module

Eliminar los datos repetidos de un array


Module Module1
Sub main()
Dim x, c, x2, c2 As Integer
Console.WriteLine("Eliminar los datos repetidos dentro de un
array")
Console.WriteLine("El array sera rellenado aleatoreamente de 0 a
9 ")
Console.Write("Ingrese la cantidad de elementos que tendra el
array: ")
x = Console.ReadLine
x -= 1
Console.WriteLine("Los elementos del array son: ")
Dim a(x), a2(x) As Integer
Dim rep(x) As Boolean
For c = 0 To x
a(c) = Rnd() * 9
Console.WriteLine(a(c))
Next
For c = 0 To x
rep(c) = False
Next
Dim j, i As Integer
For i = 0 To x - 1
For j = i + 1 To x
If a(i) = a(j) Then
'rep(i) = True
rep(j) = True
End If
Next
Next
x2 = 0
For c = 0 To x
If rep(c) = False Then
x2 = x2 + 1
End If
a2(c) = a(c)
Next
x2 -= 1
ReDim a(x2)
c2 = 0
For c = 0 To x
If rep(c) = False Then
a(c2) = a2(c)
c2 += 1
End If
Next
Console.WriteLine()

Console.WriteLine("los elementos del array sin los repetidos


son:")
For c = 0 To x2
Console.WriteLine(a(c))
Next
Console.ReadLine()

End Sub
End Module

Anda mungkin juga menyukai