22
1 PROGRAMACIÓN I * * * * GUÍA DE TRABAJOS PRÁCTICOS SECUENCIAS SIMPLES Ejercicio 1 Ingresar por el teclado dos valores A y B (B<>0), efectuar las 4 operaciones básicas y mostrar los resultados por la pantalla. Ejercicio 2 Realizar un algoritmo que permita ingresar el día de la semana, la fecha (día, mes y año en forma explícita), la temperatura máxima y la temperatura mínima del día. Calcular la temperatura promedio y mostrar la información con el formato del siguiente ejemplo: Viernes, 20 de abril de 2008. TEMPERATURAS MAXIMA MINIMA PROMEDIO 99,9 99.9 99.9 Ejercicio 3 Realizar un algoritmo que permita ingresar el día de la semana, la fecha (AAAAMMDD, año, mes y día en forma implícita), la temperatura máxima del día y la temperatura mínima. Calcular la temperatura promedio y mostrarla con mismo formato de fecha del Ejercicio anterior. Ejercicio 4 Realizar un algoritmo para calcular el monto a cobrar para una imposición a plazo fijo. Ingresar por teclado: el capital, el tiempo ( expresado en días) y la tasa de interés diario. Luego, mostrar por pantalla el mensaje: Dentro de 999 días, usted cobrará 999999.99 pesos. Ejercicio 5 Realizar un algoritmo que efectúe una liquidación de sueldos basado en los siguientes datos: nombre del empleado, cantidad de días trabajados (8 horas diarias), cantidad de horas extras (tienen un valor del 50% mas, con respecto a la hora normal), y valor de la hora normal. Imprimir: el nombre del empleado y el total neto a cobrar, considerando que el total de descuentos es de 12%

Expresión de Problemas y Algoritmos - Guía de ejercicios

Embed Size (px)

Citation preview

Page 1: Expresión de Problemas y Algoritmos - Guía de ejercicios

1

PROGRAMACIÓN I ∗∗∗∗ GUÍA DE TRABAJOS PRÁCTICOS

SECUENCIAS SIMPLES Ejercicio 1 Ingresar por el teclado dos valores A y B (B<>0), efectuar las 4 operaciones básicas y mostrar los resultados por la pantalla. Ejercicio 2 Realizar un algoritmo que permita ingresar el día de la semana , la fecha (día, mes y año en forma explícita), la temperatura máxima y la temperatura mínima del día. Calcular la temperatura promedio y mostrar la información con el formato del siguiente ejemplo: Viernes, 20 de abril de 2008. TEMPERATURAS MAXIMA MINIMA PROMEDIO 99,9 99.9 99.9 Ejercicio 3 Realizar un algoritmo que permita ingresar el día de la semana , la fecha (AAAAMMDD, año, mes y día en forma implícita), la temperatura máxima del día y la temperatura mínima . Calcular la temperatura promedio y mostrarla con mismo formato de fecha del Ejercicio anterior. Ejercicio 4 Realizar un algoritmo para calcular el monto a cobrar para una imposición a plazo fijo. Ingresar por teclado: el capital, el tiempo ( expresado en días) y la tasa de interés diario . Luego, mostrar por pantalla el mensaje:

Dentro de 999 días, usted cobrará 999999.99 pesos.

Ejercicio 5 Realizar un algoritmo que efectúe una liquidación de sueldos basado en los siguientes datos: nombre del empleado , cantidad de días trabajados (8 horas diarias), cantidad de horas extras (tienen un valor del 50% mas, con respecto a la hora normal), y valor de la hora normal . Imprimir: el nombre del empleado y el total neto a cobrar , considerando que el total de descuentos es de 12%

Page 2: Expresión de Problemas y Algoritmos - Guía de ejercicios

2

SECUENCIAS SIMPLES CON ESTRUCTURAS DE DECISIÓN Ejercicio 6 Ingresar un solo par de valores A y B y efectuar las 4 operaciones básicas. Considerar que si se intenta dividir por cero, en lugar del resultado, se debe imprimir el mensaje "No es posible la división" . Ejercicio 7 Realizar un algoritmo que permita ingresar la cantidad de productos comprados y el precio unitario de éstos. Se desea conocer el monto a abonar teniendo en cuenta que si la compra es superior a $150 se realiza un descuento del 12% Ejercicio 8 De un curso se conoce la cantidad de varones y mujeres que la componen. Ingresar éstos valores y realizar un algoritmo que informe si el curso es normal (hasta 40 alumnos) o numeroso (mas de 40 alumnos) y además, el porcentaje de varones y mujeres que lo componen. Ejercicio 9 Desarrollar un algoritmo que permita ingresar 3 calificaciones de un alumno e informe si esta aprobado o no, según sea el promedio mayor o igual a 4, o inferior). Ejercicio 10 En una estación de servicio se conoce la cantidad de nafta común y super vendida en el corriente mes, como así también, el total de ambas naftas del mes anterior. Ingresar todos estos datos e informar si hubo o no incremento en la venta y el porcentaje vendido de cada nafta en el mes actual. Ejercicio 11 Se tiene una barra rígida con sus puntos extremos p y q. Ingresar los pesos colocados sobre cada punto y la longitud desde el punto de apoyo a éstos. Informar el momento en cada punto y en caso de que sean iguales, indicar si el sistema se encuentra en equilibrio, en caso contrario, indicar el momento mayor.

Page 3: Expresión de Problemas y Algoritmos - Guía de ejercicios

3

SECUENCIAS CON ESTRUCTURAS REPETITIVAS

ESTRUCTURAS REPETITIVAS EXACTAS

Ejercicio 12

Ingresar 7 números e informar cuantos son menores que 3.

Ejercicio 13

Dada una serie de 16 números, informar cuantos son pares.

Ejercicio 14

Dada una serie de 23 números, sumar los positivos y contar los negativos.

Ejercicio 15

Calcular el factorial de un número natural cualquiera.

Ejercicio 16

Imprimir los números naturales del 1 al 52.

Ejercicio 17

Imprimir los números naturales del 53 al 602.

Ejercicio 18

Imprimir los cuadrados de los 20 primeros números naturales.

Ejercicio 19

Imprimir los 30 primeros números impares.

Ejercicio 20

Ingresar 25 números e informar: la suma de los mismos, el promedio de los valores ingresados y el menor de todos estos números y en que ubicación se ingresó.

Ejercicio 21

En una oficina trabajan 25 empleados, de los cuales se ingresan el nombre y el sueldo. Incrementar en un 14% los sueldos menores a $ 350 e informar:

a) Nombre y nuevo sueldo de cada empleado b) Cantidad de empleados con sueldo inferior a $ 1500 c) Importe total de sueldos a abonar.

Page 4: Expresión de Problemas y Algoritmos - Guía de ejercicios

4

Ejercicio 22 Ingresar las medidas de los 3 lados de un triángulo e informar de que tipo de triángulo se trata.

a) Para 112 ternas de valores. b) Para un número N de ternas de valores, leyendo N previamente.

Ejercicio 23 Ingresar tres valores distintos A, B y C e imprimirlos de mayor a menor.

a) Para 55 ternas de valores. b) Para un número N de ternas de valores, leyendo N previamente.

Ejercicio 24 Ingresar cuatro valores distintos A, B, C Y D e imprimirlos de menor a mayor.

a) Para 112 cuartetos de valores. b) Para un número N de cuartetos de valores , leyendo N previamente,.

Ejercicio 25 Realizar un algoritmo para calcular el precio final por producto, de un conjunto de productos, ingresando por el teclado el código de producto, el valor unitario, la cantid ad y el porcentaje de descuento a aplicar, considerando que el porcentaje de IVA es 21% y mostrar el código de producto y el precio final del mismo por impresora.

a) Para un solo producto. b) Para 275 productos. c) Para un número N de productos, leyendo N previamente.

Ejercicio 26 Realizar un algoritmo como el del Ejercicio 2 y mostrar la fecha con mismo formato de ese Ejercicio para:

a) Para 120 conjuntos de datos. b) Un número N de conjuntos de datos, leyendo N previamente.

Ejercicio 27 Ingresar un número finito de pares de valores A y B y por cada par, efectuar las 4 operaciones básicas. Considerar para cada par de valores si se intenta dividir por cero y en caso afirmativo, mostrar por pantalla el mensaje "No es posible la división por cero",.

a) Para 150 pares de valores. b) Para un número N de pares de valores, leyendo N previamente.

Ejercicio 28

Ingresar los valores de la pendiente y la ordenada al origen de una recta. Obtener e Imprimir los valores de y para los valores de x comprendidos en el rango 0 .. 15. Y = a X + b

Page 5: Expresión de Problemas y Algoritmos - Guía de ejercicios

5

Ejercicio 29

De una cantidad de alumnos se tiene el número de DNI y 3 notas de cada uno, hallar el promedio de éstas e informar, para cada alumno, el número de DNI, el promedio obtenido y el comentario que corresponda según el resultado del promedio obtenido:

Comentario Promedio Obtenido

Desaprobado: 1, 2 ó 3 Aprobado: 4 ó 5 Bueno: 6 ó 7 Distinguido: 8 ó 9 Sobresaliente: 10

Realizar este proceso: a) Para 150 alumnos. b) Para un número N de alumnos, leyendo N previamente.

ESTRUCTURAS REPETITIVAS INDEFINIDAS (Pre y Postcond icionales) Ejercicio 30

Ingresar números de 1 a 12 e imprimir la tabla de multiplicar (desde 1 hasta 12) de cada número ingresado. Finalizar cuando el número ingresado sea 0.

Ejercicio 31

Ingresar una serie indeterminada de números. Cuando se ingrese cero (0), se detendrá el ingreso de números y se deberá informar el promedio de todos los números ingresados y cual fue el mayor valor de la serie.

Ejercicio 32

Ingresar conjuntos de coordenadas x, y de puntos del plano, e informar a que cuadrante corresponden. Considerar la posibilidad de que alguno se encuentre sobre los ejes. Finalizar si ambos puntos se encuentran en el origen e informar cuantos puntos se ingresaron de cada cuadrante

Ejercicio 33

Realizar un algoritmo que permita ingresar el stock y el precio unitario de un determinado producto. A continuación, por cada venta, se ingresará: Nombre del Cliente y Cantidad Vendida. El final del ingreso de datos se considerará cuando el Nombre del Cliente sea igual a “ULTIMO”. Se solicita informar:

a) El nombre del cliente y el importe de venta . Si la cantidad vendida es mayor a 100 unidades, aplicar 10% de descuento, si es menor o igual a 100, el importe es neto.

b) Si la venta no fue efectuada por falta de stock suficiente, sacar un mensaje. c) Al final del día informar el stock sobrante. d) Además, informar el Cliente que compró mayor cantidad de unidades.

Obtener la fecha del día con el procedimiento GetDate (aaaa, mm, dd, ds) y mostrarla con formato “dd/mm/aaaa” al comienzo del proceso.

Page 6: Expresión de Problemas y Algoritmos - Guía de ejercicios

6

Ejercicio 34 Ingresar las medidas de los 3 lados de un triángulo e informar de que tipo de triángulo se trata (equilátero, isósceles o escaleno , considerando las siguientes posibilidades de finalización del proceso. a) Para un número N de ternas de valores, leyendo N previamente o en la última terna, por lo

menos uno de los lados igual a cero. b) Para un número N de valores, leyendo N previamente o si en la terna, todos los lados sean

iguales a cero. Si algún lado es igual a cero, informar cual y continuar el proceso. c) Para un número N de valores, leyendo N previamente o si en la terna, todos los valores

sean iguales a cero (si algún lado es igual a cero, informar cual y continuar el proceso) o que el primero y el segundo valor leído sean los catetos de un triángulo rectángulo.

Ejercicio 35 Ingresar tres valores distintos A, B y C e imprimirlos ordenados de mayor a menor (orden descendente). Similar al Ejercicio 23.

a) Para un número N de ternas valores, leyendo N previamente o la última terna, por lo menos uno de los valores, igual a cero.

b) Para un número N de ternas de valores, leyendo N previamente o la última terna, todos los valores iguales a cero.

c) Para un número N de valores, leyendo N previamente o la última terna, todos los valores iguales a cero o la sumatoria de valores negativa.

Ejercicio 36 Ingresar cuatro valores distintos A, B, C Y D e imprimirlos ordenados de menor a mayor (orden ascendente). Similar al Ejercicio 24

a) Para un número N de cuartetos de valores, leyendo N previamente o el último cuarteto, por lo menos uno de los valores igual a cero.

b) Para un número N de cuartetos de valores, leyendo N previamente o el último cuarteto, todos los valores iguales a cero.

c) Para un número N de cuartetos de valores, leyendo N previamente o el último cuarteto, todos los valores iguales a cero o la sumatoria de valores negativa.

Ejercicio 37 Realizar un algoritmo para calcular el precio final de un conjunto de productos, ingresando por el teclado el código de producto, el valor unitario, la cantidad, el porcentaje de IVA y el porcentaje de descuento a aplicar y mostrarlos por impresora.

a) Para un número indefinido de productos. Para finalizar, ingresar código de producto igual a cero.

b) Para un número indefinido de productos. Para finalizar, ingresar código de producto igual a cero

c) Para un número indefinido de productos. Para finalizar, ingresar código de producto igual a cero o el porcentaje de descuento mayor al 50% o el valor unitario mayor que $ 1875.-

Page 7: Expresión de Problemas y Algoritmos - Guía de ejercicios

7

CORTE DE CONTROL SIMPLE Ejercicio 38 Se cuenta con un conjunto de números positivos, ordenados en forma creciente. Cada número se repite una cantidad de veces indefinida y el último número del conjunto es 0 (cero). Se solicita realizar un algoritmo que, ingresando por teclado dichos números, informe: a) La cantidad de veces que se repite cada uno . b) Informe el número que mas veces se repitió . Ejercicio 39 Se cuenta con un conjunto de temperaturas tomadas en distintos días de un mismo mes, ordenadas cronológicamente. En cada día se tomaron diferentes cantidades de temperaturas. Se solicita realizar un algoritmo que, leyendo el día y la temperatura , muestre, para cada día, la temperatura máxima , la temperatura mínima y la temperatura promedio registradas. Considerar las siguientes alternativas: a) Finalizando la lectura del conjunto con el último día igual a 99. b) Finalizando la lectura del conjunto con el último día igual a 99 o la temperatura igual a 99º.

Ejercicio 40 Se tiene la información de las ventas del mes efectuadas a los clientes diariamente, ordenado por el código de cliente, contando en el lote de datos la siguiente información: el código de cliente, el día y el importe vendido . El último dato del lote tiene cliente igual a cero. Se solicita un algoritmo para informar: a) El listado de las ventas a cada cliente , indicando además, el total vendido al cliente. b) Informar el cliente que más compras realizó. c) De cada cliente, informar el promedio de las compras que realizó. d) Informar el cliente que menor importe total compró. Ejercicio 41 Realizar un algoritmo para calcular el precio final de un conjunto de productos, ingresando por el teclado el código de producto, el valor unitario, la cantidad, el porcentaje de IVA y el porcentaje de descuento a aplicar y mostrarlos por impresora, considerando que el conjunto está ordenado en forma ascendente por código de producto, por lo que las ventas de un mismo código de producto se encuentran todas agrupadas, el proceso finalizará si se detecta que el código de producto es igual a 0 (cero). En este caso informar: a) Cantidad de ventas de cada producto. b) Cantidad de unidades vendidas por cada código de producto. c) Importe total obtenido por las ventas de cada producto. d) Promedio en cantidad e importe de las ventas de cada producto. e) Código de producto que mayor cantidad de unidades se vendieron. Ejercicio 42

Una empresa necesita desarrollar para su depósito, un algoritmo que permita ingresar, de cada código de producto (último producto igual a 0), su código, el stock inicial del mes y la cantidad de movimientos que se ingresarán a continuación; luego, por cada movimiento, el tipo de movimiento (entrada = ‘E’ , salida = ‘S’ ) y la cantidad que entró o salió. Se solicita informar, además del código de producto una sola vez y el stock inicial: a) La cantidad de movimientos de entrada y de salida. b) El Total de unidades de entrada y de salida. c) Y finalmente, el nuevo stock al finalizar el mes.

Page 8: Expresión de Problemas y Algoritmos - Guía de ejercicios

8

Ejercicio 43

Una compañía aérea realiza viajes a Europa. Ingresar los vuelos diarios ordenados por destino, indicando el Número de Vuelo, Cantidad de Pasajeros por Vuelo y el Código de Destino (es una letra distinta para cada país)., Finaliza ingresando Código de Destino en blanco. Informar:

a) Si cada avión viaja completo o con lugares libres, considerando que la capacidad de todos los aviones es de 150 pasajeros.

b) El porcentaje de vuelos completos del día. c) La cantidad de pasajeros que viajaron a cada país.

CORTE DE CONTROL DOBLE Ejercicio 44

Desarrollar un algoritmo con los datos del Ejercicio 40, pero considerar que cada cliente tiene mas de una venta diaria y que la información de cada cliente esta ordenada, además de por cliente, también por día. Informar las ventas de cada cliente dando el total por día y por cliente. Al finalizar, informar el Total del Mes.

Ejercicio 45

Obtener y mostrar la información solicitada para el Ejercicio 39, caso a) y obtener la misma información correspondiente a la primera y segunda quincena (considerar meses de 30 días) y mostrarla por pantalla. EJERCICIOS PARA REPASO PARA EL PRIMER PARCIAL Ejercicio 46 Dado un conjunto de valores enteros, calcular e imprimir:

a) Cuantos valores cero hubo. b) Promedio de los valores positivos c) Sumatoria de valores negativos

Resolver el problema para los siguientes lotes de datos:

a) Para 167 valores enteros. b) Para N valores, donde el valor de N debe ser leído previamente. c) El conjunto de valores termina con un valor igual al anterior. d) Se dan N valores, pero el proceso debe finalizar si se procesan todos los valores o la

cantidad de ceros supera a cuatro. e) El proceso deberá finalizar si se cumple alguna de las condiciones de d) o si el

promedio de valores positivos resulta mayor que 6. Ejercicio 47 Dado un conjunto de ternas de fechas F1, F2 y F3, con formato DDMMAAAA, ordenarlas de menor a mayor y mostrarlas con formato DD/MM/AAAA. En la última terna, alguna de las fechas esta formada por todos ceros. Utilizar procedimientos y definirlos para las conversiones necesarias. Ejercicio 48 Dados dos valores N y M, determinar e imprimir cuantos múltiplos de M hay dentro del conjunto 1 a N.

Page 9: Expresión de Problemas y Algoritmos - Guía de ejercicios

9

Ejercicio 49 Dados dos valores enteros A y B determinar e imprimir el producto de ambos obtenido por sumas sucesivas. Ejercicio 50 Dado un valor M, determinar e imprimir los M primeros múltiplos de 3 que no lo sean de 5, dentro del conjunto de números naturales. Ejercicio 51 Dado un conjunto de valores cada uno de los cuales representa el sueldo de un empleado, excepto el último que es cero e indica fin del conjunto. Desarrollar el programa que determine e imprima: a) Cuantos empleados ganan menos de $520 b) Cuantos ganan $520 o más pero menos de $780 c) Cuantos ganan $780 o más pero menos de $999 d) Cuantos ganan $999 o más Ejercicio 52 Dadas 2 circunferencias (X1, Y1, R1) y (X2, Y2, R2) y un conjunto indefinido de puntos (XP, YP) del plano, terminando con uno que coincide con el origen, se debe desarrollar un programa que determine e imprima: a) Cantidad de puntos dentro de la circunferencia 1 y fuera de la 2. b) Cantidad de puntos dentro de la circunferencia 2 y fuera de la 1. c) Cantidad de puntos dentro de la intersección de ambas. d) Cantidad de puntos fuera de ambas circunferencias. Nota: Un punto está dentro de una circunferencia incluso cuando se encuentra sobre la misma. Ejercicio 53 Dado un conjunto de boletos (c/u definido por 5 valores de un dígito) que finaliza con un boleto de 5 ceros, desarrollar un algoritmo que determine si es un “número capicúa” in ese caso imprima cuantos boletos hubo de los siguientes tipos: a) quíntuple (AAAAA) b) cuádruple (AABAA) c) triple (ABABA - ABBBA) d) doble (ABCBA) Ejercicio 54 Dado un conjunto de valores positivos terminado con un valor negativo, desarrollar el programa que imprima el valor máximo del conjunto y su posición relativa dentro del mismo. Ejercicio 55 Dado un conjunto de valores reales finalizado con un valor nulo, desarrollar el programa que determine e imprima (si hubo valores): a) Valor máximo negativo b) Valor mínimo positivo c) Valor mínimo dentro del rango [-17.3 .. 26.9]

Page 10: Expresión de Problemas y Algoritmos - Guía de ejercicios

10

Ejercicio 56 En un torneo de fútbol participan K equipos. El torneo se juega con el sistema de todos contra todos. Por cada partido disputado por un equipo se dispone de la siguiente información: a) Nro. de equipo b) Código del resultado ('P'= Perdido, 'E'= Empatado, 'G'= Ganado) Se arma un lote de datos con todos los resultados del torneo, agrupados por Nro. de equipo. Desarrollar el programa que imprima: 1) Por cada equipo, su número y el puntaje total que obtuvo (suma 3 si gana y 1 si empata). 2) Nro. de equipo que totalizó la menor cantidad de puntos y cuantos son, si hay más de uno en la misma condición. Ejercicio 57 Se dispone de un conjunto de 8640 temperaturas horarias, que se tomaron durante los 12 meses del año, considerando que todos los meses tienen 30 días y cada día 24 horas. Se debe desarrollar el programa que determine e imprima cual fue‚ la mayor temperatura y en que mes, día y hora ocurrió. Ejercicio 58 Se dispone de un lote de valores enteros positivos que finaliza con un valor -1. El lote está dividido en sublotes por medio de valores cero. Desarrollar el programa que determine e imprima: a) por cada sublote el promedio de valores. b) el total de sublotes procesados. c) Valor máximo del conjunto, indicando el sublote en que se encontró y la posición relativa del mismo en el sublote. Nota: puede estar el lote vacío (primer valor -1), o puede haber uno o varios o todos los sublotes vacíos (ceros consecutivos). Ejercicio 59 Por cada alumno de la facultad se dispone de la siguiente información: a) Número de legajo b) Nota promedio de finales rendidos Con estos datos se forma un lote terminado con número de legajo cero. Desarrollar el programa que determine e imprima los números de legajo de los dos mejores alumnos según su promedio. Ejercicio 60 Del censo realizado en una población se conocen los siguientes datos: a) Día de nacimiento (2 dígitos) b) Mes de nacimiento (2 dígitos) c) Año de nacimiento (4 dígitos) d) Sexo (‘M’: masculino / ‘F’: femenino) Con estos datos de cada habitante se forma un lote finalizado con un día cero. Desarrollar el programa que determine e imprima: 1) Cuantos nacimientos hubo en el mes de octubre de todos los años. 2) Cuantos nacimientos hubo antes del 9 de julio de 1970. 3) Cuantos nacimientos de mujeres hubo en la primavera de 1942. 4) Sexo de la persona más anciana (solo existe una).

Page 11: Expresión de Problemas y Algoritmos - Guía de ejercicios

11

VECTORES Y MATRICES Ejercicio 61 Ingresar un valor N (< =25). Generar un arreglo de N componentes en el cual las mismas contengan los primeros números naturales pares e imprimirlo. Ejercicio 62 Ingresar un valor entero N (< = 30) y a continuación un conjunto de N elementos. Si el último elemento del conjunto tiene un valor menor que 10 imprimir los negativos y en caso contrario los demás. Ejercicio 63 Ingresar un valor entero N (< =20). A continuación, ingresar un conjunto VEC de N compo-nentes. A partir de este conjunto generar otro FACT en el que cada elemento sea el factorial del elemento homólogo de VEC. Finalmente imprimir ambos vectores a razón de un valor de cada uno por renglón. El programa principal puede tener un máximo de 6 instrucciones. Ejercicio 64 Ingresar un valor entero N (< =25). A continuación, ingresar un conjunto VEC de N componentes. Si la suma de las componentes resulta mayor que cero imprimir las de índice par, sino las de índice impar. Ejercicio 65 Ingresar un valor entero N (< =30). A continuación, ingresar un conjunto UNO y luego otro conjunto DOS, ambos de N componentes. Generar e imprimir otro conjunto TRES intercalando los valores de posición impar de DOS y los valores de posición par de UNO. Diseñar un procedimiento que rellene un arreglo en posiciones salteadas con las componentes de otro y usarlo para cada conjunto. Ejercicio 66 Ingresar un valor entero N (< =40). A continuación, ingresar un conjunto VALOR de N elementos. Determinar e imprimir el valor máximo y la posición del mismo dentro del conjunto. Si el máximo no es único, imprimir todas las posiciones en que se encuentra. Defina dos estrategias para: a) Recorrer VALOR dos veces b) Recorrer VALOR una sola vez Ejercicio 67 Ingresar un valor entero N (< =155). A continuación, ingresar un conjunto DATO de N elementos. Generar otro conjunto de dos componentes MAYORDATO donde el primer elemento sea el mayor valor de DATO y el segundo el siguiente mayor (puede ser el mismo si está repetido). Imprimir el conjunto MAYORDATO con identificación.

Page 12: Expresión de Problemas y Algoritmos - Guía de ejercicios

12

Ejercicio 68 Ingresar un valor entero N (< =25). A continuación, ingresar un conjunto GG de N elementos. Imprimir el arreglo en orden inverso generando tres estrategias para imprimir los elementos a razón de: a) Uno por línea b) Diez por línea c) Cinco por línea con identificación Ejercicio 69 Ingresar un valor entero N (< =40). A continuación, ingresar un conjunto A y luego otro conjunto B, ambos de N elementos. Generar un arreglo C e imprimirlo, donde cada elemento se forme de la siguiente forma: C[1] -> A[1]+B[N] C[2] -> A[2]+B[N-1] ....... ................. C[N] -> A[N]+B[1] Ejercicio 70 Ingresar dos valores enteros M (< =10) y N (< =15). A continuación, ingresar un conjunto A de M elementos y luego otro B de N elementos. Generar e imprimir: a) Un conjunto C resultante de la anexión de los conjuntos A y B. b) Un conjunto D resultante de la anexión de los elementos distintos de cero de A y B. c) Un conjunto E resultante de la unión de los conjuntos A y B (sin repetición). Ejercicio 71 Ingresar dos valores enteros M (< =25) y N (< =10) A continuación ingresar un conjunto A de M elementos y luego otro B de N elementos, ambos ordenados en forma creciente por magnitud. Generar e imprimir el conjunto TOTAL resultante del apareo por magnitud de los dos conjuntos. Ejercicio 72 Ingresar un valor entero N (< =40). Luego ingresar un conjunto REFER de N elementos reales (ingresan ordenados por magnitud creciente). Finalmente ingresar un valor pesquisa X. Desarrollar el programa que determine e imprima: a) Con cual elemento (posición) del conjunto coincide, o b) Entre cuales dos elementos (posiciones) se encuentra, o c) Si es menor que el primero o mayor que el último. Ejercicio 73 Ingresar un valor entero N (< = 50) y a continuación un conjunto de valores llamado SINOR de N elementos. Desarrollar un programa que determine e imprima: a) El conjunto SINOR en el que cada elemento original se intercambie por su simétrico:

SINOR[1] con SINOR[N], SINOR[2] con SINOR[N-1], ..... etc. b) El conjunto SINOR, ordenado de menor a mayor sobre si mismo. c) Idem b) pero mostrando además la posición que ocupaba cada elemento en el conjunto

original.

Page 13: Expresión de Problemas y Algoritmos - Guía de ejercicios

13

ARCHIVOS O TABLAS Ejercicio 74 Una empresa de aviación realiza, a lo sumo, 500 vuelos semanales a distintos puntos del país y requiere un programa para el otorgamiento de pasajes. Para ello dispone de un archivo de registros, en el que cada registro contiene información de los vuelos que realiza y la cantidad de pasajes disponibles en cada uno de ellos según se indica:

a) Código de Vuelo (6 dígitos) b) Cantidad de pasajes disponibles (3 dígitos)

Se dispone además de otro conjunto con los datos de los potenciales compradores, que finaliza con Código de Vuelo igual a cero, en el que cada registro tiene:

a) Código de Vuelo Solicitado b) Cantidad de Pasajes Solicitados (3 dígitos). c) DNI del Solicitante (8 dígitos). d) Apellido y Nombres Del Solicitante (30 caracteres)

Desarrollar estrategia y algoritmo del programa que determine e imprima: 1) Para los solicitantes a los cuales se les venden pasajes, DNI APELLIDO Y NOMBRES CANT. PJES. COD. VUELO 99999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 999 999999 2) Al final del proceso el siguiente listado: CÓDIGO DE VUELO PASAJES SOBRANTES PAS AJES NO VENDIDOS

999999 999 999 Nota: Se le venden pasajes al solicitante, si la cantidad de pasajes que pide están disponibles, en caso contrario, se computan como Pasajes No Vendidos . MATRICES Ejercicio 75 Ingresar dos valores, M (< =30) y N (< =25) y a continuación por filas todos los componentes de una matriz MATRIZA de M filas y N columnas. Desarrollar un programa que: a) Imprima la matriz MATRIZA por columnas. b) Calcule e imprima el valor promedio de los componentes de la matriz. c) Genere e imprima un vector VECSUMCOL donde cada componente sea la suma de la columna homóloga. d) Genere e imprima un vector VECMAXFIL donde cada componente sea el valor máximo de cada fila. Ejercicio 76 Ingresar un valor N (< =25) y luego por filas una matriz cuadrada CUADRA de N filas y columnas. Desarrollar un programa que determine e imprima: a) Todos los elementos de la diagonal principal o secundaria según de cual resulte mayor la sumatoria de elementos. b) Los elementos del cuarto (N/2 filas y N/2 columnas) cuya sumatoria resulte mayor (considerando que N fuera par). c) Los elementos de la triangular superior o inferior dependiendo de cual tenga mayor sumatoria de elementos.

Page 14: Expresión de Problemas y Algoritmos - Guía de ejercicios

14

Ejercicio 77 Se da un conjunto de 744 temperaturas que se tomaron en una localidad diariamente hora por hora durante los 31 días de un mes (el conjunto esta ordenado por día y hora). Desarrollar un programa que determine e imprima: a) Armar la matriz TEMPEDIA en que cada fila corresponda a un día y cada columna a una hora e imprimirla por horas. b) En que día y hora se produjo la temperatura máxima del mes. c) En que día se produjo la menor temperatura media. d) A que hora se produjo la mayor temperatura media. Ejercicio 78 Ingresar dos valores, M (< =20) y N (< =25) y a continuación por columnas todos los componentes de una matriz DESORDE de M filas y N columnas. Desarrollar un programa que: a) Ordene (creciente) cada columna de la matriz sobre si misma y la imprima a razón de una columna por renglón. b) Ordene (creciente) la matriz sobre si misma por fila desde el elemento 1,1 al M,N y la imprima a razón de una fila por renglón. Ejercicio 79 Ingresar por plano, fila y columna todos los elementos de una matriz MAT, de M planos, filas y columnas. Desarrollar un programa que: a) Imprima la matriz MAT por columna, fila, plano. b) Calcule e imprima el valor promedio de la matriz. c) Determine e imprima el mayor valor y en que lugar del la matriz se encuentra. d) Genere e imprima una matriz MATSUMCOL donde cada elemento sea la suma de la columna homóloga. e) Genere e imprima una matriz MATMAXFIL donde cada elemento sea el valor máximo de cada fila. Ejercicio 80 Se desarrolla una carrera automovilística de regularidad constituida por 50 trayectos, numerados de 1 a 50. Por cada trayecto se generó un registro con el número de trayecto y el tiempo asignado en segundos y se encuentran (sin ningún orden) en la Tabla ASIGNADO: a) Nro. del trayecto (1 .. 50) b) Tiempo asignado al trayecto en segundos (4 dígitos) Para llevar el control de posición y de abandonos de los corredores, se dispone de una Tabla TIEMPO, el último registro tiene como Nro. De Trayecto igual a 51 y solo indica el fin de la tabla. Cada registro contiene la siguiente información: a) Nro. del corredor (3 dígitos) b) Nro. del trayecto c) Tiempo en segundos (4 dígitos) Los registros de esta tabla están ordenados por trayecto pero no por corredor. A partir del abandono de un corredor en un trayecto no habrá más registros para el en el archivo. Desarrollar estrategia y algoritmo del programa que determine e imprima: 1. Por cada etapa, su número y el del corredor ganador de la misma. 2. Por cada etapa, su número y los de los corredores que abandonan en la misma. 3. Al finalizar, informar el Nro. De Coche ganador de la carrera.

Page 15: Expresión de Problemas y Algoritmos - Guía de ejercicios

15

ARCHIVOS CON REGISTROS Ejercicio 81 Una empresa que distribuye mercadería hacia distintas localidades del interior dispone de dos archivos de registros: Uno denominado DESTINOS con información de la distancia a cada uno de los destinos: a) Nro. de destino (3 dígitos) b) Distancia en kilómetros (NNN.NNN) Otro, denominado VIAJES, con los viajes realizados por cada camión (< 200), donde el fin de la tabla se detectará ingresando Patente del Camión en blanco. Cada registro contiene: a) Patente del camión (6 caracteres) b) Nro. de destino c) Nro. de chofer (1 a 150) Desarrollar estrategia y algoritmo del programa que determine e imprima: 1) Cantidad de viajes realizados a cada destino (solo si > 0). 2) Nro. de chofer con menor cantidad de Km (entre los que viajaron). 3) Patente de los camiones que viajaron al destino 116 sin repeticiones de las mismas. Ejercicio 82 Se dispone de un conjunto de boletas de inscripción de alumnos a examen en el mes de mayo. Cada boleta tiene los siguientes datos: a) Nro. de legajo (7 dígitos) b) Código de materia (6 díg-) c) Día del examen (2 dígitos) d) Mes del examen (2 díg.) e) Año del examen (4 díg.) f) Nombre y Apellido (25 caract.) Desarrollar un programa que, a partir de las boletas mencionadas, genere un archivo MATINS con las inscripciones de alumnos a exámenes finales. Al final del proceso imprimir el contenido del archivo MATINS para control. Ejercicio 83 Dado el archivo generado en el Ejercicio 82, desarrollar un programa que, solicitando un Código De Materia, permita seleccionar todos los registros de los alumnos que se anotaron para rendirla y los grabe en otro archivo CODMAT. Ejercicio 84 Dados el archivo MATDIA del ejercicio 82 que tiene todas las inscripciones del día, y otro MATINS, con idéntica estructura (registro), que tiene todas las inscripciones anteriores. Desarrollar un programa que agregue al archivo anterior el contenido del archivo MATDIA. Ejercicio 85 Modificar el programa del ejercicio 82, para que permita agregar mas inscripciones de alumnos a los exámenes de Mayo. Para control sólo imprimir los registros agregados. Ejercicio 86 Dado el archivo MATINS del ejercicio 82, ordenado por fecha y para igual fecha por Código De Materia y para igual materia por Número De Legajo, desarrollar el programa que imprima el listado de alumnos inscriptos en cada Código de Materia, según el modelo siguiente:

Page 16: Expresión de Problemas y Algoritmos - Guía de ejercicios

16

MATERIA: 99999 FECHA: DD/MM/AAAA

ORDEN LEGAJO APELLIDO Y NOMBRES NOTA 1 999999-9 XXXXXXXXXXXXXXXXXXXXXXXXX 99 2 999999-9 XXXXXXXXXXXXXXXXXXXXXXXXX 99 ... ... ... ... Ejercicio 87 Idem al ejercicio anterior, pero controlar que la impresión no supere los 50 alumnos por hoja para las materias con inscripciones masivas. Ejercicio 88 Dado el archivo MATINS.DAT del ejercicio 82 ordenado por Código de Materia, resumen de inscripciones de días anteriores y otro archivo de las mismas características y con el mismo orden MATDIA.DAT, con las inscripciones del día de la fecha, desarrollar el programa que aparee los mismos y obtenga el archivo MATACT.DAT resultante, con el mismo orden de los anteriores. Ejercicio 89 Dado el archivo MATINS.DAT del ejercicio 81, ordenado por código de materia y fecha, resumen de inscripciones de días anteriores y otro archivo de las mismas características y con el mismo orden MATFALTA.DAT con las inscripciones faltantes al anterior, desarrollar el programa que aparee (por materia y fecha) los mismos y obtenga el archivo MATACT.DAT resultante con el mismo orden de los anteriores. Ejercicio 90 Dado el archivo ALUMNOS.DAT con los datos personales de alumnos, ordenado por legajo, donde cada registro contiene: a) Nro. de legajo (7 dígitos) b) Apellido y Nombres (30 caract.) c) Domicilio (30 caracteres) d) Código postal (4 dígitos) e) Teléfono (10 caracteres) f) Año de ingreso (4 dígit.) y otro, con el mismo orden, llamado NOVEDAD.DAT , con las actualizaciones (altas, bajas y modificaciones) a ser aplicadas, donde cada registro contiene, además de todos los campos de ALUMNOS.DAT, un código de operación ( 'A' = Alta, 'B' = Baja, 'M' = Modificación ). Desarrollar el programa que actualice el archivo ALUMNOS.DAT con los registros de NOVEDAD.DAT y obtenga el archivo actualizado ALUMACTU.DAT . Ejercicio 91 Dado el archivo del ejercicio 82, desarrollar un programa que genere un archivo ordenado por Número de Legajo (cada registro debe tener los campos Legajo y Apellido y Nombres) para todos los alumnos que se inscribieron (una o más veces). Cada legajo debe ocupar una posición única y predecible en el archivo. El rango de legajos es del 80001 a 110000. Ejercicio 92 Se dispone de un archivo ordenado por el campo apellido y nombres, donde cada registro contiene: a) Nro. de legajo (1 a 30000, están todos) b) Apellido y nombres (30 caracteres) c) Total de materias aprobadas (< =99) d) Promedio de notas (real)

Page 17: Expresión de Problemas y Algoritmos - Guía de ejercicios

17

Desarrollar el programa que genere otro archivo con el mismo tipo y cantidad de registros pero ordenado por legajo. Nota : se disponen de 64 Kb de memoria. Ejercicio 93 Dado el archivo ALUMNOS.DAT con los datos personales de alumnos ordenado por legajo, donde cada registro contiene: a) Nro. de legajo (6 dígitos) b) Apellido y nombres (30 caracteres) c) Domicilio (30 caracteres) d) Código postal (4 dígitos) e) Teléfono (10 caracteres) f) Año de ingreso (4 dígitos) g) Código de estado ('A'= activo, I '= inactivo) y otro sin ningún orden NOVEDAD.DAT , con los movimientos a ser aplicados, donde cada registro contiene los campos a), b), c), d), e), f) de ALUMNOS.DAT mas un Código de Operación ( 'A' = Alta / 'B' = Baja / 'M' = Modificación ). Desarrollar el programa que actualice ALUMNOS.DAT sobre sí mismo en el orden que establecen los registros de NOVEDAD.DAT . Nota: Se disponen de 600 Kb de memoria, ALUMNOS.DAT tiene un registro por cada legajo (80001 a 110000). Ejercicio 94 Resuelva el ejercicio 91 pero considerando que el archivo ALUMNOS.DAT tiene los 30000 registros pero desordenados. Nota : El espacio en disco no alcanza para duplicarlo (hay 60 Kb). Ejercicio 95 Resuelva el ejercicio 91 pero considerando que el archivo ALUMNOS.DAT sólo tiene los registros activos, ordenados por número de legajo.

Page 18: Expresión de Problemas y Algoritmos - Guía de ejercicios

18

EJERCICIOS MODELO DE FINALES Ejercicio 96 Una empresa de transportes posee una flota de 55 camiones que trasladan contenedores a distintos puntos del país. Desea obtener determinada información sobre su gestión en el último mes. Para ello cuenta con el siguiente conjunto de datos de cada uno de los viajes de sus camiones:

1) Una tabla con las 55 Patentes (6 caracteres) de los camiones que utiliza; 2) Una segunda tabla con un detalle de todos los viajes realizados, que contiene:

a) Patente (6 caracteres), b) Número de Contenedor (8 dígitos), c) Peso del Contenedor en kilogramos (word),

Los datos terminan cuando se ingrese Número de Contenedor igual a 0 (cero) Tener en cuenta que no todos los camiones realizaron viajes ese mes. Procesar la información para obtener: 1. Un listado con un detalle de los camiones con el Total de Kilogramos que transportó cada

uno, ordenado en forma descendente por Peso Total transportado, indicando: Número de Patente, Total de Toneladas que transportó y al final, el Total de Toneladas transportadas en el mes.

2. Informar el Número de Camión que mas contenedores transportó (hay uno solo). 3. Informar el Peso Promedio en kilogramos que transportó ese camión. Ejercicio 97 Una empresa de venta de pinturas desea efectuar un análisis de las ventas realizadas durante el día, para lo que cuenta con un conjunto de datos, desordenado, de las ventas que realizó ese día. De cada venta tiene:

a) Código de Pintura (8 dígitos) b) Cantidad Total Vendida en el día ( 4 dígitos) c) Precio Unitario de Venta ( single )

El total de pinturas que comercializa la empresa es de 209 tipos distintos, pero la cantidad de códigos con movimiento de ese día puede ser menor a ese número, por lo que el fin de la lectura será con un código de pintura igual a 0 (cero). Se solicita: 1. Listar, ordenado por Código de Pintura (ascendente), las ventas del día, indicando por cada

venta: CODIGO TOTAL UNIDADES VENDIDAS IMPORTE TOTAL 99999999 9999 999999,99

TOTAL DE VENTA DEL DIA 999999,99 2. Al finalizar, informar el Código de Pintura y la Cantidad de Unidades Vendidas de esa

pintura, que mayor ingreso de dinero produjo. 3. Luego, el Promedio de Unidades Vendidas ese día, considerando solo los códigos

vendidos. Ejercicio 98 De una carrera de regularidad, que consistió en dar 60 vueltas a un circuito y en la que participaron 95 corredores, se cuenta con una tabla con la siguiente información, sin orden:

• Número de Corredor (1 .. 95) • Tiempo Empleado (MMM) • Cantidad de Vueltas (0 .. 60)

El vencedor es el que realizó el menor tiempo y cumplió las 60 vueltas. Se solicita procesar tal información para obtener:

Page 19: Expresión de Problemas y Algoritmos - Guía de ejercicios

19

1. Un listado en orden de llegada ( tiempos empleados de menor a mayor) de los corredores que completaron las 60 vueltas (por lo menos hay 10 corredores), informando:

N° Corredor Tiempo 99 999 99 999

2. El número del coche que llegó último, habiendo cumplido las 60 vueltas . 3. El número del corredor que abandonó primero (a igual cantidad de vueltas, menor tiempo

empleado). Ejercicio 99 En una empresa desean realizar una estadística del control de calidad de las, a lo sumo, 1000 pesas de 1 Kg que fabricaron durante un mes. Para ello cuentan con la siguiente información: el Número de Pesa (8 dígitos), el Peso Exacto Real en gramos (single) y el Día de Fabricación (2 dígitos), sin ningún orden. Se desea cargar dicha información, teniendo en cuenta que el lote de datos finaliza con un número de pesa igual a 99999999, que no debe ser tenida en cuenta mas que como final de datos. Procesar la información para obtener: 1. Un listado, ordenado en forma ascendente por número de pesa, con el día de fabricación de

cada una y el peso real exacto. 2. La cantidad de pesas que no superan el peso nominal (1000 gramos) y la cantidad de

pesas que si lo superan. 3. Informar cuales pesas se fabricaron con el peso nominal exacto. 4. Al final, informar la cantidad total de pesas fabricadas durante el mes. Ejercicio 100 Una empresa textil cuenta con un conjunto de 30 telares. Desea obtener determinada información sobre su gestión en el último mes. Para ello cuenta con el siguiente conjunto de datos de cada uno de los telares:

a) Número de Telar (1..30), b) Número de Pieza (8 dígitos), c) Metros de Tela de cada pieza (byte),

Tener en cuenta que no todos los telares tuvieron producción ese mes. Ingresar dicha información por teclado, considerando que el fin de datos se indicará con un Número de Telar igual a 0 (cero) y no se tendrá en cuenta mas que para esa finalidad. Procesar la información para obtener: 1. Un listado impreso, con un detalle de los telares con el Total de Metros que tejió cada uno,

ordenado en forma descendente por Total de Metros producidos, indicando: Número de Telar, Total de Metros que tejió ese telar y Total de Metros tejidos en el mes.

2. De los telares con Número de Telar múltiplo de 7, informar la longitud promedio en metros de las piezas tejidas en esos telares.

Ejercicio 101 Una empresa de transportes marítimos posee una flota de 95 barcos que trasladan contenedores a distintos puertos del mundo. Desea obtener determinada información para generar un reporte sobre su gestión en el último mes. Para ello cuenta con el siguiente conjunto de datos de los contenedores transportados por cada uno de sus barcos, que finaliza con un Número de Barco igual a cero:

a) Número de Barco (4 dígitos), b) Número de Contenedor (8 dígitos), c) Peso del Contenedor en kilogramos (word),

Page 20: Expresión de Problemas y Algoritmos - Guía de ejercicios

20

Tener en cuenta que no todos los barcos realizaron viajes ese mes. Procesar la información para obtener: 1. Un listado impreso, con un detalle de los barcos con el Total de Toneladas que transportó

cada uno, ordenado en forma descendente por Peso Total, indicando: Número de Barco, Total de Toneladas que transportó el barco y Total de Toneladas transportadas en el mes.

2. Informar los Números de Barco que transportaron mas contenedores que el promedio de contenedores transportados por todos los barcos.

Ejercicio 102 Una empresa que comercializa tubos de acero de distintos diámetros (23) ha realizado ventas durante un mes y desea obtener determinada información para generar un informe sobre su gestión. Para ello cuenta con el siguiente conjunto de datos: a) Una planilla con el Código de Tubo (6 caracteres) de cada uno de los 23 tubos y el peso

unitario. Esta planilla se confeccionó sin ningún orden. b) En otra planilla tiene las ventas que realizó con la siguiente información:

� Código de Tubo, � Código de Cliente (6 dígitos), � Cantidad de unidades vendidas (Word) � Fecha de Venta (AAAAMMDD),

Ordenadas en forma cronológica. Tener en cuenta que no de todos los tubos se realizaron ventas en ese mes y de un mismo tubo puede haber varias ventas.

c) Para finalizar las ventas, se ingresará la última con Código de Cliente igual a 0 (cero).

Procesar la información para obtener: 1. Un listado de las ventas diarias, con indicación del Código de Tubo, Código de Cliente,

Cantidad de Unidades y Peso de las Unidades, ordenado cronológicamente, Indicando el Total Diario de Toneladas Vendidas.

2. Un listado impreso con un detalle de las ventas de cada tubo, ordenado en forma ascendente por Código de Tubo, indicando: Código de Tubo, Cantidad de unidades y Peso Total en kilogramos de los tubos vendidos de cada código y al final el Total de kilogramos vendida en el mes de todos los tubos.

3. Informar el Código de Tubo que menos unidades se vendieron (hay uno solo) y cuantas ventas se realizaron de ese tubo durante el mes. Considerar que puede haber algún Código de Tubo que no haya tenido ventas en el mes.

Ejercicio 103 Una empresa de remises quiere información sobre el rendimiento de su flota de 27 coches, de los que tiene la siguiente tabla, sin orden:

a) Patente (6 caracteres) b) Apellido y Nombre del Chofer (30 caracteres)

Además, cuenta con un conjunto de datos de los viajes realizados por cada coche durante un mes, ordenados por Día del Viaje:

a) Patente b) Día del viaje (1 .. 31) c) Distancia recorrida en el viaje en kilómetros ( single )

Cada coche ha realizado varios viajes en los días que trabajó. El fin de la lectura será un viaje con Patente igual a blanco. Se solicita:

1. Por cada día, el Apellido y Nombre del Chofer que más kilómetros recorrió. 2. Un listado del mes, ordenado por Apellido y Nombre del Chofer, indicando, además, la

Patente, la Cantidad de Viajes realizados y el Total de Kilómetros Recorridos. 3. El promedio de Kilómetros Recorridos por todos los coches.

Page 21: Expresión de Problemas y Algoritmos - Guía de ejercicios

21

Ejercicio 104

Un comercio desea información de la mercadería que vende. Para ello cuenta los siguientes datos:

a) Código de artículo (6 caracteres) (No mas de 1000) b) Descripción del artículo ( 20 caracteres) c) Cantidad de unidades vendidas (5 dígitos) d) Precio de Venta por unidad (single).

Se desea cargar dicha información por teclado, teniendo en cuenta que el lote de datos finaliza con un Código de Artículo igual a “ABCDEF” y solo debe ser considerado como fin de lote. Procesar la información para obtener: 1. El Importe total de las Ventas de cada artículo e imprimirlos junto con el código y la

descripción, ordenado alfabéticamente por este último dato. CODIGO DESCRIPCIÓN IMPORTE TOTAL VENTA

XXXXXX XXXXXXXXXXXXXXXXXXX 99999.99 2. Calcular el promedio de unidades vendidas de todos los artículos y luego, informar los

códigos de los artículos, junto con la cantidad de unidades vendidas, de aquellos artículos que tuvieron ventas por debajo de ese promedio.

CODIGO CANTIDAD XXXXXX 99999

Ejercicio 105 Una Obra Social brinda 500 prestaciones distintas a sus afiliados. De ellas se tiene, en un listado ordenado por Descripción, la siguiente información,

a) Código de Prestación ( 3 dígitos ) (1 .. 500) b) Descripción ( 24 caracteres ) c) Costo de la Prestación ( single )

Además, cuenta con una cantidad indefinida y desordenada de cupones presentados por las Prestadoras de los servicios usados por los afiliados, en los que figuran, entre otros datos, el Código de la prestación. Obtener, a partir de ellos, la siguiente información, utilizando como último código uno con Código de Prestación igual a 999. No todas las prestaciones tienen cupones presentados. Se solicita: 1) Un listado de las prestaciones presentadas, ordenado por Código de Prestación , indicando

por cada Código de Prestación: CODIGO DESCRIPCIÓN CANTIDAD IMPORTE 999 XXXXXXXXXXXXXXXXXXXXXXXX 9999 999999,99

TOTALES 99999 999999,99

2) Al finalizar, informar el Código y la Cantidad de la Prestación que menor egreso de dinero produjo a la Obra Social, entre las que tuvieron cupones.

3) Por último, el Promedio por Prestación , considerando solo los Códigos que tuvieron cupones presentados.

Ejercicio 106 Se tiene un conjunto de 2000 registros con el siguiente contenido: a) Número de Artículo b) Stock c) Precio Unitario A continuación, se ingresa por teclado cada venta que se realiza, con el siguiente contenido: a) Código de Cliente b) Número de Artículo

c) Cantidad De Unidades d) Número de Vendedor Este conjunto finaliza cuando se ingresa un Código de Artículo igual a 0 (cero). Los datos que se ingresan no contienen errores y las ventas se realizan si hay Stock suficiente.

Page 22: Expresión de Problemas y Algoritmos - Guía de ejercicios

22

Realizar el algoritmo que emita: A Un listado de las ventas realizadas por cada Vendedor ( 1 a 20), informando: Código de Cliente Cantidad de Unidades I mporte o Condición 999999 9999 $ 133 / Sin Stock B Un listado de los importes recaudados por cada Número de Artículo, con orden decreciente Número de artículo Importe recaudado 999999 999999.99 C Determinar el importe de la mayor venta realizada a un cliente, indicando Código de Cliente Importe Ejercicio 107 Se tiene una Tabla de 120 registros conteniendo cada uno: a) País de Destino b) Continente (1: Amé rica / 2: Europa / 3: Asia) Existe una segunda Tabla de 250 registros, donde cada uno contiene

a) Número de vuelo b) Asientos disponibles c) Importe del pasaje Por cada venta de pasajes que se realiza, se ingresa un registro con el siguiente contenido:

a) Nombre y Apellido b) Número de vuelo c) País de destino d) Asientos solicitados

Este lote finaliza cuando se ingresa como Nombre y Apellido ‘JJJJJJ’. Solo se venden los pasajes si existen Asientos Disponibles suficientes. Realizar el algoritmo que informe: 1) Por cada venta realizada informar: Nombre y Apellido Importe o Condición Carlos PEREZ $ 1200 / Sin capacidad 2) Al finalizar, emitir un listado por país de destino y cantidad de pasajes vendidos con ese

destino 3) Continente con mayor demanda de pasajes.