PROGRAMACIN I
GUIA DE TRABAJOS PRACTICOS
PARTE 1
Presentacin de la materia.
Repaso de:
- Ejercicios Bsicos (TP 1)
- Decisiones (TP 2)
- Ciclo FOR (TP 3)
Clase 2
Clase 3
Clase 4
Clase 5
-2-
-4-
15) Hacer un programa para convertir grados Celsius a grados Fahrenheit. Para efectuar el
clculo tener en cuenta que 0 grados Celsius equivalen a 32 grados Fahrenheit, y que cada
grado Celsius equivale a 1,8 grados Fahrenheit. Por ejemplo 10 grados Celsius, equivalen a 32
+ 1,8 * 10 = 50 grados Fahrenheit. Arme usted mismo la frmula a partir del clculo del
ejemplo anterior.
-5-
Trabajo Prctico 1
Ejercicios Resueltos
Ejercicio 2
Ejercicio 5a)
Ejercicio 7
Se puede resolver de 2 maneras
Ejercicio 10
-6-
Ejercicio 12
Ejercicio 13
Se puede resolver de 2 maneras
-7-
El dueo le solicit a Ud., futuro programador, un programa donde se deba ingresar el importe
original a pagar por el cliente y que luego se calcule e informe por pantalla el precio final con
el descuento que corresponda ya aplicado.
9) Hacer un programa para ingresar por teclado tres nmeros y luego determinar e informar
con una leyenda aclaratoria si los tres son iguales entre s, caso contrario no emitir nada.
Recordar la ley de transitividad de la igualdad: Si un nmero A es igual a otro nmero B y si
el nmero B es igual a otro nmero C, entonces se deduce que A tambin es igual a C.
10) Hacer un programa para ingresar por teclado tres nmeros y luego determinar e informar
con una leyenda aclaratoria si los tres son todos distintos entre s, caso contrario no emitir
nada.
Recordar que la ley de transitividad de la igualdad no se cumple para la desigualdad: Si un
nmero A es distinto de otro nmero B y si el nmero B es distinto de otro nmero C,
entonces no se deduce que A sea distinto de C. Por ejemplo A=3, B=5 y C=3.
11) Hacer un programa para ingresar por teclado la longitud de los tres lados de un tringulo,
luego se pide determinar e informar con un cartel aclaratorio que tipo de tringulo es:
- Equiltero: si los tres lados son iguales
- Issceles: si dos de los tres lados son iguales
- Escaleno: si los tres lados son distintos entre s
12) Hacer un programa para ingresar por teclado tres nmeros y luego determinar e informar
el mximo de ellos.
13) Hacer un programa para ingresar por teclado cinco nmeros y luego determinar e informar
el mximo de ellos.
14) Hacer un programa para poder ingresar por teclado cinco nmeros y luego determinar e
informar cuantos de esos cinco nmeros son positivos.
15) Dados tres nmeros enteros y distintos que se ingresan por teclado informarlos ordenados
de menor a mayor. Por ejemplo si se ingresa 4,-3,7, se debe mostrar -3,4,7.
16) Hacer un programa para ingresar por teclado las cuatro notas de los exmenes parciales
obtenidas por un alumno en una determinada materia y luego emitir el cartel aclaratorio que
corresponda, de acuerdo a las siguientes condiciones:
- Promociona, si obtuvo en los cuatro exmenes nota 7 o ms.
- Rinde examen final, si obtuvo nota 4 o ms en por lo menos tres exmenes.
- Recupera Parciales, si obtuvo nota 4 o ms en por lo menos uno de los exmenes.
- Recursa la materia, si no aprob ningn examen parcial.
El programa de emitir UNO SOLO de los carteles anteriores.
17) Hacer un programa para ingresar por teclado cuatro nmeros. Si los valores que se
ingresaran estn ordenados en forma creciente, emitir el mensaje Conjunto Ordenado, caso
contrario emitir el mensaje: Conjunto Desordenado.
Por ejemplo, si los nmeros que se ingresan son 8,10, 12 y 14, entonces estn ordenados.
-9-
Por ejemplo, si los nmeros que se ingresan son 8,12, 12 y 14, entonces estn ordenados.
Pero si los nmeros que se ingresan son 10,8,12 y 14, los mismos estn desordenados.
18) Hacer un programa para leer tres nmeros diferentes y determinar e informar el nmero
del medio, es decir el que no es ni mayor ni menor. Suponer que los 3 nmeros ingresados son
siempre distintos. Ejemplo, si se ingresan 6, 10, 8, se emitir 6.
19) Un negocio vende distintos artculos identificados por un cdigo entre 1 y 4. Los precios
de los artculos y las condiciones de venta son las siguientes:
- Artculos con cdigo 1: $ 10 por unidad
- Artculos con cdigo 2: $ 7 pesos por unidad y $ 65 la caja con 10 unidades.
- Artculos con cdigo 3: $ 3 pesos por unidad, si la compra es por ms de 10 unidades
se
aplica un 10% de descuento sobre el total de la compra.
- Artculos con cdigo 4: $ 1 peso por unidad
Hacer un programa para ingresar por teclado: el cdigo del artculo, la cantidad vendida y
luego se pide calcular e informar el importe a pagar por el cliente.
En el programa se ingresa un solo cdigo de artculo y una sola cantidad en cada ejecucin.
20) Una empresa de electricidad cobra el servicio a sus clientes de acuerdo a la siguiente
escala:
$ 0,10 por kilovatio por los primeros 100 kilovatios de consumo.
$ 0,12 por kilovatio por el consumo de 101 a 200 kilovatios.
$ 0,15 por kilovatio por el consumo de 201 kilovatios en adelante.
Hacer un programa para que dado el consumo en kilovatios de un determinado cliente, el
programa calcule e informe el total a pagar por el mismo.
Ejemplo 1: Si se ingresa un consumo de 55 kilovatios, entonces el programa calcular:
$ 0,10 x 55= $ 5,50
Ejemplo 2: Si se ingresa un consumo de 125 kilovatios, entonces el programa calcular:
$ 0,10 x 100 + $ 0,12 x 25=$ 13
Ejemplo 3: Si se ingresa un consumo de 250 kilovatios, entonces el programa calcular:
$ 0,10 x 100 + $ 0,12 x 100 + $ 0,15 x 50 = $ 29,50.
21) Una empresa de venta de boletos de micros tiene distintas tarifas segn el destino, servicio
(comn o diferencial) y compaa elegida por el pasajero. La siguiente tabla indica los precios
a pagar por el servicio comn por pasajero:
Compaa
1
2
3
Destino 1
$ 200.$ 220.$ 240.-
Destino 2
$ 150.$ 165.$ 180.-
Destino 3
$ 300.$ 330.$ 360.-
El dueo de la empresa le solicit a Ud., futuro programador, un programa para ingresar los
siguientes datos por cada venta:
-
Nmero de Destino (1 a 3)
Compaa (1, 2, 3)
Cantidad de pasajes solicitados por el pasajero
Servicio (1= comn, 2= diferencial )
El programa slo permite ingresar una venta por vez y calcula y emite el importe neto a pagar.
- 11 -
Trabajo Prctico 2
Ejercicios Resueltos
Ejercicio 1
Ejercicio 5
Se puede resolver de 2 maneras
Ejercicio 7
- 12 -
Ejercicio 10
Solucin 1
Ejercicio 10
Solucin 2
- 13 -
Ejercicio 13
MAX
N2
N2>MAX
SI
NO
MAX=N2
Igual para N3
Igual para N4
N5
N5>MAX
SI
NO
MAX=N5
MAX
- 14 -
Ejercicio 16
C7=C4=C=0
N1, N2, N3, N4
N1>=7
SI
NO
C7++
N1>=4
C4++
SI
NO
C4++
C++
C7==4
SI
NO
"PROMOCIONA"
SI
C4>=3
NO
"EXAMEN FINAL"
C4>=1
SI
NO
"RECUPERA PARCIAL"
C==4
SI
NO
"RECURSA"
- 15 -
Ejercicio 17
Se puede resolver de 2 maneras
- 16 -
((A>B)& &(A<C))
||
((A<B)& &(A>C))
NO
SI
((B>A)& &(B<C))
||
((B<A)& &(B>C))
A
SI
NO
- 17 -
Ejercicio 20
KV
KV>200
SI
EXC200=KV-200
EXC100=100
EXC0=100
NO
KV>100
SI
NO
EXC200=0
EXC100=KV-100
EXC0=100
EXC200=0
EXC100=0
EXC0=KV
IMP=EXC200*0.15+EXC100*0.12+EXC0*0.10
IMP
- 18 -
13) Hacer un programa para ingresar 5 nmeros, luego informar los 2 mayores valores
ingresados, aclarando cual es el mximo y cual el que le sigue.
Por ejemplo si la lista ingresada es 10, 8 ,12, 14 ,3 el resultado ser 14 y 12.
Atencin: si la lista ingresada es 14, 8 ,12, 14 ,3 el resultado ser 14 y 14.
Resolverlo de dos maneras:
a) Suponer que los 5 nmeros de la lista son todos positivos.
b) Suponer que los 5 nmeros pueden ser todos positivos, todos negativos, ceros o cualquier
combinacin de los anteriores.
14) Hacer un programa para ingresar por teclado un nmero superior o igual a 1 y luego
informar si el mismo es un nmero primo.
15) Hacer un programa para leer tres nmeros diferentes y determinar e informar el nmero
del medio, es decir el que no es ni mayor ni menor. Suponer que los 3 nmeros ingresados son
siempre distintos. Ejemplo, si se ingresan 6, 10, 8, se emitir 8.
16) Hacer un programa para ingresar una lista de 20 nmeros y luego informar si todos estn
ordenados en forma creciente.
Por ejemplo si la lista fuera:
1, 5, 7, 15,.......................120 se emitir un cartel que diga Conjunto Ordenado
3, 1, 8, 0, -3.......................15 se emitir un cartel que diga Conjunto No Ordenado
17) Dada una lista de 7 nmeros informar cual fue la ubicacin del primer y segundo nmero
impar ingresado.
Por ejemplo 8,4,5,6,9,5,7 se informa 3 y 5 posicin.
18) Dada una lista de 8 nmeros informar cual fue la ubicacin del primer y ltimo nmero
impar ingresado.
Por ejemplo 8,4,5,6,9,5,7,6 se informa 3 y 7 posicin.
19) Dada una lista de 8 nmeros informar el 1 par ingresado y el ltimo de los nros. primos.
Por ejemplo 7,4,5,6,9,13,10,6 se informa 4 y 13
Por ejemplo 9,7,5,21,9,13,15,6 se informa 6 y 13 (en este caso el primer par apareci
despus que el ltimo primo)
20) Hacer un programa para solicitar el ingreso de 10 ternas de nmeros enteros positivos e ir
mostrando para cada una de las ternas cual es el mayor nmero.
21) Hacer un programa para ingresar por teclado una lista de 10 nmeros. Se pide contar e
informar la cantidad de pares positivos consecutivos cuya diferencia absoluta sea mayor que 5.
Ejemplo:
12, -3, 4, 16, 8, -3, -5, 8, 10, 16
En esta lista existen 3 pares que cumplen esa condicin: (4-16) (16-8) (10-16), por lo tanto el
programa emitir un 3 como resultado.
Se sugiere consultar el ejercicio 7 del TP 2 referido a diferencia absoluta.
22) Hacer un programa para ingresar por teclado el nombre, sueldo y la antigedad de los 30
empleados de una empresa. Cada registro est compuesto por los siguientes datos:
- 20 -
Existe un total de 20 registros (uno para cada operario). Cada operario trabaja en alguno de los
tres sectores 1, 2 3.
Se pide determinar e informar:
a) Para cada uno de los 3 sectores el nmero del operario que obtuvo mayor cantidad de piezas
defectuosas. (se emitirn 3 resultados: los nmeros de operario para cada uno de los 3
sectores).
b) El sector cuyos empleados totalizaron mayor porcentaje de piezas defectuosas respecto al
total de piezas fabricadas en ese sector.
24) Se ingresan los datos de los 10 artculos que venda una empresa. Cada registro contiene:
- Nmero de artculo
- Precio Unitario
- Clase de artculo (a, b, c)
Se pide determinar e informar:
a) El nmero del artculo ms caro de la clase a. dem para clase b y c.
b) La clase (a, b c) cuyos artculos totalicen el mayor precio promedio. (Se debe
calcular el precio promedio por clase e informar cual de ellas es la que tiene mayor promedio)
25) Hacer un programa para ingresar una lista de 20 nmeros. Se pide luego determinar e
informar:
a) La cantidad de ternas de valores positivos consecutivos.
b) La cantidad de ternas de valores negativos consecutivos y ordenados en forma creciente.
Nota: si el nmero ingresado es cero, no se lo considera ni negativo ni positivo.
Por ejemplo, dada la siguiente lista de 12 nmeros:
10, 5, 4, 3, -8, -3, -1, 0, 3, 8, -5, 8
el programa detectar una terna de positivos consecutivos (10, 5, 4) y una terna de negativos
consecutivos ordenados (-8, -3, -1).
- 21 -
Trabajo Prctico 3
Ejercicios Resueltos
Ejercicio 5
Ejercicio 7
- 22 -
Ejercicio 8
Ejercicio 9
- 23 -
Ejercicio 13
- 24 -
Ejercicio 14
Ejercicio 15
- 25 -
Ejercicio 24
- 26 -
Ejercicio 25
- 27 -
9) Dada una lista de nmeros enteros todos distintos entre s y que finaliza con un cero,
determinar e informar con un cartel aclaratorio si los nmeros positivos primos que aparezcan
en la misma estn ordenados de menor a mayor. Los nmeros positivos primos pueden no ser
consecutivos, pero s estar ordenados.
Por ejemplo:
4, 5, 7, 12, 13, 0
Se emite un cartel que diga Ordenados (5,7 y 13)
2, 10, 3, 5, 11, 7, 14, 0
Se emite un cartel que diga Desordenados (2, 3, 5, 11 y 7)
- 28 -
10) Dada una lista de nmeros enteros todos distintos entre s y que finaliza con un cero,
determinar e informar con un cartel aclaratorio si la suma de los dos primeros nmeros primos
es igual a la suma de los dos ltimos nmeros pares.
11) Hacer un programa para que dada una lista de nmeros que finaliza cuando se ingresa un
cero se informe cual fue la ubicacin del 1 y 2 nmero impar ingresado.
Por ejemplo 6, 2, 3, 10, 9, 4, 7, 0. Se informa 3 y 5 posicin.
12) Dada una lista de nmeros que finaliza cuando se ingresa un cero, se pide informar el 1
par ingresado y el ltimo de los nmeros primos.
Por ejemplo 7,4,5,6,9,13,10,6,0 se informa 4 y 13
Por ejemplo 9,7,5,21,9,13,15,6,0 se informa 6 y 13
En este ltimo caso el primer par apareci despus del ltimo primo.
13) Hacer un programa para ingresar por teclado dos sublotes compuestos ambos de nmeros
todos distintos de cero, finalizando cada sublote cuando se ingresa un cero. Por cada sublote
se pide obtener y emitir:
a) La cantidad de valores positivos (de no haber positivos, indicar con un cartel)
b) La cantidad de valores negativos (de no haber negativos, indicar con un cartel)
c) El mximo valor de cada sublote.
d) El mnimo valor de cada sublote.
14) Se dispone de un lote de registros con todos valores positivos, dividido en sublotes por
medio de registros que contienen un valor cero. Confeccionar un programa para:
a) Calcular el promedio de valores de cada sublote.
b) Determinar e informar el valor mnimo de todo el lote, indicando en que sublote se
encontr y su posicin relativa en el mismo.
c) El mayor de los promedios y a que sublote perteneca.
Todos los sublotes finalizan con valor cero, incluso el ltimo y para indicar el fin del lote se
coloc un registro con valor negativo.
15) Hacer un programa para ingresar por teclado 10 sublotes, compuesto por nmeros
ordenados de menor a mayor. El final de cada sublote se detecta al ingresar un nmero menor
a su anterior.
Se debe obtener y emitir:
a) Para cada uno de los sublotes la cantidad de nmeros primos que lo componen.
b) El mximo de cada una de los sublotes.
Ejemplo de cmo se conforman los sublotes:
-20, -5, 8, 2, 20, 35, 42, 12, 22, ...........
Lote 1
Lote 2
Lote 3
- 29 -
16) Dada una lista de nmeros compuesta por 10 subgrupos y cada subgrupo separado del
siguiente por un cero, se pide determinar e informar:
a) Para cada uno de los subgrupos el mximo de los nmeros pares y el mximo de los
nmeros impares.
b) Para cada uno de los subgrupos el porcentaje de nmeros negativos y nmeros positivos.
c) Cuantos nmeros haba en total entre los 10 subgrupos, sin contar los ceros que separan a
cada subgrupo.
17) Una compaa de electricidad necesita calcular anualmente el consumo que ha registrado
cada uno de sus usuarios y el monto pagado por cada uno de ellos.
Para ello, tiene un lote de registros por cada uno de los usuarios con los siguientes datos:
- Zona (1 a 10)
- Nmero de cliente (4 nmeros no correlativos)
- Lectura del medidor para el mes anterior (kilovatios)
- Lectura del medidor para el mes actual (kilovatios)
El lote se encuentra agrupado (no ordenado) por zona y finaliza con un registro con zona igual
a cero.
Se pide generar un listado con el siguiente formato:
Zona: XX
Cantidad de Usuarios de la zona: XXX
Total Facturado en la zona: XXX
Zona: XX
Cantidad de Usuarios de la zona: XXX
Total Facturado en la zona: XXX
El precio es escalonado segn la siguiente escala:
$ 0,10 por kilovatio por los primeros 100 kilovatios de consumo.
$ 0,12 por kilovatio por el consumo de 101 a 200 kilovatios.
$ 0,15 por kilovatio por el consumo de 201 kilovatios en adelante.
Alguien que consume 250 kilovatios, debe pagar $ 0,10 x 100 + $ 0,12 x 100 + $ 0,15 x 50.
18) Hacer un programa para ingresar los valores de los pesos de distintas encomiendas que se
deben enviar a distintos clientes y que finaliza cuando se ingresa un peso negativo. Se deben
agrupar las encomiendas en camiones que pueden transportar hasta 200 kilos en total.
Por ejemplo: 10, 20, 140, 70, 100, 40, 10, 50, 80, 90, 30, 40, 50, -10.
Camin 1 Cam. 2 Cam. 3
Cam. 4
Cam. 5
Se pide determinar e informar:
a) El nmero de cada camin y peso total de encomiendas. (Camin 1: 170 kg, Camin 2: 170
kg)
b) El nmero de camin que transporta mayor cantidad de encomiendas. (En el ejemplo
anterior sera el Camin 3 con 4 encomiendas)
- 30 -
19) Se dispone de una lista de 10 grupos de nmeros enteros separados entre ellos por ceros.
Se pide determinar e informar:
a) El nmero de grupo con mayor porcentaje de nmeros impares positivos respecto al total de
nmeros que forman el grupo.
b) Para cada grupo el ltimo nmero primo y en que orden apareci en ese grupo, si en un
grupo no hubiera nmeros primos informarlo con un cartel aclaratorio.
c) Informar cuantos grupos estn formados por todos nmeros ordenados de mayor a menor.
20) Una empresa registr las ventas que realiz durante el mes anterior. Para cada venta se
tienen los siguientes datos:
-
Este lote finaliza con un registro con nmero de artculo igual a cero.
Los registros estn agrupados (no ordenados) por nmero de artculo y hay un solo registro
por da y por nmero de artculo. En el lote no aparecen registros de los artculos que no se
vendieron durante alguno o ningn da del mes.
A partir de este lote se pide determinar e informar:
a) El nmero del artculo ms vendido en total considerando las ventas de la primera quincena
(da 1 al 15)
b) Para cada uno de los artculos informar la recaudacin total considerando todas las ventas
del mes.
c) Informar la quincena en la que se vendi mayor cantidad de artculos en total.
d) Informar el nmero de artculo del que menos cantidad se haya vendido en un da,
indicando adems que da fue.
21) Dada una lista de nmeros compuesta por 20 subgrupos y cada subgrupo separado del
siguiente por un cero, se pide determinar e informar:
a) La cantidad de subgrupos en los que se detecten un total de 4 o ms nmeros primos
consecutivos y ordenados en forma creciente. (se informa 1 resultado al final)
b) Para cada uno de los subgrupos en los que se haya detectado nmeros negativos, el mayor y
el segundo mayor de los mismos y en que posicin estaban dentro del subgrupo. En los
subgrupos sin negativos, informar Subgrupo sin negativos. (se informan 4 resultados por
cada subgrupo)
c) El mayor nmero primo de todos los subgrupos, informando adems en que subgrupo y en
que posicin del mismo fue detectado. (se informan 3 resultados al final)
22) Una empresa area registr los vuelos durante el mes pasado. La empresa cuenta con una
flota de 40 aviones y un total de 250 itinerarios. El lote finaliza con un registro con cdigo de
avin igual a cero. Cada registro contiene:
- Nmero de avin (Un numero entre 1000 y 2000, no correlativos)
- Nmero de itinerario efectuado (Un nmero entre 1 y 250)
- 31 -
- 32 -
Ejercicio 6
- 33 -
Ejercicio 8 Solucin 1
- 34 -
Ejercicio 8 Solucin 2
- 35 -
Ejercicio 11
- 36 -
Ejercicio 15
- 37 -
Ejercicio 18
- 38 -
Ejercicio 19
- 39 -
- 40 -