En esta segunda parte estudiarmos los casos los cuales son menos usados, que los si- entonces. los casos se usal igual que el si entonces. aunque su estructura es mas sencilla en pseudolenguaje que en C++. espero que les quede claro con la teoria para que al terminar entremos de lleno a la programacion en C++.
Casos(switch-case)
es una Estructura de control empleada en programación, a la que pretenecen otras estructuras como el si("if"), el si-sino("if else");, así como combinaciones propias de determinados lenguajes de programación.
El caso no es tan popular como el if, pero se utiliza con regularidad dentro de algunos programas.
su estructura es asi:
nota: "utilizaremos la variable entera mes, en caso de que mes = 1 mostrar enero y asi sucesivamente"
- Código:
-
casos para mes
caso mes=1
escribir "el mes es Enero"
caso mes=2
escribir"el mes es Febrero"
.
.
.
.
.
.
.
.
.
caso mes=12
escribir "El mes es Diciembre"
fin casos
ahora veamos un ejemplo de el mismo programa que hicimos en la primera parte del tutorial.
HAZ CLIC SOBRE EL SPOILER PARA VER EL CODIGO
- Spoiler:
- Código:
-
inicio
#realizar una condicion multiple que calcule el sueldo total de un vendedor sabiendo que el sueldo base es de 799.
#debe calcular la comision ganada sabiendo que
#si vendio 3 o menos productos se gana una comision de 10 % de su sueldo.
#si vendio más de 4 y menos de 10 se gana una comision de 20 % de su sueldo.
#si vendio mas de 10 y menos de 20 se gana una comision de 30 % de su sueldo.
#si vendio mas de 20 se gana una comision de 40 % de su sueldo.
#y las deducciones son:
# lpo =0.04
# lph=0.05
# sso=0.1
#nota: "puede usar el borrar pantalla (cls= clean screen)
#para no mostrar los datos ingresados esto le da mas caché al programa jejej.
declarar variable cadena nombre
declarar variable entera numero_venta
declarar variable flotante sueldo
declarar variable flotante sueldo_total
declarar variable flotante comision
declarar variable flotante por10
declarar variable flotante por20
declarar variable flotante por30
declarar variable flotante por40
declarar variable flotante sso
declarar variable flotante lph
declarar variable flotante lpo
declarar variable flotante calc_sso
declarar variable flotante calc_lpo
declarar variable flotante calc_lph
declarar variable flotante suma_Desc
declarar variable flotante subtotal
sso=0.1
lph=0.05
lpo=0.04
por10=0.1
por20=0.2
por30=0.3
por40=0.4
cls
escribir " CALCULADOR DE NOMINA"
escribir " ------------------------------"
escribir " "
escribir " "
escribir" Escriba el nombre del vendedor: "
leer nombre
escribir " "
escribir" Ingrese el sueldo del vendedor ",nombre," :"
leer sueldo
escribir " "
escribir " Ingrese el numero de ventas: "
leer numero_venta
cls
casos para numero_venta
caso numero_venta<=3
comision=(sueldo*por10)
caso (numero_venta>3)y(numero_venta<= 10)
comision=(sueldo*por20)
caso(numero_venta>=11)y(numero_venta<=20)
comision=(sueldo*por30)
caso por omisión
comision= (sueldo*por40)
fin casos
calc_sso=(sueldo*sso)
calc_lpo=(sueldo*lpo)
calc_lph=(sueldo*lph)
suma_Desc=(calc_sso+calc_lpo+calc_lph)
subtotal=(sueldo+comision)
sueldo_total=((comision+sueldo)-suma_Desc)
escribir " RESULTADO DE NOMINA"
escribir " -----------------------------"
escribir " "
escribir " "
escribir " "
escribir " vendedor: ",nombre
escribir " nº de ventas: ",numero_venta
escribir " --------------------------------------------"
escribir " sueldo base: ",sueldo,"Bs."
escribir " comision : ", comision,"Bs."
escribir " ----------------------"
escribir " sub-total del sueldo: ",subtotal, "Bs."
escribir "--------------------------------------------"
escribir ""
escribir "--------------------------------------------"
escribir " DESCUENTOS POR LEY "
escribir " ----------------------------------"
escribir " | descuento de SSO: | ", calc_sso," |"
escribir " ---------------------------------"
escribir " | descuento de LPH: | ", calc_lph," |"
escribir " ---------------------------------"
escribir " | descuento de LPO: | ", calc_lpo," |"
escribir " ---------------------------------"
escribir " | total en Bs: | ", suma_Desc," |"
escribir " ---------------------------------"
escribir "-------------------------------------------- "
escribir " "
escribir "SUELDO TOTAL DEL VENDEDOR: ", sueldo_total , " Bs. "
escribir " "
escribir " "
escribir " "
imprimir " Calculador de Nomina v. 1.0.2 "
imprimir " Autor: Ankhal Piña"
imprimir " Compilador: Inter-P."
imprimir " Correo: ankhalr115@hotmail.com,"
imprimir " Comentario: si eres mujer interesada en clases de programacion escribeme."
imprimir " si eres hombre anda pal carajo XD"
imprimir " Todos los derechos y los izquierdos tambien recervados Geek-rigth"
imprimir " PROGRAMA REALIZADO EXCLUSIVAMENTE PARA http://www.zona-venzuela.foroactivo.com.es/"
fin
Combinaciones
Casos dentro de si-entonces. - Código:
-
si sexo = "m" entonces
ch = (ch+1)
casos para categoria
categoria = "p"
chp = (chp + 1)
caso categoria = "t"
cht = (cht + 1)
caso categoria "M"
chm = (chm+1)
fin casos
sino
si sexo = "f" entonces
cm = (cm +1)
casos para categoria
categoria = "p"
cmp = (cmp+1)
caso categoria = "t"
cmt = (cmt+1)
caso categoria = "M"
cmm = (cmm+1)
fin casos
fin si
EXPLICACION: este es una comparacion combianada casos dentro de si-entonces, de un programa donde se calcula la cantidad de mujeres y hombre que hubo en un festibal deportivo.
calcula la cantidad de hombres y mujeres.
calcula la cantidad de hombres y mujeres por ada categoria
siendo estas:
* trompo
**metras
***perinola
donde la ejecucion es asi:
si el sexo = m entonces
cantidad de hombres aumente en 1 s("si estaba en 0 aumento uno y ya es 1)
los casos para cada categoria
caso catergoria = t
aumenta la cantidad de hombres que juegan trompo
caso categoria = m
aumenta la cantidad de hombres que juegan metras
caso categoria = p
aumenta la cantidad de hombres que juegan perinola
sino aqui viene el sexo=f
se hace lo mismo pero con cada veriable dedicada a las feminas.
y eso es todo...
si-entonces anidados dentro de un si-entonces,sino.Se cumple la mima funsion que el ejemplo anterior por lo tanto no es necesario explicar.
- Código:
-
si sexo = "m" entonces
ch = (ch+1)
si categoria = "p" entonces
chp = (chp + 1)
si categoria = "t" entonces
cht = (cht + 1)
si categoria = "M" entonces
chm = (chm+1)
fin si
fin si
fin si
sino
si sexo = "f" entonces
cm = (cm +1)
si categoria = "p" entonces
cmp = (cmp+1)
si categoria = "t" entonces
cmt = (cmt+1)
si categoria = "M" entonces
cmm = (cmm+1)
fin si
fin si
fin si
fin si
fin si
Si-entonces dentro de un caso. - Código:
-
casos para sexo
caso sexo= "m"
ch = (ch+1)
si categoria = "p" entonces
chp = (chp + 1)
si categoria = "t" entonces
cht = (cht + 1)
si categoria = "M" entonces
chm = (chm+1)
fin si
fin si
fin si
caso sexo= "f"
cm = (cm +1)
si categoria = "p" entonces
cmp = (cmp+1)
si categoria = "t" entonces
cmt = (cmt+1)
si categoria = "M" entonces
cmm = (cmm+1)
fin si
fin si
fin si
fin casos
1*- Hacer un programa que pida la fecha de nacimiento, dia mes y año calcular su edad y determinar si es mayor o menor de edad, y calcular el tiempo que falta por cumplir la mayoria de edad, si es mayor de edad calcular cuanto tiempo ha pasado desde que cumplio la mayoria de edad.
*** Mensaje a mostrar***
- menor de edad:
" Hola ",nombre," tienes ",edad, " y aun eres menor de edad te falta ",tiempo
- mayor de edad:
" hola ",nombre, " tienes ",edad," eres mayor de edad y tienes ",tiempo," siendo mayor de edad"
2*- Realizar un programa que pida dos positivos numero y calcule la multiplicacion la suma la resta la division y de un total de todos los resultados. si los uno de los numeros no es positivo mandar un mensaje de erro diciendo que el numero ingresado no es valido por ser negativo.
ejemplo 1 y 2
multiplicacion = 1*2 =2
division = 1/2= 0.5
suma = 1+2 = 3
resta = 1-2 = 1
----------
suma total = 6.5
si numero -1 y 2
error el numero -1 no esta permitido por ser negativo ejecute el programa nuevamente e ingrese numeros positivos.
nota: favor subir los codigos a un servidor de descargas, y mostrar en un comentario, la direccion donde esta guardado. guardar el codigo en un archivo de texto.
todo eso para poder ser evaluacios por su maestro maximo de la programacion
, jeje osea yo
. bueno el proximo tuto sera los
contadores y acumuladores.