EJERCICIOS:
Es
hora de ejercitar lo aprendido hasta el momento
1.- Crear un programa que
solicite un número del 1 al 12 y diga a cual mes corresponde. Por ejemplo si el
usuario escribe un 8, el programa debe responder "Corresponde al mes de
Agosto"
2.- Crear un programa que solicite 3 números y luego
indique cual es el número mayor.
3.- Crear un programa que
solicite 7 notas de un alumno (escala de 1 a 7), las promedie e indique si el
alumno reprobó (promedio menor a 4), obtuvo un promedio bueno (sobre 4 y menos
de 5), muy bueno (sobre 5 y menos de 6) y excelente (sobre 6)
4.- Una tienda hace un
descuento del 15% si se compran 3 o más artículos. Crear un menú con 3
artículos para la venta mostrando sus precios. Solicitar al usuario que
artículo desea comprar y posteriormente solicitar la cantidad de artículos. Aplicar
15% de descuento si lleva 3 o más artículos y por último, mostrar el valor
total de la compra.
RESPUESTAS
1.-
TextWindow.Write("Ingresa un numero ")
mes =
TextWindow.ReadNumber()
If mes
= 1 Then
TextWindow.WriteLine("Corresponde al mes de Enero")
ElseIf mes = 2 then
TextWindow.WriteLine("Corresponde al mes de Febrero")
ElseIf mes = 3 then
TextWindow.WriteLine("Corresponde al mes de Marzo")
ElseIf mes = 4 then
TextWindow.WriteLine("Corresponde al mes de Abril")
ElseIf mes = 5 then
TextWindow.WriteLine("Corresponde al mes de Mayo")
ElseIf mes = 6 then
TextWindow.WriteLine("Corresponde al mes de Junio")
ElseIf mes = 7 then
TextWindow.WriteLine("Corresponde al mes de Julio")
ElseIf mes = 8 then
TextWindow.WriteLine("Corresponde al mes de Agosto")
ElseIf mes = 9 then
TextWindow.WriteLine("Corresponde al mes de Septiembre")
ElseIf mes = 10 then
TextWindow.WriteLine("Corresponde al mes de Octubre")
ElseIf mes = 11 then
TextWindow.WriteLine("Corresponde al mes de Noviembre")
ElseIf mes = 12 then
TextWindow.WriteLine("Corresponde al mes de Diciembre")
Else
TextWindow.WriteLine("No corresponde a ningun mes")
EndIf
2.-
mayor = 0
TextWindow.Write("Ingresa el primer numero
")
num1 = TextWindow.ReadNumber()
TextWindow.Write("Ingresa el segundo numero
")
num2 =
TextWindow.ReadNumber()
TextWindow.Write("Ingresa
el tercer numero ")
num3 = TextWindow.ReadNumber()
If num1 > mayor Then
mayor = num1
EndIf
If num2 > mayor Then
mayor = num2
EndIf
If num3 > mayor Then
mayor = num3
EndIf
TextWindow.WriteLine("El
numero mayor es " + mayor)
3.-
TextWindow.WriteLine("Ingresa 7 notas")
TextWindow.WriteLine("Ingresa nota nro.
1")
nota1 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
2")
nota2 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
3")
nota3 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
4")
nota4 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
5")
nota5 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
6")
nota6 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
7")
nota7 = TextWindow.ReadNumber()
promedio = (nota1 + nota2 + nota3 + nota4 + nota5
+ nota6 + nota7) / 7
If promedio < 4 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Has reprobado")
ElseIf promedio <= 5 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Buen trabajo!")
ElseIf promedio <= 6 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Muy buen trabajo!!")
ElseIf promedio <= 7 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Excelente trabajo, felicitaciones!!!")
Esta es otra versión del mismo programa si no se hubiese
utilizado la instrucción ElseIf
TextWindow.WriteLine("Ingresa 7 notas")
TextWindow.WriteLine("Ingresa nota nro.
1")
nota1 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
2")
nota2 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
3")
nota3 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
4")
nota4
= TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
5")
nota5 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
6")
nota6 = TextWindow.ReadNumber()
TextWindow.WriteLine("Ingresa nota nro.
7")
nota7 = TextWindow.ReadNumber()
promedio = (nota1 + nota2 + nota3 + nota4 + nota5
+ nota6 + nota7) / 7
If promedio < 4 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Has reprobado")
EndIf
If promedio >= 4 And promedio < 5 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Buen trabajo!")
EndIf
If promedio >=5 And promedio < 6 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Muy buen trabajo!!")
EndIf
If
promedio >=6 And promedio <= 7 Then
TextWindow.WriteLine("Tu promedio es " + promedio)
TextWindow.WriteLine("Excelente trabajo, felicitaciones!!!")
EndIf
Se
puede apreciar que en esta versión, al no utilizar el ElseIf, se tuvo que
añadir la operación “And” en la condición y además de modificar algunos valores
lógicos (< >). De no haberlo hecho, si el promedio hubiese sido 4, por
dar un ejemplo, no solamente se hubiese mostrado el mensaje “Buen trabajo” sino
que también se hubiesen mostrado los mensajes “Muy buen trabajo” y “Excelente
trabajo, felicitaciones”. Esto es porque las condiciones así lo indican, ya que
4 es menor que 5, pero también es menor que 6 y también es menor que 7, por eso
es que se ejecutan esas instrucciones. Al colocar la instrucción “And” decimos
que solamente ejecute la instrucción si el promedio se encuentra en ese rango
de valores.
4.-
En
esta ocasión, se me pide realizar varias tareas por lo que la cosa se va
complicando un poco. Lo importante es no asustarse por ver tantas cosas que
hacer y no saber por dónde comenzar. Lo mejor en estos casos, es realizar cada
una de las tareas por separado o de forma individual y luego, cuando funcione,
juntar todo el código. A esto se le conoce como “divide y vencerás”.
Vamos
por parte... Dijo Jack el destripador. Entonces voy a dividir las tareas de la
siguiente forma:
1ro.
Crear un menú con 3 artículos para la venta mostrando sus precios
2do.
Solicitar al usuario que artículo desea comprar
3ro.
Al seleccionar un artículo, preguntar cuántos desea llevar
4to.
Mostrar el total de la compra
5to.
Si lleva 3 o más artículos, aplicar un 15% de descuento en el total
Vamos con la
primera parte…
TextWindow.WriteLine("1) Peras $130 por unidad")
TextWindow.WriteLine("2) Manzanas $120 por
unidad")
TextWindow.WriteLine("3) Naranjas $140 por unidad")
Con
esto está lista la primera parte que solo me pide mostrar un menú con 3
artículos (Y explicado con peras y manzanas para que no digan que no explico
bien XD)
Ahora la segunda
parte…
TextWindow.WriteLine("Qué fruta deseas
comprar?")
TextWindow.Write("1 = Peras, 2 = Manzanas, 3
= Naranjas ")
fruta
= TextWindow.ReadNumber()
If
fruta = 1 Then
TextWindow.WriteLine("Has seleccionado Peras")
ElseIf fruta = 2 then
TextWindow.WriteLine("Has seleccionado Manzanas")
ElseIf fruta = 3 then
TextWindow.WriteLine("Has seleccionado Naranjas")
Else
TextWindow.WriteLine("La opcion ingresada no es valida")
EndIf
Sigamos con la tercera parte…
TextWindow.Write("Cuantos deseas llevar?
")
cantidad = TextWindow.ReadNumber()
Si, el código para la tercera parte es muy pequeño, solo dos líneas.
La 4ta y 5ta parte dependen mucho del valor ingresado en la variable
cantidad (tercera parte), así que tendré que juntarlas para que así quede el
código funcional, o sea que funcione. Ya llegando a esta parte, es hora de
empezar a unir el código. La tercera parte del código, deberá ir en cada opción
seleccionada, quedando todo el código de la siguiente manera
TextWindow.WriteLine("1) Peras
$130 por unidad")
TextWindow.WriteLine("2) Manzanas $120 por unidad")
TextWindow.WriteLine("3)
Naranjas $140 por unidad")
TextWindow.WriteLine("Qué fruta deseas comprar?")
TextWindow.Write("1 = Peras, 2 = Manzanas, 3 = Naranjas ")
fruta = TextWindow.ReadNumber()
If fruta = 1 Then
TextWindow.WriteLine("Has seleccionado Peras")
TextWindow.Write("Cuantos deseas llevar? ")
cantidad =
TextWindow.ReadNumber()
ElseIf fruta = 2 then
TextWindow.WriteLine("Has seleccionado Manzanas")
TextWindow.Write("Cuantos deseas llevar? ")
cantidad =
TextWindow.ReadNumber()
ElseIf fruta = 3 then
TextWindow.WriteLine("Has seleccionado Naranjas")
TextWindow.Write("Cuantos deseas llevar? ")
cantidad = TextWindow.ReadNumber()
Else
TextWindow.WriteLine("La
opcion ingresada no es valida")
EndIf
Lo siguiente que se hará, será agregar una variable que calcule el precio
If fruta = 1 Then
TextWindow.WriteLine("Has
seleccionado Peras")
TextWindow.Write("Cuantos
deseas llevar? ")
cantidad
= TextWindow.ReadNumber()
total = cantidad * 130
ElseIf fruta = 2 then
TextWindow.WriteLine("Has
seleccionado Manzanas")
TextWindow.Write("Cuantos
deseas llevar? ")
cantidad
= TextWindow.ReadNumber()
total = cantidad * 120
ElseIf fruta = 3 then
TextWindow.WriteLine("Has
seleccionado Naranjas")
TextWindow.Write("Cuantos
deseas llevar? ")
cantidad
= TextWindow.ReadNumber()
total = cantidad * 140
Ahora solo falta mostrar el resultado de la compra, pero este resultado
dependerá de la cantidad de productos que hayamos comprado (Mayor o igual a 3
aplica descuento). Para esto, ocuparemos nuevamente una instrucción if, la cual
irá de la misma forma para las 3 frutas, además que hice una nueva variable
para calcular el descuento de la compra
If fruta = 1 Then
TextWindow.WriteLine("Has seleccionado Peras")
TextWindow.Write("Cuantos deseas llevar? ")
cantidad
= TextWindow.ReadNumber()
total =
cantidad * 130
descuento = total - (total
* 0.15)
If cantidad < 3 Then
TextWindow.WriteLine("El total de la
compra es " + total)
TextWindow.WriteLine("Descuento
aplicado = 0")
Else
TextWindow.WriteLine("El total de la
compra es" + descuento)
TextWindow.WriteLine("Descuento
aplicado = " + total * 0.15)
EndIf
Si mis matemáticas no me fallan, esa debería ser una de las fórmulas para
calcular un 15% de descuento al total de la compra
El código completo, se verá de la siguiente forma:
PD: Como un último retoque, agregué la instrucción TextWindow.Clear() para
borrar algunos datos de la pantalla y hacer que se vea un poco más ordenado
TextWindow.WriteLine("1) Peras
$130 por unidad")
TextWindow.WriteLine("2) Manzanas $120 por unidad")
TextWindow.WriteLine("3) Naranjas $140 por unidad")
TextWindow.WriteLine("")
TextWindow.WriteLine("Qué fruta deseas comprar?")
TextWindow.WriteLine("")
TextWindow.Write("1 = Peras, 2 = Manzanas, 3 = Naranjas ")
fruta = TextWindow.ReadNumber()
If fruta = 1 Then
TextWindow.Clear()
TextWindow.WriteLine("Has
seleccionado Peras")
TextWindow.Write("Cuantos
deseas llevar? ")
cantidad = TextWindow.ReadNumber()
total = cantidad * 130
descuento = total - (total * 0.15)
If cantidad < 3 Then
TextWindow.Clear()
TextWindow.WriteLine("El total de la compra es " +
total)
TextWindow.WriteLine("Descuento aplicado = 0")
Else
TextWindow.Clear()
TextWindow.WriteLine("El
total de la compra es " + descuento)
TextWindow.WriteLine("Descuento
aplicado = " + total * 0.15)
EndIf
ElseIf fruta = 2 then
TextWindow.Clear()
TextWindow.WriteLine("Has seleccionado Manzanas")
TextWindow.Write("Cuantos
deseas llevar? ")
cantidad = TextWindow.ReadNumber()
total = cantidad * 120
descuento = total - (total * 0.15)
If cantidad < 3 Then
TextWindow.Clear()
TextWindow.WriteLine("El total de la compra es " +
total)
TextWindow.WriteLine("Descuento aplicado = 0")
Else
TextWindow.Clear()
TextWindow.WriteLine("El
total de la compra es " + descuento)
TextWindow.WriteLine("Descuento aplicado = " + total * 0.15)
EndIf
ElseIf fruta = 3 then
TextWindow.Clear()
TextWindow.WriteLine("Has seleccionado Naranjas")
TextWindow.Write("Cuantos
deseas llevar? ")
cantidad = TextWindow.ReadNumber()
total = cantidad * 140
descuento = total - (total * 0.15)
If cantidad < 3 Then
TextWindow.Clear()
TextWindow.WriteLine("El total de la compra es " +
total)
TextWindow.WriteLine("Descuento aplicado = 0")
Else
TextWindow.Clear()
TextWindow.WriteLine("El
total de la compra es " + descuento)
TextWindow.WriteLine("Descuento aplicado = " + total * 0.15)
EndIf
Else
TextWindow.Clear()
TextWindow.WriteLine("La
opcion ingresada no es valida")
EndIf
Esto es todo por ahora, en el proximo capitulo, se estudiaran los ciclos. Hasta luego.
2)Una empresa les ha encargado realizar un programa para calcular la nómina de los trabajadores. El sueldo base semanal sale aplicando la siguiente fórmula: horastrabajo * preciohora + horesextra * preciohoraextra. El preciohora es una constante = 20. El preciohoraextra depende de las horas extra hechas: si son menos de 10 horas extras semanales, el precio es un 50% mayor que el preciohora (* 1,5). Si se hacen entre 10 y 20 horas extras, el precio es un 40% mayor. Si se hacen más de 20 horas extras, el precio es un 20% mayor. Si el trabajador es de categoría 3, el preciohora es el constante. Si es de categoría 2; el preciohora es un 25% mayor y si es de categoría 1 es un 45% más. Solicitar al usuario por teclado Nombre del Trabajador, Horas trabajadas normales (horastrabajo), Horas trabajadas extras (horasextra) y Categoría. Mostrar por pantalla el Nombre del Trabajador y el Sueldo mensual que le corresponde.
ResponderEliminar3)Determinar el precio de un pasaje de ida y vuelta en colectivo, conociendo la distancia a recorrer y sabiendo que si el número de días de estadía es superior a los 7 días y la distancia superior a 800 Km. el pasaje tiene una reduccción del 15%. El precio por kilómetro es de $ 1,20. Calcular el precio del pasaje. Mostrar un mensaje de advertencia en caso de que la distancia a recorrer no sea mayor a 800 Km. o la estadía sea menor a 7 días. Recuerde utilizar GOTO.
necesito ayuda con este..
Hola.como lo resolviste al ejercicio 3?
ResponderEliminarjajaj vine por lo mismo
ResponderEliminar