Documente Academic
Documente Profesional
Documente Cultură
Enunciado: texto narrativo que describe una situacin problemtica a resolver, conteniendo el conjunto de datos
de entrada, los resultados deseados, y el proceso a realizar
Datos de entrada y de salida: surgen del anlisis del enunciado
Estrategia: una generalizacin de pasos a seguir en la resolucin del problema sin llegar a lo particular
Algoritmo de resolucin: representacin grfica de una secuencia ordenada y finita de acciones para obtener el
resultado deseado a partir de un conjunto de datos. Utilizar Herramientas de programacin del ANEXO I.
Seguimiento del algoritmo: comprobacin manual del algoritmo a partir de distintos juegos de datos
Codificacin: transcribir el algoritmo en el lenguaje de programacin C++, utilizando un editor y creando un
programa fuente.
Compilacin: ejecucin del programa compilador del lenguaje C++ que traduce el programa fuente en un
programa ejecutable (archivo.EXE).
Ejecucin del programa ejecutable en la computadora.
II. Estructuras Selectivas: Seleccin Simple. Seleccin Mltiple. Expresiones lgicas. Operadores de relacin.
Operadores lgicos. Estructuras anidadas. Tipos de datos Carcter, Booleano o lgico.
III. Estructuras Repetitivas: Repeticin definida o exacta. Repeticin indefinida Pre-condicin. Repeticin indefinida
Post-condicin Estructuras anidadas.
IV. Mximos y Mnimos. Tipos de datos Alfanumricos (Cadenas de caracteres).
V. Ejercicios Integradores
VI. Subprogramas. Subprogramas estndar. Funciones desarrollados por el usuario. Parmetros por valor y por
referencia. Argumentos. Invocaciones Prototipos.
VII. Ejercicios Integradores Subprogramas
-1-
I. Estructuras Secunciales:
Ej. MI-1
D
A
T
O
S
A partir de dos valores enteros A y B, informar la suma, la diferencia (A menos B), y el producto.
De Entrada
-un nmero entero que identificaremos como
A
-otro nmero entero que identificaremos
como B
De Salida
- la suma de ambos nmeros que identificaremos como SUMA acompaada de
una leyenda aclaratoria.
- la diferencia entre los nmeros que identificaremos como DIF acompaada de
una leyenda aclaratoria.
- el producto entre ambos nmeros que identificaremos como PROD acompaada
de una leyenda aclaratoria
Estrategia:
o Solicitar e ingresar datos por teclado
o Calcular suma e informar por monitor
o Calcular diferencia e informar por monitor
o Calcular producto e informar por monitor
Seguimiento
Teclado
Memoria
A
15
15
B
6
SUMA
21
DIF
9
Monitor
PROD Ingrese un nmero entero
15
90
Ingrese un nmero entero
6
La suma es: 21
La diferencia es: 9
El producto es: 90
Ej. MI-2 Dado un nmero real que representa el importe de una compra informar las posibles formas de pago, segn la
siguiente tabla:
1 cuota de $.................
2 cuotas de $................. total $................. ( 5% de recargo)
6 cuotas de $................. total $................. ( 40% de recargo)
Ej. MI-3: Dada una terna de nmeros naturales que representan al da, al mes y al ao de una determinada fecha informarla
como un solo nmero natural de 8 dgitos (AAAAMMDD).
Ej. MI-4: A partir de un valor entero ingresado por teclado, se pide informar:
a) La quinta parte de dicho valor
b) El resto de la divisin por 5
c) La sptima parte del resultado del punto a)
Memoria
A
35
B
16
Monitor
Ingrese un nmero entero positivo
35
Ingrese un nmero entero positivo distinto al anterior
16
El mayor es: 35
-2-
Ej. MI-6 Dadas dos fechas informar cual es la ms reciente. Determine cuales seran los datos de entrada y las
leyendas a informar de acuerdo al proceso solicitado.
Ej. MI-7: Se ingresan tres temperaturas determinar cul es la mayor de las tres informando el nmero de orden. (1, 2 ,3).
Ej. MI-8: Dado un tringulo representado por sus lados L1, L2, L3, determinar e imprimir una leyenda segn sea:
equiltero, issceles o esclenos.
II.b Seleccin Mltiple
Ej. MI-9: Dados un mes y el ao correspondiente informar cuantos das tiene ese mes.
DATOS
De Entrada
- un valor entero MES
- otro valor entero ANIO
De Salida
informar la cantidad de das que tiene el mes
MES, ANIO, DIA
Estrategia:
Solicitar e ingresar datos por teclado
Segn el mes informar la cantidad, considerar el caso de febrero cuando el ao sea bisiesto
Seguimiento
Teclado
Memoria
Monitor
8
2003
MES
8
ANIO
2003
DIA
31
11
2003
11
2003
30
2
2004
2004
29
Ej. MI-10: Dados dos nmeros, mostrar un men con opciones de sumar, restar o multiplicar dichos nmeros. Solicite elegir
una opcin.
Estrategia:
Ej. MI-11 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 est comprendida entre 13 y 18
juvenil si la edad es mayor que 18 y no supera los 21
-3-
De Entrada
De Salida
NRO
100 nmeros
Estrategia:
Seguimiento
Teclado
Memoria
K
1
2
3
.....
100
101
SUMA
0
1
3
6
.......
Monitor
Los 100 primeros nmeros naturales son
1
2
3
.......
100
La sumatoria de los 100 primeros nmeros naturales es.
Ej. MI-13: Dados N y M nmeros naturales, informar su producto por sumas sucesivas.
Ej. MI-14: Dados 50 nmeros enteros, informar el promedio de los mayores que 100 y la suma de los menores que 10.
Ej. MI-15: Se realiza una inspeccin en una fbrica de pinturas, y se detectaron 20 infracciones. De cada infraccin se tom
nota de los siguientes datos:
- Tipo de Infraccin (1, 2, 3, 4)
- Motivo de la infraccin
- Valor de la multa
- Gravedad de la infraccin (L,M, G)
Se pide informar al final del proceso:
Los valores totales de la multa a pagar de acuerdo al tipo de gravedad.
La leyenda Clausurar fbrica si la cantidad de infracciones 3 y 4 con gravedad G sean mayor a 3.
Ej. MI-17: 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:
a) Cuntos empleados ganan menos $3.520.
b) Cuntos ganan $3.520 o ms pero menos de $5.780.
c) Cuntos ganan $5.780 o ms pero menos de $15.999.
d) Cuntos ganan $15.999 o ms.
Ej. MI-18: Dado un valor M determinar y emitir un listado con los M primeros mltiplos de 3 que no lo sean de 5, dentro del
conjunto de los nmeros naturales.
IV Mximos y Mnimos.
Ej. MI-21: Dados 10 valores informar el mayor
Ej. MI-22: Dados N valores informar el mayor, el menor y en que posicin del conjunto fueron ingresados.
Ej. MI-23: 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 ms joven.
Ej. MI-24. Dado un conjunto de valores, que finaliza con un valor 0, determinar e imprimir considerando que los
subconjuntos pueden se vacos.
a) El valor mximo negativo
b) El valor mnimo positivo
c) El valor mnimo dentro del rango -17.3 y 26.9
e) El promedio de todos los valores.
Ej. MI-25: En un torneo de ftbol 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 informacin:
a) Nro. de equipo,
b) Cdigo 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 la estrategia y el algoritmo que imprima:
Por cada equipo, su nmero y el puntaje total que obtuvo (suma 3 si gana, y 1 si empata).
Que numero de equipo fue primero y cual fue ltimo, considerando que son nicos.
Ej. MI-26: Se dispone de un lote de valores enteros positivos que finaliza con un nmero negativo.
El lote est dividido en sub-lotes por medio de valores cero. Desarrollar un programa que determine e informe:
a) por cada sub-lote el promedio de valores
b) el total de sub-lotes procesados
c) el valor mximo del conjunto, indicando en que sub-lote se encontr y la posicin relativa del mismo dentro del sublote
d) valor mnimo de cada sub-lote
Ej. MI-27: Dada una serie de M pares {color, nmero} que corresponden a los tiros de una ruleta. Se pide informar:
Ej. MI-28: Un buque de carga traslada 100 contenedores a tres diferentes puertos del pas.
Los puertos se identifican con los nmeros 1, 2 y 3.
De cada contenedor, que el buque traslada, se registran los siguientes datos:
- Identificacin del contenedor
- Peso del contenedor en kg
- Puerto de arribo(un valor de 1 a 3).
Se pide calcular e informar:
1) El peso total que el buque debe trasladar
2) La identificacin del contenedor de mayor peso
3) La cantidad de contenedores que debe trasladar a cada puerto
-5-
Ej. MI-29: Dada una serie de caracteres que conforman una oracin, donde cada palabra est separada de la siguiente por un
carcter blanco y la oracin finaliza con un punto. Se pide informar:
a) cantidad de veces que apareci cada vocal
b) cantidad de palabras que contiene la oracin
c) cantidad de letras que posee la palabra ms larga.
Ej. MI-30: Dado un nmero entero positivo entre 1 y 3999 informar su correspondiente
Representacin en nmeros Romanos
Ej. MI-31: 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:
a) los datos de los encuestados que hayan completado los estudios primarios
b) el porcentaje de analfabetismo en la ciudad (se considera analfabetos a los mayores de 10 aos que no posean
estudios)
c) el domicilio de la familia con mayor cantidad de integrantes que viven en departamento
d) edad promedio de cada familia y de la ciudad
e) cantidad de encuestados en cada tipo de nivel de estudios alcanzados incompletos.
f) porcentaje de encuestados de sexo femenino y masculino.
Ej. MI-32: Una compaa area desea emitir un listado con los movimientos mensuales de sus M vuelos al exterior. Para ello
cuenta con la siguiente informacin. De cada vuelo realizado el nmero de vuelo, destino, y cantidad de asientos. De cada
pasajero el nmero de pasaporte y el importe que abon por el pasaje en dlares.
La informacin finaliza con un nmero de pasaporte igual a cero. Se pide emitir el siguiente listado:
Nro. de Vuelo 9999
Destino: xxxxxxxxxxxxxxxxx
Nro. de Pasaporte
Importe en u$s
99999999
999.99
99999999
999.99
Total recaudado del vuelo: 99999.99
% de Asientos Libres del vuelo 999.99
% de Asientos Ocupados del vuelo 999.99
Total recaudado en el mes 999999.99
Cantidad de veces seguidas que se dieron vuelos completos 99
El nmero de vuelo que ms recaud 9999
VI Subprogramas
Ej. MI-33: Desarrollar una funcin que calcule el mximo comn divisor de dos nmeros 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 3)
3) Reemplazar A por B, B por R, y volver al paso 1)
Ej. MI-34: Desarrollar una funcin tal que dado un nmero entero positivo calcule y retorne su factorial.
Ej. MI-35: Hacer una funcin con el ejercicio M1-3.
Ej. MI-36: Dados dos nmeros enteros definir una funcin que devuelva un valor verdadero si son mltiplos y falso si no lo
son.
su factorial
d) cuantos mltiplos de 3 y de 5
Utilice las funciones de ejercicios anteriores.
Ej. MI-38: Dada la fraccin P/Q, para P y Q naturales informar la mayor cantidad de simplificaciones. Desarrolle y utilice
una funcin que reciba dos nmeros naturales y retorne el menor factor comn. Ej: 360/60 = 180/30 = 90/15 = 30/5 = 6/1
Ej. MI-39: Desarrolle la funcin que recibe dos valores y retorne el siguiente clculo: (B-A) *100 / (A+B)
Ej. MI-40: Desarrollar la funcin que recibe la edad y retorne un valor de 1 a 8, de acuerdo al siguiente cuadro:
Edad
Hasta 14 aos
De 22 a 28
De 36 a 42
De 50 a 63
Valor
1
3
5
7
Edad
De 15 a 21
De 29 a 35
De 43 a 49
Mayores de 63
Valor
2
4
6
8
Ej. MI-42: Desarrollar un funcin tal que dados una base y un exponente, enteros positivos, calcule y retorne la potencia.
Ej. MI-43: Desarrollar una funcin que reciba una fecha en una variable con formato AAAAMMDD retorne el ao el mes y
el dia en tres variables independientes.
Ej. MI-44: Desarrolle una funcin que obtenga las dos races de una ecuacin de segundo grado siempre que sea posible,
indicando esto con una variable boleana.
Ej. MI-45: Desarrollar una funcin tal que: dada una hora (HHMMSS) y un tiempo tambin en formato HHMMSS devuelva
la nueva hora que surge de sumar el tiempo a la hora inicial, considere tambin un posible cambi el da.
Ej. MI-46: Desarrollar una funcin que dados un par de valores A y B, retorne una leyenda de acuerdo al siguiente cuadro:
B - A< 0
B - A < 5% de A
Decreciente
Leve ascenso
B - A < 2% de A
Resto
Estable
En ascenso
Ej. MI-47: Dado un conjunto de 20 elementos, donde cada elemento son dos puntos que representan las esquinas opuestas de
un rectngulo x1, y1, x2, y2.
(x2, y2)
(x1, y1)
Se pide:
1) Informe el permetro de cada rectngulo que sea un cuadrado
2) Al final del algoritmo informe la cantidad de rectngulos ingresados que no son cuadrados.
Utilice la funcin abs (x), que retorna el valor absoluto de x.
Ej. MI-48: 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 de paquetes con la oferta y
que todos los paquetes tengan igual cantidad de cajas de vino blanco y de vino tinto.
Se pide informar cuntos paquetes se podrn armar como mximo, y cuntas cajas de vino blanco y cuantas de vino tinto
contendrn cada uno.
Utilice la funcin desarrollada en el Ej. MI-33.
Ej. MI-49: De un censo realizado en una poblacin se conocen los siguientes datos:
- Da de nacimiento (2 dig.)
- Mes (2 dig.)
- Ao (4 dig.)
-7-
Una funcin que reciba un nmero natural de 4 dgitos en formato de HHMM que corresponde a un tiempo
determinado en horas y minutos, retorne ese tiempo en minutos.
b) Otra funcin que reciba el costo en pesos de un abono telefnico, 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 ms minutos excedidos por el costo de minutos
excedidos) ms el 21% del valor del IVA
Desarrolle un algoritmo que resuelva la siguiente situacin problemtica: Todos los fines de mes, una empresa de telefona
celular debe confeccionar las facturas con los consumos de todos sus abonados, que se realizan en tres turnos de trabajo:
Maana, Tarde y Noche.
Para ello se ingresar por teclado la siguiente informacin de cada celular:
- Nmero de celular 9 dgitos ( 0 indica cambio de turno)
- Nombre del abonado 20 caracteres
- Direccin del abonado 25 caracteres
- Tiempo utilizado 4 dgitos en formato HHMM
- Tipo de abono (carcter, 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 segn la siguiente tabla:
Plan
Costo
Minutos Libres
Cargo por minuto excedente
A
$70
300
$0.09
B
$55
200
$0.15
C
$40
100
$0.21
D
$28
60
$0.29
E
$19
40
$0.37
Turno Tarde
Turno Noche
El nombre del abonado que debe abonar la factura ms costosa y el monto de sta.
El nombre y el nmero de celular de la persona que realiz la mayor cantidad de minutos excedentes, indicando cuntos fueron.
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).
-8-
Estructuras secuenciales
Acciones
Grficos
Lenguaje C++
Comienzo
Ingresar Valores
Lista de
variables
cin
Informar
Valores
Literales, lista
de variables
cout
Asignar Valores
variable expresin
Cond / exp.log
Estructuras selectivas
Seleccin simple
Seleccin
mltiple
If
switch
-9-
Estructuras repetitivas
Repeticin
indefinida
Precondicin
while
Repeticin
definida o
exacta
Acciones
de
repetici
n
for
Repeticin
indefinida
Postcondicin
do while
Condicin / expr.lgica
Void
return
Sub-algoritmos
Encabezamient
o
Llamada
llamada
Retorno del
subalgoritmo
Retorno
Fin
Tipo de dato
short
unsigned
short
entero
entero
-32,768 a 32,767
0 a 65535
Tamao en
bytes
2
2
int
char
Unsigned
char
Long int
double
entero
entero
entero
-2,147,483,648 a 2,147,483,648
-128 a 127
0 a 255
4
1
1
entero
real
-2,147,483,648 a 2,147,483,648
2.9E-39 a 1.7E38
4
8
Float
long doble
real
real
1.5E-45 a 3.4E38
3.4E-4932 a 1.7E4932
4
10
booleano
false o true
bool
- 10 -
- 11 -