You are on page 1of 18

EJERCICIOS EN VISUAL

EJERCICIO NUMERO 11
Algoritmo que lee el precio al pagado por un producto y su precio de tarifa y nos calcula el
porcentaje de descuento que le ha sido aplicado
Sub main
Dim PrecioFinal as single,PrecioTarifa as single,Dto as single
Console.write( Ingrese Precio Tarifa)
PrecioTarifa=console.readline()
Console.write(Ingrese Precio Final)
PrecioFinal= console.readline()
Dto= (1*PrecioFinal/PrecioTarifa)*100
Console.writeline(Descuento =&Dto,%)
EJERCICIO NUMERO 12
Algoritmo que lee 3 nmeros distintos y nos dice cual de ellos es el menor
Sub main
Dim n1,n2,n3 as single
Console.write (Ingrese tres numeros)
n1=console.readline()
n2=console.readline()
If n1=n2 or n2=n3 then
Console.writeline(Los tres nmeros son igual)
Else
If n1<n2 then
If n1<n3 then
Console.writeline(El menor es:& n1)
Else
If n1>=n3 then
Console.writeline(El menor es:&n3)
End if
End if
Else
If n1>=n2 then
If n2<n3 then
Console.writeline(El menor es:& n2)
Else
Console.writeline(El menor es:& n3)
End if
End if
End if
End sub
EJERCICIO NUMERO 13
Algoritmo que lee como datos de entrada una fecha expresada en da (1..31), mes (1..12, y
ao y nos dice la fecha que ser el da siguiente. Se supondr que febrero tiene siempre 28
das.
Module Module1

Sub Main()
Dim dia, mes, anyo, numDias, numDiasMes As Single
Console.writeline("Introduce Dia")
dia = console.readline()
Console.writeline("Introduce Mes")
mes = console.readline()
Console.writeline("Introduce Ao")
anyo = console.readline()
If mes = 2 Then
numDiasMes = 28
Else
If mes = 4 Or mes = 6 Or mes = 9 Or mes = 11 Then
numDiasMes = 30
Else
numDiasMes = 31
End If
End If
If dia > numDiasMes Then
mes = mes + 1
dia = 1
If mes > 12 Then
anyo = anyo + 1
mes = 1
End If
Else
dia = dia + 1
End If
Console.WriteLine("Un dia despus es" & dia & "/" & mes & "/" & anyo)
Console.ReadLine()
End Sub

End Module

EJERCICIO NUMERO 14
Plantea el algoritmo anterior sin suponer que febrero tiene 28 das.
Sub main
Dim dia,mes,anyo,numDias as single
Console.writeline(Introduce Dia)
dia=console.readline()
Console.writeline(Introduce Mes)
mes=console.readline()
Console.writeline(Introduce Ao)
anyo=console.readline()
If mes=2 then
If (anyo mod 4=0) and not(anyo mod 100=0 and not (anyo mod 400=0)) then
numDias=29
numDias=28
Else
If mes=4 or mes=6 or mes=9 or mes=11 then
numDias=30
Else
numDias=31
end if
End if
If dia>=1 and dia<=numDiasMes and mes>=1 and mes<=12 then
If dia=numDiasMes then
Mes=mes+1
Dia=1
If mes>12
Anyo=anyo+1
Mes=1
End if
Else
Dia=dia+1
End if
Console.writeline('Un dia despus es :&dia,/&mes,/&anyo)
Else
Console.wrireline(La fecha es incorrecta)
End sub

EJERCICIO NUMERO 15
Algoritmo que lee dos nmeros enteros, positivos y distintos y nos dice si el mayor es
mltiplo del menor o, lo que es lo mismo, si el menor es divisor del mayor.
Sub main
Dim n1,n2,mayor,menor as single
Console.write (Ingrese dos numeros)
n1=console.readline()
n2=console.readline()
If n1>n2 then
mayor=n1
menor=n2
else
mayor=n2
menor=n1
end if
If (mayor mod menor)=0 then
Console.writeline(& mayores multiplo de&menor)
Else
Console.writeline(NO existe relacin entre los dos numeros)
End if
End sub
EJERCICIO NUMERO 16
Algoritmo que calcula la edad de una persona recibiendo como datos de entrada la fecha de
nacimiento, y la fecha actual, ambas en tres variables.
sub main
Dim d_n, m_m, a_n as integer
Dim d_a, m_a, a_a as integer
Dim Edad as integer
console.writeline(Fecha nacimiento:)
d_n = console.realine()
m_n = console.realine()
a_n = console.realine()
console.writeline(Fecha Actual:)
d_a = console.realine()
m_a = console.realine()
a_a = console.realine()


Edad = a_a - a_n
If m_a < m_n or (m_a = m_n and d_a < d_n) then
Edad = Edad 1
end if
console.writeline(Edad =&Edad)
end sub
EJERCICIO NUMERO 17
Realizar un algoritmo que muestre por pantalla los nmeros pares menores de 100.
Sub main
Dim n as single
n=2
select case <n<100>
case 1
console.writeline(&n)
n=n+2
end select
end sub
EJERCICIO NUMERO 18
Realizar un algoritmo que muestre por pantalla los nmeros mltiplos de 5 menores que
10000.
Module Module1

Sub Main()
Dim n As Single
n = 5
While (n < 100)

Console.WriteLine("" & n)
n = n + 5
End While
Console.ReadLine()
End Sub

End Module

EJERCICIO NUMERO 19
Algoritmo que lea un nmero por teclado e imprima por pantalla todos los nmeros
positivos menores que N
Sub main
Dim n,i as single
Console.writeline(Introduce un numero)
n=Console.readline()
i=i+1
select case <i<n>
case1
console.writeline(&i)
i=i+1
end select
end sub
EJERCICIO NUMERO 20
Algoritmo que lee una secuencia de 10 nmeros y obtiene e imprime cuantos hay positivos,
negativos y nulos
sub main
Dim n,i,nPos,nNeg,nNulos as single
Select case <i<10>
case1
console.writeline(Introduce numero)
n=console.readline()
If n>0 then
nPos=nPos+1
Else
If n<0 then
nNeg=nNeg+1
else
nNulos=nNulos+1
end if
end if
i=i+1
end select
console.writeline(Total positivos&nPos)
console.writeline(Total Negaticos&nNeg)
console.writeline(Total Nulos&nNulos)
end sub
EJERCICIO NUMERO 21
Algoritmo que lee una secuencia de nmeros no nulos, terminada con la introduccin de un
0, y obtiene e imprime el mayor, visualizando un mensaje de si ha ledo algn nmero
negativo.
sub main
Dim n,mayor as single
console.writeline(Introduce un numero)
n=console.readline()
i=i+1
mayor= -99999
for i=1 to n step 1
numero=console.readline()
If numero<0 then
console.writeline(Se han encontrado nmeros negativos)
else
If numero>0 and numero>mayor then
mayor=numero
end if
end if
console.writeline(El mayor es:&mayor)
end sub
EJERCICIO NUMERO 22
Algoritmo que lee un nmero entero positivo N y calcula e imprime el factorial de N!. Si lee
un nmero negativo indica con un mensaje que no es posible la operacin.
sub main
Din n as single
console.writeline(Introduce un numero)
n=console.readline()
If n<0 then
console.writeline(No existe factorial)
else
resultado=1
for i=1 to n step 1
resultado = resultado*1
next
console.writeline(El factorial es:&resultado)
end sub
EJERCICIO NUMERO 23
Algoritmo que lee un nmero X y otro entero positivo N y calcula la N-sima potencia de X
(sin utilizar el operador de potencia). Programa Potencia;
Module Module1

Sub Main()

Dim x, n, i, resultado As Integer
Console.WriteLine("Introduce un numero")
x = Console.ReadLine()
Console.WriteLine("Introduce la potencia")
n = Console.ReadLine()
If n < 0 Then
Console.WriteLine("No se calcular potencias negativas")
Else
resultado = 1
i = 0
While (i < n)

resultado = resultado * x
i = i + 1
End While
Console.WriteLine(x & " elevado a " & n & " es " & resultado)
End If
Console.Read()

End Sub

End Module

EJERCICIO NUMERO 24
Algoritmo que obtenga el producto de dos nmeros enteros positivos mediante sumas
sucesivas.
sub main
Dim n1,n2,i,resultado as integer
Dim resultadoNeg as boolean
console.writeline(Introduce un numero 1)
n1=console.readline()
console.writeline (Introduce numero 2)
n1=console.readline()
resultadoNeg = (n1 < 0 or n2 < 0) and not (n1 < 0 y n2 < 0)
If n1 < 0 then
n1 = -n1
end if
If n2 < 0 then
n2 = -n2
end if
resultado = 0
i = 1
Do while i < n2
resultado = resultado + n1
end while
If resultadoNeg then
resultadoNeg = -resultadoNeg
end if
console.writeline(n1&por&n2es&resultado)
end if
end sub
EJERCICIO NUMERO 25
Algoritmos que obtenga el cociente y el resto de dos nmeros enteros positivos mediante
restas.
sub main
Dim dividendo,divisor,resto,cociente as integer
Dim resultadoNeg as boolean
Inicio
console.writeline(Introduce dividendo)
dividendo= console.readline()
console.writeline(Introduce divisor)
divisor= console.readline()
resultadoNeg = (dividendo < 0 or divisor < 0) and not(dividendo < 0 y divisor < 0)

If dividendo<0 then
dividendo=-dividendo
end if

If divisor<0 then
divisor=-divisor
end if
cociente=0
resto = dividendo
while
If resultadoNeg then
cociente = -cociente
end if
console.writeline(dividendo&entre&divisorda&cociente,con resto&resto)
end sub
EJERCICO NUMERO 26
Algoritmo que lee tres nmeros A, B, C, y los imprime en orden creciente e indica si fueron
introducidos en ese orden.
sub main
Dim n1,n2,n3 as integer
console.writeline(Introduce tres nmeros: )
n1=console.readline()
n2=console.readline()
n3=console.readline()
Ifi n1 > n2 then
if n2 > n3 then
console.writeline(n3&n2&n1)
else
n2 <= n3
If n1 > n3 then
console.writeline(n2&n3& n1)
else
console.writeline( n2&n1&n3)
end if
end if
else
n1 <= n2
Ifi n2 < n3 then
console.writeline( n1& n2& n3)
else
n2 >= n3 and n2 >= n1
If n1 > n3 then
console.writeline(n3& n1& n2)
else
console.writeline( n1& n3&n2)
console.writeline(Los nmeros se introdujeron ordenados)
end if
end if
end if
end sub
EJERCICIOS NUMERO 27
Algoritmo que lea un nmero por teclado y nos diga si es primo. /* Un nmero es primo
cuando solo es divisible por si mismo y por el 1. Para saber si un nmero es primo debemos
dividirlo sucesivamente por sus posibles divisores (nmeros menor que l) y si encontramos
algn divisor diremos que el nmero NO es primo, es caso contrario ser un nmero primo.
*/

Sub main()
Dim n as integer
Dim esPrimo as boolean
Console.writeline(Introduce un nmero)
n = console.readline()
esPrimo = true;
cont = 2
while cont < n and esPrimo then

if n mod cont == 0 then
esPrimo = false
end if

end while
if esPrimo then
console.writeline(El nmero& n& es primo)
else
console.writeline(El nmero& n& NO es primo)

end if
end sub

EJERCICIO NUMERO 28
Algoritmo que genera la lista de los N primeros nmeros primos, siendo N el dato de
entrada.

Module Module1

Sub main()
Dim i, cont As Integer
Dim esPrimo As Boolean
Dim nPrimos, n As Integer

Console.WriteLine("Introduce un nmero:")
n = Console.ReadLine()
i = 1
nPrimos = 0
While (i < n)
esPrimo = True
cont = 2
While (cont < i And esPrimo)
If n Mod cont = 0 Then
esPrimo = False
End If
cont = cont + 1
End While

If esPrimo Then
Console.WriteLine(i)
nPrimos = nPrimos + 1
End If
i = i + 1

End While
Console.Read()
End Sub


End Module

falta revisar
EJERCICIO NUMERO 29
Algoritmo lea un nmero N y muestre por pantalla los nmeros primos menores que N.
La aproximacin primera sera
Lee n;
Para i=1 hasta n-1 hacer
Si i es un nmero primo entonces Escribe i; Fin Si;
Fin Para;
Una vez tenemos la 1 aproximacin tan solo tenemos que introducir el cdigo que nos indica
si un nmero es primo donde proceda. Cuando veamos funciones, veremos que est tarea es
trivial. Este algoritmo a diferencia del anterior saca los nmeros primos menores que N,
mientras que el otro sacaba los N primeros primos. La diferencia es la siguiente, para N=5 N
primeros : 1,2,3,5,7 < N : 1,2,3,5 */
1.1. DIAGRAMA DE FLUJO 31
Programa NPrimerosPrimos;
Entorno
// Variables utilizadas para ver si el nmero i es primo Entero i, cont; Booleano esPrimo; //
Variable que indicar si es primo o no // Variables utilizadas para ir probando los nmeros
Entero n; // Enterio i; Declarada previamente
Inicio
Escribe Introduce un nmero: ; Lee n; Para i=1 hasta n-1 /* Si i es un numero primo entonces
*/ esPrimo = true; // suponemos que el nmero es primo cont = 2; // Empezamos dividiendo
por 2 Mientras cont < i y esPrimo hacer Si n% cont entonces esPrimo = false; // Se ha
encontrado un divisor Fin si; Fin mientras; Si esPrimo entonces Escribe i; Fin Si; Fin Para;
Fin;
EJERCICIO NUMERO 30
Algoritmo que calcula e imprime los nmeros perfectos menores que 1000.
(Un nmero es perfecto si la suma de sus divisores, excepto l mismo, es igual al propio
nmero.). /* Para resolver este algoritmo es necesario realizar una aproximacin descendente.
Damos por supuesta la operacin es numero perfecto que ms adelante desarrollaremos
La aproximacin primera sera Para n=1 hasta 999 hacer
Si n es numero perfecto entonces Escribe n; Fin Si;
Fin Para; Ahora debemos desarrollar el subproblema es numero perfecto sumaDivisores = 0;
Para i=1 hasta n-1 hacer
Si n% i = 0 entonces sumaDivisores = sumaDivisores + n;
32 CAPTULO 1. ALGORITMOS Y DIAGRAMAS DE FLUJO
Fin si; Fin Para Si sumaDivisores = n entonces // N es un nmero perfecto Fin si; De nuevo
unimos las dos soluciones y ya tenemos resuelto el problema
*/ Programa NumerosPerfectos;
Entorno Entero n i, sumaDivisores;
Inicio Para n=1 hasta 999 hacer /* Si n es numero perfecto entonces */ sumaDivisores = 0; Para
i=1 hasta n-1 hacer Si n% i = 0 entonces sumaDivisores = sumaDivisores + n; Fin si; Fin Para Si
sumaDivisores = n entonces // N es un nmero perfecto Escribe n; Fin Si; Fin Para;
Fin;
EJERCICIO NUMERO 31
Algoritmo que evala un polinomio de grado N. Los datos de entrada son el valor de la
variable y los coeficientes.
Module Module1

Sub Main()

Dim coef, grado, x, i, valpoli As Integer
valpoli = 0

Do
Console.WriteLine("Ingrese grado del polinomio: ")
grado = Console.ReadLine()
Console.WriteLine("Ingrese valor de la variable: ")
x = Console.ReadLine()

If grado < 0 Then
Console.WriteLine("Por favor el grado debe ser positivo. Vuelva a
intentar")

End If

Loop While grado < 0

If grado >= 0 Then
For i = grado To 0 Step -1
Console.WriteLine("Ingrese coeficiente de grado " & i & ":")
coef = Console.ReadLine()
valpoli = valpoli + coef * x ^ i
Next

Console.WriteLine("El valor del polinomio es: " & valpoli)
End If

Console.Read()
End Sub
End Module

EJERCICIO NUMERO 32
Algoritmo que lee un nmero entero positivo N e imprime su tabla de multiplicar.
Module Module1

Sub Main()

Dim i, n As Integer

Console.WriteLine("Ingrese un numero ")
n = Console.ReadLine()
Console.WriteLine("")


If n >= 0 Then
Console.WriteLine("La tabla de multiplicar de " & n & " es: ")
For i = 1 To 12
Console.WriteLine(n & " x " & i & " = " & n * i)
Next

End If
Console.Read()
End Sub
End Module

EJERCICIO NUMERO 33
Algoritmo que lee un nmero entero y positivo N y escribe la lista de sus divisores.
Module Module1

Sub Main()

Dim i, n As Integer


Console.WriteLine("Ingrese un numero positivo ")
n = Console.ReadLine()
Console.WriteLine("")

If n > 0 Then
Console.WriteLine("Los divisores de " & n & " son: ")
For i = 1 To n
If n Mod i = 0 Then
Console.WriteLine(i)
End If
Next

End If
Console.Read()
End Sub
End Module

EJERCICIO NUMERO 34
Algoritmo que lee un nmero entero y positivo y calcula y escribe la suma de sus divisores.
Module Module1

Sub Main()

Dim i, n, suma As Integer
suma = 0

Console.WriteLine("Ingrese un numero positivo ")
n = Console.ReadLine()
Console.WriteLine("")

If n > 0 Then
For i = 1 To n
If n Mod i = 0 Then
suma = suma + i
End If
Next
Console.WriteLine("La suma de sus divisores de " & n & " es " & suma)
End If
Console.Read()
End Sub

End Module

EJERCICIO NUMERO 35
Algotimo que lee un nmero entero y positivo N y escribe los N primeros trminos de la
sucesin de Fibonacci. La sucesin se caracteriza porque cada trmino es igual a la suma de
sus dos anteriores, dndose por definicin el primero (0) y el segundo (1).
Module Module1

Sub Main()

Dim i, a1, a2, an, n As Integer
a1 = 0
a2 = 1
an = 1


Console.WriteLine("Ingrese numero, sucesion Finobacci : ")
n = Console.ReadLine()
Console.WriteLine("")


If n = 1 Then
Console.WriteLine(a1)
End If

If n > 1 Then
Console.WriteLine(a1)
Console.WriteLine(a2)
For i = 3 To n
an = a1 + a2
Console.WriteLine(an)
a1 = a2
a2 = an
Next
End If
Console.Read()
End Sub

End Module

You might also like