Algoritmo y
Estructura de Datos Ing. Alert Mendoza Acosta
Facultad de Ingeniería de Sistemas y Electrónica
Técnica especializada para representar algoritmos mediante el uso de figuras , las cuales se unen mediantes flechas denominadas líneas de flujo, que indican el orden en que se deben ejecutar. Es una representación semigráfica del algoritmo en cuestión. Esto nos facilita la visión descriptiva de la ejecución del algoritmo.
Diagramas de Flujo
Todos los diagramas de flujo deben tener un Inicio y un Fin.
Las líneas utilizadas para indicar la dirección del flujo deben ser rectas.
La conexión de las líneas debe llegar a un símbolo.
La construcción de diagramas es de arriba hacia abajo.
La notación debe ser independiente del Lenguaje de Programación.
Es conveniente usar comentarios en una tarea compleja.
Usar los conectores adecuados si el resultado requiere más de una hoja.
No puede llegar más de una línea a un símbolo.
Reglas para los Diagramas de Flujo
Símbolos de los Diagramas de FlujoTERMINAL (representa el inicio y el final de un programa, puede representar también una parada o interrupción programada que sea necesario realizar en un programa)
ENTRADA / SALIDA (cualquier tipo de introducción de datos)
PROCESO (cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas)
Símbolos de los Diagramas de Flujo
DECISIÓN (Indica operaciones lógicas o de comparación entre datos -normalmente dos- y en función del resultados de la misma , determina cual de los distintos caminos alternativos del programa se debe seguir )
DECISIÓN MULTIPLE (En función del resultado de la comparación se seguirá uno de los diferentes caminos de acuerdo con dicho resultado )
Símbolos de los Diagramas de Flujo
DECISIÓN MULTIPLE (En función del resultado de la comparación se seguirá uno de los diferentes caminos de acuerdo con dicho resultado )
INDICADOR DE DIRECCION O LINEA DE FLUJO (Indica el sentido de ejecución de las operaciones)
Símbolos de los Diagramas de Flujo
LINEA CONECTORA ( Sirve de unión entre dos símbolos )
CONECTOR( Conexión entre dos puntos del flujo grama situado en paginas diferentes)
LLAMADA A SUBRUTINA O A UN PROCESO PREDETERMINADO (Una subrutina es un módulo independiente del programa)
Símbolos de los Diagramas de Flujo
Estructuras Selectivas Las estructuras selectivas se utilizan
para tomar decisiones lógicas, se les denomina también estructuras de decisión o alternativas.
En las estructuras selectivas se evalúa una condición y en función del resultado de la misma se realiza una opción u otra.
Las estructuras selectivas o alternativas pueden ser:
Estructuras Selectivas
Simples Dobles Múltiples
Estructura Selectiva Simple (si-entonces / if-
then)La selección si-entonces, evalúa la condición y:• Si la condición es
verdadera, entonces ejecuta la acción o acciones.
• Si la condición es falsa, entonces no hacer nada.
• Diagrama de Flujo
• Pseudocódigo
si < condición> entonces
< acción/es SI>
fin_si
Estructura Selectiva Simple (si-entonces / if-then)
Estructura Selectiva Simple
A. Ejemplo:Ingrese un número entero, si es mayor a 10 súmele 10 unidades y visualice el nuevo valor.
ALGORITMO Ejemplo1VARIABLES
ENTERO: X
INICIOLEER( X )SI( X> 10) ENTONCES X ← X + 10FIN-SIESCRIBIR( X )
FIN
B. Ejemplo:Ingrese 2 números enteros y visualice el mayor de los 2 números ingresados
Estructura Selectiva SimpleALGORITMO Ejemplo2VARIABLES
ENTERO: A, B, MayorINICIO
LEER( A, B)Mayor ← ASI( B > A )ENTONCES
Mayor ← BFIN-SIESCRIBIR( Mayor )
FIN
C. Ejemplo:
Una empresa otorga un bonificación del 5% del haber básico solo a sus trabajadores que tienen hijos, calcular el total a pagar a un trabajador´.
Estructura Selectiva SimpleALGORITMO Ejemplo3
VARIABLESENTERO: NroHijosREAL: Hbasico, Bonificacion, TotalPago
INICIOLEER(Hbasico, NroHijos)Bonificacion ← 0SI ( NroHijos > 0 ) ENTONCES
Bonificacion ← Hbasico * 0.05 * NroHijosFIN-SITotalPago ← Hbasico + BonificacionESCRIBIR( TotalPago )
FIN
Estructura Selectiva Simple
C. Ejemplo:
Una empresa otorga un bonificación del 5% del haber básico solo a sus trabajadores que tienen hijos, calcular el total a pagar a un trabajador.
Estructura Selectiva Simple
D. Ejemplo:
Ingrese por teclado la edad de una persona; si su edad es mayor a 17, visualice un mensaje “Es mayor de edad”.
Estructura Selectiva Simple
E. Ejemplo:
Calcular el valor absoluto de un numero.
1. Ingrese por teclado la descripción y precio de un accesorio de mecánica; se le aplicará un descuento del 5% al precio si el accesorio es Motor. Visualice el descuento y el nuevo precio.
2. Ingresar por teclado las cinco notas de practica de un alumno, si el promedio es mayor igual a doce, mostrar en pantalla aprobado.
Actividad Propuesta
Se evalúa una condición.o Si la condición se cumple se ejecuta una
serie de acciones.o Si la condición no se cumple, se ejecuta
otra serie de acciones.
Estructura Selectiva Doble
• Diagrama de Flujo
Estructura Selectiva Doble
• Pseudocódigo
si < condición> entonces
<acción / es>
si_no
<acción / es>
fin_si
Estructura Selectiva Doble
A. Ejemplo
Calcular el mayor valor de 2 números enteros.
ALGORITMO Ejemplo1VARIABLES
ENTERO: A, B, Mayor INICIO
LEER(A, B)SI( A > B )ENTONCES
Mayor ← ASINO
Mayor ← BFIN-SIESCRIBIR(Mayor)
FIN
Estructura Selectiva Doble
Estructura Selectiva Doble
B. Ejemplo
Para un salario bruto hasta de $1.500, no hay retención. Para un salario bruto de $1500 a $ 3.000 el porcentaje de retención es de 5%. Para un salario bruto mayor de $3000 el porcentaje de retención es 8%. Mostrar, el salario bruto, el valor de la retención y el salario neto.
ALGORITMO Ejemplo2VARIABLES
REAL: SB,SN,RET INICIO
LEER(SB)SI( SB< =1500 )ENTONCES
RET ← 0SINO
SI( SB> 3000 )ENTONCES RET ← SB*0.08
SINO RET ← SB*0.05
FIN-SI FIN-SI
ESCRIBIR(SB, SN, RET)FIN
Estructura Selectiva Doble
B. Ejemplo
Para un salario bruto hasta de $1.500, no hay retención. Para un salario bruto de $1500 a $ 3.000 el porcentaje de retención es de 5%. Para un salario bruto mayor de $3000 el porcentaje de retención es 8%. Mostrar, el salario bruto, el valor de la retención y el salario neto.
Estructura Selectiva Doble
C. Ejemplo
Desarrolle un algoritmo que permita ingresar tres números enteros positivos y determinar el número mayor.
Estructura Selectiva Doble
C. Ejemplo
Desarrolle un algoritmo que permita ingresar tres números enteros positivos y determinar el número mayor.
ALGORITMO Ejemplo3VARIABLES
ENTERO: A,B,C ,MAYORINICIO
FIN
Completar el pseudocódigo
D. Ejemplo
Una tienda comercial ofrece un descuento del 3% del valor de compra si el pago se efectúa al contado, en caso el pago sea con tarjeta se le recarga un 5% del valor de compra. Calcular el total a pagar.
Estructura Selectiva Doble
ALGORITMO Ejemplo4
VARIABLESREAL: Vcompra, Descuento, Recargo,
TotalCARÁCTER: TipoPago
INICIOLEER(Vcompra, TipoPago)
SI (TipoPago = ‘C’ ) ENTONCESDescuento ← Vcompra * 0.03
SINORecargo ← Vcompra * 0.05
FIN-SITotal ← Vcompra – Descuento + RecargoESCRIBIR(Total)
FIN
D. Ejemplo
Una tienda comercial ofrece un descuento del 3% del valor de compra si el pago se efectúa al contado, en caso el pago sea con tarjeta se le recarga un 5% del valor de compra. Calcular el total a pagar.
Estructura Selectiva Doble
Actividad Propuesta 2
1. Desarrolle un algoritmo que permita ingresar por teclado 2 números diferentes y determinar el número Mayor o si son iguales.
Actividad Propuesta 22. Se desea obtener la planilla de pagos semanal de los trabajadores de una empresa, cuyo trabajo se paga por horas de la siguiente manera:a) Las horas inferiores o iguales a 35 horas(normales) se pagan a una tarifa determinada que se debe introducir por teclado al igual que el numero de horas y el nombre del trabajador.b) Las horas superiores a 35 se pagarán como extras al precio de 1.5 horas normales.c) Los impuestos a deducir a los trabajadores varían en función de su sueldo mensual:- Sueldo <= 20.000, libre de impuestos- Las siguientes 15.000 al 20%- El resto, al 30%