Está en la página 1de 17

ALGORITMOS

Programacin Estructurada
Fundamentos III: Estructuras Selectivas
(Simples, Dobles, Multiples)

Expositor : Jorge Medianero A.


Autor: Jos Carlos, Garca La Riva
Estructuras Selectivas
Las estructuras selectivas permiten evaluar una expresin o
expresiones para luego procesar un grupo de instrucciones
y/o sentencias. Estas estructuras seleccionan una de varias
opciones (seleccin excluyente).

Las estructuras selectivas se clasifican en :


Selectiva Simple : (si - if)
Selectiva Doble : (si / si_no - if /else)
Selectiva Mltiple:
Caso general: Anidada-cascada (si_no / si else / if)
Caso particular: Mltiple (segun_sea / switch)
ALGORITMOS
Programacin Estructurada

Estructuras Selectivas: Parte I

Selectivas Simple : si / if
Selectiva Doble : si/si_no if/else
2.1. Seleccin Simple
Se emplea para evaluar una expresin lgica
(condicin de continuidad), si el resultado de
esta evaluacin es un valor lgico verdadero
(true), entonces se procesara el bloque de
instrucciones o sentencias delimitada por la
estructura.
Sintaxis :

SI ( Expresion_logica ) ENTONCES
Instrucciones :
y/o true
Sentencias :
FIN-SI
Ejemplo1 : Ingrese 2 nmeros enteros y visualice el
mayor de los 2 nmeros ingresados.

Algoritmo Numero mayor


var
entero: a, b, mayor
inicio
leer( a, b)
mayor a
si( b > a ) entonces
mayor b
fin_si
escribir( mayor )
fin
Ejemplo 2 : Ingrese un nmero entero, si es mayor
a 10 smele 10 unidades y visualice el nuevo valor.

Algoritmo Suma condicional


var
entero: n
inicio
leer( n )
si( n > 10) entonces
n n + 10
fin_si
escribir( n )
fin
Ejemplo 3 : Una tienda ofrece un descuento del 3% para un
producto en promocin, si el nmero de productos adquiridos
excede en 5. Calcular el total a pagar por cada compra.
Algoritmo Compra con descuento
var
entero: cantidad
real: precio, vCompra, descuento, total
const valorDesc = 0.03
inicio
leer( cantidad, precio )
vCompra cantidad * precio
si ( cantidad > 5 ) entonces
descuento vCompra * valorDesc
fin_si
total vCompra descuento
escribir( total )
fin
Ejemplo 4 : Ingrese un nmero entero y luego
visualice un mensaje indicando si el nmero
ingresado es PAR o IMPAR.
Algoritmo enteros pares e impares
var
entero: n, resto
inicio
leer( n )
resto n MOD 2
si ( resto = 0 ) entonces
escribir(PAR)
fin_si
si ( resto <> 0 ) entonces
escribir(IMPAR)
fin_si
fin
Ejemplo 5 : Una empresa otorga un bonificacin del
5% del haber bsico a sus trabajadores que tienen
hijos, calcular el total a pagar por este concepto.
Algoritmo Bonificacion familiar
var
entero: nroHijos
real: hBasico, bonificacion, total
inicio
leer( hBasico, nroHijos)
bonificacion 0
si ( nroHijos > 0 ) entonces
bonificacion hBasico * 0.05 * nroHijos
fin_si
total hBasico + bonificacion
escribir( total )
fin
2.2. Selectiva Doble
Se emplea para evaluar una expresin o condicin
de continuidad. Si el resultado de esta evaluacin
es verdadero (true), entonces se procesara el 1er.
bloque de instrucciones o sentencias delimitado por
si/si_no, caso contrario (false) se procesara el 2do.
grupo de instrucciones delimitado por si_no/fin_si.
Sintaxis :
SI ( Expresion<es> ) ENTONCES
Instrucciones
y/o :
Sentencias
true
SINO
Instrucciones
y/o : false
Sentencias

FIN-SI
Ejemplo 1 : Calcular el mayor valor de 2 nmeros
enteros.

Algoritmo Entero mayor


var
entero: a, b, mayor
inicio
leer(a, b)
si( a > b ) entonces
mayor a
si_no
mayor b
fin_si
escribir(mayor)
fin
Ejemplo 2 : Calcular el mayor valor de 3
nmeros enteros.
Algoritmo Mayor de tres enteros
var
entero: a, b, c, mayor
inicio
leer(a, b, c)
si (a > b) Y ( a > c) entonces
mayor a
si_no
si (b > c) entonces
mayor b
si_no
mayor c
fin_si
fin-si
escribir(mayor)
fin
Ejemplo 3 : Una tienda comercial ofrece un descuento del 3% del valor de
compra si el pago se efectua al contado, en caso el pago sea con tarjeta se le
recarga un 5% del valor de compra. Calcular el total a pagar por una compra.

Algoritmo Compra al contado


var
real: vCompra, descuento, recargo, total
caracter tipoPago //c,C, iniciales de contado
inicio
leer(Vcompra, tipoPago)
descuento 0 : recargo 0
si (tipoPago = c ) O (tipoPago = C) entonces
descuento Vcompra * 0.03
si_no
recargo Vcompra * 0.05
fin_si
total Vcompra descuento + recargo
escribir(total)
fin
Ejemplo 4 : Ingrese un nmero entero, si es de 2 cifras
visualice la suma de sus cifras, caso contrario visualice su
doble.
Algoritmo Calculo de cifras
var
entero: n, a, b
inicio
leer( n )
si( n >= 10 ) Y ( n <= 99 ) entonces
a n DIV 10
b n MOD 10
escribir( a + b )
si_no
escribir( n * 2 )
fin_si
fin
Ejemplo 5 : Ingrese un nmero entero de 3 cifras y luego
visualice un mensaje indicando si el nmero ingresado es
CAPICUA o NO ES CAPICUA.
Algoritmo numero capicua
var
entero: n, a, c
inicio
leer( n )
si ( n >= 100) Y ( n <= 999 ) entonces
a n DIV 100
c ( n MOD 100) MOD 10
si ( a = c ) entonces
escribir(CAPICUA)
si_no
escribir(NO ES CAPICUA)
fin_si
fin_si
fin
Ejemplo 6 : Ingrese un nmero entero, si es de 2 cifras
imprima el inverso del nmero ingresado, caso
contrario imprima su triple.

ALGORITMO Inverso y triple de enteros


var
entero n, a, b
inicio
leer( n )
si ( n >= 10 ) Y ( n <= 99 ) entonces
a n DIV 10
b n MOD 10
escribir( (b * 10) + b )
si_no
escribir( n * 3 )
fin_si
fin
PREGUNTAS ?