Informática I
Universidad Tecnológica Nacional - Facultad Regional Avellaneda
Ing. Alberto Varela - 2003
Ejercicios de orientación acerca
del estilo del Exámen Final de la Materia.
1) Indicar , en seudocódigo
y en C, las distintas estructuras de repetición.
2) Resolver, en seudocódigo y en C:
Una empresa tiene 10 productos en fabricación, numerados de
101 a 110. Elabora esos productos en cualquiera de sus 4 plantas, numeradas
de 1 a 4
Cada vez que una planta elabora cierta cantidad de un
producto (una partida) hace una ficha con los datos:
NPLA Nro de planta - de 1 a 4
NPRO Nro de producto - de 101
a 120
CAN Cantidad de unidades
producidas
Se desea procesar todas las fichas, cuya cantidad no se conoce, (El operador
tampoco sabe cuántas son), para obtener un listado con el siguiente
encabezamiento y ordenado de menor a mayor por la columna TOTAL:
Producto Planta1
Planta2 Planta3 Planta4
TOTALproducido
También deberá indicarse por pantalla:
a) ¿Cuál de las Plantas fabricó
la mayor cantidad del producto 103?
b) Del productos 120 , ¿cuántas partidas
fueron inferiores a las 500 unidades ?
c) ¿Cuántos tipos de productos distintos
fabricó la Planta 4?
A) Indicar cuáles son las estructuras de selección,
en seudocódigo y en C.
B) Resolver el siguiente ejercicio en seudocódigo
y codificarlo en C:
Una heladería tiene 10 locales de expendio, numerados de 1
a 10. La empresa fabrica 25 variedades de helados, que tiene catalogados
con códigos numéricos de 101 a 125. Cada vez que
envía algún tipo de helado a los locales se genera una ficha
donde se registra:
COD (Código del producto, de 101 a
125)
LOC (Local de expendio, de 1 a 10)
CAN (Cantidad de Kg del Código
que figura en esta ficha)
Al cabo de un tiempo se desea procesar todas las fichas (de las que no se
conoce su cantidad ni están ordenadas de ninguna manera y puede haber
fichas con datos repetidos), para obtener un listado de los Kg enviados de
cada Producto a cada Local, con el siguiente encabezamiento y ordenado
de mayor a menor por la columna "Todos los Locales"
Prod Código Loc 1 Loc 2 …
Loc 8 Loc 9 Loc 10 Todos los Loc
Además de debe indicar por pantalla:
1) Cuántos Kg de producto 110 se enviaron a Todos
los Locales
2) Qué local recibió el envío unitario
de mayor cantidad de producto 105
3) Cuantos Kg de productos 101 y 102 sumados recibió
en total el local 7
A) Describir el funcionamiento de la estructura "while"
del C.
B) Resolver en Seudocódigo y en C el siguiente
problema:
Una empresa que tiene 5 filiales (numeradas de 1 a 5), cada
una con cinco vendedores (A;B;C;D;E), desea procesar una cantidad no conocida
de fichas no ordenadas, correspondiente a ventas individuales y que poseen
los siguientes datos:
Código Filial - Código Vendedor - Monto
de la venta ($)
Se quiere tener un listado de las MONTOS de la Ventas por Filial, con el
siguiente encabezamiento, ordenado de mayor a menor por la columna TOTAL:
Cod. Filial Vend A Vend B Vend
C Vend D Vend E TOTAL
Además quiere tenerse por pantalla los siguientes resultados:
1- Cuántos vendedores superaron los $ 10.000 en
ventas
2- El Código de filial, el código de Vendedor
y el monto de la venta mayor.
A) Describir el funcionamiento de la estructura " do .... while"
del C.
B) Resolver el siguiente ejercicio y codificarlo en C:
Una pinturería tiene 22 locales de venta, numerados de 1 a
22. La empresa trabaja 50 productos que tiene catalogados con códigos
numéricos de 1000 a 1049. Cada vez que se vende un producto
se genera una ficha donde se registra:
COD (Código del producto, de 1000 a
1049)
LOC (Local de venta, de 1 a 22)
CAN (Cantidad de unidades vendidas del
Código que figura en esta ficha)
Se dispone además de los precios de los productos, que están
en 50 fichas, cada una con estos datos:
COD (Código del producto, de 1000 a 1049)
PLU (Precio de Lista Unitario)
Se desea procesar todas las fichas (las de precios son exactamente 50. Las
de ventas, no se conoce su cantidad ni están ordenadas de ninguna manera
y puede haber fichas con datos repetidos) para obtener un listado de los
MONTOS vendidos por cada Local y cada Producto, con el siguiente encabezamiento
y ordenado de mayor a menor por la columna "Todos los Locales"
Prod Código Loc 1 Loc 2 Loc 3 Loc 4 … Loc
20 Loc 21 Loc 22 Todos los Loc
A) Describir el funcionamiento de la estructura "switch"
del C.
B) Resolver en Seudocódigo y en C el siguiente
problema:
Un Instituto Educativo que tiene 7 cursos (numerados de 1 a 7), cada
uno con cinco materias (A;B;C;D;E), desea procesar una cantidad no conocida
de fichas no ordenadas, correspondiente a exámenes individuales y que
poseen los siguientes datos:
Curso - Materia - Nota (0a 10) - Nombre y Apellido
Se quiere tener un listado de las notas promedio con el siguiente encabezamiento,
ordenado de mayor a menor por la columna TOTAL:
Nro. De Curso Mat A Mat B
Mat C Mat D Mat E TOTAL
Además quiere tenerse por pantalla los siguientes resultados:
1- Cuántos alumnos del Curso 5 no aprobaron (nota
menor a 4) la materia C
2- El Nombre y Apellido del Alumno con mejor Nota en la
Materia D
1) Indicar , en seudocódigo y en C, la estructura
"if ... else"
2) Resolver, en seudocódigo y en C:
Una empresa de transporte efectúa 20 recorridos, numerados de
101 a 120. Para ello utiliza cualquiera de sus 6 camiones, numerados
de 1 a 6.
Cada vez que un camión efectúa un viaje
hace una ficha con los siguientes datos:
NREC Nro de recorrido
NCAM Nro de camión
ATENCION: Un mismo camión puede hacer más
de una vez el mismo recorrido y además un mismo recorrido puede ser
efectuado por más de un camión.
Se desea procesar todas las fichas, cuya cantidad no se conoce, para obtener
un listado de viajes con el siguiente encabezamiento y ordenado de mayor a
menor por la columna TOTAL:
Recorrido Camión 1 Camión 2
Camión 3 Camión 4 Camión 5 Camión
6 TOTAL
Además deberá imprimirse:
- Qué camión hizo más veces el recorrido 112.
- Cuantas veces se realizó el recorrido 109 (no importa con
cuál camión)
1) Indicar cuáles son las estructuras básicas en programación
estructurada. Expresarlas en seudocódigo y en C.
2) Resolver en seudocódigo y luego codificar en lenguaje C:
Se poseen 15.389 fichas con los siguientes
datos :
NRA (Un nro. entero positivo)
NRB (Un Nro. entero Positivo)
L (Una letra de entre las 27 del alfabeto
castellano)
Deben procesarse las fichas, que no están ordenadas,
para obtener la siguiente información :
Un listado con el sig. Encabezamiento:
Letra --Suma de Nros. A ---- Suma de Nros. B ---- Suma de Nros.A
y B
Ordenado de mayor a menor según la columna Suma.
Además debe indicarse en pantalla:
a) cuántas veces aparece la letra B ?
b) qué letra tiene la ficha con el mayor valor
de NR1 ?
c) cuál es el menor valor de (NR1 + NR2) en una
ficha ?
d) Cuál es el promedio de los NR2?
1) Indicar cuáles son las estructuras básicas en programación
estructurada. Expresarlas en seudocódigo y en C.
2) Resolver en seudocódigo y luego codificar en lenguaje C:
Se poseen N fichas con los siguientes datos (N
es un número que conoce el operador del programa y que no puede ser
mayor que 10.000. El programa debe pedir que se ingrese el valor de N):
NR1 (Un nro. entero positivo)
NR2 (Un Nro. entero Positivo)
L (Una letra)
Deben procesarse las fichas, que no están ordenadas,
para obtener la siguiente información :
Un listado con el sig. Encabezamiento:
Letra ------- Nro. 1 --------- Nro. 2 ----
Suma de Nro1 y Nro.2
Ordenado de mayor a menor según la columna Suma.
Además debe indicarse en pantalla:
a) cuántas veces aparece la letra B.
b) qué letra tiene la ficha con el mayor valor
de NR1.
c) cuál es el menor valor de (NR1 + NR2) en una
ficha.
d) Cuál es el promedio de los NR2.
Codificar en seudocódigo y en C:
Una empresa aérea dispone para sus vuelos de 15 naves (todas de iguales
características) y cubre 10 recorridos, Cualquier nave puede hacer
cualquier recorrido. Por cada vuelo se genera una ficha donde figura:
NN Número de Nave (1 a 15)
NR Número de recorrido (1 a 10)
DS Día de la semana (lu, ma, mi, ju, vi, sa, do)
NS Número de semana en el año (1 a 52)
Se desean procesar las fichas correspondientes a varias semanas y cuya cantidad
no se conoce (no todas las naves hicieron todos los recorridos
y alguna pudo hacer un mismo recorrido varias veces) para obtener un listado
donde figurará la cantidad de veces que se hicieron los recorridos,
ordenado de mayor a menor por la última columna, con el siguiente
encabezamiento:
NRO. DE NAVE - REC 1 - REC 2 - REC 3 - REC 4 - REC 5-
REC 6 - REC 7 - REC 8 - REC 9 - REC 10 - TODOS los
Rec.
Además se debe indicar por pantalla:
a)Cuántos recorridos 4 hizo la nave 12.
b)cuántas veces se hizo el recorrido 7.
c)cuántos vuelos se hicieron en días martes.
d)Cuál fue el total de vuelos de la semana 27.
Resolución.
Seudocódigo:
Inicio
---Comentario: puesta a cero de contadores ---
ntNN12nr4 <-- 0
contNR7 <-- 0
contma <-- 0
contNS27 <-- 0
---Comentario: puesta a cero de una matriz que acumulará
los valores de impresión (la cantidad de viajes
efectuados por Nro. de Nave y por recorrido)----
para I desde 0 hasta 14 hacer
para J desde 0 hasta 11 hacer
M[I][J] <--
0
fin para
fin para
---Comentario: lectura de una primer ficha (la cantidad
de fichas no se conoce ni están ordenada de ninguna
manera)---
escribir ("Ingrese el número de Nave de la primer
ficha- Sale del proceso con Cero")
leer(NN)
---Comentario: Ingreso al lazo de repetición.
Se sale con la condición falsa ---
mientras ((NN >0) Y (NN < 11)) hacer
escribir ("Ingrese el resto de datos
de la ficha")
leer(NR, DS, NS)
M[NN-1][NR] <--- M[NN-1][NR]+ 1
M[NN-1][11] <--- M[NN-1][11]+ 1
si ((NN = 12) Y (NR = 4) entonces
contNN12nr4 <--
contNN12nr4 + 1
fin si
si (NR = 7) entonces
contNR7 <-- contNR7
+ 1
fin si
si (DS = "ma") entonces
contma <--
contma + 1
fin si
si (NS = 27) entonces
contNS27 <--
contNS27 + 1
fin si
escribir ("Ingrese el número
de Nave de la próxima ficha- Sale del proceso con Cero")
leer(NN)
fin mientras
---Comentario: Ordenanmiento de la matriz---
para I desde 0 hasta 13 hacer
para J desde (I+1) hasta 14 hacer
si (M[I][11] <
M[J][11]) entonces
para L desde 0 hasta 11 hacer
aux <-- M[I][L]
M[I][L] <-- M[J][L]
M[J][L] <-- aux
fin para
fin si
fin para
fin para
---Comentario: Impresión de títulos
--
imprimir("NRO. DE NAVE - REC 1 - REC 2 - REC
3 - REC 4 - REC 5- REC 6 - REC 7 - REC 8 -
REC 9 - REC 10 -
TODOS los Rec.")
---Comentario: Impresión de valores ---
para I desde 0 hasta 14 hacer
para J desde 0 hasta 11 hacer
imprimir(M[I][J])
fin para
imprimir(/nuevalinea)
fin para
---Comentario: presentación resultados por
pantalla---
escribir("Total de recorridos 4 que hizo la nave 12: ",contNN12nr4)
escribir("Veces que se hizo el recorrido 7: ",contNR7)
escribir("Vuelos que se hicieron en días martes:
",contma)
escribir("Total de vuelos de la semana 27: ",contNS27)
fin.
Home
: http://varelasite.com.ar