guiaprogramacion2_ultimas

Upload: lora-foreman

Post on 06-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 guiaprogramacion2_ultimas

    1/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    Programación 2ObjetivosDesarrollar habilidades en la definición y utilización de estructuras estáticas de datos, como mecanismo de programaciónpara la manipulación de grandes volúmenes de información.

    Utilizar un lenguaje de programación que permita la definición de las estructuras de datos estáticas tales como rreglos!vectores y matrices", registros y vectores de registros.Contenidos1. Introducción#.#. $a programación imperativa#.%. &structuras de control !repaso de conceptos"#.'. &structuras de datos estáticas!(onceptualización"#.'.#. rreglos !Unidimensionales o vectores, bidimensionales o matrices, multidimensionales"%)#.'.%. *egistros#.'.'. (ombinación de estructuras !rreglos de registros"#.+. &structuras dinámicas de datos !conceptualización de listas, arboles, grafos"#.. -rogramación modular !la función como fundamento de la programación modular"

    2. Estructuras de datos estáticas2.1. Arreglos2.1.1. Arreglos Unidimensionales o Vectores%.#.#.#. (onceptualización%.#.#.%. Definición de vectores en un lenguaje de programación%.#.#.'. (aptura, almacenamiento, recorridos y procesamiento de datos en vectores%.#.#.+. -aso de vectores como parámetros a una función%.#.#.. plicación del concepto en la resolución de problemas2.1.2. Cadenas de caracteres !tring"%.#.%.#. $as cadenas de caracteres como un caso particular de los vectores%.#.%.%. (aptura y almacenamiento de caracteres y de cadenas%.#.%.'. anipulación de vectores de caracteres !cadenas"

    %.#.%.+. /unciones predefinidas para la manipulación de cadenas de caracteres%.#.%.. plicación del concepto en la resolución de problemas2.2. Arreglos bidimensionales o #atrices%.%.#. (onceptualización%.%.%. Definición de atrices en un lenguaje de programación%.%.'. (aptura, almacenamiento, recorridos y procesamiento de datos en atrices%.%.+. -aso de atrices como parámetros a una función%.%.. plicación del concepto en la resolución de problemas2.$. %egistros%.'.#. (onceptualización%.'.%. Definición de registros en un lenguaje de programación%.'.'. (aptura, almacenamiento y procesamiento de datos en registros

    %.'.+. plicación del concepto en la resolución de problemas2.&. Combinación de estructuras estáticas de datos%.+.#. rreglos y matrices como campos dentro de un registro%.+.%. rreglos de registros$. Arc'ivos'.#. (onceptualización'.%. &ntrada y salida de datos mediante archivos'.'. plicación del concepto en la resolución de problemas

    1

  • 8/17/2019 guiaprogramacion2_ultimas

    2/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    (ibliogra)*a %ecomendada • /undamentos de -rogramación, lgoritmos, &structuras de datos y 0bjetos, $uis 1oyanes guilar, 2ercera edición.

    &ditorial c3ra4 5ill.• /undamentos de -rogramación, lgoritmos y &structuras de datos, $uis 1oyanes guilar, 6egunda edición. &ditorial

    c3ra4 5ill.• /undamentos de -rogramación, $ibro de problemas, $uis 1oyanes guilar, &ditorial c3ra4 5ill.• 2urbo (7(88 '.# anual de referencia, 5erbert 6childt, c3ra4 5ill

    %esumen de notaciones de las estructuras de control

    &structurasde control

    $ineales osecuenciales

    • Entrada de datos• !alida de datos• Asignación

    9o $ineales   • +e selección ocondicionales

    • *epetitivas• Para • #ientras ,ue• -acer mientras

    &structuras de control9ombre Diagrama de flujo 6eudocódigo &n (&ntrada o captura dedatos

     b$eer b scanf ! :;d< , =b ">

    6alida o impresión dedatos

    a?mprimir a printf !:cadena de

    formateo < , a ">

    signación

     a = b+c

      a @ b 8 c a @ b 8 c >

    &structura deselección ocondicional

    6i condición entonces

    ...... ?nstruccionespara ...... cuando lacondición sea ......verdadera

      if ! condición " A

    ...... ?nstrucciones enc ...... para cuandola ....... condición sea....... verdadera

    2

  • 8/17/2019 guiaprogramacion2_ultimas

    3/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    ondici!nsino

    6ino

    ....... ?nstruccionespara ....... cuando la

    condición ....... sea falsa

    /in si

    B else A

    ...... ?nstrucciones enc ...... para cuando

    la ....... condición sea........ falsaB>

    &structura repetitiva-ara

     i=1" n " 1

    -ara i@# hasta n inc # haga

    ..... ?nstrucciones a repetir

    fin para

     for ! i @# > iC@n > i@i8# "A

    ..... ?nstrucciones a repetir

     B>

    &structura repetitivaientras que

    ondici!nno

    si

    condición haga

    ..... ?nstrucciones a repetir

    fin

      4hile ! condición " A

    ..... ?nstrucciones a repetir

     B>

    &structura repetitiva5acer ientras

    ondici!n

    si

    no

    5acer

    ..... ?nstrucciones a repetir

    condición

    Do A

    ..... ?nstrucciones a repetir

    B 4hile ! condición ">

    #

  • 8/17/2019 guiaprogramacion2_ultimas

    4/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    P%O%A#ACI/0 #O+UA% U0CIO0E!"

    #.   ⇒5acer la función /actorial.

    >==0$$$$%#21

    00&

    n sin x x x

    n sin

    %.   ⇒(ree la función -otencia 

    ==

    <

    >

    =≠

    ≠=

    =

    00

    01

    0'(

    001

    000

    1

     y y x sidefinidono

     y si x

     y si x x

     y y x si

     y y x si

     x

     y

     y y

    '.   ⇒(alcule la siguiente formula Seno x  xk 

    ( ' ( '( '&

    = −+

    +

    =

    ∑ 12 1

    2 1

    0

    1)

    +.   ⇒&scriba una función llamada digfinal  que tenga un parámetro de entrada llamado número y que entregue comoresultado el dEgito de las unidades del número. -or ejemplo, si el número es %'+, el resultado es +.

    .   ⇒&scribe una función que tome ' parámetrosF dos de tipo enteros y uno de tipo carácter. $a función deberá sumar,restar, multiplicar o dividir los valores de los dos primeros parámetros dependiendo del código indicado en el tercerparámetro, y devolver el resultado. !el carácter será G8H, GIG, G J H, y G7 H"

    ).   ⇒&scribe una función que devuelva el !a" factorial, !b" nIsimo número de /ibonacci, de su argumento.

    K.   ⇒&scriba una función que imprima los divisores y la suma de los divisores de todos los enteros que se encuentranentre dos valores m y n dados por el usuario. -or último la función debe regresar cuál fue el número cuya suma dedivisores fue mayor. -or ejemplo, si m=100 y n=110, entonces la salida seráF

    i Divisores suma#LL # % + #L %L % L #LL %#K. . .##L # % #L ## %% ##L %#)

    M.   ⇒6e dice que dos números a y b son :amigos< si cada uno de ellos es la suma de los divisores del otro. -or ejemplo,los más pequeNos son %%L y %M+> comprobOmosloF

    DivisoresDe!%%L" @ !#, %, +, , #L, ##, %L, %%, ++, , ##L"6umaDivDe!%%L" @ %M+

    DivisoresDe!%M+" @ !#, %, +, K#, #+%"6umaDivDe!%M+" @ %%L

    a. escriba una función que recibiendo dos números devuelva si son amigos o nob. escriba una función que tenga como entrada un número natural n y que GescribaH todas las parejas de númerosamigos que ePistan menores que n.

    Q.   ⇒5aga un programa que despliegue un menú que ayude en la operación de la pizzerEa :Domino (icom

  • 8/17/2019 guiaprogramacion2_ultimas

    5/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    • (alculaF determina el precio de la pizza y el tiempo de entrega del pedido realizado.$as pizzas chicas !GcH" cuestan KL pesos, las medianas !GmH" QL, las grandes !GgH" ##L y las familiares !GfH" #'L. demás, cadaingrediente solicitado cuesta #L pesos.&l tiempo de entrega de las pizzas es de %L minutos, a menos que sea una pizza familiar o que tenga más de '

    ingredientes, en cuyo caso el tiempo de entrega es de 'L minutos.

    #L.   ⇒ !JJ" 5acer un programa utilizando funciones que visualice el triángulo de -ascal.

    ## #

    # % ## ' ' #

    # + ) + ## #L #L #

    # ) # %L # ) ## K %# ' ' %# K #

    *ecuerde que, por ejemplo, la tercera lEnea está dada por los combinatoriosF2

    0C   2

    1C   2

    2C 

    Utilice una función enteraF combinaciones(r, k)  que regrese las combinaciones de r tomadas de R en R. 6uponga que rrepresenta el renglón del triángulo y R la columna del mismo.

    '&(&

    &

    k r k 

    r C 

    =

    &sta función, a su vez, utiliza otra función auPiliarF   factorial (r)

    ##.   ⇒5acer un programa en $enguaje ( de forma modular que calcule los números narcisistas del # al #LLLL, el programadeberá generar una lista de aquellos números que cumplan con el requisito de ser narcisista.Un número narcisista es un 9úmero de n dEgitos que resulta ser igual a la suma de las potencias de orden n de sus

    dEgitos.&jemploF # @ ##

      #' @ #S 8 S 8 'S.  Q+K+ @ Q+ 8 ++ 8 K+ 8 ++

    &l programa deberá contener las siguientes funcionesFUna función que cuente el número de dEgitos de un numero enteroUna función potencia para calcular el resultado del dEgito elevado a dicha potencia.Una función donde se desglosará el número en cifras, calcule la suma de potencias y diga si el numero es o nonarcisista.

    #%. -ara resolver las siguientes preguntas de la # a la considere la función funcion# y el arreglo 3 dadorreglo 3

    #+ '+ ) % +) K %' )K QM % MQint funcion#!int PT, int n, int v "Aint r @ L, R @ )>for! i @ L> iCn> i88"A

    if! PT i @ @ v"Ar @ i>R @ R 8#>

      B>B>return! P T r ">

    )

  • 8/17/2019 guiaprogramacion2_ultimas

    6/40

  • 8/17/2019 guiaprogramacion2_ultimas

    7/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    *esumen de &structuras de datos

    &structurasde Datos

    &státicas

    rreglos Unidimensionales o vectores

    Yidimensionales o matrices ultidimensionales

    *egistros

    (ombinaciones *egistros con campos que son

    arreglos rreglos de registros

    Dinámicas   $istas encadenadas rboles 3rafos en general

    6e denominan estructuras estáticas aquellas colecciones de datos cuyo número de datos se define en tiempo de diseNo, esdecir cuando se está escribiendo el código del programa y por eso durante la ejecución del programa la colección de datosno podrá incrementarse, es decir que si una estructura está diseNada para almacenar L datos, en tiempo de ejecución nopodrá incrementarse este tamaNo, por lo tanto solo podrá almacenar esos L datos.ientras que las estructuras dinámicas son colecciones de datos que en tiempo de ejecución pueden incrementar el númerode miembros !datos" que pertenecen a la estructura &ste es el caso de las listas encadenadas para lo cual se requiereconceptos !que no son del alcance de esta materia" como la asignación dinámica de memoria.&n algunos lenguajes se permite que en tiempo de ejecución se cambie el tamaNo de algunas estructuras estáticas comolos vectores.. pero para evitar ambigZedad de conceptos, esto no se tendrá en cuenta. &n este curso las estructurasestáticas no cambian de tamaNo en tiempo de ejecución.

    Dentro de las estructuras de datos estáticas están los arreglos que son colecciones de datos del mismo ti3o4 referenciadas con un solo nombre, y que para acceder a cada uno de los datos de la colección se hace uso de subEndices.(uando solo se necesita un subEdice para acceder a los datos de la coleccón, a estas estructuras se les llama arreglosunidimensionales o vectores. 6i se necesitan dos subEndices se les llama arreglos bidimensionales o matrices y si esnecesario tres o más subEndices se les conoce como arreglos multidimensionales.

    A%%EO! U0I+I#E0!IO0AE! VEC5O%E!"Un vector o arreglo unidimesional es una colección de datos del mismo tipo, referenciada con un solo nombre y que paraacceder a cada uno de sus datos, se necesita un subEndice que en este caso indica la posición !de orden" donde seencuentra almacenado un dato, dentro de la colección.

    7

  • 8/17/2019 guiaprogramacion2_ultimas

    8/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    2#% %) 22 *) 21 %) 127A

    1 2 # %0 n1$ $ $ $ $

     ,ombre de la colecci!n de datos

     ,ombre del -ector 

    Subíndice que indica la .osici!n

    donde se encuentra almacenado

    un dato dentro de la colecci!n(/ector'

    ato que est almacenado en la

     cuarta .osici!n de la colecci!n (/ector'

    A13An+13

    A#3

    2#%4 %)4224*)4 etc son datos del mismo ti.o

    (en este caso todos son enteros'4 que estn almacenadosen esta colecci!n (/ector o arreglo unidimensional'4

    llamada A y que tiene ca.acidad .ara almacenar n datos

    *ecuerde que todos los ejercicios se deben realizar de forma modular#. 5acer un programa en $enguaje ( para llenar un vector de #L posiciones, para posteriormente determinar cuantos

    números son positivos y cuantos negativos.%. 5acer un programa en $enguaje ( para llenar un vector de # posiciones para posteriormente determinar el

    número menor y la posición que ocupa.!modif. un vector de 9 posiciones :9 dado por teclado

  • 8/17/2019 guiaprogramacion2_ultimas

    9/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    #%. 5acer un programa en $enguaje ( para llenar dos vectores de 9 posiciones !9 dado por teclado" paraposteriormente hallar un tercer vector con los valores del primero que están en el segundo.

    #'. 5acer un programa en $enguaje ( para llenar dos vectores de 9 posiciones !9 dado por teclado" paraposteriormente hallar un tercer vector con los valores del primero que no están en el segundo.

    #+. $eer un vector de enteros de n datos !n dado por teclado y #CnC%LL" y clasificar los datos del vector en dosvectores uno con los números primos y otro con los números perfectos.Un número es primo si solo tiene dos divisores, # y Ol mismo, ejemplos #,%,',,K,## etcUn número es perfecto si la suma de sus divisores propios es igual a Ol mismo. &jemplo el ),%M,etc-or ejemplo para un vector dado por teclado como el siguiente% +L % K +L %M #K + ) L +

    $os datos clasificados en el vector de primos esF% K #K

    ^ el vector de perfectos es%M )

    #. &n la piscina de la universidad se va a realizar un campeonato de clavados para n deportistas !n dado por teclado".$os deportistas serán calificados por un jurado de #L personas. -ara calcular su puntuación se determina elpromedio de los puntajes dados por jurado calificador pero con la única salvedad que la peor y la mejor nota no setienen en cuenta.(ree un vector con el promedio de las calificaciones y luego determine el promedio mas alto y la mas bajo de losdeportistas&jemploF

    +.Q K.) . '.# K.Q +.) Q.L M.+ ,+ ),%L # % ' + ) K M Q

    -rom@ !+.Q8K,)8,8K,Q8+,)8M,+8,+8),%"7M

    $as calificaciones ',# y Q,L no son tenidas en cuenta por ser la más alta y la más baja#). 5acer un programa en $enguaje ( para llenar un vector de 9 posiciones !9 dado por teclado", para

    posteriormente, ordenarlo de mayor a menor.#K. 5acer un programa en $enguaje ( para llenar % vectores ]# y ]% de 9 posiciones !9 dado por teclado", para

    posteriormente, ordenarlo de ma6or a menor de )orma 3aralela  usando a ]# como vector base.#M. 5acer un programa en $enguaje ( para leer el código, la edad y el salario de 9 empleados !9 dado por teclado" e

    imprimirlo en orden de salario#Q. 5acer un programa en $enguaje ( para que lea dos vectores de diferente número de elementos, los ordene y

    posteriormente los mezcle en un tercer arreglo guardando el orden.*estricciónF no se deben unir los arreglos en desorden, ni copiar un arreglo completo, es decir, los elementos quese almacenen en el tercer arreglo se deben ir guardando en orden.

    %L. 5acer un programa en $enguaje ( que lea dos vectores de igual tamaNo y cree un nuevo vector con los datos de

    los dos primeros pero intercalados. -or ejemplo si los dos vectores sonF% +L % K +L %M #K

    ' + %' % % + K%

    &l vector resultante esF% ' +L + % %' K % +L % %M + #K K%

    %#. 6e tiene el arregloventas

    6

  • 8/17/2019 guiaprogramacion2_ultimas

    10/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    L # % #L ##v ene v feb v mar  . . v nov  v dic

    donde se almacenan las ventas mensuales de una empresa.

    &labore una función que muestre los siguientes datosFa" _&n quO mes se dieron las ventas máPimas de la empresa`b" _ cuánto ascendieron las ventas máPimas`c" _(uál fue el total de las ventas`d" _(uál fue el promedio de las ventas`

    %%. Un casino desea llevar a cabo unas estadEsticas sobre el juego de ruleta. 6e solicita un programa modular quecuente el número de veces que cada número es ganador en una jornada y al final del dEa imprima un reporte con losiguienteFa" _(uántas veces resultó ganador cada elemento de la ruleta`b" _(uáles elementos no resultaron ganadores en toda la jornada`c" _(uál fue el número de cada color que ganó más veces`!suponga que sólo hay uno"d" _(uál fue el elemento que ganó en más ocasiones`

    *ecuerde que la ruleta está formada por KL elementos. &Pisten del # al '+ rojos, del # al '+ negros, el L y el LL. &lcasino desconoce el número de juegos de una jornada. $os datos que el casino proporcionará son los siguientesFnúmero, color número, color ...-1, X DondeFnúmero representa el número correspondiente al elemento ganador, con 0 ≤  número≤  34donde el L se representa como un L rojo y el LL se representa como un L negro.Color representa el color correspondiente al elemento ganador. conF   @ rojo, ! @ negro-1,X  representan el fin de la jornada

    %'. Una compaNEa ha clasificado a sus n !# ≤ n ≤ L" empleados dentro de los grupos # y %. (ada empleado del grupo

    # recibirá, a partir de ahora, un aumento de %L.LL a la semana sobre su sueldo actual, mientras que a cada unode los del grupo % sólo se le dará #L.LL adicionales por semana. $a información que se proporciona de cadaempleado esF clave del empleado !comprendida entre #LL y %LL, inclusive", grupo al que pertenece !# o %" ysueldo semanal actual !entre 'LL.LL y )LLL.LL". 6i un empleado del grupo # con el nuevo sueldo ganasemanalmente más que el sueldo promedio del grupo, entonces debe cambiar al grupo %.nalice, diseNe y codifique un programa modular queF

    • $ea la información de los n empleados e imprima la clave, grupo y sueldo semanal nuevo para cadaempleado, actualizando el grupo si es el caso.

    • (alcule el sueldo promedio de los empleados por grupo y calcule tambiOn el promedio general de todos,sin considerar el grupo.

    • ?ndique cuántos empleados cambiaron del grupo # al %.

    10

  • 8/17/2019 guiaprogramacion2_ultimas

    11/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    0

    1

    2

    #

    $$

     n+1

    cla/e gru.o sueldo

     ,ombre del /ector de enteros

    que almacena las cla/es (c!digos'

    de los em.leados

     ,ombre del /ector de enteros

    que almacena el gru.o

    al cual .ertenece cada em.leado

     ,ombre del /ector de nmerosreales que almacena el sueldo actual

    de cada uno de los em.leados

    Subíndice

    de cada uno

    de los /ectores

     gru.o23

    gru.o al que

     .ertenece el

    tercer

    em.leado

     cla/e23

    c!digo del

    tercerem.leado

     gru.on+13

    gru.o al que

     .ertenece el

    ltimo

    em.leado

    sueldo03 es el sueldo actual

    del .rimer em.leado

    sueldo23 es el sueldo actual

    del tercer em.leado

    sueldon+13 es el sueldo actual

    del ltimo em.leado

    0

    1

    2

    #

    $$

     n+1

    0

    1

    2

    #

    $$

     n+1

    %+. 6e tienen n alumnos !# ≤ n ≤ L" de los cuales se conoce la clave y la calificación final. nalice, diseNe y codifiqueun programa modular queF• $ea dicha información, la cual se da ya ordenada en forma descendente, con respecto a la clave.

    • ?mprima la clave y calificación de todos los alumnos que obtuvieron calificación superior al promedio del grupo.• ?mprima la calificación que obtuvieron los alumnos cuyas claves proporcionará el usuario. 6e sabrá que el

    usuario ya no quiere conocer más calificaciones cuando, en lugar de una clave, proporcione un cero. Utilicebús"#eda binaria para buscar las claves que el usuario solicita.

    %. 6e tiene un conjunto de n parejas de datos [i, î donde cada pareja representa las coordenadas del punto i de unpolEgono irregular de n lados. 6uponga que las coordenadas se proporcionarán en orden adyacente. &labore unafunción para leer el número de lados del polEgono, leer las coordenadas de los puntos y obtener el área delpolEgono irregular utilizando la siguiente fórmulaF

     $rea = %(X 0&X 1 )'( 0- 1 ) & (X 1&X   )'( 1-   )&. . .& (X n-1&X 0 )'( n-1- 0 ) ]  *

    6uponga que los X i  , i   son reales y n es entero con 1 ≤  n ≤  +0.%). Una cooperativa de productores de naranjas almacena el total de toneladas cosechadas durante el último aNo en 9

    parcelas !#≤  9 ≤ L". &n cada parcela se pueden cultivar dos tipos de naranjasF para jugo y para comer. 6e

    conoce el total de toneladas cosechadas de cada uno de los tipos de naranjas. 6i en una parcela no se hubieracosechado alguno de los tipos, entonces habrá L.$a información se almacena en un arreglo como se muestra en el siguiente ejemploF

    11

  • 8/17/2019 guiaprogramacion2_ultimas

    12/40

  • 8/17/2019 guiaprogramacion2_ultimas

    13/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    /acultad (arrera?ngenierEas #. ?ng 6istemas?ngenierEas %. ?ng ?ndustrial?ngenierEas '. ?ng ecatronica

    (iencias &conómicas +. (ontadurEa(iencias &conómicas . dmón. empresas(iencias &conómicas ). &conomEa6alud K. edicina6alud M. 9utrición6e debe calcular e imprimir

    a" (uantos estudiantes hay en cada facultadb" &l código del estudiante con la nota más alta en cada /acultadc" &l promedio de notas de los estudiantes por carrera

    'L. 6e desea registrar la información de código y temperatura de L ciudades *ealizar funciones paraF• $eer los vectores• $eer por teclado la temperatura donde desea vivir una persona hasta cuando se digite L, e imprimir los

    posibles códigos de las ciudades que tienen dicha temperatura, en caso contrario imprimir :9o ePiste ciudad

  • 8/17/2019 guiaprogramacion2_ultimas

    14/40

  • 8/17/2019 guiaprogramacion2_ultimas

    15/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    %. Determine el número de la factura con mayor valor.'. Determine el promedio de artEculos llevados en cada factura.+. ?mprimir los números de factura y el valor de estas que estOn por encima del promedio de artEculos !calculado en el

    punto '".

    . (ual es la factura que lleva mayor cantidad de artEculos y su valor es el menor en caso de ePistir varias facturascon igual cantidad

    'K.

    CA+E0A! +E CA%AC5E%E!Una cadena de caracteres no es más que un arreglo unidimensional!vector" de caracteres, es decir que en cada casilla delvector se hay un carácter. diferencia de otros tipos de vectores, las cadenas se manipulan sabiendo que para toda cadaePiste un carácter dentro de la cadena que indica el final de dicha cadena, este caracter se conoce como el carácter nulo ysu valor es representado como G X L H, es asE como se determina donde inicia una cadena !en la casilla L" y donde termina!hasta encontrar una casilla del vector cuyo contenido sea el carácter nulo".

    < o l a 0 > ycad

    1 2 # %0 n+1$ $ $ $ $

     ,ombre de la cadena

    arcter que indica el ?inal de la cadena

    cad13cadn+13

    cad#3

    @

  • 8/17/2019 guiaprogramacion2_ultimas

    16/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    #L" 5acer un programa en $enguaje ( que concatene dos cadenas, debe leer el nombre y el apellido de formaseparada y unir estas dos en una sola cadena.

    ##" 5acer un programa en $enguaje ( que lea una frase de a lo más, L caracteres y cree una segunda cadena con laprimera palabra de la frase original que empiece con la letra GbH, si ePiste.

    #%" 5acer un programa en $enguaje ( que lea una cadena de caracteres y elimine los espacios en blanco.#'" 5acer un programa en $enguaje ( que lea dos cadenas de caracteres en forma separada y luego las una, en una

    nueva cadena pero intercalando palabra por palabra entre las dos cadenas.todos deportistas conocEan prefieren creyendo milagroslos lo pero seguir en6u programa debe escribirF todos los deportistas lo conocEan pero prefieren seguir creyendo en milagros

    #+" 5acer un programa en $enguaje ( que lea una cadena de caracteres y llamar a un función que la modifique de lasiguiente maneraF se deben cambiar mayúsculas por minúsculas, minúsculas por mayúsculas y dEgitos por puntos.

    #" 5acer un programa en $enguaje ( que lea una cadena de caracteres, e indicar si la cadena leEda es o no unpalEndromo !se lee igual de izquierda a derecha, que de derecha a izquierda". &jF Daba le arroz a la zorra el abad

    #)" 5acer un programa en $enguaje ( que lea una palabra, máPimo de #L caracteres, y escriba, en orden alfabOtico,todas las letras de ella. &n caso de que se repita una letra se debe imprimir tantas veces como ocurra.

    -or ejemplo, la palabra pelele debe escribirse como eeellp.#K" 5acer un programa en $enguaje ( que lea una palabra, máPimo de #L caracteres, y escriba, en orden alfabOtico,todas las letras de ella. &n este caso sólo se debe escribir una vez cada letra, o sea, no se escribirán lasrepeticiones.-or ejemplo, la palabra pelele debe escribirse como elp

    #M" 5acer un programa en $enguaje ( para decodificar una sucesión de aHs y bHs que aparece codificada por medio deun conjunto de parejas de dEgitos y letras donde el dEgito indica el número de veces que se repite la letra que losucede. &l programa debe leer en una lEnea la sucesión codificada para despuOs decodificarla. 6i la sucesióncodificada leEda esF 'a+b%asu programa debe escribirF aaabbbbaa9otasF• $os números son de un sólo dEgito !no hay #L,##, ...".

    • -uede haber tantas sucesiones de aHs y bHs como se desee.• $as letras no necesariamente vienen alternadas.• &n la lEnea de lectura, no hay ningún espacio.• (onsidere que la sucesión decodificada será de longitud menor o igual a ML caracteres.

    #Q" 5acer un programa en $enguaje ( que lea una frase y una palabra y que cuente cuántas veces aparece la palabraleEda dentro de la frase, 6a sea como una 3alabra com3leta o como 3arte de otra 3alabra . $a frase y la palabratienen una longitud máPima de L caracteres.

    %L" 5acer un programa en $enguaje ( que lea una frase y una palabra y que cuente cuántas veces aparece la palabraleEda dentro de la frase como una 3alabra com3leta . $a frase y la palabra tienen una longitud máPima de Lcaracteres.

    %#" 5acer un programa en $enguaje ( que lea una frase de a lo más, L caracteres y que, si su longitud es menor aL, le aNada tantos espacios al final como sea necesario hasta que alcance los L caracteres.

    %%" &l teclado de su computadora está descompuesto y cada vez que oprime la letra s  Osta se imprime tres veces envez de una. 5acer un programa en $enguaje ( que reciba como dato de entrada una lEnea tecleada en sucomputadora y que genere e imprima una cadena resultado sin ePceso de s . &l programa tambiOn debe funcionarsi la lEnea original no contiene ninguna s .

    %'" nalice, diseNe y codifique un programa queFa" $e pida al usuario el aNo actual.b" $ea una serie de *egistros de (ontribuyentes !*(". &l final de datos estará dado por /?9 o /in o fin.c" -ara cada uno de los *( recibidos debe imprimir la edad en aNos de la persona.

    1*

  • 8/17/2019 guiaprogramacion2_ultimas

    17/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    &l *( de una persona está formado por + caracteres en mayúsculas !inicial del primer apellido, primera vocal delprimer apellido, inicial del segundo apellido e inicial del primer nombre, ) números !los dos últimos del aNo denacimiento, mes y dEa", un número y dos caracteres en mayúscula que representan una clave.

    %+" -lataforma envEa sus mensajes codificados para que el enemigo no los descubra. nalice, diseNe y codifique un

    programa para -lataforma que reciba un tePto !máPimo L caracteres" codificado, genere una cadena decaracteres con el tePto decodificado y la imprima.&l tipo de codificación que utiliza -lataforma para escribir sus mensajes consiste en sustituir las vocales pornúmeros, dejando los demás caracteres igual, de la siguiente formaF

    a #e %i 'o +u

    &jemploF2ePto codificadoF 2+m# #N+s c+nstr'r l# c+nf'#nz# y s+l+ m'nt+s p#r# d%str'rl#.2ePto decodificadoF 2oma aNos construir la confianza y solo minutos para destruirla.

    %" 5aga un programa que lea n parejas de palabras, las cuales son antónimos. &l programa debe escribir las letrascomunes a las dos palabras. 6i una letra aparece más de una vez en la palabra y en su antónimo, debe registraseuna sola vez. l final se debe imprimir el número del par que tiene más letras en común y la cantidad de letras encomúnF-or ejemploFinteresante aburrido iragordo flaco oalegre triste eralto bajo ao-ar con más letras en comúnF es el # y tiene ' letras en común

    %)" $eer dos cadenas.

    (alcular de la primera cadena el carácter que más se repite.(alcular de la segunda cadena el carácter que más se repite.*eemplazar el carácter que más se repite de la segunda cadena por el carácter más repetido de la primeracadena.&jemploF

    (D&9 #- & $ & $ & XL

    (aracter más repetido &

    (D&9 %( 6 XL

    (aracter más repetido

    *&6U$2D0( & 6 & XL

    %K" $eer una cadena de caracteres de máPimo L caracteres y cree dos nuevas cadenas con las palabras enmayúsculas y minúsculas !(ada palabra en la cadena esta escrita en su totalidad en mayúscula o en minúscula"&jF

    17

  • 8/17/2019 guiaprogramacion2_ultimas

    18/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    & $ p e r r o & 6 3 * 9 D & XL

    (adenas *esultantesFY

    & $ & 6 3 * 9 D & XL(p e r r o XL

    %M" *ealizar un programa ( que permita leer dos cadenas y hacer una función para cada uno de los siguientes itemsF• (alcular la longitud de cada una.• 6i la longitud de (#@longitud de (% entonces copiar la cadena (% en (#.

    &jemplo. (#@ 5^ 60$XL(%@ ]?&*9&6XL

    ?gual longitud entonces (#@ ]?&*9&6XL• 6i la longitud de (# C longitud de (% entonces concatenar las dos cadenas en una tercera.

    &jemplo (#@&$ -*&]?0XL  (%@ &62 -* 6(* (?9(0XL

    (#C(% entonces ('@ &$ -*&]?0 &62 -* 6(* (?9(0XL• 6i la longitud de (# V longitud de (% entonces mezclar en forma intercalada las dos cadenas.

    &jemplo. (#@ 50^ U9 &6-&(?$ -* -6&*XL(%@ &6 D?XL

    (#V(% entonces ('@ 50^ &6 U9 D? &6-&(?$ -* -6&*XL

    %Q" $eer una cadena de caracteres de máPimo L caracteres y posteriormente convertir el principio y fin de cadapalabra en su equivalente en mayúscula.

    &jF$ a c a s a e 6 b o n i t a y 3 r a n d e

    (adena *esultanteF$ ( a s & 6 Y o n i t ^ 3 r a n d &2abla de códigos sciiF ) a QKY )) b QM( )K c QQ.

    \ QL z #%%

    'L" Dadas tres frases !cadenas de caracteres" asEF la primera frase contiene un conjunto de palabras en ingles querepresenta un diccionario de palabras en ingles. $a segunda frase contiene un conjunto de palabras en espaNolque representan la traducción de las palabras en ingles contenidas en la primera frase. $a tercera frase contienepalabras en ingles que se desean traducir a espaNol.&jemploF-rimera fraseF yes you this open file 4hen friends hello6egunda fraseF si usted este abrir archivo cuando amigos hola

    15

  • 8/17/2019 guiaprogramacion2_ultimas

    19/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    2ercera fraseF hello friends*esultadoF hola amigos

    5aga un programa que realice lo siguienteF

    a. $ea las tres frasesb. travOs de una función, traduzca la tercera frase e imprima su contenido en espaNol.

    902F por cada palabra en ingles de la primera frase ePiste una palabra en espaNol en la segunda frase, en lamisma posición como se muestra en el ejemplo y, las palabras de la tercera frase son del mismo tamaNo que las dela primera frase.

    '#. Dada una cadena leEda por teclado que almacene una frase. *ealice un programa en c que construya dos nuevascadenas con las dos palabras más largas que contiene la frase original.

    &l programa elaborado debe contener las siguientes funciones>a. $eer la frase inicialb. &ncuentre la longitud de una palabra

    c. (onstruya la cadena con la palabra más larga.d. (onstruya la cadena con la segunda palabra más larga.e. /unción principal

    A%%EO! (I+I#E0!IO0AE! #A5%ICE!"Una atriz o arreglo bidimesional es una colección de datos del mismo tipo, referenciada con un solo nombre y que paraacceder a cada uno de sus datos se necesita dos sub*ndice que indican la posición !la fila y la columna" donde seencuentra almacenado un dato, dentro de la colección.&n este caso los datos están organizados en dos dimensiones !/ilas y columnas" y por esta razón se requiere de dossubEdices para ubicar un dato en particular. Uno de los subEndices indicará la fila donde se encuentra el dato y el otro

    subEndice la columna.

    16

  • 8/17/2019 guiaprogramacion2_ultimas

    20/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    #$) 2$7 22$0 %1$#

    8 1 20 c+1$ $ $ $ $

     ,ombre de la colecci!n de datos

     ,ombre de la 8atriE

    Subíndice que enumera las ?ilas de

    la colecci!n de datos (matriE'

    Subíndice que enumera las columnas de

    la colecci!n de datos (matriE'

    Fila 1

    81323

    803c+13

    #$)4 2$74 )$%4 10$24 etc son datos del mismo ti.o(en este caso todos son nmeros reales'4

    que estn almacenados en esta colecci!n

    (matriE o arreglo bidimensional'4

    llamada 8 y que tiene ca.acidad .ara almacenar ? > c datos

    s decir que la matriE tiene ? ?ilas y c columnas

    )$% 10$2 0$) %$#

    1%$# 6$6 2$2 7$0

    $$$

    0

    1

    2

    %$# 2$6 0$0 #$2?+1

    olumna 2

    8?+13c+13

    #. Dada una matriz de 'P) hacer un programa en $enguaje ( para llenarla y posteriormente, sumar todos sus valores.%. Dada una matriz de +P hacer un programa en $enguaje ( para llenarla y posteriormente, determinar la cantidad de

    valores positivos y negativos dentro de la matriz'. Dada una matriz de +P hacer un programa en $enguaje ( para llenarla hasta la fila ' y posteriormente, hallar la suma de

    cada columna y colocarlo en la fila +.+. Dada una matriz de P hacer un programa en $enguaje ( para llenarla y posteriormente, hallar la traza !la suma de la

    diagonal principal". Dada una matriz de P hacer un programa en $enguaje ( para llenarla y posteriormente, hallar la suma de la diagonal

    secundaria). Dadas dos matrices de PM hacer un programa en $enguaje ( para llenarlas y posteriormente, construir una tercera

    matriz con la suma de las dos anteriores.K. Dada una matriz de )P) hacer un programa en $enguaje ( para llenarla y posteriormente, determinar si es un cuadrado

    mágico. -ara ser un cuadrado mágico debe cumplir las siguientes reglasF la suma de la diagonal principal, segundaria,de las filas, columnas deben dar en todas lo mismo.

    M. Dada una matriz de +P+ hacer un programa en $enguaje ( para llenarla y posteriormente, hallar el menor valor dentro dela matriz y la posición que ocupa.

    Q. Dada una matriz de +P+ hacer un programa en $enguaje ( para llenarla y posteriormente, determinar si es una matrizidentidad. -ara ser matriz identidad debe cumplir con las siguientes reglasF 2odos los elementos de la diagonal principalson # y los demás deben ser L.

    #L.Dadas dos matrices una de P' y otra de 'P% hacer un programa en $enguaje ( para llenarlas y posteriormente, crearuna tercera matriz con la multiplicación de ambas.

    ##.Dada una matriz de +P+ hacer un programa en $enguaje ( para llenarla y posteriormente, intercambiar los contenidos dela fila # con la '.

    #%.&labore un programa que lea una matriz de m [ n y genere una segunda matriz con las columnas como renglones y losrenglones como columnas.-or ejemplo, si la matriz que da el usuario esF

    20

  • 8/17/2019 guiaprogramacion2_ultimas

    21/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    + K # ' % L ) Q K' # % ) +

    entonces el programa debe escribir la matriz transpuestaF

    + % 'K L ## ) %' Q ) K +

    #'.Una matriz cuadrada se dice que es simOtrica si !i, j" @ !j, i" para todo i, j dentro de los lEmites de la matriz. &labore unprograma que lea una matriz y diga si es simOtrica o no.

    #+.Una empresa tiene n empleados que trabajan en tres departamentos distintos !#LL#, #LL%,#LL'" se ha elaborado unregistro de cada uno de ellosF cedula, edad, sePo, salario, departamento y aNos de antigZedad.&labore un programa en $enguaje ( que permita determinarF• 9úmero de empleados hombres y mujeres.• (edula de la persona con el salario mas bajo.• 9úmero de personas por departamento• (edula de la persona más antigua de la empresa.• (edula de la persona más joven de la empresa.

    0 1 2 # % )datos

     ,ombre de la 8atriE

    dulas de los

    em.leados

    columna 0

    dades

    columna 1

    olumna 2H Se>o

    1=o del segundo

    em.leado

    datos1323

    Salario del .rimer

    em.leado datos03#3

    e.artamento al que .ertenece el segundo

    em.leadoH datos13%3

    Aos de antigJedad

    del ultimo em.leado

    datosn3)3

    :ara .oder usar una matriE en este caso

    todos los datos (cdula4 edad4 se>o4 salario4

    de.artamento4 y aos de antigJedad4tiene que ser del mismo ti.o (en este caso enteros'

    #.&n el municipio de ]ista/ea se realizaron los comicios para la elección de alcalde, en el proceso participaron #M'+votantes a cada uno de los cuales se les registro la siguiente informaciónF(edula, sePo, número del candidato por quien voto. la elección se presentaron tres candidatos> usted como encargado de la oficina de registraduria debe elaborar unprograma que permita establecerF• &l candidato ganador• 9úmero de votos por candidato y en blanco !L"

    21

  • 8/17/2019 guiaprogramacion2_ultimas

    22/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    • 9úmero de hombres y mujeres votantes• Determine el porcentaje de votación para cada candidato y si el ganador no posee mas del L; el programa debe

    informar que se debe realizar una segunda ronda con los dos candidatos que obtuvieron mayor votación.#).&n unas elecciones presidenciales del paEs, la registraduria va a sistematizar el conteo de votos> se leen los siguientes

    datosF número de mesa, votos por el candidato +, KM y QM, votos en blanco y nulos. &l total de mesas fue de %LL.'+ entodo el paEs determinarF• $a cantidad de votos de cada candidato• &l número total de votos nulos• &l número total de votos en blanco• &l gran total de la votación• &l porcentaje de abstinencia si el potencial de electores es de MLLLLLL de habitantes.

    #K.6e desea registrar en una matriz la votación para presidente ! de votos". &l paEs esta compuesto por ## departamentos6e tiene #M candidatos !representado en las columnas" 3uardar en un vector el porcentaje de votación de cadacandidato. DetermineF

    • &l !los" candidato!s" que obtuvo !obtuvieron" mayor votación

    • &l candidato con menos votos ePpresar en porcentaje• $os candidatos que fueron penalizados !dotación menor o igual al ;".

    #M.&n el prestigioso colegio :&l arca de 9oe< estudian #Q' alumnos. llE solo cursan asignaturas y solo hay tres cursos ),Ky M de cada uno se ha registrado la siguiente información correspondiente al segundo bimestreF (ódigo del estudiante,curso, nota asignatura #, nota asignatura %, nota asignatura ', nota asignatura +, nota asignatura .Usted debe hacer un hacer un programa en $enguaje ( que permita establecerF• &l promedio de cada estudiante.• &l promedio de cada curso• &l codigo del mejor estudiante del colegio• &l promedio general del colegio• ?mprimir en orden descendente los cursos de acuerdo al promedio que se obtuvo en cada uno de ellos

    #Q.&n una empresa se va procesar la información de los #%+L empleados de cada uno ellos se conocenF(ódigo, sePo, salario básico, departamento al cual pertenece.$os departamentos sonFL# (ontabilidadL% dministraciónL' ercadeoL+ 6istemas6e debe determinarF• (uantas mujeres y cuantos hombres hay en cada departamento• (uantos empleados ganan menos de #LLLLL• (uantas mujeres ganan más de LLLLL• (ual es el hombre y la mujer que ganan más.• (ual es el hombre y la mujer que ganan menos.

    %L.&n un banco de la ciudad hay #+M clientes que poseen cuenta corriente. $os saldos de las cuentas se actualizan al finaldel dEa alimentando el computador con las transacciones de todo el dEa, para cada cuenta se permite máPimo unatransacción se leeF9úmero de cuenta, (edula del (liente, 6aldo nterior, ]alor de la transacción, 2ipo de transacción !# deposito % (hequegirado"6e desea imprimirF• &l listado de cuentas con el saldo actualizado• (uantas cuentas y quienes son sus titulares, quedaron con saldo en rojo !6aldo negativo"

    22

  • 8/17/2019 guiaprogramacion2_ultimas

    23/40

  • 8/17/2019 guiaprogramacion2_ultimas

    24/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    +iciembre&labore un programa para contestar las siguientes preguntasF

    a. _(uál fue el total de ventas en el aNo de la agencia $omas`b. _(uál fue el promedio de ventas en el mes de diciembre`

    c. _uO agencia tuvo mayores ventas en el mes de mayo`d. _&n quO mes se registraron las menores ventas del aNo, considerando todas las agencias̀

    %.&labore un programa que genere las tablas de multiplicar del # al #L en un solo arreglo de dos dimensiones yposteriormente imprima dicho arreglo.

    %).6e tienen los resultados de las últimas elecciones a gobernador en el departamento  X , el cual está conformado por municipios. &n dichas elecciones participaron + candidatos. ![+"&labore un programa queFa" $ea e imprima una tabla indicando los votos obtenidos en cada municipio por los + candidatos.b" (alcule el total de votos recibidos por cada candidato y el porcentaje del total de votos emitidos.c" (alcule el candidato más votado.d" 6i un candidato recibió más del L; de los votos, indicar que es el ganador. 6i ningún candidato recibió más del

    L; de los votos, el programa debe imprimir los dos candidatos más votados, que serán los que pasen a la segunda

    ronda de las elecciones.%K.Una agencia automotriz distribuye quince modelos diferentes de coches y tiene diez vendedores. 6e desea un programa

    que escriba un informe mensual de las ventas por vendedor y modelo, asE como el número de automóviles vendidos porcada vendedor y el número total de cada modelo vendido por todos los vendedores. simismo, para entregar el premioal mejor vendedor, necesita saber cuál es el vendedor que más coches ha vendido.$os datos se proporcionan por dEa !'L dEas", todos los vendedores informan la cantidad de coches que vendieron decada modelo ese dEa, el final de datos de las ventas del dEa se conoce por un L. $os vendedores no necesariamenteinforman sus ventas en orden, ni por orden de vendedor ni de modelo.

    %M.Un observatorio astronómico requiere de un programa que analice una fotografEa del cielo tomada por la noche. $ainformación de la fotografEa está almacenada en forma de tabla, donde cada elemento representa la cantidad de luz quese registró para cada punto. $os valores registrados van del L al %L, por ejemploF

    L ' + L L L ) M

    #' ) L L L % '

    % ) % K ' L #L

    L

    L L + #

    + # M L

    L L K #%

    ) Q #L

    +

    L ) #L

    ) + M L

    $a persona encargada de analizar la información supone que hay una estrella en ! i,  " siF• el punto no se encuentra en las orillas de la fotografEa !primero o último renglón o columna", y

    • (a%i, / & a%i - 1, / & a%i & 1, / & a%i, - 1/ & a%i, & 1/) 306e espera como resultado del análisis, una tabla b con un :J< en las parejas ! i,  " en las que se supone que hay unaestrella. &l resto de la tabla debe quedar lleno de espacios. $a tabla b que resulta del ejemplo anterior esF

    # % ' + ) K M#% J'+ J J J J)

    2%

  • 8/17/2019 guiaprogramacion2_ultimas

    25/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    &labore un programa queFa. $ea las dimensiones de la tabla m y n con !1 ≤  m, n ≤  0".b. $ea los valores de cada elemento de la tabla a.c. (onstruya la tabla b.

    d. ?mprima la tabla b.%Q.Una compaNEa de transportes que tiene sucursales en %L ciudades del paEs, quiere saber la distancia que recorre un

    chofer al ir de una ciudad a otra. $os datos referentes a las distancias están indicados como se muestra a continuaciónFL distL,# distL,% . . . distL,#QDist#,L L dist#,% . . . dist#,#QDist%,L dist%,# L . . . dist%,#Q . . . Dist#Q,L dist#Q,# dist#Q,% . . . L

    DondeFdist i,    V Lrepresenta que hay carretera de la ciudad i a la ciudad j y la distancia ePistente entre ambas ciudades.dist i,    @ Lsi i diferente a j, representa que no hay carretera entre la ciudad i y la ciudad j.6e le pide que elabore un programa paraF

    • $eer la tabla de distancias, determinando usted la mejor disposición de los datos. !sólo es necesario leer una partede la matriz"

    • $eer la ciudad de origen a y la ciudad destino b.• &ncontrar la distancia que recorre el chofer al ir de la ciudad a a la ciudad b. 6i no ePiste carretera directa, entonces

    deberá encontrar una ciudad intermedia c, para hacer el recorrido de la ciudad a a la ciudad c y de la ciudad c a lacuidad b.

    • 6i no ePiste ninguna ruta posible para llegar de a a b, deberá escribir un mensaje. De otro modo, escriba el total deRilómetros recorridos para llegar al destino.

    • 6i hay varias ciudades intermedias entre a y b, encuentre la ruta más corta.'L.$os datos de una compaNEa referentes a las ventas de sus L artEculos, vendidos por sus #L vendedores están agrupados

    como se indica a continuaciónF

    cla$rt 1, claen1, cant 1 cla$rt  , claen , cant   . . .cla$rt n, claenn, cant n -1, -1, -1DondeFcla$rt i   representa la clave del artEculo vendido en la iIOsima venta, !con 0 ≤  cla$rt i  ≤  42"claeni  representa la clave del vendedor que hizo la iIOsima venta, !con 0 ≤  claeni ≤  2"cant i   es la cantidad de artEculos de clave clarti, vendidos por el vendedor cla]eni en la iIOsima venta.Dicha compaNEa desea que usted elabore un programa que realice lo siguienteFa" $ea las ventas realizadas.b" ?mprima un reporte con las siguientes caracterEsticasF

    2otal de ]entasrticulo (lave del ]endedor

    L # . . . QL tot#,# tot#,% . . . tot#,#L# tot%,# tot%,% . . . tot%,#L. . . . . . . . . . . . . . .+Q totL,# totL,% . . . totL,#L

    donde cada toti,j  representa el total de ventas del artEculo i vendido por el vendedor j.c" ?mprima el total de artEculos vendidos por clave.d" ?mprima el total de artEculos vendidos por vendedor.

    2)

  • 8/17/2019 guiaprogramacion2_ultimas

    26/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    e" ?mprima la clave del artEculo menos vendido por el vendedor de clave +.'#.Una fábrica de bombas hidráulicas tiene una matriz con los insumos necesarios para la producción de un conjunto de

    motores. -or ejemplo, suponiendo que la planta produce K motores y se utilizan M insumos en diferentes cantidadespara su producción, la matriz serEaF

    ?nsumos

    # % ' + ) K M # #L %L 'L +L L )L #L ML0 % L KL L L +L 'L L #L2 ' #L # L #L # L0 + #L %L #L %L #L L #L %L* + L M L ) M + L& ) L ) Q #% # L # %+6 K %L #M L #+ L #L M )

    nalizando la matriz anterior, podrEamos ver que para producir un motor del tipo ' es necesario utilizar unidades delinsumo #, #L unidades del insumo %, # unidades del insumo ', #L unidades del insumo , # unidades del insumo ) y

    unidades del insumo K.-or otro lado se tiene un arreglo con los costos unitarios en pesos de cada insumoF(osto de ?nsumos

    # % ' + ) K M'. L.# %.L #. ).L +.% %. #.'

    6e tiene otro arreglo con los pedidos a surtir en el presente mesF-edidos del mes de cada motor

    # % ' + ) K#LL % K #L ML QL #L

    2ambiOn se tiene un último arreglo con la ePistencia actual de cada uno de los insumosF&Pistencia de ?nsumos

    # % ' + ) K M

    #%L L %L )L +L QL #L L&labore un programa paraF

    a" $eer el número m de motores que fabrica la planta !máPimo L".b" $eer el número n de insumos necesarios para la fabricación de los motores !máPimo L".c" $eer los datos de la matriz de ?nsumos7otor.d" $eer los datos del arreglo de costos unitarios de insumos.e" $eer los datos del arreglo de pedidos del mes de cada motor.f" $eer los datos del arreglo de insumos ePistentes en la planta.g" 0btener e imprimir un arreglo de m elementos, con el costo de producción de cada motor. 6uponga que el

    costo de producción de un motor consiste en sumar el producto de insumos necesarios por el costo unitario decada insumo.

    h" 0btener e imprimir un arreglo de n elementos, con la cantidad de unidades de cada insumo, necesaria para

    cumplir con los pedidos del mes.i" 0btener e imprimir un arreglo de n elementos, cuyos datos indiquen cuál es el costo total por concepto de

    cada insumo para cumplir con los pedidos del mes. j" 0btenga e imprima el costo total !tomando en cuenta todos los insumos" para cumplir con la producción del

    mes.R" 0btenga e imprima un arreglo de n elementos, con la diferencia de los insumos necesarios para la producción

    mensual menos los insumos ePistentes en la planta, con el fin de poder surtir dichos insumos a tiempo.'%.5acer un programa en $enguaje ( que lea un listado de nombres en una matriz y luego los ordene en orden alfabOtico.

    2*

  • 8/17/2019 guiaprogramacion2_ultimas

    27/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    ''.5acer un programa en $enguaje ( que procese las notas de un grupo de estudiantes, debe empezar solicitando lacantidad de alumnos y de notas a ingresar, almacenar el nombre del estudiante y las notas que obtuvo, tenga en cuentaque debe utilizar % matrices, una tipo char para los nombres y otra tipo flota para las notas.

    Determine nombre del estudiante con el promedio más alto

    Determine nombre del estudiante con el promedio más bajo 5acer un programa en $enguaje ( que lea una lista de paEses con sus respectivas capitales en dos matrices, y

    posteriormente lea el nombre de un paEs o capital e imprima su correspondiente.'+.&n una empresa de taPis se desea registrar la información de las 9 !9 dado por teclado" carreras realizada por sus

    móviles!taPis" a los clientes de la empresa, ePisten 2aPis. Dada la siguiente informaciónF (ódigo del taPi, cOdula delcliente, tipo de servicio y valor del servicio. Donde F

    Código del 5a8i 5i3o de servicioL# L# -uerta a -uertaL% L% 9ormalL' L' &ncomiendaL+L

    DetermineF• (ual es el valor total producido por cada taPi.• (ual es el servicio que más se usa.• ue cliente paga más por un servicio.&jemplo de representación de la información en forma de matriz !arreglo bidimensional"F

    9úmero del taPi (Odula (liente 2ipo servicio ]alorL% MML'LQLL L' LLLL' )L)%'MQL L# %LLL# KQ#%LK) L% 'LLL. . .. ..

    '.6e lee la información de #LL estudiantes, el código, la nota final, el departamento !#. 6?62&, %. &$&(2*9?(, '.2&$&(0U9?((?09&6", y el ciclo de formación al que pertenece !# para los -rimeros semestres y % para los últimos semestres".*epresentando esta información en una matriz...6e debe calcular e imprimir

    • (uantos estudiantes hay en cada departamento• &l código del estudiante con la nota más alta• &l promedio de notas de los estudiantes de primer ciclo, y segundo ciclo

    ').$eer una matriz de 'P+, las filas representan los productos L,#,% y las columnas representan las sucursales L,#,%,'... encada celda de la matriz se registra la cantidad mensual vendida de productos de la empresa. 6e tiene además unvector de ' posiciones con el costo de venta de cada producto.(alcular e imprimir un vector de + posiciones con el valor total vendido por sucursal(alcular e imprimir la sucursal que más dinero recaudo.

    L # % ' + ]ector costo deproductos

    L # % ' # #LLLL# % # % % % #LLL% ' ' + LLL

    27

  • 8/17/2019 guiaprogramacion2_ultimas

    28/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    2otal]endido

    LLL )LLL MLLL QLLL )LLLL

    'K.Un concesionario de automóviles alquila sus vehEculos por dias, dependiendo del tipo de vehEculo los precios son asiF2ipo L# /amiliar valor %L.LLL diarios2ipo L% Deportivo valor 'L.LLL diarios2ipo L' (amioneta valor L.LLL diarios*ealice un programa en ( que almacene la siguiente información (edula, 2ipo de vehEculo, Dias, 2otal a pagar, para 9clientes !9 es un numero desconocido" &l llenado de la información termina cuando la cedula del cliente es L. los clientes con mas de M dias de alquiler en cualquier tipo se les hace un descuento del ; sobre el valor total.*ealice con /uncionesF

    • /unción de $lenado ! 6olo puede solicitar cedula, 2ipo de vehEculo y dias"• /unción valor a pagar por cliente !almacenar este valor en la matriz"• ]alor promedio de alquiler por tipo y general.• (ual es el tipo de vehEculo que mas se alquila.

    &jemplo de atrizF(Odula 2ipo de ]ehEculo DEas ]alor a -agar

    'M.$a universidad de -amplona desea llevar un registro de los Q) estudiantes deportistas vinculados a las selecciones de launiversidad. &Pisten ' selecciones

    Código 0ombre#L# /útbol#L'L *ugby#L+ 2aeR4ondoDe cada estudiante se conoceF (Odula, 6ePo!# 5ombre, % ujer", &dad, (ódigo de la 6elección a la quepertenece.*ealice con funcionesF

    • $lenado de la matriz• Determine el porcentaje de 5ombres y mujeres !de toda la matriz".• Determine la selección con el deportista más joven.• Determine el número de deportistas por selección.

    'Q. Una empresa de celulares quiere llevar el control de todos los planes que a vendido. &Pisten %M clientes y de ellos seconoceF (Odula, 6ePo !# 5ombre, % ujer", 2ipo de -lan !L# /amiliar, L% &studiante y L' (orporativo", 9úmero de (elular yminutos consumidos.$os -lanes son los siguientesF

    5i3o de Plan #inutos ValorL#. /amiliar 'LL +.LLLL%. &studiante #L %L.LLLL'. (orporativo )LL K.LLL

    25

  • 8/17/2019 guiaprogramacion2_ultimas

    29/40

  • 8/17/2019 guiaprogramacion2_ultimas

    30/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    Otro ejem3lo de registros

    A

    %)*75codigo

    :e.ito .ereEnombre

    edad se>o16 8

    nota %$)

    K

    %)2#codigo

    Luanita Laimesnombre

    edad se>o17 F

    nota #$7

    A es el nombredel registro

    K es el nombredel registroA$codigo

    enteroK$codigo

    entero

    A$nombre

    cadena de

    caracteres

    A$edad

    entero

    A$nota

    nmero real A$se>o

    caracter K$nota

     ,mero real

    %egistros Anidados*egistros en los cuales uno de sus campos tambiOn es registro

    #0

  • 8/17/2019 guiaprogramacion2_ultimas

    31/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    A

    %)*75codigo

    :e.ito .ereEnombre

    edad se>o#) 8

    nota %$)

    A es el nombre

    del registro A$codigo

    entero

    A$nombre

    cadena de

    caracteres

    A$edad

    entero

    A$nota

    nmero real

    A$se>o

    caracter 

     ?ecDan 1dia

    *mes

    1670anioA$?ecDan

    que tambin

    es un registro

    A$?ecDan$día

    entero

    A$?ecDan$mes

    entero

    A$?ecDan$anio

    entero

    MM n lengua;e c

    NincludeOstdio$DP

     struct t?ecDaQ

      int dia4mes4anio" R"

     struct testudianteQ

      int codigo"

      cDar nombre%03"

      int edad"

      cDar se>o"

      ?loat nota"

      t?ecDa ?ecDan"

    R"

    int mainQ

      testudiante A4K"

    R

    %egistros con vectores&jemplo de registros en los cuales uno de sus campos es un vector

    A%)*75codigo

    :e.ito .ereEnombre

    edad se>o#) 8

    nnotas #

    A es el nombre

    del registro A$codigo

    entero

    A$nombre

    cadena de caracteres

    A$edad

    entero

    A$nnota

    entero que indica

    el nmero de notas

    que tiene el estudiante

    A$se>o

    caracter 

     ?ecDan 1dia

    *mes

    1670anioA$?ecDan

    que tambin

    es un registro

    A$?ecDan$día

    entero

    A$?ecDan$mes

    entero

    A$?ecDan$anio

    entero

    MM n lengua;e c

    NincludeOstdio$DP

     struct t?ecDaQ  int dia4mes4anio"

     R"

     struct testudianteQ

      int codigo"

      cDar nombre%03"

      int edad"

      cDar se>o"

      int nnotas"

      ?loat notas103"

      ?loat de?initi/a"

      t?ecDa ?ecDan"

    R"

    int mainQ

      testudiante A4K"

    R

    #$) 1$) %$0 $$$$

    notas

    de?initi/a #$0

    0 1 2 10

    A$notas23

    real

    A$notas03

    real

    A$de?initi/a

    real

    Vectores de registrosUn vector para el cual cada una de sus casillas almacena un registro

    #1

  • 8/17/2019 guiaprogramacion2_ultimas

    32/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    curso

    %)*75codigo

    :e.ito :ereEnombre

    se>o 8

    nnotas #

     ?ecDan1dia

    *mes

    1670anio

    #$) 1$) %$0 $$$$

    notas

    de?initi/a #$0

    0 1 2 10

    #%)codigo

    Luanita Laimesnombre

    se>o F

    nnotas 2

     ?ecDan26dia

    2mes

    1650anio

    #$) %$) $$$$

    notas

    de?initi/a %$0

    0 1 2 10

    codigo

    nombre

    se>o

    nnotas

     ?ecDan dia

     mes

     anio

    $$$$

    notas

    de?initi/a

    0 1 2 10

    codigo

    nombre

    se>o

    nnotas

     ?ecDan dia

     mes

     anio

    $$$$

    notas

    de?initi/a

    0 1 2 10

    0 1 $$$$$$$$$$$ n+1

    curso es el nombre

    del /ector con ca.acidad

     .ara almacenar in?ormaci!n

    de n estudiantes

    curso 13$nombre

    curso 03$codigo

    curso n+13$notas13curso n+13$se>o

    Subíndices del /ector 

    curso

     curso13$?ecDan$mes

     curso13$?ecDan$anio

     cursoi3$notas23

    i

     curso13$de?initi/a

    #. $a información de todos los empleados de una cierta compaNEa está almacenada en una variable llamada:empresa< definida como un arreglo de registros. $a información con que se cuenta de cada empleado esF nombre,sePo y sueldo. &scriba la declaración para el registro y el arreglo :empresa

  • 8/17/2019 guiaprogramacion2_ultimas

    33/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    cual consiste en lo siguienteF si el promedio obtenido por un estudiante en el último periodo es mayor o igual que+.L, se le hará un descuento del 'L; sobre el valor de la matrEcula y no se le cobrara ?]> si el promedio obtenidoes menor que +.L deberá pagar el valor de la matrEcula completa, la cual incluye el #L; de ?].0btenerF

    a. $a estructura con la informaciónF promedio, nombre, númerodematerias, capturada.b. &l listadoF promedio, nombre, númerodematerias y valor a pagar de los estudiantes con 'L; de

    descuentoc. &l valor recaudado por concepto de ?].

    +. &n el gran premio de ?ndianapolis, #LL participantes !cada uno" debe realizar ' tiempos de clasificación. $ainformación de cada corredor debe ser registrada en una estructura con los siguientes camposF (ódigo 9ombre 2iempos T' !vector de tipo estructura, donde cada posición tendrá los siguientes campos hora, minutos y

    segundos -ermite almacenar los ' tiempos de clasificación" (ategorEa !#. 9ovatos o %.-rofesional" 6ePo !#. 5ombre o %. ujer"

    *ealizarF !implementando funciones"#. $eer la información de cada participante en el vector de #LL posiciones de tipo estructura.%. (alcular e imprimir, el nombre del competidor con el menor tiempo en las carreras de clasificación en 3eneral.'. (alcular e imprimir, el nombre del competidor con el mayor tiempo en las carreras de clasificación en la

    categorEa de los novatos.+. (alcular e imprimir, el nombre del competidor con el mayor tiempo en las carreras de clasificación en la

    categorEa profesional.. &scriba un programa en $enguaje ( permita almacenar la siguiente información para un censo poblacional en un

    municipioF9ombre de la persona !(adena de caracteres"9úmero de documento de identidad !&ntero largo"2ipo de documento !G(H @ (Odula, G2H @ 2arjeta de ?dentidad"

    /echa de nacimiento !(ompuesto por tres enteros uno para el dEa, otro para el mes y otro para el aNo"&dad !&ntero que debe guardar los 06 cumplidos de la persona"&l programa debe definir una estructura !registro" para almacenar la información de cada persona censada, paraesto se utilizará un arreglo de registros del tipo definido anteriormenteF 6e sabe que el municipio tiene máPimo#LLL habitantes.&l programa deberá realizar con funciones cada una de las siguientes tareas !una función para cada tarea"Fa" $eer la información del censo para cada persona !9ombre, documento, tipo, fecha", &[(&-20 $ &DD.b" (alcular la edad de las personas censadas, leyendo antes por teclado la fecha actual y retornar el promedio de

    edad de todos los censados.c" 0rdenar la información de las personas ascendentemente de acuerdo a la edad y mostrar el listado ordenado.9otaF *ecuerde que el ordenamiento de un arreglo de registros se realiza de manera similar al de un arreglonormal.

    ). Un grupo consta de n alumnos !máPimo L", donde cada alumno cursa materias. $a información con que secuenta de cada alumno es el código !entero" y las calificaciones !reales" de igual valor.5aga un programa que, utilizando un arreglo de registrosFa" lea la información de cada alumno y calcule la definitivab" (alcule el promedio general de todos los estudiantes.(uente cuantos estudiantes están por encima del promedio general

    K. (rear un progama en ( que permite introducir cierta información relativa a los vuelos diarios que parte de unaeropuerto en un ]ector formado por registros !estructuras". (ada registro contendrá la siguiente información sobreel vuelo correspondienteF

    a" 9úmero de vuelo !no tiene que coincidir con el Endice del arreglo"

    ##

  • 8/17/2019 guiaprogramacion2_ultimas

    34/40

  • 8/17/2019 guiaprogramacion2_ultimas

    35/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    d" if !calif @@ calif"printf!:?guales

    f" if !est#.nombre @@ est%.nombre"printf!:?guales

  • 8/17/2019 guiaprogramacion2_ultimas

    36/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    6ubtotal %L.LLL?vaF #); '.%LL

    2otal %'.%LLDada las siguientes estructuras de datos en forma de registrosF6truct tfecha A  ?nt dia, mes, anio>B>

    struct titemA  int codigoF  char nombreprodT%L>  int cantidad>  float valorunitario>B>

    struct tfacturaA  int no>  char nombreclienteT+L>  tfecha fecha>  titem productosT%L>  float subtotal>  float total>B>

    Una papelerEa tiene almacenada la información de sus facturas !de un aNo" en un vector de registros de máPimo%LLL posiciones

     tfactura facturasT%LLL>&labore un programa en c con las siguientes funcionesF• Una función que capture los datos de facturas hasta que el número de factura sea cero. (omo cada factura

    tiene un conjunto de items, para cada item capturar el código, nombre del producto, cantidad y valor unitariohasta que el código del producto sea cero. (on los datos de los items calcular el subtotal de la factura y el totala pagar, almacenándolos en los respectivos campos del registro factura.

    • 5acer una función que calcule el total recaudado por la papelerEa en cada uno de los meses del aNo, para elloguardar la información en un vector de #% posiciones.

    • 5acer una función que calcule el total recaudado por concepto de ?]. !toda factura tiene un #); de ?]"#%. De acuerdo a la siguiente estructura de datos !registro"

    6truct 2empleadoA  ?nt codigo, horastrabajadas>  (har nombreT+L>  /loat salario, ventas, bonificacion>B>#. Defina una variable global WempleadosW que es un arreglo de registros de tipo W2empleadoW.%. (onstruya un programa en (, que capture mediante una función, los datos básicos !codigo, nombre,

    horastrabajadas y ventas" de 9 empleados y liquide el salario de cada empleado de acuerdo a las siguientescondicionesF

    (ada hora se le paga a LLL pesos 6i las ventas son menores de #LLLLL pesos, se da una bonificación del ; sobre las ventas 6i las ventas están entre #LLLLL y LLLLL pesos, se da una bonificación del M; sobre las ventas 6i las ventas son mayores de LLLLL pesos se da una bonificación del #L; sobre las ventas

    '. 5allar el salario promedio mediante una función que retorne dicho valor.ediante una función, ?mprimir en pantalla los datos de todos los empleados#'. $a empresa de buses Yerlinas desea llevar el control de sus pasajeros por la temporada navideNa. De ellos se

    conoceF (Odula, 9ombre, edad, destino, peso equipaje. &l valor del tiquete esta sujeto al destino y al peso delequipaje según la siguiente tabla

    +estino Valores ).LLLY K%.LLL( M.LLL

    #*

  • 8/17/2019 guiaprogramacion2_ultimas

    37/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    2odos los pasajeros tienen derecho a llevar # g de equipaje y por cada Rilo adicional se incrementa el %; delvalor del tiquete por cada Rilo adicional

    *ealiceF• ain• $lenado.• (antidad de pasajeros por destino.• &l promedio de equipaje por pasajero en cada ruta.• &l cliente que más paga por ePceso de equipaje.• 9ota el llenado de la estructura es hasta que la cOdula del pasajero sea igual a L• JJ solo se permiten máPimo +L pasajeros por ruta

    #+. &n una agencia de turismo, las 9 personas que van a pagar el importe de su tiquete aOreo o terrestre, llegan a lacaja y sacan una bolita de color, que les dirá el descuento que tendrán sobre el total de su pasaje. 6e sabe que siel color de la bolita es roja el cliente obtendrá un +L; de descuento> si es amarilla un %; y si es blanca no

    obtendrá descuento. $a captura de información termina cuando el valor del tiquete terrestre o aOreo sea L.6e desea saber usando estructurasF• &l tiquete con la información básica del cliente y con el valor a pagar.• $a cantidad que pagaron los clientes que viajan por tierra cada dEa.• &l valor de los descuentos generados por la bolita roja en el dEa.• &l número de personas que no obtuvieron descuento en el dEa• &l porcentaje de clientes con tiquete aOreo que sacaron la bolita amarilla

    #. Un centro de recreación quiere sistematizar la información de sus '+ socios de cada uno de ellos se conoce lasiguiente informaciónF

    !ocio7 9ombre, Documento de ?dentidad, 6ePo !5ombre !#", ujer !%"", /echa de ?ngreso !&structura ?nterna",9umero de Yeneficiarios, &stado (ivil !6oltero !L", casado !#"".ec'a7 DEa, es, No.

    %ealice7• Declaración de la &structura.• ain• /unción de $lenado.• Una función que cuente y retorne la cantidad de 6ocios solteros con más de beneficiarios e imprima el

    nombre de dichos socios.• -orcentaje de socios 5ombres y mujeres.• *ecaudo por concepto de mensualidad del total de los socios, dependiendo de la tabla. 2odos los socios

    con más de # aNos de antigZedad tienen un descuento del ; sobre el valor a pagar.!Debe preguntar lafecha actual solo una vez para calcular los aNos de antigZedad"

    5i3o de socio 09mero de (ene)iciarios Valor a Pagar6oltero # a ' .LLL

    #7

    Socio

     ,ombre ocument Se>o FecDa Kene?iciarios stado i/il

    ia 8es Ao

  • 8/17/2019 guiaprogramacion2_ultimas

    38/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    6oltero ayor de ' KM.LLL(asado # a + %.LLL(asado ayor de + '.LLL

    #). $a biblioteca de la Universidad necesita complementar un programa en ( con el uso de registros que le permita

    tener un control sobre los prestamos. unque el programa ya ePiste, se requiere aNadirle unas cuantas funcionesque ud tiene que implementar. -ara ello se describe a continuación como está organizada la información dentro delsoft4are ePistenteF 6e tiene un vector de registros con la información de los estudiantesF código, nombre, telOfono,semestre en el que se encuentra matriculado el estudiante, el número de libros que tiene prestados el estudiante ylos datos de los libros que tiene prestado.... es decir un vector de registros de tipo libro.(ada prOstamo esta registrado con la información del libro que tiene un código de inventario, un titulo, un autor yuna fecha de entrega !dia, mes y aNo"

    &l encabezado del programaePistente es el siguiente:include;stdio.'<:include;stdlib.'<

    :include;conio.'<

    struct t)ec'a= int dia4mes4anio>?>

    struct tlibro=  int noinv> 77número de inventario  c'ar titulo@1B>  c'ar autor@&B>  t)ec'a )ec'aentrega>?>

    struct testudiante=  int codigo>  c'ar nombre@&B>  int tele)ono>  int sem> 77semestre en que seencuentra matriculado el estudiante  int n3>  77número de librosprestados  tlibro 3restamo@1B>  77vector paraguardar los datos de los libros quetiene prestados el estudiante?>

     &n el cuerpo del programa ya se tiene muchas instrucciones, pero se resumen lassiguiente, que se consideran importantes para el trabajo que ud como programador tieneque realizar9o necesita hacer la captura de datos por teclado, puesto que la información ya está en la

    memoria del computador, en el vector de tipo testudiantes y la variable nest que ya tiene valor correspondiente.

    int main"=  testudiante estT#LLL> 77 vector donde se guarda la información de los estudiantesePistentes en la universidad  int nest> 77 total de estudiantes que se registraron en la universidad  int diaactual, mesactual,anioactual,lv,semestre,total,pos> ......  printf!:-or favor teclee la fecha actual Xn scanf!:;d scanf!:;d scanf!:;d  printf!:ePisten ;d libros con la fecha de entrega vencida  for !semestre@#>semestreC@#L> semestre@semestre8#"A  total@contarporsemestre!nest,est,semestre">  printf!:total de libros prestados por los estudiantes de ;d semestre es;d printf!: el estudiante con más libros prestados es ;s con código, ;d y estudia en elsemestre ;d

  • 8/17/2019 guiaprogramacion2_ultimas

    39/40

  • 8/17/2019 guiaprogramacion2_ultimas

    40/40

    Universidad de PamplonaFacultad de Ingenierías y ArquitecturaGuía de Programación II – Segundo semestre 2007

    -------------------------------------------------------------------------------------------------------------

    l4 m4sa&l archivo de salida deberá contenerF

    $a cesta de cEtricos huele rico. -onla sobrela mesa

    %. &n un archivo se tiene información sobre los miembros de un coro. $a información que se tiene de cada uno esF 9ombre. -arte de vozF soprano, alto, tenor o grave. &PtensiónF alta o baja&scribaF

    a. $a definición del registro y la declaración de la variable para guardar la información de los miembrosdel coro.

    b. Un módulo para leer la información del archivo y almacenarla en el vector.c. Un módulo que calcule el porcentaje de miembros del coro que tienen una determinada parte de voz.d. Un módulo que calcule el porcentaje de los miembros de una cierta parte de voz que tienen una

    determinada ePtensión. -or ejemplo, el porcentaje de los tenores que tienen ePtensión baja.e. Un módulo que dado un nombre escriba su parte de voz y ePtensión.

    f. Un módulo que calcule el total de miembros de cada una de las + partes de voz.g. $a definición del registro y la declaración de la variable para guardar la información de los miembros

    del coro.h. Un módulo para leer la información del archivo y almacenarla en el vector.i. Un módulo que calcule el porcentaje de miembros del coro que tienen una determinada parte de voz. j. Un módulo que calcule el porcentaje de los miembros de una cierta parte de voz que tienen una

    determinada ePtensión. -or ejemplo, el porcentaje de los tenores que tienen ePtensión baja.R. Un módulo que dado un nombre escriba su parte de voz y ePtensión.l. Un módulo que calcule el total de miembros de cada una de las + partes de voz.

    %0