Estructuras Cíclicas o Repetitivas
Estructuras Cíclicas o Repetitivas
Ejercicio de Consola:
Se desea calcular el salario neto mensual de un
trabajador en función del número de horas trabajadas y las diferentes tasas de
impuestos de acuerdo a la siguiente tabla:
- Las
primeras 40 horas se pagan a tarifa normal.
- Las
horas que excedan a 40, se pagan a 1,5
veces de la tarifa normal.
Las tasas de impuestos son:
- Los
primeros S/. 200,00 (nuevos soles) son libres de impuestos.
- Los
siguientes S/. 200,00 (nuevos soles) tienen un impuesto del 25%.
- Los
restantes o excedentes tienen un impuesto del 35%.
Nota: El ejercicio debe repetirse dos veces sin salir
de la ejecución.
Sub Main()
Dim nom As String
Dim rep, hor, exc As Integer
Dim suel, pag, sal, pag1, sal1, imp, cob As Single
For rep = 1 To 2
Console.Write("Ingresar
numero de horas trabajadas: ") : hor = Console.ReadLine
Console.Write("Ingresar sueldo basico
por horas: ") : suel = Console.ReadLine
If hor > 40 Then
pag
= 40 * suel
exc
= hor - 40
sal = suel * 1.5
sal1 =
exc * sal
pag1 =
(40 * suel) + (exc * sal)
Console.WriteLine("El pago bruto de las primeras 40 horas es: "
& pag)
Console.WriteLine("El exceso de horas
es: " & exc)
Console.WriteLine("El pago por cada
hora excedida es: " & sal)
Console.WriteLine("El pago de las horas
excedidas es: " & sal1)
Console.WriteLine("El pago bruto a
cobrar es: " & pag1)
Else
pag1 =
hor * suel
Console.WriteLine("El pago bruto de las
primeras 40 horas es: " & pag1)
End If
Console.Write("hallando la tasa de
interes ") : Console.ReadLine()
If pag1 <= 200 Then
Console.WriteLine("El pago bruto es sin
descuentos: " & pag1)
Else
If pag1 > 200 And
pag1 <= 400 Then
imp = (pag1 - 200) * 0.25
cob
= pag1 - imp
Console.WriteLine("El impuesto por los
primeros S/. 200 no hay: ")
Console.WriteLine("El impuesto por mas
de S/. 200 es: " & imp)
Console.WriteLine("El pago a realizar
es: " & cob)
Else
If pag1 > 400 Then
imp = ((pag1 - 200) * 0.35)
cob = pag1 - imp
Console.WriteLine("El
impuesto por los primeros S/. 200 no hay: ")
Console.WriteLine("El impuesto por mas
de S/. 200 hasta S/. 400 es: " & imp)
Console.WriteLine("El pago a realizar
es: " & cob)
End If
End If
End If
Console.ReadLine()
Next
If rep = 3 Then
Exit Sub
End If
End Sub
Ejercicio de Consola:
Una ferretería desea tener un programa que
le permita seleccionar cualquiera de las dos opciones, según la tabla mostrada:
Ferretería
|
|||
Aparatos
sanitarios
|
Materiales
de construcción
|
||
Equipos
italianos
|
150
|
Ladrillos
|
150
|
Equipos
brasileños
|
130
|
Cemento
|
17
|
Equipos
americanos
|
200
|
Arena
|
15
|
|
|
Agregados
|
25
|
|
|
Madera
|
3
|
Se debe tener en cuenta que la tercera
opción es salir, es decir que se debe seguir trabajando mientras no se utilice
la tercera opción.
Sub Main()
Dim opcion As Integer
opcion = 0
Do While opcion <
3
Console.WriteLine("sistema de ventas")
Console.WriteLine("[1] aparatos
sanitarios")
Console.WriteLine("[2] materiales de
construccion")
Console.WriteLine("[3] terminar")
Console.WriteLine("elija la opcion de
la ferrteria")
opcion = Console.ReadLine()
Select Case opcion
Case Is = 1
aparatos()
Case Is = 2
materiales()
End Select
Loop
End Sub
Private Sub
aparatos()
Dim pagar As Decimal
Dim vta As Decimal
Dim ttarifa As Integer
Dim vtarifa As Decimal
Console.WriteLine("aparatos
sanirarios")
Console.WriteLine("[1] equipos
itallianos")
Console.WriteLine("[2] equipos brasileños")
Console.WriteLine("[3} equipos
americanos")
Console.WriteLine("elegir las clases de
equipos sanitarios")
ttarifa =
Console.ReadLine()
Console.WriteLine("que cantidad desea
comprar")
vta = Console.ReadLine()
Select Case ttarifa
Case Is
= 1
vtarifa
= 150
pagar =
vta * vtarifa
Case Is = 2
vtarifa
= 130
pagar =
vta * vtarifa
Case Is = 3
vtarifa
= 200
pagar =
vta * vtarifa
End Select
Console.WriteLine("se pagara:"
+ Str(pagar))
Console.ReadLine()
End Sub
Private Sub
materiales()
Dim pagar As
Decimal
Dim vtm As Decimal
Dim ttarifa As Integer
Dim vtarifa As Decimal
Console.WriteLine("materiales de
construccion")
Console.WriteLine("[1] ladrillos")
Console.WriteLine("[2] cemento")
Console.WriteLine("[3] bolsa de arena")
Console.WriteLine("[4] agregados")
Console.WriteLine("[5] madera")
Console.WriteLine("elegir que material
de construccion desea comprar")
ttarifa =
Console.ReadLine()
Console.WriteLine("que cantidad de
materiales desea comprar")
vtm =
Console.ReadLine()
Select Case ttarifa
Case Is = 1
vtarifa = 150
pagar =
vtm * vtarifa
Case Is = 2
vtarifa
= 17
pagar =
vtm * vtarifa
Case Is = 3
vtarifa
= 15
pagar =
vtm * vtarifa
Case Is = 4
vtarifa
= 25
pagar =
vtm * vtarifa
Case Is = 5
vtarifa
= 3
pagar = vtm * vtarifa
End Select
Console.WriteLine("se pagara:"
+ Str(pagar))
Console.ReadLine()
End Sub
Ejercicio de Consola:
Una empresa de transporte de
carga, pasajeros, encomiendas y de animales desea calcular el monto de pago por
cada una de las opciones propuestas según la tabla:
Transporte de:
|
||||||
Carga
|
Pasajeros
|
Encomiendas
|
Animales
|
|||
Agroindustrial
Metales
Madera
|
3,1
2,75
3,05
|
Lima-Ica
Ica-Nazca
Nazca-Ayacucho
|
22
10
30
|
Sobres
Paquetes
Bultos
|
5
12
7
|
25
|
Se debe tener en cuenta que la quinta
opción es salir, es decir que se debe seguir trabajando mientras no se utilice
la tercera opción.
Sub Main()
Dim opcion As Integer
opcion = 0
Do While opcion <
5
Console.WriteLine("sistema de transportes")
Console.WriteLine("[1]transporte de
carga")
Console.WriteLine("[2]transporte de
pasajeros")
Console.WriteLine("[3]transporte de
encomiendas")
Console.WriteLine("[4]transporte de
animales")
Console.WriteLine("[5]terminar")
Console.WriteLine("elija la opcion ha
utilizar")
opcion = Console.ReadLine()
Select Case opcion
Case Is = 1
carga()
Case Is = 2
pasajeros()
Case Is = 3
encomiendas()
Case Is = 4
animales()
End Select
Loop
End Sub
Private Sub carga()
Dim pagar As
Decimal
Dim peso As Decimal
Dim ttarifa As Integer
Dim vtarifa As Decimal
Console.WriteLine("transporte de
carga")
Console.WriteLine("[1]trannsporte
agrindustrial")
Console.WriteLine("[2]transporte
metales")
Console.WriteLine("[3}transporte de madera")
Console.WriteLine("elegir el transporte
de carga")
ttarifa =
Console.ReadLine()
Console.WriteLine("que peso
transporta")
peso = Console.ReadLine()
Select Case ttarifa
Case Is = 1
vtarifa
= 3.1
pagar =
peso * vtarifa
Case Is = 2
vtarifa
= 2.75
pagar =
peso * vtarifa
Case Is = 3
vtarifa
= 3.05
pagar =
peso * vtarifa
End Select
Console.WriteLine("se pagara:"
+ Str(pagar))
Console.ReadLine()
End Sub
Private Sub
pasajeros()
Dim pagar As Decimal
Dim ca As Decimal
Dim ttarifa As Integer
Dim vtarifa As Decimal
Console.WriteLine("transporte de
pasajeros")
Console.WriteLine("[1]lima - ica")
Console.WriteLine("[2]ica - nazca")
Console.WriteLine("[3}ica -
ayacucho")
Console.WriteLine("elegir el transporte
de pasajeros")
ttarifa =
Console.ReadLine()
Console.WriteLine("que cantidad de
asientos")
ca = Console.ReadLine()
Select Case ttarifa
Case Is = 1
vtarifa = 22
pagar = ca * vtarifa
Case
Is = 2
vtarifa = 10
pagar =
ca * vtarifa
Case Is = 3
vtarifa
= 30
pagar =
ca * vtarifa
End Select
Console.WriteLine("se pagara:"
+ Str(pagar))
Console.ReadLine()
End Sub
Private Sub
encomiendas()
Dim pagar As
Decimal
Dim numdoc As Decimal
Dim ttarifa As Integer
Dim vtarifa As Decimal
Console.WriteLine("transporte de
encomiendas")
Console.WriteLine("[1]trannsporte de sobres")
Console.WriteLine("[2]transporte de
paquetes")
Console.WriteLine("[3}transporte de
bultos")
Console.WriteLine("elegir el transporte
de encomiendas")
ttarifa =
Console.ReadLine()
Console.WriteLine("que
peso transporta")
numdoc = Console.ReadLine()
Select Case ttarifa
Case Is = 1
vtarifa = 5
pagar = numdoc * vtarifa
Case Is = 2
vtarifa = 12
pagar = numdoc * vtarifa
Case Is = 3
vtarifa
= 7
pagar =
numdoc * vtarifa
End Select
Console.WriteLine("se pagara:"
+ Str(pagar))
Console.ReadLine()
End Sub
Private Sub
animales()
Dim pagar As Decimal
Dim peso As Decimal
Dim ttarifa As Integer
Dim vtarifa As Decimal
Console.WriteLine("transporte de
animales")
Console.WriteLine("que peso
transporta")
peso = Console.ReadLine()
vtarifa = 25
pagar = peso *
vtarifa
Console.WriteLine("se pagara:"
+ Str(pagar))
Console.ReadLine()
End Sub
Ejercicio de Consola 46:
En una tienda de accesorios para PCs, el precio de
venta unitario de los CDs es el mismo para cualquier marca (S/. 1,50 y 3,00),
sin embargo el descuento varia de acuerdo a la marca y se basa a la siguiente
tabla
Marca
|
Dscto
|
Sony
Acer
Princo
IBM
|
15%
12%
10%
20%
|
Determinar el importe a pagar por la cantidad de CDs
comprados de una sola marca, considerando que no se paga impuestos. Mostrar el
importe bruto, el descuento, y el importe a pagar por el cliente.
Ejercicio de Consola 47:
Evaluar una expresión de dos operandos enteros de
acuerdo al operador que se elija, se debe visualizar el resultado considerando
la posibilidad que en la division se intente por 0, para lo cual el resultado
debe ser también 0 )aun cuando se sabe que una division por cero tiende al
infinito). Los operadores para trabajar es de la tabla siguiente
Operador
|
Descripción
|
+
-
*
/
^
|
Suma
Resta
Producto
Division
Potencia
|
Ejercicio de Consola 48:
Una tienda distribuidora de prendas del vestir ha
establecido porcentajes de descuentos sobre el monto comprado basado en la
siguiente tabla:
|
Varones
|
Damas
|
||||
Talla
Origen
|
S
|
M
|
L
|
S
|
M
|
L
|
Nacional
|
10
|
12
|
15
|
15
|
17
|
20
|
Importado
|
05
|
07
|
10
|
07
|
09
|
12
|
Determinar y visualizar para el cliente: el monto
comprado, el importe del descuento y el monto a pagar.
Module Module1
Sub Main()
Dim opcion As Integer
opcion = 0
Do While
opcion < 3
Console.WriteLine("distribuidora de ropa")
Console.WriteLine("[1] hombres")
Console.WriteLine("[2] mujeres")
Console.WriteLine("[3] terminar")
Console.WriteLine("elija la opcion de la distribuidora")
opcion =
Console.ReadLine()
Select Case opcion
Case Is = 1
hombres()
Case Is = 2
mujeres()
End Select
Loop
End Sub
Private Sub hombres()
Dim
talla As String
Console.WriteLine("prendas de hombres")
Console.WriteLine("[1] nacional")
Console.WriteLine("[2] importado")
Console.WriteLine("elegir la calidad de los hombres")
talla =
Console.ReadLine()
Select Case talla
Case Is = 1
nacional()
Case Is = 2
importado()
End Select
End Sub
Private Sub nacional()
Dim opcion1 As Integer
Dim
venta, precio, total, desc, pago As Single
Console.WriteLine("descuentos por nacional")
Console.WriteLine("[1] hombres - s - nacional")
Console.WriteLine("[2] hombres - m - nacional")
Console.WriteLine("[3]
hombres - l - nacional")
Console.WriteLine("elegir que va a comprar")
opcion1
= Console.ReadLine
Console.WriteLine("que cantidad desea comprar")
venta =
Console.ReadLine()
Console.WriteLine("ingrese el precio")
precio =
Console.ReadLine()
Select Case opcion1
Case Is = 1
total = (venta * precio)
desc = total * 0.1
pago = total - desc
Case
Is = 2
total = (venta * precio)
desc = total * 0.12
pago = total - desc
Case
Is = 3
total = (venta * precio)
desc = total * 0.15
pago = total - desc
End
Select
Console.WriteLine("el total es: " +
Str(total))
Console.WriteLine("el descuento: " + Str(desc))
Console.WriteLine("se pagara: " + Str(pago))
Console.ReadLine()
End Sub
Private Sub importado()
Dim opcion2 As Integer
Dim
venta1, precio1, total1, desc1, pago1 As Single
Console.WriteLine("descuentos por importado")
Console.WriteLine("[1] hombres - s - importado")
Console.WriteLine("[2] hombres - m - importado")
Console.WriteLine("[3] hombres - l - importado")
Console.WriteLine("elegir que va a comprar")
opcion2
= Console.ReadLine
Console.WriteLine("que cantidad desea comprar")
venta1 =
Console.ReadLine()
Console.WriteLine("ingrese el precio")
precio1 =
Console.ReadLine()
Select Case opcion2
Case Is = 1
total1 = (venta1 * precio1)
desc1 = total1 * 0.05
pago1 = total1 - desc1
Case
Is = 2
total1 = (venta1 * precio1)
desc1 = total1 * 0.07
pago1 = total1 - desc1
Case
Is = 3
total1 = (venta1 * precio1)
desc1 = total1 * 0.1
pago1 = total1 - desc1
End Select
Console.WriteLine("el total es: " + Str(total1))
Console.WriteLine("el descuento: " + Str(desc1))
Console.WriteLine("se pagara: " + Str(pago1))
Console.ReadLine()
End Sub
Private Sub mujeres()
Dim talla1 As String
Console.WriteLine("prendas de mujeres")
Console.WriteLine("[1] nacional")
Console.WriteLine("[2] importado")
Console.WriteLine("elegir la calidad de las mujeres")
talla1 =
Console.ReadLine()
Select Case talla1
Case Is = 1
nacional1()
Case Is = 2
importado1()
End Select
End Sub
Private Sub nacional1()
Dim opcion3 As Integer
Dim
venta2, precio2, total2, desc2, pago2 As Single
Console.WriteLine("descuentos por nacional")
Console.WriteLine("[1] mujeres - s - nacional")
Console.WriteLine("[2] mujeres - m - nacional")
Console.WriteLine("[3] mujeres - l - nacional")
Console.WriteLine("elegir que va a comprar")
opcion3
= Console.ReadLine
Console.WriteLine("que cantidad desea comprar")
venta2 =
Console.ReadLine()
Console.WriteLine("ingrese el precio")
precio2 =
Console.ReadLine()
Select Case opcion3
Case Is = 1
total2 = (venta2 * precio2)
desc2 = total2 * 0.15
pago2 = total2 - desc2
Case
Is = 2
total2 = (venta2 * precio2)
desc2 = total2 * 0.17
pago2 = total2 - desc2
Case
Is = 3
total2 = (venta2 * precio2)
desc2 = total2 * 0.2
pago2 = total2 - desc2
End
Select
Console.WriteLine("el total es: " + Str(total2))
Console.WriteLine("el descuento: " + Str(desc2))
Console.WriteLine("se pagara: " + Str(pago2))
Console.ReadLine()
End Sub
Private Sub importado1()
Dim opcion4 As Integer
Dim
venta3, precio3, total3, desc3, pago3 As Single
Console.WriteLine("descuentos por importado")
Console.WriteLine("[1] mujeres - s - importado")
Console.WriteLine("[2] mujeres - m - importado")
Console.WriteLine("[3] mujeres - l - importado")
Console.WriteLine("elegir que va a
comprar")
opcion4
= Console.ReadLine
Console.WriteLine("que cantidad desea comprar")
venta3 =
Console.ReadLine()
Console.WriteLine("ingrese el precio")
precio3 =
Console.ReadLine()
Select Case opcion4
Case Is = 1
total3 = (venta3 * precio3)
desc3 = total3 * 0.07
pago3 = total3 - desc3
Case
Is = 2
total3 = (venta3 * precio3)
desc3 = total3 * 0.09
pago3 = total3 - desc3
Case
Is = 3
total3 = (venta3 * precio3)
desc3 = total3 * 0.12
pago3 = total3 - desc3
End
Select
Console.WriteLine("el total es: " + Str(total3))
Console.WriteLine("el descuento: " + Str(desc3))
Console.WriteLine("se pagara: " + Str(pago3))
Console.ReadLine()
End Sub
End Module
Ejercicio de Consola 49:
Una tienda comercial ofrece ventas al credito,
financiadas en tres formas, basadas en la siguiente tabla:
Tipo de
financiamiento
|
% Interes
|
% Cuota Inicial
|
Numero de letras
|
1
2
3
|
5
10
15
|
60
50
35
|
2
4
6
|
El cliente debera firmar antes de la financiacion el
monto de la compra, el cual es afecto a un 10% de impuesto, por lo que el monto
de la factura es igual al monto de la compra mas el importe de impuesto. Luego
que el cliente elige el tipo de financiamiento que le convenga, se debe
visualizar lo siguiente: monto de la factura, monto de los intereses, nuevo
monto de la factura (incluyendo interes), monto de la cuota inicial y el monto
de cada letra por pagar (nuevo monto de factura, menos monto de cuota inicial,
entre numero de letras)
Ejercicio de Consola 50:
En una Olimpiada de tiro al blanco se llega a un
acuerdo entre los participantes para que el puntaje obtenido sea cxalculado en
base al puntaje original (0 al 10), alcanzado en el tiro, multiplicado por un
factor especificado en la siguiente tabla:
Puntaje Original
|
Factor
|
0
1….5
6….8
9,10
|
Cero
Seis
Ocho
Diez
|
Determinar de un tiro realizado, su puntaje
correspondiente.
En una Universidad se ha establecido los siguientes
puntajes de ingreso a sus respectivas facultades:
Especialidad
|
Puntaje minimo
|
Computación
Enfermeria
Protesis
|
90
80
70
|
De acuerdo al puntaje obtenido por un postulante,
determinar a la
Especialidad a la cual ingreso.
Ejercicio de Consola 42:
Diseñar una aplicación que permita utilizar el
NameSpac, System.Math para leer dos datos ingresados por consola, y que retorne
la suma de sus cuadrados y su diferencia, usando las funciones SumaCuadrado y
RestaCuadrado
'Importamos el NameSpace System.Math con un AliasName
M para hacer referencia_
'a los elementos de Math
Imports M = System.Math
Module Module1
Public N1 As
Double 'Sumando uno
Public N2
As Double 'Sumando dos
Sub Main()
Try
Console.Write("Ingrese sumando uno: ")
N1 =
Console.ReadLine 'Leer sumando uno ingresado
Console.WriteLine()
Console.Write("Ingrese sumando dos: ")
N2 =
Console.ReadLine 'Leer sumando dos ingresado
Console.WriteLine()
Console.WriteLine("Suma de los cuadrados: ")
Console.WriteLine(SumaCuadrado(N1, N2)) 'se llama a la función SumaCuadrado con
los datos ingresados
Console.WriteLine()
Console.WriteLine("Diferencia de los cuadrados: ")
Console.WriteLine(RestaCuadrado(N1, N2)) 'se llama a la función RestaCuadrado
con los datos ingresados
Console.WriteLine()
Console.WriteLine("Ejecución Finalizada")
Console.WriteLine("Presione ENTER pasa salir")
Console.ReadLine()
Catch err
As Exception
Console.Write(err.Message)
End Try
End Sub
Function SumaCuadrado(ByVal
NOne As Double, ByVal NTwo As Double) As Double
Try
SumaCuadrado = M.Pow(NOne, 2) + M.Pow(NTwo, 2)
Return SumaCuadrado
Catch err
As Exception
End Try
End Function
Function RestaCuadrado(ByVal
NOne As Double, ByVal NTwo As Double) As Double
Try
RestaCuadrado = M.Pow(NOne, 2) - M.Pow(NTwo, 2)
Return RestaCuadrado
Catch err
As Exception
End Try
End Function
'En las funciones se utiliza el método Pow que recibe
dos argumentos_
'el primero es el número que se va a elevar a una
potencia y el segundo es la potencia
'Los bloques TRY CATCH me controlan las excepciones
para evitar que el programa se desborde_
'en tiempo de ejecucíón
End Module
Module Module1
Sub Main()
Dim a() As Integer = {1, 42, 15, 90, 2}
Console.WriteLine("elementos del array a () =
{0}", a.Length)
Dim i As Integer
For Each i In a
Console.WriteLine(i)
Next
Console.ReadLine()
End Sub
End Module
Module Module1
Sub
Main()
Dim
a As Integer
For a = 1 To 10
Console.WriteLine(a)
Console.ReadLine()
'contara
de 1 hasta 10 (a tomara los valores 1, 2 etc)
Next
Console.ReadLine()
End
Sub
End Module
Module Module1
Sub
Main()
Dim a As Integer
For
a = 10 To 1 Step
-1
Console.WriteLine(a)
Console.ReadLine()
'contara
de 10 hasta 1 (a tomara los valores 10, 9 etc)
Next
Console.ReadLine()
End
Sub
End Module
Module Module1
Sub
Main()
Dim
a As Integer
For
a = 100 To 1 Step
-10
Console.WriteLine(a)
Console.ReadLine()
'contara
de 100 hasta 10 (a tomara los valores 100, 90 etc)
Next
Console.ReadLine()
End
Sub
End Module
Module Module1
Sub
Main()
Dim
a As String
For
Each a In
"hola mundo"
Console.WriteLine(a)
Console.ReadLine()
'se
visualizara caracter por caracter
Next
Console.ReadLine()
End
Sub
End Module
Module Module1
Sub
Main()
Dim
a As Integer
' mostrar los
valores consecutivos del 0 al 9
While a < 10
Console.WriteLine(a)
a = a + 1
End
While
Console.ReadLine()
End
Sub
End Module
Module Module1
Sub
Main()
Dim
a, b As Integer
b = 3
While
a <= 12
Console.WriteLine(a *
b)
a = a + 1
'
mostrara los valores de a multiplicado por b
End While
Console.ReadLine()
End
Sub
End Module
Module Module1
Sub
Main()
Dim
a As Integer
a = 0
Do
Until a > 9
Console.WriteLine(a)
a = a + 1
Loop
'este bucle se epetira para valores de a desde 0 hasta 9
Console.ReadLine()
End
Sub
End Module
Module Module1
Sub
Main()
Dim
a As Integer
a = 0
Do
While Not (a
> 9)
Console.WriteLine(a)
a = a + 1
Loop
Console.ReadLine()
End
Sub
End Module
Comentarios
Publicar un comentario