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