ankhal Moderador de ProGramacion
Cantidad de envíos : 13 Edad : 33 Localización : acarigua/la goajira Fecha de inscripción : 18/06/2008
| Tema: Estructuras Selectivas I Jue Jun 26, 2008 3:51 pm | |
| Estructuras Selectivas
En programación, una sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición.
Los tipos más conocidos de setencias condicionales son el SI..ENTONCES (if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también podríamos mencionar al lanzamiento de errores como una alternativa más moderna para evitar el "anidamiento" de sentencias condicionales.
Los sentencias condicionales constituyen, junto con los bucles, los pilares de la programación estructurada, y su uso es una evolución de una sentencia en lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición.
Estas estructuras se utilizan para TOMAR DECISIONES (por eso también se llaman estructuras de decisión o alternativas). Lo que se hace es EVALUAR una condición, y, a continuación, en función del resultado, se lleva a cabo una opción u otra.
Alternativas simples:
Son los conocidos "si... entonces". Se usan de la siguiente manera (una vez más, la escritura es más o menos personal, siempre que las intenciones queden claras para todos): yo quiero evaluar una condición, y si se cumple (es decir, si es cierta), entonces realizaré una serie de pasos. Esto lo podemos escribir así:
- Código:
-
SI condicion entonces Hago el paso 1 .... Hago el paso N fin SI
Otro ejemplo: " una condicion seria para saber si una persona es mayor de edad se necesita saber la mayoria de edad 18 y compararla con la edad ingresada. tenemos la variable edad en donde se guardo la edad ingresada por el usuario.
- Código:
-
si edad >= 18 entonces imprimir " Usted ya es mayor de edad." fin si
al cumplirse la condicion "edad>=18" se realiza la operacion, en este caso mostrar el mensaje en pantalla.
CADA SI ENTONCES DEBE TENER SU RESPECTIVO CIERRE (FIN SI), DE LO CONTRARIO DARA ERROR EL PROGRAMA.
Alternativas Dobles:
son los conocidos " si..entonces, sino, si no se cumple la primera condicion seguimos mostrando con la segunda, su estructura es asi.
- Código:
-
si condicion entonces HAGO EL RESPECTIVO PASO sino hago el otro paso. fin si
Ejemplo: " hacer una condicion que verifique si el numero ingresado es par o impar, el numero se guardara en la variable Nnumero" 1-* hay que sacar el resto de la division del numero/2, se hace con el modulo (MOD). - Código:
-
resto=(Nnumero MOD 2)
si resto=0 entonces imprimir" el numero ", Nnumero , " Es par." sino imprimir " El numero ", Nnumero , " Es impar. " fin si
Alternativas Dobles: esta alternativa es un poco mas complicada pues son los mismos si-entonces, sino pero anidados pueden ser infinitas condiciones en forma anidadas su estructura es asi.
- Código:
-
si condicion entonces cuerpo1 sino si condicion2 entonces cuerpo2 sino si condicion3 entonces cuerpo3 sino si condicion4 entonces cuerpo4 sino si condicion5 entonces cuerpo5 sino ultimo_cuerpo fin si fin si fin si fin si fin si
un ejemplo de su utilizacion en un programa. Haz clicl en el espacio en blanco para ver el codigo.
- Spoiler:
- Código:
-
#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.
inicio 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 si numero_venta <= 3 entonces comision= (sueldo*por10) sino si (numero_venta>3) y (numero_venta<= 10) entonces comision=(sueldo*por20) sino si(numero_venta>=11) y (numero_venta<=20) entonces comision=(sueldo*por30) sino comision= (sueldo*por40) fin si fin si fin si
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.1 " 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. si eres hombre anda pal carajo XD" imprimir " Todos los derechos y los izquierdos recervados Geek-rigth" imprimir " PROGRAMA REALIZADO EXCLUSIVAMENTE PARA http://www.zona-venzuela.foroactivo.com.es/" fin
| |
|