Diseno de Algoritmos Primera Unidad

download Diseno de Algoritmos Primera Unidad

of 40

Transcript of Diseno de Algoritmos Primera Unidad

SEP

SEIT

DGIT

INSTITUTO TECNOLGICO DE NUEVO LAREDO DEPTO. DE SISTEMAS Y COMPUTACIN

DISEO DE ALGORITMOSPor: Ing. Bruno Lpez Takeyas www.itnuevolaredo.edu.mx/takeyas

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

CONTENIDOPg.

1.- CONCEPTOS BSICOS DE ALGORITMOS1.1. Definicin de algoritmo... 1.2 Caractersticas de los algoritmos........................

4 4 6 7 7 8 9

2.- METODOLOGA PARA LA SOLUCIN DE PROBLEMAS MEDIANTE COMPUTADORAS2.1. Anlisis del problema..... 2.2. Diseo del algoritmo... 2.3. Resolucin del algoritmo en la computadora.....

3.- DATOS, TIPOS DE DATOS Y OPERACIONES FUNDAMENTALES3.1. Datos y tipos de datos 3.2. Datos numricos.. 3.2.1. Datos numricos enteros. 3.2.2. Datos numricos reales 3.3. Datos lgicos (booleanos). 3.4. Datos tipo caracter.. 3.5. Datos tipo cadena (string).. 3.6. Variables... 3.7. Constantes 3.8. Operaciones fundamentales.. 3.8.1. Expresiones aritmticas... 3.8.1.1. Reglas de prioridad (jerarqua de las operaciones aritmticas) 3.9. Ejercicios.. 3.10. Expresiones lgicas (booleanas) 3.10.1. Operadores lgicos. 3.11. Funciones internas 3.12. Ejercicio..

10 10 10 10 11 11 11 12 12 13 13 13 15 15 16 17 18 19

2

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas 20 20 21 22 25 40

4.- REPRESENTACIN DE ALGORITMOS4.1. Pseudocdigo.. 4.1.1. Instrucciones algortmicas bsicas. 4.2. Diagramas de flujo..

APNDICE A (Ejercicios).. BIBLIOGRAFA.

3

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

1. CONCEPTOS BSICOS DE ALGORITMOSLa razn por la cual las personas se ven obligadas a aprender a programar, es por la necesidad de utilizar las computadoras como una herramienta para la solucin de problemas. Bsicamente se deben realizar los siguientes pasos para resolver problemas mediante la utilizacin de computadoras (Joyanes, 1999): 1. Definicin o anlisis del problema 2. Diseo del algoritmo 3. Transformacin del algoritmo en un programa 4. Ejecucin y validacin del programa. De esto surge la necesidad de estudiar una metodologa aprobada para aplicarla como apoyo durante la resolucin de problemas mediante sistemas de cmputo. 1.1. Definicin de Algoritmo

Un algoritmo es un mtodo para resolver un problema (Joyanes, 1999). Este trmino proviene de Mohammed al-Khowarizmi, matemtico persa del siglo IX. Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. El lenguaje algortmico es aquel por medio del cual se realiza un anlisis previo del problema a resolver y encontrar un mtodo que permita resolverlo. El conjunto de todas las operaciones a realizar, y el orden en el que deben efectuarse, se le denomina algoritmo. En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas como por ejemplo para poner una lavadora (conjunto de instrucciones pegadas en la tapa de la mquina), para tocar msica (partituras), para construir un aeroplano a escala (expresados en las instrucciones), para hacer trucos de magia (pasos para hacer el truco) o, incluso, para hacer recetas de

4

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

cocina (pasos de la receta). De un modo ms formal, un algoritmo es una secuencia finita de instrucciones realizables, no ambiguas, cuya ejecucin conduce a una resolucin de un problema. El algoritmo nos da la solucin genrica a un problema y lo podremos emplear todas las veces que se nos presente ese mismo problema: por ejemplo el algoritmo de la divisin es genrico e independiente de los nmeros que tengamos que dividir. Una vez descubierto un algoritmo para efectuar una tarea, la realizacin de sta ya no requiere entender los principios en que se basa dicho algoritmo, pues el proceso se reduce a seguir las instrucciones del mismo. Por ejemplo, podemos hacer una divisin siguiendo el algoritmo sin entender por qu funciona el algoritmo. La inteligencia requerida para llevar a cabo la tarea est codificada en el algoritmo. Las mquinas algortmicas son aquellas capaces de llevar a cabo algoritmos, y entre ellas estn las computadoras. En el mbito de las computadoras, los algoritmos se expresan como programas. Los programas son algoritmos codificados con un lenguaje no ambiguo cuya sintaxis y semntica "entiende" la computadora. As pues, si queremos que una computadora efecte una tarea, primero debemos descubrir un algoritmo para llevarla a cabo; programar el algoritmo en la mquina consiste en representar ese algoritmo de modo que se pueda comunicar a una mquina. En otras palabras, debemos transformar el algoritmo conceptual en un conjunto de instrucciones y representar estas ltimas en un lenguaje sin ambigedad. Las mquinas slo pueden realizar tareas algortmicas. Si encontramos un algoritmo para dirigir la ejecucin de una tarea, podemos construir una mquina para llevarla a cabo siempre que la tecnologa haya avanzado lo suficiente. Si no encontramos un algoritmo, es posible que la ejecucin est fuera de las capacidades de las mquinas. Una computadora es todo aparato o mquina destinada a procesar informacin, entendindose por proceso, las sucesivas

5

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

fases, manipulaciones o transformaciones que sufre la informacin para resolver un problema determinado, siguiendo las instrucciones de un programa registrado.

1.2.

Caractersticas de los Algoritmos

Las caractersticas fundamentales de los algoritmos son: Preciso.- Debe indicar el orden de la realizacin de cada paso. Definido.- Si se sigue el algoritmo dos veces con los mismos datos, se debe obtener el mismo resultado (determinismo). Finito.- Debe terminar en algn momento.

Adems todo algoritmo se compone de tres partes: Entrada de datos. Procesamiento Salida de resultados (informacin)

6

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

2. METODOLOGA PARA LA SOLUCIN DE PROBLEMAS MEDIANTE COMPUTADORASLa resolucin de problemas con computadoras se puede dividir en tres fases: 1. Anlisis del problema 2. Diseo del algoritmo 3. Resolucin del algoritmo en la computadora

2.1.

Anlisis del problema

El problema debe estar bien definido para llegar a una solucin satisfactoria. Para poder definir con precisin el problema se requiere que las especificaciones de entrada y salida sean descritas con detalle (Fig. 2.1). Para ello se deben responder las siguientes preguntas: Qu informacin debe proporcionar la resolucin del problema? Qu datos se necesitan para resolver el problema?

Anlisis del Problema

Definicin del Problema

Especificaciones de Entrada

Especificaciones de Salida

Fig. 2.1. Anlisis del Problema

7

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

2.2.

Diseo del Algoritmo

Una computadora no tiene capacidad de solucionar problemas por s sola, sino cuando se le proporcionan los pasos que debe realizar. A estos pasos se les conoce como el algoritmo. El diseo del algoritmo se subdivide en tres etapas (Fig. 2.2): 1. Diseo descendente 2. Refinamiento del algoritmo 3. Herramientas de programacin Los problemas complejos se pueden resolver ms eficazmente con la computadora cuando se rompen en subproblemas que sean ms fciles de solucionar que el original. Una metodologa aprobada para este proceso se denomina diseo descendente (top-down design) y sus ventajas ms importantes son: El problema se comprende ms fcilmente al dividirse en partes ms simples llamadas mdulos. Las modificaciones en los mdulos son ms fciles. La comprobacin del problema se puede verificar fcilmente.

Una vez dividido el problema, se procede a realizar una descripcin ms detallada con pasos especficos. A este proceso se le conoce como refinamiento del algoritmo (stepwise refinement). Tras los pasos anteriores (diseo descendente y refinamiento por pasos) es preciso presentar el algoritmo mediante una herramienta de programacin: diagrama de flujo, pseudocdigo o diagrama N-S.

8

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

Diseo del Algoritmo

Diseo descendente

Refinamiento por pasos

Herramientas de Programacin

Fig. 2.2. Fases del diseo de un algoritmo

2.3.

Resolucin del algoritmo en la computadora

Una vez que el algoritmo est diseado y representado grficamente mediante una herramienta de programacin (diagrama de flujo, pseudocdigo o diagrama NS) se debe pasar a la fase de resolucin prctica del problema en la computadora. Esta fase se descompone en tres etapas (Fig. 2.3): 1. Codificacin del algoritmo en un programa 2. Ejecucin del programa 3. Comprobacin del programa Resolucin del problema mediante computadora

Codificacin del programa

Ejecucin del programa

Comprobacin del programa

Fig. 2.3. Resolucin del problema mediante computadora

9

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

3. DATOS, TIPOS DE DATOS Y OPERACIONES FUNDAMENTALESLa funcin principal de una computadora es recibir datos, procesarlos y convertirlos en informacin valiosa para la solucin de problemas. Un dato es la expresin general que describe los objetos con los cuales opera una computadora (Joyanes, 1999). Sin embargo las computadoras manejan varios tipos de datos, segn las necesidades.

3.1.

Datos y tipos de datos

Existen dos clases de tipos de datos: Simples (sin estructura) y Compuestos (Estructurados). En esta seccin se hace referencia a los tipos de datos simples. Los tipos de datos simples son los siguientes: Numricos (ENTERO, REAL) Lgicos (BOOLEANO) Caracter (CHAR, CADENA)

3.2. dos formas: Enteros Reales

Datos numricos

Este tipo de datos slo puede almacenar nmeros y pueden presentarse de

3.2.1. Datos numricos enteros Los enteros son nmeros completos, es decir, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos (Fig. 3.1).

10

Diseo de Algoritmos 5 4 1340 6 20 -23

Ing. Bruno Lpez Takeyas -15 17 -1

Fig.3.1. Ejemplos de nmeros enteros

3.2.2. Datos numricos reales Los nmeros reales siempre tienen un punto decimal y pueden ser negativos o positivos (Fig. 3.2).

0.08 -52.321 3.1415927

3739.41 -8.12 -5.1 Fig.3.2. Ejemplos de nmeros reales

3.7452 3.0 63.9

3.3.

Datos lgicos (booleanos)

El tipo de dato lgico (tambin conocido como booleano) es aquel que solo puede tomar uno de los siguientes valores: Verdadero o Falso. Algunos autores manejan estos valores como equivalentes los valores verdadero, cierto, true, o le asignan el valor numrico de 1 (uno) y falso, false o le asignan el valor numrico de 0 (cero).

3.4.

Datos tipo caracter

Este tipo de datos maneja los caracteres de la computadora. Un dato tipo caracter contiene un solo caracter. Los caracteres reconocidos por las computadoras son: Alfabticos: A, B, C, .Z, a, b, c,.,z Numricos: 0, 1, 2, 3, , 9 11

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

Caracteres especiales: +, -, *, $, #, @, &

Note que los datos de tipo carcter utilizan un (apstrofe) para su representacin.

3.5.

Datos tipo cadena (string)

Una cadena o string es una sucesin de caracteres que se encuentran delimitados por (comillas). P. ejem. Tec Laredo, 20 de Noviembre de 1910, $ 1,325.50

3.6. Variables Una variable es una localizacin o celda en la memoria principal (RAM) que almacena un valor que puede cambiar en el transcurso de la ejecucin del programa. Cuando un programa necesita almacenar un dato, necesita una variable. Toda variable tiene un nombre, un tipo de dato y un valor. Antes de poder utilizar una variable es necesario declararla especificando su nombre y su tipo de dato. Para declarar declarar variables se usa el formato de la Fig. 3.3.

Declaracin de una variable: tipo nombre P. ejem. ENTERO edad REAL descuento Fig. 3.3. Formato de declaracin de variablesSi se intenta asignar un valor de un tipo a una variable de otro tipo se producir un error de tipo. Los nombres de las variables se forman con caracteres alfanumricos, de los cuales el primero debe ser una letra (Fig. 3.4). 12

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

X R234 W_34

A d3 y

a i q23

Fig.3.4. Ejemplos vlidos de nombres de variables

3.7.

Constantes

Son constantes todos aquellos valores fijos que figuran en los algoritmos; es decir, no cambian como producto de procesamiento.

3.8.

Operaciones fundamentales

Las operaciones que realizan las computadoras se llevan a cabo mediante expresiones. Una expresin es la combinacin de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Las expresiones constan de operandos y operadores y se clasifican en: Aritmticas Lgicas Caracter

3.8.1.

Expresiones aritmticas

Este tipo de expresiones son anlogas a las frmulas matemticas (Fig. 3.5).

13

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

Smbolo

Operacin

+ * / **, ^, div mod, %

Suma Resta Multiplicacin Divisin Exponenciacin Divisin entera Mdulo (residuo)Fig.3.5. Expresiones aritmticas

La siguiente tabla muestra algunos ejemplos de representacin de expresiones aritmticas (Fig. 3.6). Operacin matemtica Representacin

5x7 6 4 37 3 ** 7

5*7 6/4 3^7 37

Fig.3.6. Ejemplos de representacin de expresiones aritmticas

La Fig. 3.7 muestra ejemplos de resultados de algunas expresiones aritmticas.

14

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

Expresin

Resultado

10.5/3.0 10 div 3 10 mod 3 1/4 2.0/4.0

3.5 3 1 0.25 0.5

Fig.3.6. Ejemplos de representacin de expresiones aritmticas

3.8.1.1.

Reglas de prioridad (jerarqua de las operaciones aritmticas)

Las expresiones que tienen dos o mas operandos requieren unas reglas matemticas que permitan determinar el orden de las operaciones, se denominan reglas de prioridad o jerarqua de las operaciones y son: 1. Las operaciones que estn encerradas entre parntesis se evalan primero. SI existen diferentes parntesis anidados (interiores unos a otros), las expresiones mas internas se evalan primero. 2. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de prioridad: Operador exponencial ( **, ^, ) Operadores *, / Operadores div y mod Operadores +, -

3.9. a) 3 + 6 * 14 b) 8 + 7 * 3 + 4 * 6

Ejercicios

1.- Cul es el resultado de las siguientes expresiones?

15

Diseo de Algoritmosc) -4 * 7 + 2 ^ 3 / 4 5 2.Convertir en expresiones aritmticas

Ing. Bruno Lpez Takeyas

algortmicas

las

siguientes

expresiones algebraicas: a) 5 (x + y) b) a2 + b2 c) x+y w u+ a y d) x (z + w)

3.10. Expresiones lgicas (booleanas) En este tipo de expresiones el resultado siempre es verdadero o falso. Tambin son conocidas como booleanas en honor de George Boole. Las expresiones lgicas se forman combinando constantes lgicas, variables lgicas y otras expresiones lgicas, utilizando los operadores lgicos not, and y or y los operadores relacionales =, , =, (Fig. 3.7). Operador relacional Significado

< > = =

Menor que Mayor que Igual que Menor o igual que Mayor o igual que Diferente queFig.3.7. Operadores relacionales

16

Diseo de AlgoritmosEl formato general para las comparaciones es: Expresin 1

Ing. Bruno Lpez Takeyas

Operador relacional

expresin 2

Y la tabla de la Fig. 3.8 muestra algunos ejemplos. Expresin 1 3 0 4 9.0 A R Expresin 2 6 1 2 9.0 B r Expresin lgica 31 4=2 9.0 >= 9.0 A B R r Resultado Verdadero Falso Falso Verdadero Verdadero Verdadero

Fig.3.8. Ejemplos de expresiones lgicas

3.10.1.

Operadores lgicos

Los operadores lgicos o booleanos bsicos son not, and y or. Las figuras 3.9, 3.10 y 3.11 muestran las tablas de verdad de estos operadores lgicos. A V F Not(A) F V

Fig.3.9. Tabla de verdad del operador notA F F V V B F V F V A and B F F F V

Fig.3.10. Tabla de verdad del operador and

17

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

A F F V V

B F V F V

A or B F V V V

Fig.3.11. Tabla de verdad del operador or

3.11. Funciones internas Las operaciones que se requieren en los programas exigen en numerosas ocasiones, adems de las operaciones aritmticas y lgicas, un nmero determinado de operadores especiales que se denominan funciones internas. P. ejem. Para el clculo de funciones trigonomtricas, logartmicas, raz cuadrada, cuadrado de un nmero, etc. (Fig. 3.12). Funcin Abs(x) Descripcin Valor absoluto de x Tipo argumento Entero o real Entero o real Entero o real Entero o real Entero o real Entero o real Real Entero o real Entero o real Entero o real RealIgual argumento Real Real Real Real Real Entero Real Igual argumento Real Entero que el que el

de Resultado

Arctan(x) Arco tangente de x Cos(x) Exp(x) Ln(x) Log10(x) Sin(x) Sqr(x) Sqrt(x) Trunc(x) Coseno de x Exponencial de x Logaritmo neperiano de x Logaritmo decimal de x Seno de x Cuadrado de x Raz cuadrada de x Truncamiento de x

Round(x) Redondeo de x

Fig.3.12. Funciones internas

18

Diseo de Algoritmos3.12. Ejercicio

Ing. Bruno Lpez Takeyas

1.- Utilizar las funciones internas para obtener la solucin de la ecuacin cuadrtica ax2 + bx + c = 0, si |X= -b b2 - 4ac 2a

19

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

4. REPRESENTACIN DE ALGORITMOSPara representar un algoritmo se debe utilizar algn mtodo que permita independizar dicho algoritmo del lenguaje de programacin elegido. Ello permitir que un algoritmo pueda se codificado indistintamente en cualquier lenguaje. Para lograrlo es necesario que el algoritmo est representado grfica o numricamente, de modo que sus acciones no dependan de la sintaxis de un lenguaje, sino que la descripcin pueda servir para su transformacin en un programa. Los mtodos usuales para representar un algoritmo son: Pseudocdigo Diagrama de Flujo Diagrama N-S (Nassi-Schneiderman) Lenguaje espaol Frmulas

En este material se consideran los dos ms importantes: pseudocdigo y diagramas de flujo.

4.1.

Pseudocdigo

El pseudocdigo es un lenguaje de pseudoprogramacin utilizado para escribir algoritmos computacionales. El objetivo del pseudocdigo es permitir que el programador se centre en los aspectos lgicos de la solucin, evitando las reglas de sintaxis de los lenguajes de programacin. No siendo el pseudocdigo un lenguaje formal, los pseudocdigos varan de un programador a otro, es decir, no hay un pseudocdigo estndar.

20

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

4.1.1. Instrucciones algortmicas bsicas Existen tres instrucciones bsicas que se contemplan como parte de los algoritmos: 1. Entrada.- Consiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en una variable. En general, la accin de ingresar un dato a una variable se expresa en el pseudocdigo mediante la palabra LEER (Fig. 3.14). 2. Salida.- Consiste en mostrar el valor de una variable en un dispositivo de salida, como la pantalla. En general, la accin de mostrar el valor de una variable se expresa en el pseudocdigo mediante la palabra IMPRIMIR (Fig. 3.15).

LEER variable P. ejem. LEER estatura Fig. 3.14. La instruccin LEER IMPRIMIR variable P. ejem. IMPRIMIR precio Fig. 3.15. La instruccin IMPRIMIR

3. Asignacin.- Consiste en asignar a una variable el valor de una expresin. La expresin puede ser una simple variable, un simple literal o una combinacin de variables, literales y operadores. La asignacin se expresa en el pseudocdigo como lo muestra la Fig. 3.16

21

Diseo de Algoritmos variable = expresin P. ejem. Edad = 26 x = z * 3

Ing. Bruno Lpez Takeyas

Fig. 3.16. La instruccin de asignacin

4.1.2.

Diagramas de flujo

Un diagrama de flujo es una de las tcnicas de representacin de algoritmos ms usada que utiliza los smbolos estndar y que tiene los pasos del algoritmo escritos en dichos smbolos unidos por flechas, denominadas lneas de flujo que indican la secuencia. La Fig. 3.17 muestra los smbolos principales en el diseo de diagramas de flujo. SmboloFuncin

Terminal (representa el comienzo y final de un programa. Puede representar tambin una interrupcin necesaria en un programa.

Teclado (se utiliza para capturar datos desde el teclado)

Proceso (cualquier tipo de operacin que pueda originar cambio de valor, formato o posicin de la informacin almacenada en memoria, operaciones aritmticas, de transferencia, etc.) Decisin (indica operaciones lgicas o de comparacin de datos y en funcin del resultado de la misma determina cul de los distintos caminos alternativos del programa se debe seguir; normalmente tiene dos salidas: V o F).

22

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

Decisin mltiple (en funcin del resultado de la comparacin se seguir uno de los diferentes caminos de acuerdo con dicho resultado).

Conector (sirve para enlazar dos partes cualesquiera de un diagrama a travs de un conector en la salida y otro conector en la entrada. Se refiere a la conexin en la misma pgina del diagrama). Indicador de direccin o lnea de flujo (indica el sentido de ejecucin de las operaciones).

Lnea conectora (sirve de unin entre dos smbolos)

Conector (conexin entre dos puntos situados en pginas diferentes)

Impresora (se utiliza cuando se desea desplegar datos) Comentarios (se utiliza para aadir comentarios clasificadores a otros smbolos del diagrama de flujo. Se pueden dibujar a cualquier lado del smbolo). Llamada a subrutina o aun proceso determinado (una subrutina es un mdulo independiente del programa principal que recibe una entrada procedente de dicho programa, realiza una tarea determinada y regresa, al terminar, al programa principal). Entrada/Salida (cualquier tipo de introduccin de datos en la memoria desde los perifricos. Tambin se utilizan para la manipulacin de datos en los archivos).

Apertura y Cierre de archivos

23

Diseo de Algoritmos

Ing. Bruno Lpez TakeyasCiclos (utilizado en procesos repetitivos llamados ciclos; p. ejem. ciclos while, do-while)

Ciclos (utilizado en procesos repetitivos de tipo for).

Fig. 3.17. Principales smbolos de los diagramas de flujo

24

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

APNDICE A EJERCICIOS Procesos y Estructuras de Decisin1. Cul es el resultado de las siguientes expresiones? a) 3 + 6 * 14 b) 8 + 7 * 3 + 4 * 6 d) (33 + 3 * 4) / 5 e) 2 ^ 2 * 3 h) 4 / 2 * 3 / 6 + 6 / 2 / 1 / 5 ^ 2 / 4 * 2 g) 16 * 6 3 * 2 2. Cul de las siguientes variables no son vlidas? a) XRayo b) R2D2 d) ZZZZ e) X_Rayo g) N14 h) 3 3. Cul de las siguientes constantes no son vlidas? a) 234 b) 12E-5 c) 32,767 e) 3.5 X 10 f) 0.00001 g) -8.975 i) 1/2 j) -7E12 k) 0,456 4. Evale las siguientes expresiones lgicas (booleanas)a) 3 > 5 OR 8 8 AND 7 < 2 * 3) c) (2 >= 3 OR 5 > 1+3) AND NOT (6 >= 5)

c) -4 * 7 + 2 ^ 3 / 4 5 f) 3 + 2 * (18 4 ^ 2) i) 3 + 3 * 2 c) 45 f) X i) 3f

d) 3.6E+7 h) 0 l) 224E1

5. Obtener el valor de cada una de las siguientes expresiones artitmticas a) 7 div 2 b) 7 mod 2 c) 12 div 3 d) 12 mod 3 g) 7 * 10 50 mod 3 * 4 + 9 h) (7 * (10 5) mod 3) * 4 + 9 e) 0 mod 5 f) 15 mod 5 6. Escribir las siguientes expresiones en forma de expresiones algortmicas M + N P M+ M+n Pq QM+ N P-Q N P R 5 seno(x) + coseno(x) tangente(x)

-b+ b2 4 a c 2

25

Diseo de Algoritmosx2 + y2 z2 Y2 Y1 X2 X1 4x2-2x + 7 (X2 X1)2 + (Y2 Y1)2

Ing. Bruno Lpez Takeyas4 3 r3 XYZ

7. Escribir las siguientes expresiones algortmicas como expresiones algebraicas: a) b ^ 2 a * a * c b) 3 * x ^ 4 5 * x ^ 3 + x * 12 17 c) (b + d) / (c + 4) d) (x ^ 2 + y ^ 2) ^ (1 / 2) 8. Si A = 4, B = 5 y C = 1, evaluar las siguientes expresiones: a) B * A B ^ 2 / 4 * C b) (A * B) / 3 ^ 2 c) ( ( (B + C) / 2 * A + 10) * 3 * B) 6 d) A ^ B ^ C 9. Capturar un valor numrico y determinar si se trata de un nmero positivo, negativo o cero imprimiendo un mensaje correspondiente. 10. Leer dos nmeros del teclado e imprimir el mayor de ellos o un mensaje de son iguales. 11. Leer tres nmeros diferentes del teclado e imprimir el mayor de ellos 12. Leer dos nmeros del teclado y realizar las cuatro operaciones aritmticas bsicas entre ellos (+, -, * y /). Considere que los nmeros pueden ser positivos, negativos o cero. Validar la divisin entre cero. 13. Leer un nmero del teclado y determinar si es un nmero par o impar. 14. Imprimir el costo de una llamada telefnica, capturando la duracin de la llamada en minutos y conociendo lo siguiente : Toda llamada que dure tres minutos o menos tiene un costo de $5. Cada minuto adicional cuesta $3 15. Calcule e imprima el pago mensual para un vendedor de autos, basndose en lo siguiente: El pago base es de $350, ms una comisin de $15 por cada auto vendido y un bono de $40 si vendi mas de 15 autos. El impuesto a pagar es el 25% del pago total. Los datos de entrada son el nombre del vendedor y el nmero de autos vendidos en el mes. Se desea imprimir el nombre del vendedor, el sueldo bruto, el impuesto y el sueldo neto. 26

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

16. Leer 5 nmeros del teclado, elimine el mayor y el menor y promedie los 3 restantes. Imprima el resultado. 17. Leer la hora actual en el formato hh:mm:ss e imprimir la hora correspondiente al siguiente segundo. Utilice el formato de 24 hrs. 18. Leer la fecha actual en el formato dd:mm:aa e imprimir la fecha correspondiente al siguiente da. Considere los casos de los meses de 30 o 31 das y los aos bisiestos. 19. Leer las longitudes de los tres lados de un tringulo (L1, L2 y L3) y calcule el rea del mismo de acuerdo con la siguiente frmula : Area = ( T (T-L1) (T-L2) (T-L3) ) ^ 0.5 donde : T = (L1 + L2 + L3 ) / 2 20. El siguiente es el men de un restaurante de hamburguesas. Elabore un diagrama de flujo capaz de leer el nmero de cada alimento ordenado y calcular la cuenta total. Hamburguesa sencilla ( $15) Hamburguesa con queso ($18) Hamburguesa especial ($20) Papas fritas ( $8) Refresco ($5) Postre ($6) TOTAL $ _____ 21. El costo de un automvil nuevo para el consumidor es la suma total del costo del vehculo, del porcentaje de ganancia del vendedor y de los impuestos locales o estatales aplicables (sobre el precio de venta). Supngase una ganancia del vendedor del 12% en todas las unidades y un impuesto del 6% y disese un diagrama de flujo para leer el costo del automvil e imprimir el costo final para el consumidor. 22. Capturar las calificaciones obtenidas por un estudiante en tres exmenes parciales e imprimir su promedio final seguido del mensaje correspondiente de acuerdo a la siguiente tabla: Promedio Final 100 90-99 80-89 70-79 69 o menos Mensaje Excelente! Muy bien Bien Hay que mejorar Reprobado

27

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

23. Leer las longitudes de los tres lados de un tringulo (L1, L2 y L3) y determinar qu tipo de tringulo es, de acuerdo a los siguientes casos. Suponiendo que A es el mayor de los lados L1, L2 y L3, y que B y C corresponden a los otros dos. Si A B + C Si A2 = B2 + C2 Si A2 > B2 + C2 Si A2 < B2 + C2 No se forma un tringulo. Se forma un tringulo rectngulo. Se forma un tringulo obtusngulo. Se forma un tringulo acutngulo.

24. El costo de una pliza de seguros para automviles se calcula de la siguiente forma : 3% del valor Cargo Cargo por la Costo total = del + por + edad del + Cargo por previos accidentes Disee un algoritmo en diagrama de flujo que lea el nombre y la edad del propietario, el valor del automvil, el modelo y el nmero de accidentes que ha tenido; e imprima el nombre del propietario seguido del costo de la pliza. Utilice los siguientes datos para determinar los cargos:Cargo por modelo Modelo % del valor del auto 90 o anterior 0.1% 91-97 0.3% 98 o ms reciente 0.5% Cargo por la edad Edad Cargo 18 a 23 aos $ 350 24 a 55 aos $ 200 56 a 65 aos $ 400 El cargo por accidentes previos es de $15 por los primeros tres accidentes y $20 por cada accidente extra.

NOTA : La compaa no asegura automviles a personas con edad fuera de estos rangos.

Estructuras Cclicas25. Imprimir la suma de los primeros N nmeros naturales. El valor de N se lee del teclado. 26. Imprimir la suma de los siguientes 100 trminos de la serie : 1-1/2 +1/4-1/6+1/8-1/10 +....27. Calcular el factorial de un nmero ledo del teclado. Recuerde que n! = n*n-1*n-2 *...*1

28

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

28. Determinar en un conjunto de 100 nmeros naturales ledos del teclado : Cuntos son menores de 15 Cuntos son mayores de 50 Cuntos estn comprendidos entre 45 y 55 29. El departamento de polica de la ciudad ha acumulado informacin referente a las infracciones de los lmites de velocidad durante un determinado perodo de tiempo. El departamento ha dividido la ciudad en cuatro cuadrantes y desea realizar una estadstica de las infracciones a los lmites de velocidad en cada uno de ellos. Para cada infraccin se capturan los siguientes datos: Nmero de registro del vehculo (cdigo numrico), cuadrante en el que se produjo la infraccin (1 a 4), lmite de velocidad permitido en km/h (entero), velocidad real desarrollada en km/h (entero). Disee un algoritmo para producir dos informes; el primero, que contiene una lista de las multas de velocidad recolectadas, donde la multa se calcula como la suma del costo de la infraccin ($50) ms $20 por cada km/h que se ha excedido la velocidad lmite. Por ejemplo : El vehculo con registro 76234 registr una velocidad de 85 km/h en una zona de 60 km/h, por lo que la multa se calcul de la siguiente forma : 50 + (85-60)*20 = 350 Velocidad registrada Velocidad lmite Multa Registro 76234 85 60 $350 ------------------------Este informe debe ser seguido de un segundo, en el cual se proporciona un anlisis de las infracciones por cuadrante. Para cada uno de los cuatro cuadrantes mencionados, debe darse el nmero de infracciones y la multa promedio. Por ejemplo : Cuadrante 1. Total de infracciones : ____. Multa promedio : _____ ------------Cuadrante 4. Total de infracciones : ____. Multa promedio : _____ La multa promedio se calcula sumando el monto de todas las multas en un cuadrante y dividiendo entre el nmero de multas en ese cuadrante. NOTA : Suponga que se acumularon datos de N infracciones. 30. Una compaa ha tenido un excelente ao y desea premiar a sus empleados con un aumento de salarios. Los sueldos deben ajustarse a la siguiente forma : Sueldo actual Aumento hasta $9,000 20 % $9,001 - $13,000 17 % $13,001 - $ 18,000 12 % Sobre $18,000 6%

29

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

La compaa tiene 50 empleados. Disee un algoritmo en diagrama de flujo que lea el nombre de cada empleado y su sueldo actual, y que imprima el nombre, el sueldo actual y el sueldo aumentado. Al final de la lista debe proporcionar tambin , el monto total de la nmina actual y el monto total de la nueva nmina que incluye los aumentos mencionados. 31. Un distribuidor de juguetes ha hecho una excelente compra de 10,000 juguetes en cajas rectangulares de diversos tamaos. El distribuidor desea poner las cajas en esferas plsticas de brillantes colores y sellarlas como paquetes sorpresa. Las esferas son de cuatro dimetros diferentes : 4, 6, 8 y 10 pulgadas, por lo que para realizar todo en orden desea saber cuntas esferas de cada dimetro debe comprar. Puesto que la diagonal de una caja rectangular cuyas dimensiones son A, B y C est dada por

D = \ A2+B2+C2y es, adems, la dimensin mayor, el distribuidor debe calcular las longitudes de las diagonales de las cajas y determinar el nmero de las que son de 4 pulgadas o menos, las comprendidas entre 4 y 6 pulgadas, etc. Disee un algoritmo en diagrama de flujo que lea las dimensiones de cada caja, calcule la longitud de sus diagonales e imprima el nmero de esferas de cada tamao que necesita comprar para empacar los juguetes.

32. Cada equipo de la liga nacional de ftbol tiene un cuadro de 22 jugadores. Por cada equipo se capturan los siguientes datos : nombre del jugador, peso y edad. Los datos correspondientes a los 10 equipos de la liga se recolectan y se envan a la sede central para su anlisis. Los datos son capturados en orden por cada equipo; es decir, los primeros 22 son del equipo 1, los siguientes 22 del equipo 2 y as sucesivamente. Disee un diagrama de flujo para calcular los siguientes valores estadsticos : a) b) c) d) Pesos y edades promedio de cada uno de los 10 equipos. Peso y edad promedio de todos los jugadores de la liga. Nmero de equipos con peso promedio mayor de 75 kg. Nmero de equipos con edad promedio menor de 18 aos.

33. Leer los siguientes datos de los alumnos de una escuela : Nmero de control, Nivel, Especialidad. Calcular lo siguiente : a) b) c) d) Cuntos alumnos son de bachillerato Cuntos alumnos son de profesional Cuntos alumnos son de maestra Cuntos alumnos son de sistemas Genere las claves necesarias.

30

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

34. Leer los siguientes datos de los empleados de una compaa : Nombre, Sueldo, Departamento. Calcule lo siguiente : a) Cuntos empleados hay en cada departamento. b) Cuntos empleados ganan mas de $ 8,000 Existen 5 departamentos : Finanzas, Sistemas, Produccin, Ventas y Mantenimiento. Considere las claves necesarias.

35. Elabore un algoritmo que lea los sig. datos para N vendedores : No. de vendedor, Venta, Zona de venta. Imprima la comisin para cada vendedor de acuerdo a la siguiente tabla : Zona de Venta Norte Sur Oriente Poniente Centro Comisin 20 % 18 % 17 % 21 % 15 %

36. Elabore un algoritmo que lea los sig. datos para N alumnos : No. de control, Calif 1, Calif 2, Calif 3. Imprima el No. de control de los alumnos que tengan promedio >= 80. El promedio es ponderado, la primera calificacin equivale al 30 %, la segunda al 35 % y la tercera al 35 %. 37. Elabore un algoritmo que lea los sig. datos de N alumnos : No. de control, C1, C2, C3, Semestre, Especialidad. Calcule lo sig.: a) El promedio para cada alumno. b) Cuntos alumnos hay en primer semestre. c) Cuntos alumnos hay en noveno semestre. e) Cuntos alumnos hay en cada especialidad. d) Cuntos alumnos de sistemas tienen promedio >= 80 Suponga 5 especialidades. Considere las claves necesarias

31

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

38. Elabore un algoritmo que lea los sig. datos de N trabajadores : Clave, Categora, Sueldo, Aos de antigedad, Sexo. Calcule lo siguiente : a) Sueldo promedio por cada categora. b) Cuntos empleados ganan mas de $ 10,000. c) Cuntos empleados tienen mas de 15 aos de antigedad. d) Cuntas mujeres de categora A ganan mas de $ 8,500. e) Cuntos empleados con 10 o mas aos de antigedad, ganan menos de $ 6,000. f) Cuntos empleados de categora C ganan mas de $ 12,500. Existen 3 categoras : A, B y C 39. Elabore un algoritmo que lea los sig. datos de N empleados: Nombre, Sexo, Tipo de incapacidad, Das de incapacidad. *El tipo de incapacidad puede ser por enfermedad o por accidente. Calcular : a) Nmero de empleados con mas de 20 das de incapacidad. b) Total de empleados incapacitados por enfermedad. c) Total de empleados incapacitados por accidente. d) Total de das de incapacidad. e) Total de hombres incapacitados por accidente. f) Porcentaje de mujeres incapacitadas. g) Total de das de incapacidad por enfermedad en mujeres. h) Promedio de das de incapacidad por enfermedad. i ) Promedio de das de incapacidad por accidente.

40. Una compaa de fumigacin utiliza aviones para fumigar las cosechas contra una gran variedad de plagas. Las cantidades que la compaa cobra a los granjeros depende de qu es lo que se desea fumigar y del nmero de hectreas que se desea fumigar, de acuerdo con la siguiente distribucin : Tipo 1 : Fumigacin contra malas hierbas, $50 por hectrea Tipo 2 : Fumigacin contra moscas y mosquitos, $70 por hectrea Tipo 3 : Fumigacin contra gusanos, $80 por hectrea. Tipo 4 : Fumigacin contra todo lo anterior, $190 por hectrea. Si el rea a fumigar es mayor de 100 hectreas, el granjero goza de un 5% de descuento. Adems, si la cuenta total sobrepasa los $10,000 se hace acreedor a un 10% de descuento sobre la cantidad que sobrepase los $10,000.

32

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

Si ambos descuentos son aplicables, el correspondiente a la superficie se considera primero. Disee un diagrama de flujo que lea el nombre del granjero, el tipo de fumigacin solicitada (1-4) y el nmero de hectreas a fumigar. Suponga que se leen los datos de 50 granjeros. Por cada granjero se debe imprimir su nombre y la cuenta total. Al final se debe imprimir el nmero de fumigaciones de cada tipo que se realizarn y el importe total de las ventas. 41. La oficina de mercadotecnia de una compaa de publicidad se encuentra con el problema de calcular el punto de equilibrio de un libro que se va a publicar. El punto de equilibrio se define como el nmero de ejemplares que deben venderse del libro para que los ingresos por las ventas se equiparen con los costos de produccin. Los costos de produccin constan de una cantidad fija por el diseo grfico, la composicin, la impresin y otros aspectos de menor importancia, ms el costo por ejemplar de impresin, encuadernacin, y otros detalles. Para cada proyecto de publicacin, el anlisis de mercado ha determinado las cifras de venta aproximadas, as como los costos de produccin, que se basan fundamentalmente en el tamao del libro (el nmero de pginas) y el nmero de ejemplares producido, de acuerdo con la siguiente frmula : Costo de prod. = costos fijos de prod. + cantidad prod. * (pginas * 0.0305)

Un anlisis de estas estimaciones se utiliza para determinar el precio de venta de equilibrio de un libro. Para cada libro que se desea publicar, se obtiene la siguiente informacin : Ttulo del libro, estimacin de venta, costos fijos de produccin, nmero de pginas. Por ejemplo, la entrada : THE COMPUTER-PHILES, 5000, 7500, 365 indica que un libro denominado The Computer-Philes, cuya venta estimada es de 5000 ejemplares, tiene un costo fijo de produccin de $7500 y consta de 365 pginas en total. Para este libro en particular, el costo de producir 5000 ejemplares ser de 7500 + 5000 * (365 * .0305) = $63,162.50

33

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

Para equilibrar este costo, el libro debe venderse al precio de $63,162.50 / 5000 = $12.63 Disee un algoritmo en diagrama de flujo que lea un conjunto de datos preparados para los libros que se proyecta editar en la temporada y que imprima una lista que contenga el ttulo, la venta estimada y el precio de equilibrio calculado. Imprimir tambin al final de la lista el nombre del libro con la estimacin de ventas mayor. Suponga que se leen los datos para n libros. NOTA : La compaa tiene como poltica que ninguno de sus libros tiene un costo mayor a $50. Por lo que en caso de que el precio de equilibrio exceda de $50, se deber imprimir la palabra Rechazado al lado de su precio.

Arreglos42. Calcular el promedio y la desviacin estndar de un conjunto de N nmeros ledos del teclado. La desviacin estndar se calcula con la siguiente frmula : D=

(Xi P)2 / ni =1

n

Donde : X i = dato i-simo P = promedio N = nmero de datos

43. Elaborar un algoritmo en diagrama de flujo que capture en un vector (T) la temperatura de cada da de una semana y que realice lo siguiente : a) Imprimir la temperatura promedio. b) Formar un vector (D) que contenga las diferencias de cada temperatura con respecto al promedio. c) Imprimir la menor temperatura y el nmero de da en que ocurri.

34

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

44. Elabore un algoritmo que encuentre la mayor diferencia entre 2 nmeros consecutivos y las posiciones de stos, en un vector de N nmeros enteros. EJEMPLO : 1 2 3 4 5 6 10 8 5 2 15 7 RESULTADO : Mayor Diferencia : 13 Elementos : 4 y 5

45. Dado un vector V de N nmeros enteros, cambie cada elemento menor que 10 por 0 y cada elemento mayor que 20 por 1. Encuentre cuntos elementos quedaron sin cambiar. Ejemplo :

V

V

1 5 1 0 Elementos sin cambiar = 3 2 54 2 1 3 15 3 15 4 22 4 1 5 19 5 19 6 8 6 0 7 13 7 13 46. Elaborar un algoritmo en diagrama de flujo que capture en una matriz las calificaciones obtenidas por un grupo de N estudiantes y que realice lo siguiente : a) Formar un vector de tamao N que contenga los promedios de cada estudiante. b) Calcular el promedio del grupo en el examen 3. c) Imprimir el mayor promedio y el nmero del estudiante que lo obtuvo. d) Imprimir el total de alumnos aprobados y reprobados (la calificacin mnima aprobatoria es 70) e) Imprimir el nmero de alumnos que reprobaron el examen 1. 47. Disee un algoritmo en diagrama de flujo que lea un vector desordenado A, compuesto de n nmeros enteros e imprmase este vector en la misma secuencia, pero ignorando los valores duplicados que se encuentren en l. Tambin se necesita saber el nmero de elementos que permanecen (m); por ejemplo, dado el siguiente vector 15 31 23 15 75 23 41 15 31 85

compuesto por 10 enteros, el vector comprimido que resulta estar dado por 15 con m = 6 31 23 75 41 85

35

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

48. Desarrollar un algoritmo en diagrama de flujo que lea una matriz cuadrada de tamao n y determine si se trata de una matriz simtrica o no. Una matriz es simtrica si los valores de cada fila son iguales los de su columna correspondiente; por ejemplo la siguiente matriz es simtrica: 1 4 7 4 2 9 7 9 3

49. Una empresa de ventas a domicilio maneja 10 artculos diferentes y cuenta con 50 vendedores. En un arreglo de 50x10 se tienen almacenadas las cantidades de cada artculo vendidas por cada vendedor. Adems, los precios de cada artculo estn almacenados en un vector de tamao 10. Se desea elaborar un algoritmo para imprimir lo siguiente : a) b) c) d) La cantidad de dinero recopilado por cada vendedor. El nmero del vendedor que recopil la mayor cantidad de dinero. El nmero del artculo ms vendido (entre todos los vendedores). El total de vendedores que no vendieron ningn artculo nmero ocho.

50. Elabore un algoritmo en diagrama de flujo y que lea una matriz cuadrada de tamao N de nmeros enteros, calcule la suma de los elementos de las diagonales (principal e inversa y guarde estos elementos en dos vectores (DP y DI). Ejemplo para N=4 : Suma DP = 20A1 2 3 4 1 2

Suma DI = 233 4 DP DI

3 2 2 4

5 7 8 6

8 9 9 7

2 5 2 1

1 2 3 4

3 7 9 1

1 2 3 4

2 9 8 4

51. Elabore un diagrama de flujo que lea los datos de una matriz cuadrada de tamao N y realice las sig. operaciones: a) Imprima la suma de los elementos de la diagonal principal b) Imprima cuntos "0" hay en la matriz c) Imprima una matriz igual pero con las diagonales intercambiadas. d) Imprima el nmero mayor de la matriz

36

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

52. Elabore un algoritmo que lea los datos de una matriz cuadrada de tamao N, y que intercambie los elementos de la matriz triangular superior con los elementos correspondientes simtricamente de la matriz triangular inferior. EJEMPLO :1 2 3 4

RESULTADO : 4 3 7 1 51 2 3 4

1 0 4 8 2

2 1 5 9 3

3 2 6 0 4

1 0 1 2 3

2 4 5 6 7

3 8 9 0 1

4 2 3 4 5

53. Dada una matriz cuadrada de tamao N, encuentre la suma de todos los elementos que no son de la "periferia" de la matriz. Ejemplo : 1 2 3 4 5 S = 4+2+1 + 5+4+8 + 8+1+0 = 33 1 3 5 8 9 2 2 1 4 2 1 0 3 4 5 4 8 1 4 9 8 1 0 3 5 7 2 1 1 3 54. La Direccin General de Institutos Tecnolgicos desea conocer una serie de datos estadsticos referentes a la cantidad de Ingenieros, Masters y Doctores que laboran en el sistema de tecnolgicos. Entre otros datos se desea saber : a) Total de Doctores, Masters e Ingenieros por zona. b) Sueldo promedio de un Dr. en el sistema de tecnolgicos. c) Total de Doctores en el tecnolgico de Nuevo Laredo. d) Total de Ingenieros con plaza #3 en la zona centro. e) El monto total de los sueldos en los tecnolgicos de la zona norte. Suponga que se cuenta con 2 matrices con los siguientes datos :

Matriz A (Tecnolgicos) No. Tec.

Matriz B (Sueldos)

Ciudad

Zona Norte Centro Sur ..... .....

1 Nuevo Laredo 2 Zacatecas 3 Mrida ... ........ 60 ........

PlazasGradoDoctor Master Ingeniero 1 $ $ $ 2 $ $ $ 3 $ $ $ 37

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

El algoritmo debe leer los sig. datos : No. de Tec. , No. de empleados (para cada tec.) Clave emp. , plaza (por cada empleado de cada tec.) NOTAS : - La clave de empleado puede ser 1,2 o 3. (DR., MC., ING.) - Las zonas son norte, centro y sur. - Son 60 tecnolgicos - Existen 3 plazas (1,2,3) por cada clave de emp.

55. Se tienen dos vectores A y B de tamaos n y m respectivamente. Cada arreglo contiene nombres de personas ordenados alfabticamente. Elabore un algoritmo en diagrama de flujo que forme un tercer vector C ordenado alfabticamente que contenga los nombres de A y B. Ejemplo : 1 2 3 4 5 A Ana Carmen Diana Gabriela Mara 1 2 3 4 5 6 B Alberto Bruno Francisco Luis Ral Vctor 1 2 3 4 5 6 7 8 9 10 11 C Ana Alberto Bruno Carmen Diana Francisco Gabriela Luis Mara Ral Vctor

56. Se tienen los costos de produccin de tres departamentos (dulces, bebidas y conservas), correspondientes a los 12 meses del ao anterior. Dulces Enero Febrero . . . Diciembre . . . Bebidas . . . Conservas . . .

Elaborar un algoritmo en diagrama de flujo que pueda proporcionar la siguiente informacin : a) En que mes (nmero) se registr el mayor costo de produccin de dulces? 38

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

b) Promedio anual de los costos de produccin de bebidas. c) En que mes se registr el menor costo de produccin de bebidas? d) Cul fue el departamento que tuvo el menor costo de produccin en Agosto? 57. Elaborar un diagrama de flujo para controlar las reservaciones y cancelaciones de boletos para las funciones de una obra de teatro. - El teatro cuenta con 300 asientos, 200 en la planta baja y 100 en la planta alta. - Los asientos estn numerados del 1 al 200 en la planta baja y del 1 al 100 en la alta. - Hay 2 funciones, a las 6 y a las 9 de la noche. Los precios son los siguientes: No. Planta Baja Planta Alta Asiento 1 50 $ 50 $ 20 51 100 $ 40 $ 10 101 150 $ 30 -----151 - 200 $ 25 -----Se debe preguntar si se desea planta baja o alta, la funcin deseada y el nmero de asiento deseado, y se debe imprimir el precio del boleto. Para las cancelaciones, preguntar el nombre y la funcin. 58. Una lnea area realiza 3 vuelos diarios a Europa, uno a Pars, uno a Madrid y uno a Londres. Elabore un diagrama de flujo que controle las reservaciones y cancelaciones de lugares. NOTAS: Cuando hay una reservacin, se preguntar el No. de vuelo ( 1 Pars , 2 Madrid , 3 Londres ), el nombre de la persona, y si desea seccin de fumar o de no fumar. Cuando hay una cancelacin, se preguntar el nombre de la persona y el No. de vuelo. Cada vuelo tiene 100 asientos. Del 1 al 50 es la seccin de no fumar, y del 51 al 100 es la seccin de fumar. Se asignar el primer asiento que se encuentre desocupado en la seccin deseada del vuelo correspondiente.

39

Diseo de Algoritmos

Ing. Bruno Lpez Takeyas

BIBLIOGRAFA

Academia de ISC del ITNL. Introduccin a la Ingeniera en Sistemas Computacionales. Apuntes. 2004. Garza Carranza Sergio. Ejercicios. Apuntes. 2004. Joyanes Aguilar, Luis. Fundamentos de Programacin. Algoritmos y Estructura de Datos. Segunda edicin. Editorial McGraw-Hill. 1999. Instituto Tecnolgico de La Paz. Tutorial de Diseo Estructurado de Algoritmos. http://www.itlp.edu.mx/publica/tutoriales/algoritmos/index.htm. 2004.

40