/* */

18 de marzo de 2007

Ejercicios

.
Módulo I

Estos ejercicios fueron cedidos gentilmente por la profesora Adriana Adámoli.

Ej. MI-1
A partir de dos valores enteros A y B, informar la suma, la diferencia entre A y B, y el producto.

Ej. MI-3
Dada una terna de números naturales que representan al día, al mes y al año de una determinada fecha informarla como un solo número natural de 8 dígitos (AAAAMMDD).

Ej. MI-5
A partir de un valor entero ingresado por teclado, se pide informar:

  1. La quinta parte de dicho valor
  2. El resto de la división por 5
  3. La séptima parte del resultado del punto 1
  4. El promedio real de los valores obtenidos en 1, 2, y 3

Ej. MI-6
Dados dos valores enteros y distintos, emitir una leyenda apropiada que informe cuál es el mayor entre ellos.

Ej. MI-8
Dadas dos fechas informar cual es la más reciente. Determine cuales serían los datos de entrada y las leyendas a informar de acuerdo al proceso solicitado.

Ej. MI-10
Dados un mes y el año correspondiente informar cuantos días tiene el mes.

Ej. MI-12
Se ingresa una edad, mostrar por pantalla alguna de las siguientes leyendas:
  • ‘menor’ si la edad es menor o igual a 12
  • ‘cadete’ si la edad esta comprendida entre 13 y 18
  • ‘juvenil’ si la edad es mayor que 18 y no supera los 26
  • ‘mayor’ en el caso que no cumpla ninguna de las condiciones anteriores

Ej. MI-13
Informar los primeros 100 números naturales y su sumatoria.

Ej. MI-15
Dados N y M números naturales, informar su producto por sumas sucesivas.

Ej. MI-16
Dados 50 números enteros, informar el promedio de los mayores a 100 y la suma de los menores que -10.

Ej. MI-17
Ingresar e informar valores, mientras que el valor ingresado no sea negativo. Informar la cantidad de valores ingresados.

Ej. MI-19
Se ingresa un conjunto de valores reales, cada uno de los cuales representan el sueldo de un empleado, excepto el último valor que es cero e indica el fin del conjunto. Se pide desarrollar un programa que determine e informe:
  1. Cuántos empleados ganan menos $520.
  2. Cuántos ganan $520 o más pero menos de $780.
  3. Cuántos ganan $780 o más pero menos de $999.
  4. Cuántos ganan $999 o más.

Ej. MI-21
Dado un conjunto de sueldos a pagar (sin centavos) que finaliza con un valor cero, desarrollar un programa que determine e informe cuantos billetes de $100, $50, $20, $10, $5, $2 y monedas de $1 son necesarios para ensobrar los sueldos y no tener dificultades con el cambio (utilizando la mínima cantidad de billetes).

Ej. MI-22
Dado un valor M determinar y emitir un listado con los M primeros múltiplos de 3 que no lo sean de 5, dentro del conjunto de los números naturales.

Ej. MI-23
Rescribir los algoritmos MI-17 al MI-22, utilizando Repeat-Until.

Ej. MI-26
Dados 10 valores informar el mayor.

Ej. MI-27
Dados N valores informar el mayor, el menor y en que posición del conjunto fueron ingresados.

Ej. MI-28
Dado un conjunto de Nombres y Fechas de nacimientos (AAAAMMDD), que finaliza con un Nombre = ‘FIN’, informar el nombre de la persona con mayor edad y el de la más joven.

Ej. MI-29
Se dispone de un lote de valores enteros positivos que finaliza con un número negativo. El lote está dividido en sublotes por medio de valores cero. Desarrollar un programa que determine e informe:
  1. por cada sublote el promedio de valores
  2. el total de sublotes procesados
  3. el valor máximo del conjunto, indicando en que sublote se encontró y la posición relativa del mismo dentro del sublote
  4. valor mínimo de cada sublote
Nota: el lote puede estar vacío (primer valor negativo), o puede haber uno, varios o todos los sublotes vacíos (ceros consecutivos).

Ej. MI-30
Dada una serie de M pares {color, número} que corresponden a los tiros de una ruleta. Se pide informar:
  1. cuantas veces salió el número cero y el número anterior a cada cero
  2. cuantas veces seguidas llegó a repetirse el color negro
  3. cuantas veces seguidas llegó a repetirse el mismo número y cual fue
  4. el mayor número de veces seguidas que salieron alternados el rojo y el negro
  5. el mayor número de veces seguidas que se negó la segunda docenas

Ej. MI-31
Dada una serie de caracteres que conforman una oración, donde cada palabra está separada de la siguiente por un carácter blanco y la oración finaliza con un punto. Se pide informar:
  1. cantidad de veces que apareció cada vocal
  2. cantidad de palabras que contiene la oración
  3. cantidad de letras que posee la palabra más larga

Ej. MI-32
Dado un número entero positivo entre 1 y 3999 informar su correspondiente número Romano.

Ej. MI-33
Dado un conjunto de valores enteros, calcular e informar a) cuantos valores cero hubo, b) promedio de valores positivos, c) sumatoria de valores negativos.
Resolver el ejercicio para los siguientes lotes de datos:
  1. 167 valores enteros
  2. N valores, donde el valor de N debe ser leído previamente
  3. El conjunto de valores termina con un valor igual anterior
  4. Se dan N valores, pero el proceso deberá finalizar si se procesan todos los valores o si la cantidad de ceros supera a cuatro
  5. Se dan N valores, pero el proceso deberá finalizar si se cumple alguna de las condiciones del punto 4 o si el promedio de positivos resulta mayor que seis

Ej. MI-34
El gobierno de la Ciudad de Buenos Aires realiza una encuesta en casas de familia. De cada familia conoce: domicilio, tipo de vivienda (‘C’:casa, ‘D’:departamento), y cantidad de integrantes.
De cada integrante de la familia se conoce: nombre y apellido, edad, sexo (‘F’, ‘M’), nivel de estudios alcanzados (‘N’: no posee, ‘P’: primario, ‘S’: secundario, ‘T’: terciario, ‘U’: universitario), y un indicador (‘I’: incompleto, ‘C’: completo) que se refiere al ítem anterior.
Los datos finalizan cuando la cantidad de integrantes sea igual a cero.
Se pide emitir un listado con los resultados:
  1. los datos de los encuestados que hayan completado los estudios primarios
  2. el porcentaje de analfabetismo en la ciudad (se considera analfabetos a los mayores de 10 años que no posean estudios)
  3. el domicilio de la familia con mayor cantidad de integrantes que viven en departamento
  4. edad promedio de cada familia y de la ciudad
  5. cantidad de encuestados en cada tipo de nivel de estudios alcanzados incompletos.
  6. Porcentaje de encuestados de sexo femenino y masculino

Ej. MI-35
Una compañía aérea desea emitir un listado con los movimientos mensuales de sus M vuelos al exterior. Para ello cuenta con la siguiente información. De cada vuelo realizado el número de vuelo, destino, y cantidad de asientos. De cada pasajero el número de pasaporte y el importe que abonó por el pasaje en dólares. La información finaliza con un número de pasaporte igual a cero. Se pide emitir el siguiente listado:



Ej. MI-37
Desarrollar una función que calcule el máximo común divisor de dos números enteros A, B con el siguiente algoritmo:
  1. Dividir A por B, y calcular el resto (0 < R < B)
  2. Si R = 0, el MCD es B, si no seguir en el punto 3
  3. Reemplazar A por B, B por R, y volver al paso 1

Ej. MI-38
Desarrollar una función que dado un número entero positivo calcule y retorne su factorial.

Ej. MI-40
Dada una serie de números enteros, informar:
  1. su factorial
  2. cuantos múltiplos de 3
  3. cuantos múltiplos de 5
  4. cuantos múltiplos de 3 y de 5
Utilice las funciones de los ejercicios MI-38 y MI-39.

Ej. MI-41
Dada la fracción P/Q, para P y Q naturales informar la mayor cantidad de simplificaciones. Desarrolle y utilice una función que reciba dos números naturales y retorne el menor factor común. Ej: 360/60 = 180/30 = 90/15 = 30/5 = 6/1

Ej. MI-43
Desarrollar un procedimiento que dado una base y un exponente, enteros positivos, calcule y retorne la potencia.

Ej. MI-45
Desarrollar un procedimiento que dada una fecha (AAAAMMDD) y un número natural que representa una cantidad de días, calcule y retorne la nueva fecha en tres parámetros año (AAAA), mes (MM) y día (DD) que resulte de incrementar al parámetro fecha con el parámetro cantidad de días.

Ej. MI-46
Una bodega quiere lanzar una oferta para terminar con el stock de dos productos. Para ello cuenta con B cantidad de cajas de vino blanco y T cantidad de cajas de vino tinto. Desea armar la mayor cantidad posible paquetes con la oferta y que todos los paquetes tengan igual cantidad de cajas de vino blanco y de vino tinto.
Se pide informar cuantos paquetes se podrán armar como máximo, y cuantas cajas de vino blanco y cuantas de vino tinto contendrán cada uno.
Utilice la función desarrollada en el Ej. MI-37.

Ej. MI-47
Desarrollar:
  1. Una función que dados tres números naturales (x, y, z) retorne el mínimo común múltiplo.
  2. Un procedimiento que dado un valor entero positivo retorne el cociente y el resto de la división entera por 24.
Desarrolle un algoritmo que resuelva la siguiente situación problemática: En una fábrica la sirena amarilla suena cada X horas, la sirena verde cada Y horas y la sirena azul cada Z horas. Si hoy a las H horas sonaron las tres sirenas a la vez, informar cuantos días y horas deben transcurrir como mínimo para que las tres vuelvan a sonar juntas. Además informar el día mes y año y hora en que se producirá la ocurrencia. Utilice los subprogramas desarrollados en los puntos a), b), el procedimiento del Ej. MI-45, e invoque al procedimiento de Pascal Getdate.

Ej. MI-48
Desarrollar:
  1. Una función que reciba un número natural de 4 dígitos en formato de HHMM que corresponde a un tiempo determinado en horas y minutos, retorne ese tiempo en minutos.
  2. Un procedimiento que reciba el costo en pesos de un abono telefónico, la cantidad de minutos libres que incluye el abono, el cargo en pesos por minuto excedente y la cantidad de minutos utilizados por un abonado, retorne la cantidad de minutos excedidos y el monto en pesos a abonar (costo del abono más minutos excedidos por el costo de minutos excedidos) más el 21% del valor del IVA

Desarrolle un algoritmo que resuelva la siguiente situación problemática: Todos los fines de mes, una empresa de telefonía celular debe confeccionar las facturas con los consumos de todos sus abonados, que se realizan en tres turnos de trabajo: Mañana, tarde y Noche.
Para ello se ingresarán por teclado la siguiente información de cada celular:
  • Número de celular 9 dígitos ( 0 indica cambio de turno)
  • Nombre del abonado 20 caracteres
  • Dirección del abonado 25 caracteres
  • Tiempo utilizado 4 dígitos en formato HHMM
  • Tipo de abono (carácter, A, B, C, D o E)

Dependiendo del tipo de abono que se tenga, el usuario tiene cierta cantidad de minutos libres, por los cuales no abona cargo extra, pero por cada minuto que se exceda debe abonar una suma extra según la siguiente tabla:



Emitir el siguiente listado por cada turno:



Informar por cada turno de trabajo:
  • El nombre del abonado que debe abonar la factura más costosa y el monto de esta.
  • El nombre y el número de celular de la persona que realizó la mayor cantidad de minuto excedentes, indicando cuantos fueron.

Al final del día informar:
  • El monto total facturado
  • En que turno y en que orden dentro del turno apareció el abonado que utilizó la menor cantidad de minutos en el mes.

Utilice los subprogramas a) y b).












.