algoritmos y diagramas de flujo
DESCRIPTION
ejemplos y definiciones de algoritmosTRANSCRIPT
![Page 1: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/1.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 1
Objetivo
Presentar los elementos de la programación estructurada para que el estudiante sea capaz de diseñar algoritmos que le permiten
resolver problemas diversos.
Introducción
Dentro de lo que es el capitulo de algoritmos, a veces en forma pedagógica, es un poco difícil dar este tema, la razón se
fundamenta en el hecho de que el alumno no esta acostumbrado a “pensar con lógica”, desgraciadamente durante la formación del
alumno desde niveles básicos de educación no se le a enseñado a crear un conocimiento significativo por lo que su mente no está
acostumbrada a razonar. El problema de la implementación de algoritmos reside en esta situación. Cuando yo le digo al alumno
¿Cuanto es 12 * 2? Contesta automáticamente 24.
Todo parecería estar bien pero lo hizo de forma automática y no hizo la operación siguiendo las reglas de la multiplicación. Para
poder desarrollar algoritmos es necesario seguir todas esas reglas por que al momento de codificar un programa se debe de hacer
de tal manera que no exista una falla en estos pasos, por que habrá que recordar que una computadora no piensa, y solo sigue las
instrucciones que el programador le ha implantado al desarrollar el algoritmo.
Metodología de la programación estructurada.
La realización de un programa sin seguir un método de programación riguroso, aunque funcione, a la larga no será mas que un
conjunto mas o menos grande de instrucciones con falta de fiabilidad y flexibilidad; evitar estas características y buscar modos de
minimizar la probabilidad de error en el proceso de programación son básicamente los objetivos de la Programación Estructurada.
Por lo tanto, definimos a la Programación Estructurada como un conjunto de técnicas de construcción de programas que utilizan
al máximo los recursos del lenguaje, limita el conjunto de estructuras aplicables a leer y presenta una serie de reglas que
coordinan adecuadamente el desarrollo de las diferentes fases de programación.
La Programación Estructurada se basa en los siguientes principios:
o Recursos abstractos
o Estructuras básicas de control
o Diseño descendente “arriba – abajo” (top – down)
Entonces podemos concluir que la Programación Estructurada es una filosofía para la implantación de algoritmos a través de un
conjunto finito de estructuras bien organizadas.
RECURSOS ABSTRACTOS.
Cuando se comienza a diseñar el algoritmo con el cual se resolverá un problema determinado, muchos analistas y otros tantos
programadores caemos en la terrible tentación de querer tener todos los detalles de la implantación aún antes de escribir la
primera línea del código. Por ejemplo si se desea implantar un programa graficador, mas de uno se sentirá tentado a pensar en los
grandes problemas que representará para la rutina de despliegue el contemplar todos los tipos de monitores disponibles en el
mercado, ¿Quien dijo que la rutina de despliegue debe contemplar el tipo de monitor existente en el mercado? Mejor aún,
¿Quien nos asegura que existirá una rutina de despliegue?
Encontrar el algoritmo ó implantarlo requiere de la abstracción de las partes mas importantes y características del problema. Los
detalles deben ser omitidos hasta donde sean posible.
PROGRAMACION MODULAR.
Este tipo de lenguaje constituye una primera herramienta al servicio del programador y de hecho sucedió así históricamente. No
obstante es fácil intuir que esta herramienta nos conducirá a buenos resultados para problemas de pequeña o mediana
complejidad, pero cuando la complejidad aumenta llevará consigo:
Un aumento del tamaño físico del algoritmo
Un aumento de la complejidad de sus relaciones (crecimiento anárquico)
Para evitar algunos inconvenientes, aparecen dos criterios de programación que lejos de ser contrapuestos o representar soluciones
paralelas, creemos que son complementarios:
LA PROGRAMACIÓN MODULAR es un método de diseño y tiende a dividir el problema total en partes
perfectamente diferenciadas que pueden ser analizadas, programadas y puestas a punto por separado.
LA PROGRAMACIÓN ESTRUCTURADA corresponde a un método de programación, o forma de programar, y se
basa simplemente en limitar el conjunto de estructuras posibles de un algoritmo a unas pocas estructuras
privilegiadas que, tienden a estructurar el programa, procurando que su texto corresponda a su orden de ejecución.
Al atacar el análisis de un problema podremos utilizar criterios de programación modular para dividirlo en partes independientes,
utilizando métodos estructurados en la programación de cada modulo, probándolos por separado y realizando luego su montaje
ascendente.
ESTRUCTURAS BÁSICAS DE CONTROL.
El teorema de la estructura fue enunciada por Bohm y Jacopini. En el se establece que se requieren tres bloques para construir
cualquier programa:
Una caja de proceso.
Una decisión binaria.
Un mecanismo de repetición.
![Page 2: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/2.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 2
El enunciado fue hecho en el artículo de Diagramas de flujo, Máquinas de Turing y Lenguajes con solo dos reglas de formulación
publicado en italiano en 1965.
ALGORITMO.
El algoritmo es una secuencia ordenada y cronológica de pasos que llevan a la solución de un problema o a la ejecución de una
tarea. Los pasos deben ser simples, claros y exactos, seguir un orden lógico y además tener un principio y un fin.
Son ejemplo de algoritmos las señas para encontrar una calle, las recetas de cocina, los planos de construcción y las instrucciones
para armar un juguete. Los elementos que integran la estructura de un algoritmo son los siguientes:
1. Encabezado: Todo algoritmo debe tener un encabezado como identificador, el cual debe empezar con la palabra
algoritmo seguida de una descripción apropiada. Ejemplo:
Algoritmo CALCULAR SUELDO DE UN EMPLEADO
2. Definición de variables: El primer paso para crear un algoritmo consiste en definir las variables (estructura de datos)
que se necesitan; asignarles un nombre, identificar el uso que tendrán y determinar sus tipos de datos. Ejemplo:
NOMBRE: Alfabético [30]
HRSTRAB: Entero
CUOTAHR: Real
SUELDO: Real
3. Leer, calcular e imprimir: El segundo paso de un algoritmo consiste en leer, calcular e imprimir tantas veces se requiera
y en el orden que se necesite.
Lectura de datos: En este punto se empiezan a introducir los datos disponibles como materia prima, mediante
una operación de lectura precedida por una solicitud de datos. Ejemplo:
Leer NOMBRE, HRSTRAB, CUOTAHR
Cálculos: El siguiente paso es procesar la entrada para producir la salida, mediante la ejecución de cálculos
basadas en expresiones matemáticas. Ejemplo:
Calcular SUELDO = HRSTRAB*CUOTAHR
Salida (impresión) de datos: El último paso estriba en dar salida a la información requerida, imprimiendo las
variables que la contienen. Ejemplo.
Imprimir NOMBRE, SUELDO
4. Fin del algoritmo: El último paso del algoritmo consiste en incluir la indicación de fin.
Fin
BLOQUE DE PROCESO DECISIÓN BINARIA CICLO DE REPETICIÓN
ESTRUCTURAS DE CONTROL BÁSICAS.
![Page 3: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/3.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 3
Algoritmo con la estructura de control secuencial.
De ejemplo podemos retomar el ejemplo descrito en el subtema de algoritmo, para hacer nuestro primer algoritmo.
Algoritmo CALCULAR SUELDO DE UN EMPLEADO (PROGRAMA DE ALGORITMO 1)
1. Definir variables.
NOMBRE: Alfabético [30]
HRSTRAB: Entero
CUOTAHR: Real
SUELDO: Real
2. Solicitar el nombre del empleado, número de horas trabajadas y cuota por hora.
3. Leer NOMBRE, HRSTRAB,CUOTAHR
4. Calcular SUELDO = HRSTRAB*CUOTAHR
5. Imprimir NOMBRE, SUELDO
6. Fin En forma de diagrama de flujo.
Estructura secuencial
EJERCICOS PROPUESTOS.
1.- HACER UN ALGORITMO PARA OBTENER EL AREA, PERIMETRO DE UN TRIANGULO.
2.- HACER UN ALGORITMO QUE OBTENGA E IMPRIMA EL VALOR DE Y A PARTIR DE LA ECUACIÓN Y = 3X2 + 7X – 15.
INICIO
DAME EL NOMBRE DEL EMPLEADO.
NÚMERO DE HORAS TRABAJADAS Y CUOTA POR HORA
NOMBRE, HRSTRAB,CUOTAHR
SUELDO = HRSTRAB*CUOTAHR
NOMBRE, SUELDO
FIN
![Page 4: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/4.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 4
3.- HACER UN ALGORITMO QUE CONVIERTA UN NÚMERO DADO DE SEGUNDOS EN MINUTOS Y QUE IMPRIMA EL
RESULTADO.
4.- UNA TEMPERATURA EN GRADOS CENTÍGRADOS SE PUEDE CONVERTIR A SU EQUIVALENTE EN GRADOS
FAHRENHEIT CON LA FÓRMULA OF =
5
9 + 32..
HACER UN ALGORITMO QUE LEA UNA TEMPERATURA EN GRADOS CENTÍGRADOS Y OBTENGA E IMPRIMA LA TEMPERATURA FAHRENHEIT EQUIVALENTE.
5.- EL SIGUIENTE SISTEMA DE ECUACIONES LINEALES:
ax + by = c dx + ey = f
SE PUEDE RESOLVER CON LAS FÓRMULAS:
X =
bdae
bfce
Y =
bdae
cdaf
SI ae-bd 0.
ELABORAR UN ALGORITMO QUE LEA LOS COEFICIENTES a,b,c,d,e y f, Y QUE IMPRIMA LOS VALORES DE X y Y.
6.- HACER UN ALGORITMO QUE LEA UN NÚMERO EN PIES Y CALCULE E IMPRIMA SU EQUIVALENTE EN YARDAS,
PULGADAS, CENTÍMETROS Y METROS, DE ACUERDO CON LAS SIGUIENTES EQUIVALENCIAS: 1 pie=12 pulgadas, 1
yarda=3pies. 1 pulgada=2.54cm.
1 metro=100cm.
Algoritmo con la estructura de control de selección doble (IF-THEN-ELSE).
Del ejemplo anterior, ahora vamos a suponer que si el número de horas trabajadas es mayor que 40, el excedente de 40 se paga al
doble de la cuota por hora, en caso de no ser mayor de 40 se para la cuota normal por hora.
Algoritmo CALCULAR SUELDO DE UN EMPLEADO (PROGRAMA DE ALGORITMO 2)
1 Definir variables.
NOMBRE: Alfabético [30]
HRSTRAB: Entero
CUOTAHR: Real
SUELDO: Real
2 Solicitar el nombre del empleado, número de horas trabajadas y cuota por hora.
3 Leer NOMBRE, HRSTRAB,CUOTAHR
4 IF HRSTRAB > 40 THEN
SUELDO = (CUOTAHR*40) + ((HRSTRAB-40) * (CUOTAHR*2))
5 ELSE
SUELDO = HRSTRAB*CUOTAHR
6 ENDIF
7 Imprimir NOMBRE, SUELDO
8 Fin
EJERCICOS PROPUESTOS.
7.- UNA ESCUELA APLICA DOS EXAMENES A SUS ASPIRANTES, POR LO QUE CADA UNO DE ELLOS OBTIENE DOS
CALIFICACIONES DENOTADAS COMO C1 Y C2. EL ASPÍRANTE QUE OBTENGA LAS CALIFICACIONES MAYORES
QUE 80 EN AMBOS EXAMENES ES ACEPTADO; EN CASO CONTRARIO ES RECHAZADO. HACER UN ALGORITMO PARA DETERMINAR LOS ALUMNOS ACEPTADOS.
![Page 5: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/5.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 5
Algoritmo con la estructura de control de selección sencilla (IF-THEN).
Siguiendo con nuestro ejemplo: supongamos que ahora se otorga un incentivo del 5% si el empleado trabajo mas de 40 horas, esto
se agrega independientemente del cálculo del sueldo.
Algoritmo CALCULAR SUELDO DE UN EMPLEADO (PROGRAMA DE ALGORITMO 3)
1 Definir variables.
NOMBRE: Alfabético [30]
HRSTRAB: Entero
CUOTAHR: Real
SUELDO: Real
2 Solicitar el nombre del empleado, número de horas trabajadas y cuota por hora.
3 Leer NOMBRE, HRSTRAB,CUOTAHR
4 IF HRSTRAB > 40 THEN
SUELDO = (HRSTRAB*CUOTAHR)*1.05
5 ENDIF
6 Imprimir NOMBRE, SUELDO
7 Fin
Algoritmo con la estructura de control de selección múltiple (CASE). (PROGRAMA DE ALGORITMO 4)
Ejemplo: Elabore un algoritmo que lea un valor entre 1 y 7 y despliegue “DOMINGO” si es 1, “MARTES” si es 2........,
“SABADO” si es 7.
Algoritmo DIAS DE LA SEMANA
1 Definir variables.
NUM_DIA: Entero
2 Solicitar el número de día
3 Leer NUM_DIA
4 CASE(1,2,3,4,5,6,7) NUM_DIA
1: Imprimir “DOMINGO”
2: Imprimir “LUNES”
3: Imprimir “MARTES”
4: Imprimir “MIÉRCOLES”
5: Imprimir “JUEVES”
6: Imprimir “VIERNES”
7: Imprimir “SABADO”
5 ELSE
Imprimir “NO ESTA ENTRE 1 Y 7”
6 ENDCASE
7 Fin EJERCICOS PROPUESTOS.
8.- REPETIR EL ÚLTIMO ALGORITMO PERO USANDO LAS ESTRUCTURAS IF-ELSE. 9.- ELABORAR UN ALGORITMO PARA CALCULAR LA CALIFICACIÓN FINAL DE UN ALUMNO, TENIENDO COMO DATOS
CUATRO CALIFICACIONES PARCIALES. IMPRIMIR NOMBRE, LA CALIFICACIÓN FINAL Y UN COMENTARIO DE
APROBADO SI OBTIENE 60 O MAS Y REPROBADO EN CASO CONTRARIO. 10.- HACER UN ALGORITMO QUE LEA TRES NÚMEROS Y QUE CALCULE E IMPRIMA EL MAYOR. SE SUPONE QUE SON
NÚMEROS DIFERENTES.
11.- ELABORE UN ALGORITMO QUE LEA EL NÚMERO DE MES ENTRE 1 Y 12 Y QUE IMPRIMA EL NOMBRE DEL MES CORRESPONDIENTE: SI ES 1 “ENERO”, SI ES 2 “FEBRERO”, ETC.
![Page 6: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/6.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 6
12.- ELABORE UN ALGORITMO PARA CALCULAR E IMPRIMIR EL PRECIO DE UN TERRENO DEL CUAL SE TIENEN LOS
SIGUIENTRES DATOS: LARGO, ANCHO Y PRECIO POR METRO CUADRADO. SI EL TERRENO TIENE MAS DE 400
METROS CUADRADOS SE HACE UN DESCUENTO DEL 10% . 13.- IGUAL QUE EL EJERCICIO ANTERIOR, PERO AHORA SI EL TERRENO TIENE MAS DE 500 METROS CUADRADOS EL
DESCUENTO ES DEL 17% Y SI TIENE MAS DE 1000 EL DESCUENTO ES DEL 25%.
14.- ELABORE UN ALGORITMO QUE IMPRIMA EL COSTO DE UN PEDIDO DE UN ARTICULO DEL CUAL SE TIENE LA DESCRPCIÓN, LA CANTIDAD PEDIDA Y EL PECIO UNITARIO. SI LA CANTIDAD PEDIDA EXCEDE LAS 50 UNIDADES,
SE HACE UN DESCUENTO DEL 15%.
15.- UN CLIENTE ORDENA CIERTA CANTIDAD DE LIBROS, DISCOS Y CUADERNOS; LOS LIBROS TIENEN 20% DE
DESCUENTO Y LOS DISCOS 15%. LOS DATOS QUE SE TIENEN POR CADA TIPO DE ARTICULO SON: LA CANTIDAD
PEDIDA Y EL PRECIO UNITARIO. ADEMÁS SI SE PAGA DE CONTADO TIENE UN DESCUENTO DEL 6%. ELABORAR UN ALGORITMO QUE CALCULE E IMPRIMA EL COSTO TOTAL DE LA ORDEN, TANTO PARA EL PAGO DE
CONTADO COMO PARA EL CASO DE PAGO A CRÉDITO.
16.- UNA LIBRERÍA VENDE LIBROS CON LAS CONDICIONES SIGUIENTES: SI EL CLIENTE ES DEL TIPO 1 SE LE DESCUENTA EL 30%.
SI EL CLIENTE ES DEL TIPO 2 SE LE DESCUENTA EL 20%.
SI EL CLIENTE ES DEL TIPO 3 SE LE DESCUENTA EL 10%. CUANDO EL CLIENTE REALIZA UNA COMPRA SE GENERAN LOS SIGUIENTES DATOS:
NOMBRE DEL CLIENTE.
TIPO DE CLIENTE (1,2,3) CANTIDAD DE LIBROS.
COSTO POR LIBRO.
ELABORE UN ALGORITMO QUE LEA ESTOS DATOS Y QUE IMPRIMA LO SIGUIENTE: NOMBRE DEL CLIENTE.
TOTAL A PAGAR.
DESCUENTO. NETO A PAGAR.
17.- IGUAL QUE EL EJERCICIO ANTERIOR, PERO ADEMÁS:
SI LA CANTIDAD DE LIBROS SOLICITADA ES MAYOR QUE 50, SE HACE UN DESCUENTO ADICIONAL DEL 5%, EN CASO DE SER MAYOR DE 100 EL DESCUENTO ES DEL 10%.
Algoritmo con la estructura de control REPEAT. (PROGRAMA DE ALGORITMO 5)
Retomando el ejemplo de los sueldos. Ahora vamos a calcular el sueldo para varios empleados.
Algoritmo SUELDOS DE VARIOS EMPLEADOS
1 Definir variables.
NOMBRE: Alfabético [30]
HRSTRAB: Entero
CUOTAHR: Real
SUELDO: Real
DESEA: Alfabético [1]
2 REPEAT
Solicitar el nombre del empleado, número de horas trabajadas y cuota por hora.
Leer NOMBRE, HRSTRAB,CUOTAHR
Calcular SUELDO = HRSTRAB*CUOTAHR
Imprimir NOMBRE, SUELDO
Preguntar ¿Desea procesar otro empleado (S/N) ?
Leer DESEA
3 UNTIL DESEA = ´N´
4 Fin
Para el caso de que se requiera determinar el número total de empleados y el sueldo total pagado a todos esos empleados se hará
uso de un contador para el número de empleados y un contador para sacar el sueldo total.
Algoritmo SUELDOS DE VARIOS EMPLEADOS (PROGRAMA DE ALGORITMO 6)
1 Definir variables.
NOMBRE: Alfabético [30]
HRSTRAB: Entero
![Page 7: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/7.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 7
CUOTAHR: Real
SUELDO: Real
DESEA: Alfabético [1]
TOTEMP: Entero
TOTSUELDO: Real
2 Imprimir encabezado
3 TOTEMP=0
4 TOTSUELDO=0
5 REPEAT
Solicitar el nombre del empleado, número de horas trabajadas y cuota por hora.
Leer NOMBRE, HRSTRAB,CUOTAHR
Calcular SUELDO = HRSTRAB*CUOTAHR
Imprimir NOMBRE, SUELDO
TOTEMP=TOTEMP+1
TOTSUELDO=TOTSUELDO+SUELDO
Preguntar ¿Desea procesar otro empleado (S/N) ?
Leer DESEA
6 UNTIL DESEA = ´N´
7 Imprimir TOTEMP,TOTSUELDO
8 Fin EJERCICOS PROPUESTOS.
18.- SE TIENE UN GRUPO DE ALUMNOS. LOS DATOS DE CADA ALUMNO SON:
NOMBRE.
SEXO (M,F). EDAD.
ESTATURA.
PESO. COLOR DE OJOS (1-AZULES. 2-CASTAÑO. 3-LOS DEMÁS).
COLOR DE CABELLO (1-CASTAÑO. 2-RUBIO. 3- LOS DEMAS).
DISEÑAR UN ALGORITMO QUE LEA LOS DATOS DE ENTRADA Y QUE PROPORCIONE UN LISTADO CON LOS NOMBRES DE:
1.- TODAS LAS MUJERES CON CABELLO RUBIO Y OJOS AZULES QUE MIDEN ENTRE 1.65 Y 1.75 METROS Y QUE PESEN MENOS DE 55 KILOGRAMOS.
2.- TODAS LOS HOMBRES DE PELO CASTAÑO Y QUE MIDAN MAS DE 1.70 METROS DE ESTATURA Y QUE PESEN ENTRE 60 Y 70 KILOGRAMOS.
Algoritmo con la estructura de control FOR.
Ejemplo: Elaborar un algoritmo que calcule e imprima la suma de los números del 1 hasta el 100.
Algoritmo SUMA DE NÚMEROS DEL 1 HASTA EL 100 (PROGRAMA DE ALGORITMO 7)
1 Definir variables.
INDICE: Entero
SUMATORIA: Entero
2 FOR INDICE 1,100
SUMATORIA=SUMATORIA+1
3 ENDFOR
4 Imprimir SUMATORIA
![Page 8: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/8.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 8
5 Fin EJERCICOS PROPUESTOS.
19.- ELABORAR UN ALGORITMO QUE CALCULE E IMPRIMA LA SUMA 1+1/2+1/3+....+1/n.
20.- ELABORE UN ALGORITMO QUE LEA N NUMEROS Y QUE DETERMINE E IMPRIMA EL PROMEDIO DE LA SUMA DE DICHOS NUMEROS.
21.-. ESTIMAR LA POBLACIÓN ESTUDIANTIL PARA EL AÑO 2005 CONSIDERANDO UN CRECIMIENTO ANUAL DEL 12%.
LA POBLACIÓN ACTUAL ES DE 750 ALUMNOS. 22.- HACER UN ALGORITMO QUE LEA UN VALOR N, ENTERO Y POSITIVO Y QUE CALCULE E IMPRIMA SU FACTORIAL.
POR EJEMPLO: SI SE LEE EL 5, SU FACTORIAL ES EL PRODUCTO DE 5*4*3*2*1. EL FACTORIAL DE CERO ES UNO.
23.- ELABORAR UN ALGORITMO QUE LEA UN VALOR N Y QUE IMPRIMA UN TRIANGULO DE ASTERISCOS, COMO SE
MUESTRA A CONTINUACIÓN, SI EL VALOR LEISO ES CINCO.
*
** ***
****
*****. 24.- ELABORAR UN ALGORITMO PARA CALCULAR E IMPRIMIR EL CUADRADO DE LOS NÚMEROS DEL 1 AL 10.
25.- ELABORAR UN ALGORITMO PARA SUMAR N NÚMEROS DE ENTRADA E IMPRIMIR EL TOTAL.
26.- ELABORAR UN ALGORITMO PARA CALCULAR LA CANTIDAD QUE SE TENDRÍA AHORRADA DESPUÉS DE 10 AÑOS SI SE DEPOSITAN MIL PESOS MENSUALMENTE A UNA TASA DE INTERES MENSUAL DEL 3% CAPITALIZABLES
CADA MES, ES DECIR QUE AL CAPITAL SE LE AGREGAN LOS INTERESES.
27.- ELABORAR UN ALGORITMO PARA CALCULAR LA CANTIDAD QUE SE TENDRÍA AHORRADA DESPUÉS DE 15 AÑOS SI SE DEPOSITAN QUINCE MIL PESOS A UNA TASA DE INTERES MENSUAL DEL 3.7 % CAPITALIZABLE CADA MES.
28.- LA EMPRESA TELMEX A DECIDIDO INCREMENTAR LA TARIFA DE LA RENTA MENSUAL POR USO DEL TELEFONO
EN 4% MENSUAL. LA TARIFA DE ABRIL DE 1999 ES DE $27.00. ELABORAR UN ALGORITMO QUE IMPRIMA EL MONTO DE LA RENTA MENSUAL PARA OCTUBRE DEL 2001.
29.- UN TRABAJO X TIENE 30 DÍAS DE DURACIÓN Y PAGAN $10.00 DIARIOS, OTRO TRABAJO TAMBIÉN DURA 30 DÍAS
PERO SE PAGA COMO SIGUE: %1.00 EL PRIMER DÍA, $2.00 EL SEGUNDO DÍA, $3.00 EL TERCER DÍA Y ASÍ SUCESIVAMENTE. ¿CUÁL SERÁ EL MEJOR PAGADO?
30.- ELABORAR UN ALGORITMO PARA ESTIMAR LA POBLACIÓN ESTUDIANTIL QUE SE ESPERA TENER EN UN
DETERMINADO AÑO; LOS DATOS QUE SE TIENEN SON: UNA POBLACIÓN ACTUASL, UN PORCENTAJE DE CRECIMIENTO ANUAL ESPERADO Y SE ESTA EN UN AÑO ACTUAL DETERMINADO. TODOS ESTOS DATOS DEBEN
DE SER LEIDOS PARA IMPRIMIR AL FINAL LO ESTIMADO.
Algoritmo con la estructura de control DO-WHILE (haz-mientras).
Ejemplo: Elaborar un algoritmo que calcule el sueldo de varios empleados y proporcione el siguiente reporte:
NOMINA QUINCENAL
NOMBRE SUELDO
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 99, 999,999.99
Algoritmo SUELDOS DE EMPLEADOS (PROGRAMA DE ALGORITMO 8)
1 Definir variables.
NOMBRE: Alfabético [30]
HRSTRAB: Entero
CUOTAHR: Real
SUELDO: Real
DESEA: Alfabético [1]
2 Preguntar ¿Hay empleado (S/N) ?
4 Leer DESEA
5 DOWHILE DESEA = ´S´
Solicitar el nombre del empleado, número de horas trabajadas y cuota por hora.
Leer NOMBRE, HRSTRAB,CUOTAHR
Calcular SUELDO = HRSTRAB*CUOTAHR
Imprimir NOMBRE, SUELDO
Preguntar ¿Desea procesar otro empleado (S/N)?
Leer DESEA
![Page 9: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/9.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 9
6 ENDDO
7 Fin
EJERCICOS PROPUESTOS.
31.- ELABORAR UN ALGORITMO PARA ENLISTAR LOS NÚMEROS PARES ENTRE 0 Y 20 (DOWHILE N<=20).
Algoritmo con ARREGLOS UNIDIMENSIONALES.
Ejemplo: Elaborar un algoritmo que lea el nombre de un vendedor y las ventas realizadas durante los 30 días del mes, que las
almacene en un arreglo y que imprima el reporte siguiente.
Nombre del vendedor: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Ventas del día 1: 999,999.999
Ventas del día 2: 999,999.999
Ventas del día 30: 999,999.999
Venta total del mes: 9, 999,999.999
Donde la venta total del mes se calcula mediante la suma de las ventas realizadas durante los 30 días.
Algoritmo VENTA DEL MES (PROGRAMA DE ALGORITMO 9)
1 Definir variables.
NOMBRE: Alfabético [30]
VENTAS: Arreglo [30] Real
I: Entero
TOTVENTA: Real
2 Solicitar el nombre del vendedor
3 Leer NOMBRE
4 FOR I=1,30
a. Solicitar la venta del día I
b. Leer VENTAS[I]
ENDFOR
5 TOTVENTA=0
6 Imprimir NOMBRE
7 FOR I=30
a. Imprimir VENTAS[I]
b. TOTVENTA=TOTVENTA+VENTAS[I]
8 ENDFOR
9 Imprimir TOTVENTA
10 Fin
Elaborar un algoritmo que lea los dos arreglos, cada uno con diez números enteros. Calcular un tercer arreglo sumando los dos
primeros de la siguiente manera: que se sume el elemento 1 del primer arreglo y el primero del segundo arreglo y que el resultado
se almacene en el 1 del tercero y así sucesivamente. Además se requiere que al final imprima los tres arreglos de la siguiente
forma:
Arreglo 1 + Arreglo 2 = Arreglo 3
99 99 999
99 99 999
. . .
99 99 999
![Page 10: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/10.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 10
Algoritmo SUMA _ ARREGLOS (PROGRAMA DE ALGORITMO 10)
1 Definir variables.
A, B, S: Arreglo [10] Real
I: Entero
2 FOR I=1,10
a. Solicitar I del arreglo A
b. Leer A[I]
c. Solicitar I del arreglo B
d. Leer B[I]
e. Calcular S[I]=A[I]+B[I]
3 ENDFOR
4 Imprimir encabezado
5 FOR I=1,10
a. Imprimir A[I], B[I], S[I]
6 ENDFOR
7 Fin
Algoritmo con ARREGLOS BIDIMENSIONALES.
Ejemplo: Elaborar un algoritmo que lea números enteros para una matriz de 10 x 10 y que al final de cada renglón imprima la
suma de todos los elementos.
Algoritmo SUMA _ ARREGLOS (PROGRAMA DE ALGORITMO 11)
1 Definir variables.
MATRIZ: Arreglo [10,10] Entero
REN, COL, SUMA: Entero
2 FOR REN=1,10
a. FOR COL=1,10
1 Solicitar elemento REN, COL
2 Leer MATRIZ [REN, COL]
b. ENDFOR
3 ENDFOR
4 FOR REN=1,10
a. SUMA=0
b. FOR COL=1,10
1 Imprimir MATRIZ[REN,COL]
2 SUMA=SUMA+MATRIZ[REN,COL]
c. ENDFOR
d. Imprimir SUMA
5 ENDFOR
6 Fin
![Page 11: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/11.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 11
Algoritmos con la programación modular.
Una vez que ya se hicieron ejemplos sencillos para poder entender las estructuras de control de la programación estructurada.
Ahora procedemos a poner un ejemplo donde se involucre el concepto de la programación estructurada y la programación
modular.
Algoritmo MODULO PRINCIPAL
1 Definir variables.
2 Desplegar el menú:
1.- ALTAS
2.- BAJAS
3.- CAMBIOS
4.- SALIDA
3 Solicitar la opción
4 Leer opción
5 CASE(1)
Llamar ALTAS
CASE(2)
Llamar BAJAS
CASE(3)
Llamar CAMBIOS
CASE(4)
Llamar SALIDA
6 ELSE
Imprimir “NO ESTA TU OPCIÓN”
7 ENDCASE
8 Fin
MODULO PRINCIPAL
MODULO ALTAS MODULO BAJAS MODULO CAMBIOS MODULO SALIDA
POR CLAVE POR CONTRATO
SEMANAL QUINCENAL
![Page 12: Algoritmos y Diagramas de Flujo](https://reader035.vdocuments.co/reader035/viewer/2022081715/544f4053b1af9fff3e8b4828/html5/thumbnails/12.jpg)
UNAM-FES ARAGON. INGENIERIA MECÁNICA ELECTRICA
TRABAJO Y EJERCICIOS PROPUESTOS PARA EL TEMA DE ALGORITMOS Y DIAGRAMAS DE FLUJO.
PROFESOR: ING. ALEJANDRO RODRÍGUEZ LORENZANA PAG. 12
Algoritmo MODULO1 ALTAS
1 Definir variables.
2 Desplegar el menú:
1.- POR CLAVE
2.- POR CONTRATO
3 Solicitar la opción
4 Leer opción
5 CASE(1)
Llamar ALTAS POR CONTRATO
CASE(2)
Llamar ALTAS POR CLAVE
6 ENDCASE
7 Fin
Algoritmo ALTAS POR CONTRATO
1 Definir variables.
CLAVE :
2 Solicitar el nombre del empleado y checar si su contrato es semanal o quincenal.
3 Leer CLAVE
4 IF CLAVE=CONTRATOS_SEMANAL THEN
LLAMAR ALTAS POR SEMANA
5 ELSE
LLAMAR ALTAS POR QUINCENA
6 ENDIF
7 Fin
BIBLIOGRAFÍA.
Fundamentos de programación.
Autor. Ernesto Peñalosa Romero.
Edit. U.N.A.M. ENEP-ARAGON. 1994
Programación en Turbo C.
Autor. Herbert, Schildt.
Edit. Mc Graw Hill. 1993.
Programación estructurada.
Un enfoque algorítmico
Autor. Leobardo López R.
Edit. Computec. 1994.
Introducción a la computación
Autor. Jorge Vasconsuelos Santillán.
Ed. Publicaciones Cultural.2006.