DIAGRAMA DE FLUJO Diagrama de flujo Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas. específicas Se les llama diagramas de flujo porque los símbolos í b l utilizados tili d se conectan t por medio di de flechas para indicar la secuencia de operación. ió Símbolos utilizados en un DFD Símbolos utilizados en un DFD DFD. Revisión de lámpara p 1 1 DFD. Q Que suma los 50 primeros p números enteros EJERCICIOS HACER EL PSEUDOCODIGO Y EL DFD PARA LOS SIGUIENTES PROBLEMAS: P bl Problema 1:U Una titienda d otorga t un d descuento t d dell 2.5% por cada 5 productos adquiridos, calcular el total a pagar por una compra compra. Problema 2: Una tienda por departamentos realiza recargo sobre el total a pagar de acuerdo al tipo de tarjeta: Tipo tarjeta ‘E’ = 0%, Tipo tarjeta ‘V’ = 5%, Tipo tarjet tarjeta a ‘M’ M = 7% 7%, mostrar el total a pagar pagar. Problema 1: Una tienda otorga un descuento del 2 5% por cada 5 productos adquiridos 2.5% adquiridos, calcular el total a pagar por una compra. ALGORITMICA Ejemplo1 VARIABLES ENTERO Cantidad REAL Precio VCompra Precio, VCompra,, Descuento, Descuento Total Total, Factor INICIO LEER(( Cantidad, Precio ) LEER V Vcompra ← Cantidad C tid d * Precio P i Factor ← (Cantidad DIV 5) * 0.025 Descuento ← Vcompra * Factor Total ← vCompra – Descuento ESCRIBIR(( Total ) ESCRIBIR FIN ALGORITMO Ejemplo2 VARIABLES S CARÁCTER TipoTarjeta REAL ValorCompra ValorCompra,, Recargo, TotalPagar INICIO LEER (ValorCompra, ValorCompra, TipoTarjeta) TipoTarjeta) CASO ( TipoTarjeta ) SEA ‘E’ : Recargo ← 0 ‘V’ V : Recargo ← ValorCompra * 0.05 0 05 ‘M’ : Recargo ← ValorCompra * 0.07 FIN--CASO FIN TotalPagar ← ValorCompra + Recargo ESCRIBIR(( TotalPagar ) ESCRIBIR FIN ESTRUCTURAS CONDICIONALES Estructuras Condicionales Las estructuras condicionales, condicionales me permiten evaluar una expresión o expresiones y según el resultado de esta evaluación se procesan un grupo de instrucciones y/o sentencias. sentencias Las estructuras condicionales se clasifican en : Estructuras Selectivas E t t Estructuras R Repetitivas titi Estructuras Selectivas Se clasifican en : Condicional Condicional d l Condicional Condicional Simple (SI (SI / FIN FIN--SI SI)) Doble bl (SI (SI / SINO / FINFIN-SI SI)) Anidada (Similar (Similar a Condicional Doble) Doble) Múltiple (EN_CASO ((EN EN_CASO EN CASO / FINFIN-EN_CASO) EN CASO) EN_CASO CASO) Condicional Simple Se emplea para evaluar una expresión o expresiones si el resultado de esta evaluación expresiones, es un valor lógico verdadero (true (true), ), entonces se procesaran un grupo de instrucciones o sentencias. Sintaxis : SI ( Expresion<es> Expresion<es> ) ENTONCES Instrucciones true y/o : Sentencias : FIN--SI FIN Ejemplo1 : Ingrese 2 números enteros y visualice el mayor de los 2 números ingresados. g ALGORITMO Ejemplo1 VARIABLES ENTERO A, B, Mayor INICIO LEER(( A, B) LEER Mayor ← A SI(( B > A )ENTONCES SI )ENTONCES Mayor ← B FIN--SI FIN ESCRIBIR(( Mayor ) ESCRIBIR FIN Ejemplo 2 : Ingrese un número entero, si mayor a 10 sumele 10 unidades y visualice el nuevo valor valor. ALGORITMO Ejemplo2 j p VARIABLES ENTERO N INICIO LEER(( N ) LEER SI(( N > 10) ENTONCES SI N ← N + 10 FIN--SI FIN ESCRIBIR(( N ) ESCRIBIR FIN Ejemplo 3 : Una tienda ofrece un descuento del 3% del valor de compra, si el número de producto adquiridos excede en 5 ( un mismo producto ). ). C l l ell total Calcular t t l a pagar por una compra. ALGORITMO Ejemplo3 VARIABLES ENTERO Cantidad REAL Precio, Vcompra, Vcompra, Descuento, Total INICIO LEER(( Cantidad, Precio ) LEER Vcompra ← Cantidad * Precio Descuento ← 0 SI ( Cantidad > 5 ) ENTONCES Descuento ← Vcompra * 0.03 FIN--SI FIN Total ← Vcompra p – Descuento ESCRIBIR(( Total ) ESCRIBIR FIN Ejemplo 4 : Ingrese un número entero y luego visualice un mensaje j indicando si el número ingresado g es “PAR” o “IMPAR”. ALGORITMO Ejemplo4 VARIABLES ENTERO N INICIO LEER(( N ) LEER Resto ← N MOD 2 SI ( Resto = 0 ) ENTONCES ESCRIBIR(“PAR”) FIN--SI FIN SI ( Resto <> 0 ) ENTONCES ESCRIBIR(“IMPAR”) FIN--SI FIN FIN Ejemplo 5 : Una empresa otorga un bonificación del 5% del haber básico (por cada hijo), hijo), solo a sus trabajadores que tienen hijos, calcular el total a pagar a un trabajador. t b j d ALGORITMO Ejemplo5 VARIABLES ENTERO NroHijos REAL Hbasico,, Bonificacion, Hbasico Bonificacion, Total INICIO LEER((Hbasico, LEER Hbasico, NroHijos) NroHijos) Bonificacion ← 0 SI ( NroHijos > 0 ) ENTONCES Bonificacion ← Hbasico * 0.05 0 05 * NroHijos FIN--SI FIN Total ← Hbasico + Bonificacion ESCRIBIR(( Total ) ESCRIBIR FIN Condicional Doble Se emplea para evaluar una expresión o expresiones si el resultado de esta evaluación expresiones, es un valor lógico verdadero (true (true), ), entonces se procesaran un grupo de instrucciones o sentencias, t i caso contrario t i (false ((ffalse) f l ) se procesara otro grupo de instrucciones o sentencias. Sintaxis : SI ( Expresion Expresion<es> <es> ) ENTONCES true : SINO false : FIN--SI FIN Instrucciones y/o Sentencias Instrucciones y/o Sentencias Ejemplo 1 : Calcular el mayor valor de 2 números enteros enteros. ALGORITMO Ejemplo1 VARIABLES ENTERO A, B, Mayor INICIO LEER(A LEER(A, LEER (A (A, B) SI(( A > B )ENTONCES SI )ENTONCES Mayor ← A SINO S O Mayor ← B FIN--SI FIN ESCRIBIR(Mayor) ESCRIBIR (Mayor) FIN Ejemplo 2 : Calcular el mayor valor de 3 números enteros enteros. ALGORITMICA Ejemplo2 VARIABLES ENTERO A B, A, B C, C MAYOR INICIO LEER(A, LEER (A, B, C) SI ((A > B)) Y ( A > C)) ENTONCES MAYOR ← A SINO SI (B > C) ENTONCES MAYOR ← B SINO MAYOR ← C FIN--SI FIN FIN--SI FIN ESCRIBIR(MAYOR) 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. p Calcular el total a p pagar g p por una compra. p ALGORITMO Ejemplo3 VARIABLES REAL Vcompra,, Descuento, Recargo, Total Vcompra CARÁCTER TipoPago INICIO LEER((Vcompra, LEER Vcompra, TipoPago) TipoPago) Descuento ← 0 : Recargo ← 0 SI (TipoPago Ti P = ‘C’ ) ENTONCES Descuento ← Vcompra * 0.03 SINO Recargo ← Vcompra * 0.05 FIN--SI FIN Total ← Vcompra – Descuento + Recargo ESCRIBIR(Total) ESCRIBIR (Total) FIN Ejemplo 4 : Ingrese un número entero, si es 2 cifras visualice la suma de sus cifras, caso contrario visualice su doble. ALGORITMO Ejemplo4 VARIABLES ENTERO N, A, B INICIO LEER(( N ) LEER SI(( N >= 10 ) Y ( N <= 99 ) ENTONCES SI A ← N DIV 10 B ← N MOD 10 ESCRIBIR(( A + B ) ESCRIBIR SINO ESCRIBIR(( N * 2 ) ESCRIBIR FIN--SI FIN FIN Ejemplo 5 : Ingrese un número entero de 3 cifras y luego visualice un mensaje indicando si el número ingresado es “CAPICUA” o “NO ES CAPICUA”. CAPICUA” ALGORITMICA Ejemplo5 VARIABLES ENTERO N, A, C INICIO LEER(( N ) LEER SI ( N >= 100) Y ( N <= 999 ) ENTONCES A ← N DIV 100 C ← ( N MOD 100) MOD 10 SI ( A = C ) ENTONCES ESCRIBIR(“CAPICUA”) SINO ESCRIBIR(“NO ES CAPICUA”) FIN--SI FIN FIN--SI FIN FIN Ejemplo 6 : Ingrese un número entero, si es de 2 cifras imprima p el inverso del número ingresado, g , caso contrario imprima su triple. ALGORITMO Ejemplo6 VARIABLES ENTERO N, A, B INICIO LEER(( N ) LEER SI ( N >= 10 ) Y ( N <= 99 ) ENTONCES A ← N DIV 10 B ← N MOD 10 ESCRIBIR(( (B * 10) + A ) ESCRIBIR SINO ESCRIBIR(( N * 3 ) ESCRIBIR FIN--SI FIN FIN Ejemplo 7 : Ingrese un número entero de 3 cifras y luego visualice el inverso del número siempre y cuando la suma de sus cifras sea un número par. ALGORITMO Ejemplo7 VARIABLES ENTERO N,, A,, B,, C,, SUMA INICIO LEER(( N ) LEER SI (N > = 100) Y (N <= 999) ENTONCES A ← N DIV 100 B ← (N MOD 100) DIV 10 C ← (N MOD 100) MOD 10 SUMA ← A + B + C SI ( SUMA MOD 2 = 0 ) ENTONCES ESCRIBIR(( (C*100)+(B*10)+A) ESCRIBIR FIN--SI FIN SINO ESCRIBIR(“EL ESCRIBIR(“ EL NUMERO NO ES DE 3 CIFRAS”) CIFRAS”) FIN--SI FIN FIN Ejemplo 8 : Ingrese los coeficientes de una ecuación de 2do grado y luego visualice un mensaje indicando de que tipo son sus raíces. ALGORITMO Ejemplo8 VARIABLES ENTERO A B, A, B C REAL Discriminante INICIO LEER( EER( A,, B,, C ) Discriminante ← (B * B) – (4 * A * C) SI (Discriminante < 0 ) ENTONCES ESCRIBIR(“Raíces ESCRIBIR (“Raíces Imaginarias”) SINO SI (Discriminante = 0) ENTONCES ESCRIBIR(“Raíces ESCRIBIR (“Raíces Iguales”) SINO ESCRIBIR(“Raíces ESCRIBIR (“Raíces Reales”) FIN--SI FIN FIN--SI FIN FIN PROBLEMAS PROPUESTOS Problema 1 : Ingrese un número entero, si es de 4 cifras, visualice un mensaje indicando si el número ingresado es “CAPICUA” o “NO ES CAPICUA”. P bl Problema 2 : Ingrese I un número ú entero, t sii es de d 4 cifras, if visualice los números formados por las cifras extremas y las cifras centrales. Problema 3 : Calcule el total a pagar por una compra, sabiendo que obtiene un descuento del 3% del valor de la compra, compra si el número de productos adquiridos es mayor a 5. Calcular y visualizar el descuento y total a pagar por una compra. Solución Problema 1: ALGORITMO Problema1 VARIABLES ENTERO N, A, B, C, D INICIO LEER(( N ) LEER SI(( N >= 1000)) Y ((N <= 9999)ENTONCES SI 9999))ENTONCES A ← N DIV 1000 B ← (N MOD 1000) DIV 100 C ← ((N MOD 1000) MOD 100) DIV 10 D ← ((N (( MOD O 1000) 000) MOD O 100) 00) MOD O 10 0 SI(( A = D) Y ( B = C )ENTONCES SI )ENTONCES ESCRIBIR(“CAPICUA”) SINO ESCRIBIR(“NO CAPICUA”) FIN--SI FIN FIN--SI FIN FIN Solución Problema 2: ALGORITMO Problema2 VARIABLES ENTERO N, A, B, C, D, M1, M2 INICIO LEER(( N ) LEER SI(( N >= 1000)) Y ((N <= 9999)ENTONCES SI 9999))ENTONCES A ← N DIV 1000 B ← (N MOD 1000) DIV 100 C ← ((N MOD 1000) MOD 100) DIV 10 D ← ((N (( MOD O 1000) 000) MOD O 100) 00) MOD O 10 0 M1 ← (A * 10) + D M2 ← (C * 10) + B ESCRIBIR( M1, M1 M2) SINO ESCRIBIR(“NUMERO NO ES DE 4 CIFRAS”) FIN--SI FIN FIN Solución Problema 3: ALGORITMO Problema3 VARIABLES ENTERO NroProductos REAL ValorCompra, PrecioUnidad,Descuento, TotalPagar INICIO LEER(NroProductos LEER(NroProductos, LEER (NroProductos (NroProductos, PrecioUnidad) ValorCompra ← NroProductos * PrecioUnidad SI ( NroProductos > 5 ) ENTONCES Descuento ← ValorCompra * 0.03 0 03 SINO Descuento ← 0 FIN--SI FIN TotalPagar ← ValorCompra – Descuento ESCRIBIR(( Descuento, TotalPagar) ESCRIBIR FIN