problem a sip 2009

Upload: juan-antonio-contreras-garcia

Post on 11-Feb-2018

321 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Problem a Sip 2009

    1/42

    1

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    Ejercicios de algoritmos

    SENCILLOS

    1) Dada una ecuacin de segundo grado, calcula sus races. Observa que usastevariables. Desde hace mucho tiempo aprendiste a usarlas.

    2) Pedro compr carritos a $8.00 y los vendi a $12.00. Cul es su porcentaje deganancia?

    3) Pedro compr carritos appesos y los vendi a qpesos. Cul es su porcentajede ganancia?

    4) Si un pastel y medio cuesta $150.00, cunto valdrn 3 pasteles y medio?

    5) Si 5 revistas de automviles cuestan $85, cunto costarn 9 revistas?

    6) Mara tarda 5 minutos en ir a de su casa al colegio en bicicleta a una media de 6km/hora. Cunto tardar cuando va andando si su velocidad es de 4 km/h?

    7) Si el tiempo empleado por 7 trabajadores en limpiar una calle es de 7 horas,cunto tardar un grupo de 5 trabajadores?

    8) La edad de Juan es el doble que la de Pepe y la edad de Pepe es el triple que la

    de Antonio, si entre todos ellos suman 30 aos, cul es la edad de Antonio?

    9) En la cocina de un comedor universitario han pagado $420 por 70 barras de pan.Cunto tendra que pagar si hubieran comprado 45 barras?

    10) El precio de 15 menes del da en un restaurante ha sido $1200. Si van a comer 7personas, cunto pagarn en total?, cunto vale el men del da?

    11) Una llave vierte 6 litros por minuto y tarda 5 horas en llenar una baera. Si vertiese10 litros por minuto, cunto tardara?

    12) Un coche gasta $4.60 cada 4 km en gasolina. Cunto costar el combustible enun viaje de 270 km si mantiene el mismo consumo?

    13) Un rbol de 2.25 m de altura da una sombra de 2 m. Qu altura tendr una torreque, a la misma hora, da una sombra de 188.20 m?, qu longitud tendr lasombra de Luis, que mide 1.80 metros?.

    Universidad Autnoma de la Ciudad de MxicoNada humano me es ajeno

  • 7/23/2019 Problem a Sip 2009

    2/42

    2

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    14) Un nmero ms su doble suman 210, cul es ese nmero?

    15) Un edificio es pintado por 12 obreros en 15 das. Cuntos das emplearn 20obreros en pintar el mismo edificio?

    16) Para construir una alberca, 10 obreros trabajan 16 das. Cuntos obrerostrabajaron en su construccin si el nmero de das empleado fue 40?

    17) Perla quiere comprar un CD que cuesta $150.00, pero se entera de que en latienda de discos hay un descuento del 20%. Cunto deber pagar por el CD?

    18) Perla quiere comprar un CD que cuesta p pesos, pero se entera de que en latienda de discos hay un descuento del dpor ciento. Cunto deber pagar por elCD?

    19) Imagina un viaje a un pueblo que se localiza a 90 km de donde t ests. Vas a una

    velocidad de 45 km/h y regresas a 90 km/h. Cul es el promedio de la velocidaddel viaje redondo?

    20) Elabora un diagrama de flujo que lea dos valores numricos ay by que los escribaen orden ascendente.

    21) (Desglose de IVA) Dado el importe de una compra que incluye el IVA, se deseasaber el monto del IVA y el importe de la venta sin IVA.

    22) Un vendedor ambulante se propuso vender una cesta de 115 peras a $10.00 cadamontn de 5 peras. Ya en la venta cambi de opinin e hizo un montn con las 58

    peras ms grandes y otro con ls 57 peras ms chicas. Las grandes las vendi a$5.00 cada montn de 2 peras, las pequeas a $5.00 cada montn de 3 peras.Le convino el cambio de venta?, s, no, por qu?

    23) (Telmex) El cargo por llamadas locales es de $156.55 ms IVA e incluye 100llamadas. Cada llamada adicional tiene un costo de $1.48 cada una ms IVA.Elabora un diagrama de flujo que dado el nmero de llamadas realizado, calcule yescriba el total a pagar.

    24) Dados dos puntos (x1, y1), (x2, y2) en el plano, calcular la distancia entre ellos (son4 datos). Recuerda que la distancia est dada por la frmula:

    25) Dos puntos (x1, y1), (x2, y2) en el plano determinan una recta, dado un valor xdeterminar el valor de yde tal manera que el punto (x, y) se encuentre en la rectadeterminada por los puntos (x1, y1) y (x2, y2) (son 5 datos).

  • 7/23/2019 Problem a Sip 2009

    3/42

    3

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    26) (Crdito hipotecario) En cierto banco, una persona es sujeta de un crditohipotecario si su salario es al menos de $10000 o si tiene una antigedad laboralde al menos 10 aos. Si este es el caso, el banco presta 2 aos de salario, con$400,000 como mximo. Decir si una persona es sujeta de crdito o no y, en elprimer caso, decir el monto del prstamo otorgado por el banco.

    27) Dada la funcin f(x)= ax2+ bx + c = 0 elabora un diagrama de flujo que lea comodatos los coeficientes a, by c, y que escriba el valor de xen donde la funcin ftoma un mnimo.

    28) (Cajero automtico) Supongamos que un cajero automtico cuenta con billetes delas denominaciones: $500, $200, $100 y $50. Dada una cierta cantidad en pesos,el problema consiste en determinar cules billetes el cajero debe entregar, de talmanera que el nmero de billetes entregados sea mnimo. As por ejemplo, si lacantidad solicitada es $3850, el diagrama debe indicar que se entregan:

    7 billetes de $500

    1 billetes de $2001 billetes de $1001 billetes de $50

    29) Elabora un diagrama de flujo que lea dos valores numricos ay by que escriba elmayor de ellos.

    30) (Costo de agua) Determina el pago a realizar en un hogar por concepto deconsumo de agua con las siguientes tres reglas de negocio:a) Si el consumo es menor a 20 metros cbicos se paga una cuota fija de $25,b) Los siguientes 30 metros cbicos se pagan a $2.50 cada metro,

    c) Todos los siguientes se pagan a $4.50 por metro cbico.

    31) (Costo de una llamada telefnica) Determina el costo de una llamada telefnicacon las siguientes dos reglas de negocio:a) Toda llamada de a lo ms 3 minutos de duracin cuesta $2.00b) Cada minuto adicional cuesta $1.50

    32) (Movistar Pagamenos) Movistar pagamenos, con el que tus llamadas cortas secobran por minuto y si se alargan, se cobran por llamada. (11/nov/07)

    a) Cobro por minuto: los 2 primeros de una llamada, a $2.75 por minuto.

    b) $5.75 por llamada, en bloques de 30 minutos. (IVA incluido.)

    33) (Amigo Combinado) La llamada corta se cobra por minuto y la larga por llamada.(21/ene/08) (IVA incluido.)

    c) Los primeros2 minutos se cobran a $2.88 cada minuto o fraccin.d) A partir del minuto 2:01 se cobra por llamada, $5.75 por cada 20 minutos o

    fraccin.

  • 7/23/2019 Problem a Sip 2009

    4/42

    4

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    34) (reas) Elabora diagramas de flujo para calcular el rea de un:a) Cuadradob) Rectnguloc) Tringulo

    d) Crculoe) Cilindro

    35) (rea de un tringulo) En el ejercicio anterior (c) supusiste que los datos eran labase y la altura. El propsito de este problema es calcular nuevamente el rea deun tringulo pero ahora conociendo la longitud de sus tres lados. Cmo secalcula en este caso el rea? La frmula es:

    donde a, b, c son las longitudes de los tres lados y ses igual al permetro del

    tringulo dividido entre dos, es decir, .

    36) (Volmenes) Elabora diagramas de flujo para calcular el volumen de un:a) Cubob) Paraleleppedo rectnguloc) Cilindro.d) Esfera:e) Cono:

    37) Una empresa desea conocer el monto de comisin correspondiente a una ventarealizada por un vendedor bajo las siguientes condiciones. Si la venta es menor a$1,000.00, se le otorga el 3% de comisin. Si la venta es de $1,000.00 o ms, elvendedor recibe el 5% de comisin.

    38) Elabora un diagrama de flujo que dados tres puntos en el plano encuentre elcrculo que pasa por ellos. Este crculo debe especificarse dando las coordenadasde su centro y su radio. Una vez encontrado este crculo y dado un punto (x, y) enel plano, tu algoritmo debe decir la distancia de este punto al punto ms cercano alcrculo anteriormente encontrado.

    39) Una agencia automotriz ofrece planes de crdito para la adquisicin de losdiferentes modelos de automviles. Si el automvil vale ms de $250,000.00 laagencia solicita un 35% de enganche y el resto debe cubrirse en 24

    mensualidades sin intereses. Si el automvil tiene un valor mximo de$250,000.00 se requiere un enganche del 25% y el resto se debe pagar en 18mensualidades sin intereses. La agencia desea saber, en base al precio de unautomvil que un determinado cliente elija, cul es el monto del enganche; y cules el nmero y el monto de las mensualidades que ste debe cubrir.

    40) Dado el sueldo de un empleado, determinar su aumento en base a los siguientescriterios:

  • 7/23/2019 Problem a Sip 2009

    5/42

    5

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    7% si el sueldo es inferior a $5,000,

    5% si el sueldo est entre $5,000 y $15,000,

    4% si el sueldo es superior a $15,000.

    41) Dado un sistema de ecuaciones lineales:ax+ by= cdx+ ey= f

    Elabora un diagrama de flujo que lea dos conjuntos de coeficientes (a, b, y c; d, e,y f) y encuentra los valores dex, yque resuelven el sistema.

    42) Una persona recibe un prstamo de $10,000.00 de un banco y desea saber cuntopagar de inters al terminar el mes si el banco le cobra una tasa del 2% mensual.a) Resuelve este caso particular.b) Generaliza este problema para un monto cualquiera de capital y para una tasa

    cualquiera.

    43) Disea un diagrama de flujo que lea un entero y diga:Si es par o no.Si es par, o mltiplo de 3, o mltiplo de 5.Si es par, o mltiplo de 3, o mltiplo de 4.

    44) Escribe un programa que lea las longitudes de los lados de un tringulo y quedetermine el tipo de tringulo que es: equiltero, issceles o escaleno.

    45) Una pizzera vende cuatro tamaos de pizzas (1=personal, 2=chica, 3=mediana y4=grande). Para realizar una venta se requieren saber tanto el tamao de la pizzacomo el nmero de ingredientes extra que lleva. Los precios de las pizzas son:personal: $25, chica: $50, mediana: $70 y grande: $100. Los ingredientes cuestan$10 cada uno. Adems, el tiempo de entrega de las pizzas es de 20 minutos, amenos que sea una pizza grande o que tenga ms de 3 ingredientes, en cuyocaso el tiempo de entrega es de 30 minutos. Escribe un diagrama de flujo quedado el tamao de una pizza y el nmero de ingredientes extra calcule e imprimael precio a pagar y el tiempo de entrega de la pizza.

    (ref.: http://staff.unak.is/not/andy/JavaNotes/cs151java.html)

    46) (Precios con descuento) Durante una venta especial en una tienda, se otorga un10% de descuento a las compras de ms de $150.00. Escribe un algoritmo quedado el importe de la compra, calcule el precio con descuento.

    47) (Verificador de rdenes) Los precios en una tlapalera son los siguientes: 50 centavos por tornillo 30 centavos por tuerca 10 centavos por rondana

  • 7/23/2019 Problem a Sip 2009

    6/42

    6

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    Escribe un algoritmo que dado el nmero de tornillos, tuercas y rondanas en unacompra, calcule e imprima la cuenta. Como una caracterstica extra, el programaverifica la orden. Es generalmente un error si hay ms tornillos que tuercas. Eneste caso el algoritmo escribe "Verifica la orden". De otro modo el algoritmoescribe "La orden est bien". En cualquier caso el precio total es escrito.

    48) (Gasolinera) Una gasolinera se encuentra en una ruta del desierto. No hayninguna otra gasolinera en 300 km a la redonda. Debes escribir un algoritmo paraayudar a que los conductores decidan si necesitan gasolina. El algoritmo lee: La capacidad del depsito de gasolina, en litros El indicador del nivel de gasolina, en porcentaje (lleno = 100, tres cuartos =75, etctera) Los kilmetros por litro que consume el coche.El algoritmo entonces escribe "Carga gasolina" o "Seguro avanzar" dependiendode si el coche puede cruzar los 300 kilmetros con la gasolina que queda en eltanque.

    49) (Concurso de comer pasteles) En el concurso de comer pasteles de la feria delpueblo todos los concursantes deben pesar entre 30 y 90 kilogramos. Escribe unalgoritmo que pida el peso del concursante y diga si el concursante es admitido enel concurso o no.

    50) (Calculadora de edades) Escribe un algoritmo que tenga como datos el ao denacimiento de una persona, codificado como dos dgitos (como 62), as como elao actual, tambin codificado en dos dgitos (como 08). El problema es calcularla edad del usuario. (Nota: se supone que el programa no calcula edades mayores

    a 100 aos y no se toman en cuenta mes ni da.) Ejemplos:

    Ao nacimiento Ao actual Edad

    62 08 4601 08 7

    51) (Eficiencia de un motor) La eficiencia mxima de un motor de vapor depende de latemperatura del vapor en la caldera y de la temperatura del aire del exterior, y estdada por la siguiente frmula:

    eficiencia = 1Temperatura del aire / Temperatura del vapor

    Las temperaturas miden los grados sobre el cero absoluto. Normalmente, latemperatura del aire es cercana a 300oK. El agua hierve a 373oK. Escribe unalgoritmo que lea la temperatura area y la temperatura del vapor y que escriba laeficiencia posible mxima de un motor de vapor. Sin embargo, si la temperaturadel vapor es menor a 373oK no hay vapor, as que la eficiencia es cero.

  • 7/23/2019 Problem a Sip 2009

    7/42

    7

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    52) (Microondas) Un fabricante de hornos de microondas recomienda que cuando secalienten dos artculos, se aumente un 50% el tiempo de coccin, y al calentar tresartculos se duplique el tiempo de coccin. La coccin de ms de tres artculos almismo tiempo no es recomendada. Escribe un algoritmo que lea el nmero deartculos a calentar y el tiempo de coccin de cada artculo. El algoritmo entonces

    escribe el tiempo de coccin recomendado.Sugerencia: haz esto con cuatro instrucciones de decisin, cada una verifica unode los posibles cuatro casos: 1, 2, 3 o ms artculos.

    53) (Juego de roles) En un nuevo juego de roles, los jugadores disean su carcterescogiendo un valor para cada una de tres caractersticas: Fuerza, de 1 a 10 Salud, de 1 a 10 Suerte, de 1 a 10Escribe un algoritmo que pida el puntaje de cada una de las tres caractersticas.Sin embargo, los puntos totales deben ser a lo ms 15. Si la suma excede 15,

    entonces 5 puntos son asignados a cada caracterstica. Ejemplo:

    Bienvenido a la Bsquedafuerza (1-10)? 8salud (1-10)? 4suerte (1-10)? 6

    Demasiados puntos! Se han asignado los valores por omisin:fuerza: 5, salud: 5, suerte: 5

    (ref.: http://www.ganimides.ucm.cl/haraya/inicio.htm)

    54) (Balanza en equilibrio) Una balanza se encuentra en equilibrio cuando el productode la carga aplicada sobre el brazo derecho por la longitud de este brazo, es igualal producto de la carga aplicada sobre el brazo izquierdo por la longitud de esteotro brazo. Determinar si una balanza se encuentra en equilibrio si (hacer undibujo como ayuda para entender el problema): La longitud del brazo izquierdo es 3 m, la del derecho es 2 m, la cargaaplicada al brazo izquierdo es 5 Kg y la carga aplicada al derecho es 7 Kg. La longitud del brazo izquierdo es 4 m, la del derecho es 2 m, la cargaaplicada al brazo izquierdo es 4 Kg y la carga aplicada al derecho es 4 Kg. Desarrollar un algoritmo que sirva para cualquier conjunto de valores paralas longitudes de los brazos y las cargas aplicadas.

    55) Determinar si un punto est dentro de un crculo. Datos?

  • 7/23/2019 Problem a Sip 2009

    8/42

    8

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    56) Un hombre desea saber cuanto dinero se genera por concepto de intereses sobrela cantidad que tiene en una inversin en el banco. l decidir reinvertir losintereses siempre y cuando stos excedan $7000. Datos?

    57) Determina si un estudiante obtiene la certificacin o no de un curso, sabiendo que

    la obtiene si el promedio de sus tres calificaciones es mayor o igual a 70; no laobtiene en caso contrario.

    58) En un almacn se hace un 20% de descuento a los clientes cuya compra superelos $1000 Cul ser la cantidad que pagar una persona por su compra?

    59) Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguientemanera:Si trabaja 40 horas o menos se le paga $16 por horaSi trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horasy $20 por cada hora extra.

    60) Haga un algoritmo que calcule el total a pagar por la compra de camisas. Si secompran tres camisas o ms se aplica un descuento del 20% sobre el total de lacompra y si son menos de tres camisas un descuento del 10%. El precio de unacamisa es de $150.00

    61) Calcula el total que una persona debe pagar en una llantera. El precio de cadallanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 oms.

    62) Calcula el nmero de pulsaciones que debe tener una persona por cada 10segundos de ejercicio aerbico; la frmula que se aplica cuando el sexo esfemenino es:a. nmero pulsaciones = (220 - edad)/10y si el sexo es masculino:b. nmero pulsaciones = (210 - edad)/10

    Datos?

    63) Una compaa de seguros est abriendo un departamento de finanzas y haestablecido un programa para captar clientes que consiste en lo siguiente: si elmonto por el que se efecta la fianza es menor que $50,000 la cuota a pagar ser

    por el 3% del monto mientras que si el monto es mayor que $50,000 la cuota apagar ser el 2% del monto. La afianzadora desea determinar cual ser la cuotaque debe pagar un cliente.

    64) En una escuela la colegiatura de los alumnos se determina segn el nmero dematerias que cursan. El costo de todas las materias es el mismo. Se haestablecido un programa para estimular a los alumnos, el cual consiste en lo

  • 7/23/2019 Problem a Sip 2009

    9/42

    9

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    siguiente: si el promedio obtenido por un alumno en el ltimo periodo es mayor oigual que 9, se le har un descuento del 30% sobre la colegiatura y no se lecobrar IVA; si el promedio obtenido es menor que 9 deber pagar la colegiaturacompleta, la cual incluye el IVA. Obtener cuanto debe pagar un alumno, datos?

    65) Una empresa de bienes races ofrece casas de inters social, bajo las siguientescondiciones: si los ingresos del comprador son menores a $8000 el enganche serdel 15% del costo de la casa y el resto se distribuir en pagos mensuales, a pagaren diez aos. Si los ingresos del comprador son mayores de $8000 el engancheser del 30% del costo de la casa y el resto se distribuir en pagos mensuales apagar en 7 aos. La empresa quiere obtener cuanto debe pagar un comprador porconcepto de enganche y cuanto por cada pago parcial. Datos?

    66) Una persona desea iniciar un negocio, para lo cual piensa verificar cuanto dinerole prestar el banco por hipotecar su casa. Tiene una cuenta bancaria, pero noquiere disponer de ella a menos que el monto por hipotecar su casa sea muy

    pequeo. Si el monto de la hipoteca es menor que $1,000,000 entonces invertir el50% de la inversin total y un socio invertir el otro 50%. Si el monto de lahipoteca es de $ 1,000,000 o ms, entonces invertir el monto total de la hipotecay el resto del dinero que se necesite para cubrir la inversin total se repartir apartes iguales entre el socio y l. Datos?

    67) El gobierno del Estado de Mxico desea reforestar un bosque que mide ciertonmero de hectreas. Si la superficie del terreno excede a 1 milln de metroscuadrados, entonces decidir sembrar de la siguiente manera:

    Porcentaje de la superficie del bosque Tipo de rbol

    a. 70% pinob. 20% oyamelc. 10% cedro

    Si la superficie del terreno es menor o igual a un milln de metros cuadrados,entonces decidir sembrar de la siguiente manera:

    Porcentaje de la superficie del bosque Tipo de rbold. 50% pinoe. 30% oyamelf. 20% cedro

    El gobierno desea saber el nmero de pinos, oyameles y cedros que tendr que

    sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en15 metros cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10cedros. Tambin se sabe que una hectrea equivale a 10 mil metros cuadrados.Datos?

    68) Una fbrica ha sido sometida a un programa de control de contaminacin para locual se efecta una revisin de los puntos IMECA generados por la fbrica. El

  • 7/23/2019 Problem a Sip 2009

    10/42

    10

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    programa de control de contaminacin consiste en medir los puntos IMECA queemite la fabrica en cinco das de una semana y si el promedio es superior a los170 puntos entonces tendr la sancin de parar su produccin por una semana yuna multa del 50% de las ganancias diarias cuando no se detiene la produccin. Siel promedio obtenido de puntos IMECA es de 170 o menor entonces no tendr ni

    sancin ni multa. El dueo de la fbrica desea saber cuanto dinero perderdespus de ser sometido a la revisin.

    69) Una persona se encuentra con un problema de comprar un automvil o un terreno,los cuales cuestan exactamente lo mismo. Sabe que mientras el automvil sedevala, con el terreno sucede lo contrario. Esta persona comprar el automvil sial cabo de tres aos la devaluacin de ste no es mayor que la mitad delincremento del valor del terreno. Aydale a esta persona a determinar si debe o nocomprar el automvil.

    70) Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el

    segundo que los reste y si no que los sume.

    71) Determinar la cantidad de dinero que recibir un trabajador por concepto de lashoras extras trabajadas en una empresa, sabiendo que cuando las horas detrabajo exceden de 40, el resto se consideran horas extras y que stas se pagan aldoble de una hora normal cuando no exceden de 8; si las horas extras exceden de8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y elresto al triple. Las hora normales se pagan a $16.00

    72) Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si

    sta se otorga como un porcentaje de su salario mensual dependiendo de suantigedad en la empresa de acuerdo con la siguiente tabla:Tiempo Utilidad

    Menos de 1 ao 5 % del salario1 ao o ms y menos de 2 aos 7% del salario2 aos o ms y menos de 5 aos 10% del salario5 aos o ms y menos de 10 aos 15% del salario10 aos o ms 20% del salario

    73) En cierta tienda se efecta una promocin en la cual se hace un descuento sobreel valor de la compra total segn el color de la bolita que el cliente saque al pagar

    en caja. Si la bolita es de color blanco no se le har descuento alguno, si es verdese le har un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si esroja un 100%. Determinar la cantidad final que el cliente deber pagar por sucompra. Se sabe que slo hay bolitas de los colores mencionados.

    74) El IMSS requiere clasificar a las personas que se jubilarn en el ao de 1997.Existen tres tipos de jubilaciones: por edad, por antigedad joven y por antigedad

  • 7/23/2019 Problem a Sip 2009

    11/42

    11

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    adulta. Las personas adscritas a la jubilacin por edad deben tener 60 aos o msy una antigedad en su empleo de menos de 25 aos. Las personas adscritas a la

    jubilacin por antigedad joven deben tener menos de 60 aos y una antigedaden su empleo de 25 aos o ms. Las personas adscritas a la jubilacin porantigedad adulta deben tener 60 aos o ms y una antigedad en su empleo de

    25 aos o ms. Determinar en qu tipo de jubilacin quedar adscrita unapersona.

    75) En una fbrica de computadoras se planea ofrecer a los clientes un descuentoque depender del nmero de computadoras que compre. Si las computadorasson menos de cinco se les dar un 10% de descuento sobre el total de la compra;si el nmero de computadoras es mayor o igual a cinco pero menos de diez se leotorga un 20% de descuento; y si son 10 o ms se les da un 40% de descuento. Elprecio de cada computadora es de $11,000.

    76) En una llantera se ha establecido una promocin de las llantas marcaPonchadas, dicha promocin consiste en lo siguiente: si se compran menos de

    cinco llantas el precio es de $300 cada una, de $250 si se compran de cinco a 10 yde $200 si se compran ms de 10. Obtener la cantidad de dinero que una personatiene que pagar por cada una de las llantas que compra y la que tiene que pagarpor el total de la compra.

    77) En un juego de preguntas a las que se responde Si o No gana quien respondacorrectamente las tres preguntas. Si se responde mal a cualquiera de ellas ya nose pregunta la siguiente y termina el juego. Las preguntas son:

    Coln descubri Amrica?

    La independencia de Mxico fue en el ao 1810?The Doors fue un grupo de rock Americano?

    78) Un proveedor de estreos ofrece un descuento del 10% sobre el precio sin IVA dealgn aparato si cuesta $2000 o ms. Adems, independientemente de esto,ofrece un 5% de descuento si la marca es NOSY. Determinar cuanto pagar,

    con IVA incluido, un cliente por la compra de su aparato.

    79) Una frutera ofrece las manzanas con descuento segn la siguiente tabla:NUM. DE KILOS COMPRADOS % DESCUENTO

    0 - 2 0%

    2.01 - 5 10%5.01 - 10 15%10.01 en adelante 20%

    Determinar cuanto pagar una persona que compre manzanas en esa frutera.

    80) El dueo de una empresa desea planificar las decisiones financieras que tomaren el siguiente ao. La manera de planificarlas depende de lo siguiente: si

  • 7/23/2019 Problem a Sip 2009

    12/42

    12

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    actualmente su capital se encuentra con saldo negativo, pedir un prstamobancario para que su nuevo saldo sea de $10,000. Si su capital tiene actualmenteun saldo positivo pedir un prstamo bancario para tener un nuevo saldo de$20,000, pero si su capital tiene actualmente un saldo superior a los $20,000 nopedir ningn prstamo. Posteriormente repartir su presupuesto de la siguiente

    manera. a. $5,000 para equipo de cmputob. $2,000 para mobiliarioc. y del resto, la mitad ser para la compra de insumos y la otra para

    otorgar incentivos al personal.

    Desplegar qu cantidades se destinarn para la compra de insumos e incentivos alpersonal y, en caso de que fuera necesario, a cunto ascendera la cantidad quese pedira al banco.

    81) Tomando como base los resultados obtenidos en un laboratorio de anlisis

    clnicos, un mdico determina si una persona tiene anemia o no, lo cual dependede su nivel de hemoglobina en la sangre, de su edad y de su sexo. Si el nivel dehemoglobina que tiene una persona es menor que el rango que le corresponde, sedetermina su resultado como positivo y en caso contrario como negativo. La tablaen la que el mdico se basa para obtener el resultado es la siguiente:

    EDAD NIVEL HEMOGLOBINA

    a. 0 - 1 mes 13 - 26 g%b. > 1 y < = 6 meses 10 - 18 g%c. > 6 y < = 12 meses 11 - 15 g%d. > 1 y < = 5 aos 11.5 - 15 g%

    e. > 5 y < = 10 aos 12.6 - 15.5 g%f. > 10 y < = 15 aos 13 - 15.5 g%g. mujeres > 15 aos 12 - 16 g%h. hombres > 15 aos 14 - 18 g%

    82) Una institucin educativa estableci un programa para estimular a los alumnos conbuen rendimiento acadmico y que consiste en lo siguiente:Si el promedio es de 9.5 o ms y el alumno es de preparatoria, entonces stepodr cursar 55 unidades y se le har un 25% de descuento.Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de

    preparatoria, entonces ste podr cursar 50 unidades y se le har un 10% dedescuento.Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, stepodr cursar 50 unidades y no tendr ningn descuento.Si el promedio es de 7 o menor, el nmero de materias reprobadas es de 0 a 3 yel alumno es de preparatoria, entonces podr cursar 45 unidades y no tendrdescuento.

  • 7/23/2019 Problem a Sip 2009

    13/42

    13

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    Si el promedio es de 7 o menor, el nmero de materias reprobadas es de 4 o msy el alumno es de preparatoria, entonces podr cursar 40 unidades y no tendrningn descuento.Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entoncespodr cursar 55 unidades y se le har un 20% de descuento.

    Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podrcursar 55 unidades y no tendr descuento.Obtener el total que tendr que pagar un alumno si la colegiatura para alumnos deprofesional es de $300 por cada cinco unidades y para alumnos de preparatoria esde $180 por cada cinco unidades.

    83) Leer tres nmeros diferentes y determine el nmero medio del conjunto de los tresnmeros (el nmero medio es aquel nmero que no es ni mayor ni menor).

    84) (Nmeros complejos) Los nmeros complejos tienen la caracterstica de estarformados por una parte real y una parte imaginara que va acompaada de la letrai. donde el valor de i es la raz cuadrada de -1. Un ejemplo de este tipo denmeros es el siguiente: 5+2i, en donde la parte real vale 5 y la parte imaginara 2.El programa a hacer realiza las operaciones aritmticas bsicas (suma resta,multiplicacin y divisin) de nmeros complejos El programa deber tener unmen donde sus opciones deben ser las operaciones, Ejemplo:NUMEROS COMPLEJOS

    1. SUMA2. RESTA3. MULTIPLICACIN4. DIVISIN

    5. SALIRELIGE UNA OPCIN: 1Despus de la ejecucin de cada opcin se regresa al men.

    85) (Paralelismo, perpendicularidad, coincidencia e interseccin de dos rectas.) Dadaslas ecuaciones de dos rectas en su forma general, es posible determinar si sonparalelas, perpendiculares, coincidentes o si existe la interseccin entre stas. Silas ecuaciones de las rectas son:

    Ax+ By+ C= 0Ax+ By+ C = 0

    Se tiene que:

    a) Son paralelas si

    b) Son perpendiculares si .

    c) Son coincidentes si (k 0) .

    d) Existe interseccin en uno y solamente un punto si

  • 7/23/2019 Problem a Sip 2009

    14/42

    14

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    El problema a resolver consiste en, dadas las ecuaciones de dos rectas,determinar si son paralelas, perpendiculares, coincidentes o si existe interseccinentre stas.

    86) (CONVERSIONES DE UNIDADES DE LONGITUD) Elaborar un programa para

    convertir entre unidades de longitud del sistema mtrico decimal al sistema inglesy viceversa. La equivalencia entre estas unidades es la siguiente:1 yarda= 3 pies1 pie= 12 pulgadas1 pulgada = 2.54 cm

    El programa debe preguntar si se desea convertir medidas del sistema ingls aldecimal (opcin 1) o bien del sistema decimal al ingls (opcin 2). Los datos sepueden ingresar ya sea en pulgadas, yardas o pies para la opcin 1 y en metros,centmetros o kilmetros para el caso 2. Los resultados se deben mostrar en unatabla en las tres unidades correspondientes al sistema deseado.

    87)

  • 7/23/2019 Problem a Sip 2009

    15/42

    15

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    ESTRUCTURA REPETITIVA (MIENTRAS)

    1) Escribe un diagrama de flujo que escriba los nmeros enteros del 1 al 5.

    2) Disea un diagrama de flujo que escriba los nmeros enteros del 1 al 10.

    3) Elabora un diagrama de flujo que escriba los primeros 100 nmeros naturales, esdecir, 1, 2, 3,, 100.

    4) Dibuja un diagrama de flujo que escriba los primeros 100 nmeros naturalespares, es decir, 2, 4, 6,, 200.

    5) Escribe un diagrama de flujo que escriba los nmeros enteros del 100 al 1.

    6) Elabora un diagrama de flujo que sume los primeros 100 nmeros naturales, esdecir, 1 + 2 + 3 + + 100.

    7) Elabora un diagrama de flujo que, dado un nmero entero n, escriba los primeros nnmeros naturales, es decir, 1, 2, 3,, n.

    8) Disea un diagrama de flujo que, dado un nmero entero n, sume los primeros nnmeros naturales, es decir, 1 + 2 + 3 + + n.

    9) Escribe un diagrama de flujo que calcule mx n(m 0, n 0, ambos enteros) sinutilizar la operacin de multiplicacin.

    10) Elabora un diagrama de flujo, que calcule mn (n > 0 y entero) sin utilizar laoperacin de potencia.

    11) En instalaciones de red que utilizan como medio de transmisin de datos la fibraptica, las prdidas de enlace estn dadas por la frmula:

    Donde:Pe significa prdidas de enlace,Pates prdidas por atenuacin de la fibra ptica,Pemes prdidas por empalme y

    Ptres prdidas por cada transicin.Dibuja un diagrama de flujo que calcule las prdidas de nenlaces y que muestre alfinal las prdidas promedio de los enlaces.

    12) Una empresa de telfonos celulares necesita realizar un programa que calcule elsaldo mensual de cada uno de sus nclientes. Para ello se considera el tiempo aireutilizado en el periodo mensual. El costo de la llamada por minuto es de $5. La

  • 7/23/2019 Problem a Sip 2009

    16/42

    16

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    empresa por promocin realizar un descuento del 15% a aquellos clientes cuyoconsumo al final del mes sea mayor que $800.

    13) Dados los datos:

    a1

    , b1, a

    2, b

    2,...., a

    32, b

    32

    ai: reales

    bi: enteros, i= 1, 2, ..., 32

    donde ai representa el ingreso del estado i de la Repblica Mexicana y bi

    representa el nmero de habitantes que hay en ese mismo estado. Elabora un solodiagrama de flujo para:

    a) Calcular el ingreso per cpita de cada estado:

    , i= 1, 2, ..., 32

    b) Calcular el ingreso per cpita total de la Repblica Mexicana (suma delas a

    is entre suma de las b

    is):

    14) Una empresa tiene nempleados, por los que aporta al INFONAVIT el 3% de lanmina y al IMSS el 4%. Los datos son:

    n, s1, s

    2,..., s

    n

    Donde:nrepresenta el nmero de empleados

    sirepresenta el sueldo del empleado iElabora un diagrama de flujo que calcule e imprima:a) el sueldo-empresa de cada empleado que consiste en el sueldo del empleado ms

    las aportaciones mencionadas;b) el monto total de la nmina que paga la empresa; yc) el total de aportaciones al INFONAVIT y al IMSS que realiza la empresa.

    15) (Cajero automtico bis) Supongamos que un cajero automtico cuenta con billetesde las denominaciones: $500, $200, $100 y $50. Dada una cierta cantidad enpesos, el problema consiste en determinar cules billetes el cajero debe entregar,de tal manera que el nmero de billetes entregados sea mnimo, sin usar ladivisin, slo sumas y restas.

    16) Las elecciones presidenciales estn prximas a realizarse en cierto pas.

    Como es el segundo turno, solamente hay dos partidos diferentes (1 y 2). Uno delos partidos desea realizar una encuesta a npersonas para saber la estrategia aseguir.

    A cada persona entrevistada se le pregunta:si va a votar,en caso de que vote, por qu partido votar.

  • 7/23/2019 Problem a Sip 2009

    17/42

    17

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    Elabora un diagrama de flujo para procesar esta encuesta. Los datos son:

    nresp1 (partido1)resp2 (partido2). . .respn (partidon)

    17) Un banco necesita un algoritmo para conocer cul es la conversin de una ciertacantidad de pesos a dlares, dlares, libras, euros o yenes. Los datos son:

    clave, cant y tipoDeCambiodonde clave es un entero que indica la moneda a la que se desea convertir(1=dlares, 2=libras, 3= euros y 4=yenes), cant indica la cantidad en pesos aconvertir y tipoDeCambio indica el tipo de cambio de dlares al momento delclculo. El resultado debe decir:

    cantpesos equivalen a tantosmoneda

    Por ejemplo, si se convierten 1000 pesos a euros a una equivalencia de $14.30,los datos deben ser: 3 1000 14.30 y el resultado debe ser:

    1000 pesos equivalen a 69.93 euros

    18) Disea un diagrama de flujo para convertir una temperatura en grados centgradosa grados Farenheit, usando la frmula:

    F = 9.0 / 5.0 * C + 32.0

    19) Disea un diagrama de flujo que imprima una tabla de conversin de gradosCentgrados a grados Fahrenheit para un rango de valores entre my n, donde m

    n, usando la frmula anterior. Por ejemplo, para m=-10 y n=100 el diagrama debeescribir una tabla como la siguiente:

    -10 14-9 15.80...0 321 33.80..

    .100 212

    20) (Ruido) Disea un diagrama de flujo que dado ny tcalcule el valor de

    sen(t) + sen(2t) + sen(3t) + + sen(n t)

    21) (Aguinaldo) En Mxico, las empresas estn obligadas a proporcionar un aguinaldode al menos 15 das de salario a sus trabajadores, siempre y cuando hayan

  • 7/23/2019 Problem a Sip 2009

    18/42

    18

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    laborado el ao completo, en caso contrario, les deben pagar la parte proporcionaltrabajada. Elabora un algoritmo y programa para que una empresa que otorga 15das de aguinaldo a sus n trabajadores pueda calcular el aguinaldo que lecorresponde a cada uno de ellos, as como la suma total que debe pagar porconcepto de aguinaldos. Los datos de cada trabajador sern su sueldo y el tiempo

    trabajado en el ao. Determina la forma de estos datos.

    22) Supongamos que una bacteria en un lago incrementa su nmero en un factor depcada segundo; por tanto, empezando con n0bacterias iniciales en el tiempo cero,hay n1= n0*(1+p) bacterias despus de un segundo, n2=n1*(1+p) despus de dossegundos y as sucesivamente. Elabora un diagrama de flujo que escribe elnmero de bacterias existentes en cada perodo de tiempo, durante un lapsoespecificado. Por ejemplo, con los valores n0= 10

    6,p=.001 y escribiendo el nmerode bacterias cada 24 horas durante una semana, tu programa debe escribir:

    Numero inicial de bacterias? 1000000

    factor de incremento? .001numero de segundos? 605000n(0) = 1e+006n(86400) = 3.19371e+043n(172800) = 1.01998e+081n(259200) = 3.25753e+118n(345600) = 1.04036e+156n(432000) = 3.32261e+193n(518400) = 1.06115e+231n(604800) = 3.389e+268

    23) (Aproximacin a ) He aqu una manera interesante de calcular : generarrepetidamente puntos (x, y) al azar dentro del cuadrado de lado dos, con centro enel origen y lados paralelos a los ejes coordenados. Si el punto (x,y) est dentro delcrculo unitario lo contamos como un xito. Si Ses el nmero de xitos dentro delcrculo unitario y n es el nmero total de puntos generados, entonces S/n= /4(por qu?, tiene que ver con reas). Esta aproximacin tiende a ser mejor amedida que ncrece. Escribe un programa que use este mtodo para calcular ,preguntando por el nmero nde puntos a generar. Probarlo para varios valores den.

    24) (Tiro parablico) Elabora un programa que escriba tripletas t,x(t), y(t) describiendola posicin de una pelota arrojada con un ngulo con respecto al suelo y con unavelocidad v, tomando en cuenta la aceleracin gravitacional g, y con posicininicialx(0)=0, y(0)=0. La pelota debe seguirse hasta que pega en el suelo en y=0.Recuerde que las ecuaciones estn dadas por:

    x(t)= vcos()t,

  • 7/23/2019 Problem a Sip 2009

    19/42

    19

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    y(t)= v sen()tgt2 / 2, donde g=9.81 m/s2

    25) (Longitud de arco) Idear un algoritmo e implementarlo en C para estimar lalongitud sobre una curva y=f(x) aproximndola por segmentos de recta. Prueba tuprograma con al menos dos ejemplos significativos.

    26) Utiliza el algoritmo del ejercicio anterior para estimar la distancia que la pelotamodelada en el ejercicio (14) recorri en su trayectoria (no sobre el piso sino sobresu trayectoria en el aire).

    27) La funcin generadora de nmeros aleatorios estndar de C, rand, no generarealmente nmeros aleatorios. Por tanto, es de inters el estudio de qu tanaparentemente aleatorios son sus valores. Una prueba simple es calcular elpromedio y la desviacin estndar de un nmero grande de valores regresadospor rand. Escribir un programa para hacer esto, cul debiera ser la respuesta?

    28) El nmero se aproxima con un nmero suficiente de trminos de la siguienteserie:

    = 4*(11/3 + 1/51/7 + 1/91/11 + )Escribe un programa que calcule utilizando la serie anterior. El clculo debeterminarse cuando el valor de un nuevo trmino de la serie sea menor o igual a0.0001

    29) Un nio va a la tienda con los p pesos que le dio su pap de domingo paracomprar dulces. Son tres los tipos de dulces que le interesan, sus precios son:$0.75, $1.15 y $0.65. El nio va pidiendo al tendero qu tipo de dulces quiere (1, 2o 3) y cuntos quiere, entonces el tendero, si an le alcanza para comprar ms

    dulces, le pregunta cul y cuntos quiere y as hasta que el nio no pueda comprarms dulces. Escribe un diagrama de flujo que simule el comportamiento del nio yel tendero y que, cuando el nio no pueda comprar ms dulces, imprima cuntosdulces compr de cada tipo y cul es su cambio.

    30) Un grupo consta de nestudiantes, cada uno de los cuales cursa 5 materias. Paracada estudiante se da una lnea de entrada formada por su matrcula(supongamos que es un valor entero) y sus cinco calificaciones. Como ejemplo dela entrada de datos se podra tener:

    422345 10 7.5 7 8.3 8.9

    21212 4 7.1 5.9 7 8.232323 10 9 10 10 1043434 6 8 7 5 6

    Escribe un diagrama de flujo que lea estos datos y que escriba la matrcula decada estudiante junto con su promedio, al igual que el promedio del grupo.

  • 7/23/2019 Problem a Sip 2009

    20/42

    20

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    31) Dado un entero nencuentra su raz digital. La raz digital de un entero se calculasumando los dgitos que componen a n. El proceso se repite hasta que elresultado as obtenido sea de un dgito.

    Ejemplo: 347 3 + 4 + 7 = 14 1 + 4 = 5 RD(347) = 5

    32) En una guardera hay 25 nios de 1, 2 y 3 aos. Los nios de 1 ao consumen 6

    paales al da, los nios de 2 aos consumen 3 paales diarios y los nios de 3aos consumen 2 paales diarios. Se desea conocer el consumo total de paalesdiarios. Datos:

    edad1edad2. . . . .edad25

    donde edadi representa la edad del isimo nio en aos cumplidos (1, 2 o 3).

    33) (Factorial de un nmero) Elabora un diagrama de flujo que reciba un valor nenteroy que calcule su factorial. El factorial de un nmero n est definido como:

    a. 1, si n=0,b. (n-1)! n, si n0,c. escribe un mensaje de error y no calcula nada, si n

  • 7/23/2019 Problem a Sip 2009

    21/42

    21

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    ponderada de bienes y servicios representativa del consumo de las familiasurbanas de Mxico. Elabora un diagrama de flujo para calcular y escribir:

    a) La tasa de inflacin entre aos consecutivos:TI

    t= (Pt/ Pt-11) * 100, t= 2, 3, ..., n

    Nota: este es un problema real; para una muestra del programa que debes hacer

    puedes usar lacalculadoraproporcionada por Banxico.

    b) La tasa media inflacionaria:

    Tasa media= (TI2+ TI3+ + TIn)/ (n-1)

    37) Construye un diagrama de flujo que calcule e imprima los 150 primeros nmerosde la serie de Fibonacci. Recuerda que los dos primeros nmeros de la serie son 1y 1. El resto se calcula como la suma de los dos nmeros que lo preceden.Ejemplo: 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .

    38) En una generacin hay 30 estudiantes y cada uno de ellos tiene 5 calificaciones,correspondientes a 5 diferentes materias. Se requiere que calcules:

    a. El promedio de cada estudiante.b. Lo mismo que el inciso anterior y adems el promedio general de la

    generacin (=promedio de los promedios).c. Lo mismo que el inciso anterior pero suponiendo que cada estudiante tiene

    ncalificaciones.d. Lo mismo que el inciso anterior pero contando adems el nmero de

    estudiantes condicionados, es decir, cuntos estudiantes tienen ms de 2materias no certificadas (con nota inferior a 7).

    39) a. Dados los coeficientes de un polinomio de tercer grado y un

    punto , evaluar el polinomio en , sin usar la operacin de potencia.Cuntas multiplicaciones y sumas realizaste?b. Generaliza ahora a evaluar un polinomio de grado n:

    A esta evaluacin se le conoce como el mtodo de Horner para evaluarpolinomios.

    40) Elabora un diagrama de flujo que, dado un entero n>1 calcule e imprima la tablade multiplicar del n, del 1 al 12. Ejemplo, si n=3 el diagrama debe escribir:

    3 6 9 12 15 18 21 24 27 30 33 36

    41) Escribe un diagrama de flujo que imprima las tablas de multiplicar del 2 al 12, esdecir, que escriba:

    2 4 6 8 10 12 14 16 18 20 22 243 6 9 12 15 18 21 24 27 30 33 36..12 24 36 48 60 72 84 96 108 120 132 144

    http://www.banxico.org.mx/SieInternet/consultarDirectorioInternetAction.do?accion=consultarCalculadora&calculadoraSerie=SP1&locale=eshttp://www.banxico.org.mx/SieInternet/consultarDirectorioInternetAction.do?accion=consultarCalculadora&calculadoraSerie=SP1&locale=eshttp://www.banxico.org.mx/SieInternet/consultarDirectorioInternetAction.do?accion=consultarCalculadora&calculadoraSerie=SP1&locale=eshttp://www.banxico.org.mx/SieInternet/consultarDirectorioInternetAction.do?accion=consultarCalculadora&calculadoraSerie=SP1&locale=es
  • 7/23/2019 Problem a Sip 2009

    22/42

    22

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    42) Realiza un programa que escriba el siguiente cuadrado de nmeros:

    1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10

    1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10

    43) Ahora escribe un programa que escriba el siguiente tringulo de nmeros:

    11 2

    1 2 31 2 3 41 2 3 4 51 2 3 4 5 61 2 3 4 5 6 71 2 3 4 5 6 7 81 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9 10

    44) Escribe un algoritmo que imprima el siguiente tringulode nmeros, teniendo

    como entrada el nmero de filas de la misma. Por ejemplo, si la entrada fuera 5 la

    salida sera (el nmero de filas est entre 1 y 10):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 1

    45) Disea un programa que simule el comportamiento de un reloj digital en un da, esdecir, tu programa debe escribir la hora, segundo a segundo,a) En un da: desde las 0 : 0 : 0 hasta las 23 : 59 : 59b) Perpetuo (es decir, nunca termina).

    46) Elabora un programa que lea un nmero entero n y que escriba n al revs,invirtiendo el orden de sus dgitos. Por ejemplo, si el nmero ledo fuera 315 tuprograma debe escribir 513.

    47) Disea un programa que lea un nmero entero n y que encuentre otro entero mque sea n al revs, invirtiendo el orden de sus dgitos y que diga si n es

  • 7/23/2019 Problem a Sip 2009

    23/42

    23

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    palndroma. Una palabra es palndroma si se lee igual de izquierda a derecha quede derecha a izquierda.

    48) La funcin matemtica sen(x) se aproxima con un nmero suficiente de trminosde la siguiente serie:

    Escribe un programa en C para que, dada un valor de x, calcule sen(x) utilizandola serie anterior. El clculo debe terminarse cuando el valor absoluto de un nuevotrmino de la serie sea menor o igual que 0.0001. Asimismo, que imprima elnmero de trminos requeridos para obtener esta precisin. El valor de x debeexpresarse en radianes cumpliendo la siguiente restriccin: 0 x /2

    Nota: por eficiencia, no debes emplear la operacin de potencia.

    49) Una compaa que vende cigarros realiz una encuesta a varias personas. En

    dicha encuesta se ha preguntado lo siguiente:

    Si el encuestado fuma o no.Si fuma, de qu marca fuma.Si fuma, cuntas cajetillas fuma al da.

    Los resultados de la encuesta estn almacenados de la siguiente forma:

    nfumar

    1, marca

    1, cuantas

    1

    fumar2, marca

    2, cuantas

    2

    fumar3, marca

    3, cuantas

    3

    . . .

    . . .fumar

    n, marca

    n, cuantas

    n

    Donde:

    n representa el nmero de encuestas realizadas, n(entero) 1fumar

    i representa el hecho de fumar o no; (0 = no fuma, 1 = si fuma)marca

    irepresenta la clave de la marca de cigarrillos que fuma el encuestado i,(1=marca1, 2=marca2, 3=marca3, 0=ninguna)

    cuantasirepresenta el nmero de cajetillas que fuma al da, cuantasi (entero) 0.

    Se te pide que realices un programa que conteste lo siguiente:

    Cuntos no fumadores fueron encuestados?Cul es la marca que mayor nmero de fumadores tiene?Cul es la marca que ms vende?

    50) Escribe un programa que dado un entero positivo encuentre y escriba susdivisores propios (es decir, aquellos divisores que no son ni 1 ni el mismo nmero).

  • 7/23/2019 Problem a Sip 2009

    24/42

    24

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    51) El teorema fundamental de la Aritmtica afirma que todo entero positivo sepuede representar de forma nica como producto defactores primos.Por ejemplo,los nmeros 6936 y 1200 se representan como:

    6936 = 2 3 17 = 2 2 2 3 17 171200 = 24 3 5 = 2 2 2 2 3 5 5

    No existe ninguna otra factorizacin de 6936 y 1200 en nmeros primos. Como lamultiplicacin es conmutativa, el orden de los factores es irrelevante; por estarazn, usualmente se enuncia el teorema como factorizacin nicasalvo el ordende los factores. Elabora un programa que dado un entero positivo escriba surepresentacin como producto de factores primos.

    52) (Movimientos en una cuenta de banco) Un cliente realiza n transacciones en sucuenta de banco. Las transacciones pueden ser depsitos (1) o retiros (0).Inicialmente, el saldo de la cuenta es cero. Se deben leer nparejas de la forma:

    transaccin montoCalcular el importe total de depsitos, el importe total de retiros, el nmero de

    ellos, as como el saldo final de la cuenta.

    53) Para cualquier nmero natural nrealicemos los siguientes clculos:Si nes par dividmoslo entre 2,Si nes impar multipliqumoslo por 3 y summosle 1 al resultado.Repitiendo el proceso con los nmeros as obtenidos la secuencia siempreacabar en 1.Esta es la llamada conjetura de Collatz. Por ejemplo, si n=6 obtenemos:

    6, 3, 10, 5, 16, 8, 4, 2, 1.Si escogemos n = 11obtenemos:

    11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1

    Elabora un programa que lea un entero n y que calcule e imprima la sucesingenerada a partir de n.

    54) (mcd) Elabora un programa que lea dos nmeros enteros positivos y que calculesu mximo comn divisor. El mximo comn divisor (mcd) de dos nmerosnaturales es el mayor divisor posible de ellos. Sugerencia: utiliza el algoritmo deEuclides.

    55) La media cuadrticade nnmeros nes igual a laraz cuadrada de lasuma de los cuadrados de los valores dividida entre el nmero de datos:

    Esta media como medida de asociacin tiene aplicaciones tanto en cienciasbiolgicas como enmedicina.

    http://es.wikipedia.org/wiki/N%C3%BAmero_positivohttp://es.wikipedia.org/wiki/N%C3%BAmero_primohttp://es.wikipedia.org/wiki/Salvohttp://es.wikipedia.org/wiki/Ra%C3%ADz_cuadradahttp://es.wikipedia.org/wiki/Mediahttp://es.wikipedia.org/w/index.php?title=Ciencias_biol%C3%B3gicas&action=edithttp://es.wikipedia.org/w/index.php?title=Ciencias_biol%C3%B3gicas&action=edithttp://es.wikipedia.org/wiki/Medicinahttp://es.wikipedia.org/wiki/Medicinahttp://es.wikipedia.org/w/index.php?title=Ciencias_biol%C3%B3gicas&action=edithttp://es.wikipedia.org/w/index.php?title=Ciencias_biol%C3%B3gicas&action=edithttp://es.wikipedia.org/wiki/Mediahttp://es.wikipedia.org/wiki/Ra%C3%ADz_cuadradahttp://es.wikipedia.org/wiki/Salvohttp://es.wikipedia.org/wiki/N%C3%BAmero_primohttp://es.wikipedia.org/wiki/N%C3%BAmero_positivo
  • 7/23/2019 Problem a Sip 2009

    25/42

    25

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    La media armnica, representada por H, de una cantidad finita de nmeros esigual al recproco, o inverso, de la media aritmtica de los recprocos de dichosnmeros. As, dados los nmeros , la media armnica ser igual a:

    La media generalizada de n nmeros es una abstraccin de losdiversos tipos de media (geomtrica,aritmtica,armnica,etc.).

    Se define como:

    En donde el parmetro mindica si la media es:

    aritmtica, si m=1

    geomtrica, si m=0armnica, si m=-1

    cuadrtica, si m=2

    Observa que para valores de m0 la expresin slo tiene sentido si todos losxi0.Elabora programas por separado, o subprogramas, para calcular los distintos tiposde media.

    56) (Clculo de races por el mtodo de biseccin) Teorema del valor intermedio: unafuncin fcontinua en un intervalo [a, b] con f(a)f(b)

  • 7/23/2019 Problem a Sip 2009

    26/42

    26

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    f(x)=6x2-1

    Ahora sustituyendo la funcin y su derivada evaluada enxi-1tenemos:

    esta relacin nos permite calcular las n(=5) iteraciones:Para i=1 y sustituyendo el valor dado de x0

    Ya que se tiene el valor dex1 se puede determinar el valor dex2sustituyendo en laecuacin (1) i=2, y as sucesivamente. Escribe un programa que dadas unafuncin f, su derivada, una aproximacin inicial y el nmero de iteraciones, calculeuna aproximacin a la raz de fusando este mtodo. La funcin (f) y su derivada(df) se implementarn con dos funciones, que son dadas en el problema.

    58) Especifica las siguientes operaciones mediante una simple instruccin deasignacin, es decir, no debe usarse la instruccin condicional.a) Sea una variable entera n. Si tiene un valor positivo, debe tomar el valor

    negativo de la misma magnitud, y al revs.b) Sea una variable entera n. Si tiene el valor cero, debe tomar el valor diez, y

    viceversa.

  • 7/23/2019 Problem a Sip 2009

    27/42

    27

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    ARREGLOS1) En un grupo de nestudiantes se desea obtener el promedio de sus edades para

    saber cuntos estudiantes tienen ms aos que el promedio.

    2) En un concurso canino hay 5 concursantes (numerados 0, 1, 2, 3 y 4) y njueces,

    quienes deben emitir su voto para as determinar al(a) perro(a) ganador(a).Elabora un programa que lea los votos de los njueces y que determine al ganador(suponiendo que no hay empates).

    3) En otro concurso canino hay 15 concursantes (numerados del 0 al 14) y n jueces,quienes deben emitir su voto para as determinar al(a) perro(a) ganador(a).Elabora un programa que lea los votos de los njueces y que determine al ganador,pudiendo ahora haber empates.

    4) (Maratn nutico) En un club de natacin se ha realizado un maratn, el cualconsiste en tomar la distancia nadada por cada participante, en 10 sesiones de 45minutos cada una. Escribe un programa que reciba como entrada el nmero departicipantes y las 10 distancias nadadas por cada nadador y que encuentre:

    a) La distancia total recorrida por cada participante.b) Los ganadores.

    5) Un grupo consta de n estudiantes (con n entre 1 y 50), cada uno de los cualescursa 5 materias. Para cada estudiante se da una lnea de entrada formada por sumatrcula (supongamos que es un valor entero) y sus cinco calificaciones. Comoejemplo de la entrada de datos se podra tener:

    422345 10 7.5 7 8.3 8.9

    21212 4 7.1 5.9 7 8.243434 6.9 8 7 5.6 632323 10 9 10 10 10

    a) Escribe un diagrama de flujo y programa que lea estos datos y que escriba lamatrcula de cada estudiante junto con su promedio, al igual que el promediodel grupo.

    b) Posteriormente, tu programa debe leer matrculas de estudiantes y escribir elpromedio de cada estudiante cuya matrcula se ha proporcionado.

    6) Se tiene el arreglo ventas:

    Donde se han almacenado las ventas mensuales de una empresa en el aoanterior. Elabora un programa que:a) Lea el arreglo,b) Diga cul fue el total de las ventas,

  • 7/23/2019 Problem a Sip 2009

    28/42

    28

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    c) Diga cul fue el promedio de las ventas,d) Diga en qu mes se obtuvieron las ventas mximas de la empresa y a cuntoascendieron stas.

    7) Dados los datos n, a0,a

    1,. . .,a

    n-1, b

    0,b

    1, . . . ,b

    n-1 con: 1 n 50, entero y ai, bireales, realiza un programa para calcular:

    Requieres de arreglos?, cuntos?, por qu?

    8) Sean los datos:

    n, x1, x

    2, . . . , x

    n, con: 1 n 25, entero,x

    ireales.

    Realiza un programa que realice funciones por cada inciso y la funcin principalque las mande llamar e imprima los resultados:

    a) Lea los datos y almacene los valoresxien un arreglo.

    b) Calcule e imprima la media de los datos dada por la frmula:

    c) Calcule e imprima la desviacin estndar, que est dada por la frmula:

    9) Se tienen nestudiantes (1 n 50) de los cuales se conoce la matrcula (entera) yla calificacin final. Elabora un programa que:

    a. Lea dicha informacin, la cual se da ya ordenada en forma descendente,con respecto a la matrcula.

    b. Imprima la clave y calificacin de todos los estudiantes que obtuvieroncalificacin superior al promedio del grupo.

    c. Imprima la calificacin que obtuvieron los estudiantes cuyas matrculasproporcionar el usuario. Se sabr que el usuario ya no quiere conocerms calificaciones cuando, en lugar de una matrcula, proporcione un cero.Utiliza bsqueda binaria para buscar las matrculas que el usuario solicita.

    10) Dados los siguientes datos enteros:

    n, k(en la primera lnea)a0 (en la segunda lnea)a1 (en la tercera lnea).a

    n-1 (en la ltima lnea)Con: |k| n; 1 n 50

  • 7/23/2019 Problem a Sip 2009

    29/42

    29

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    Elabora un programa completo que resuelve progresivamente por funciones cadauno de los siguientes incisos:a) Leer los datos y almacenarlos en un arreglo vec, de tal manera que queden:

    vec

    b) Copiar los datos a otro arreglo llamado inverso, de tal forma que quedenalmacenados como se indica a continuacin:

    inverso

    c) Reemplazar cada ai en vec por (ai * 2

    i

    ) sin utilizar la funcin de potencia yoptimizando el nmero de operaciones:

    vec

    d) Correr los elementos del vecanterior|k| lugares a la derecha si k> 0, y|k| lugares a la izquierda si k< 0

    Al correr los elementos, entrarn ceros a los lugares vacos; as, si k= 2 se pierdenlos dos ltimos datos (an-2 y an-1) y el arreglo quedara:

    11) Una compaa ha clasificado a sus n(1 n 50) empleados dentro de los grupos1 y 2. Cada empleado del grupo 1 recibir, a partir de ahora, un aumento de$250.00 a la semana sobre su sueldo actual, mientras que a cada uno de los delgrupo 2 slo se les dar $150.00 adicionales por semana. La informacin que seproporciona de cada empleado es: clave del empleado (comprendida entre 100 y2500, inclusive), grupo al que pertenece (1 o 2) y sueldo semanal actual (entre$300.00 y $6000.00). Si un empleado del grupo 1 con el nuevo sueldo ganasemanalmente ms que el sueldo promedio del grupo, entonces debe cambiar algrupo 2. Elabora un programa modular que:

    a) Lea la informacin de los nempleados e imprima la clave, grupo y sueldosemanal nuevo para cada empleado, actualizando el grupo si es el caso.b) Calcule el sueldo promedio de los empleados por grupo y calcule tambin elpromedio general de todos, sin considerar el grupo.c) Indique cuntos empleados cambiaron del grupo 1 al 2.

  • 7/23/2019 Problem a Sip 2009

    30/42

    30

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    12) Elabora una serie de funciones para leer una serie de n datos desordenados,almacenarlos en el arreglo val (de mximo 50 localidades), ordenarlos de maneracreciente, utilizando el algoritmo de seleccin directa, en ese mismo arreglo y, porltimo, imprimirlos en orden.

    13) (Vectores) Escribe un programa que lea dos vectores de dimensin ny que calculesu suma y su producto punto.

    14) Partiendo del ejercicio anterior, elabora un programa que contenga funciones para:a. Buscar un valor x dentro del arreglo utilizando el algoritmo de bsqueda

    secuencial. La funcin debe regresar como resultado la posicin en la quese encuentra el valor buscado. Si x no se encuentra en el arreglo, lafuncin calcula la posicin en la que debera encontrarse y regresa:posicin1.

    b. Buscar un valor x dentro del arreglo utilizando el algoritmo de bsquedabinaria.

    c. Insertar un valor x en el arreglo de tal forma que se siga conservando elorden ascendente de los valores. Al insertar se debe verificar que hayaespacio libre y que x no exista en el arreglo. La funcin debe regresarcomo resultado 1 si se insert x en el arreglo, 0 si x ya exista en el arregloy1 si no existe espacio libre en el arreglo.

    d. Eliminar un valor x del arreglo, compactando si es necesario para que nohaya espacios libres entre valores. La funcin debe regresar comoresultado 1 si se elimin x, 0 si x no se encontraba en el arreglo y 1 si elarreglo estaba vaco.

    e. Sustituir un valor x ya existente en el arreglo con un valor y de tal maneraque el arreglo siga conservando su orden creciente. La funcin deberegresar como resultado 1 si se hizo la sustitucin, 0 si x no se encontraba

    en el arreglo y1 si el arreglo estaba vaco.

    15) Haz un programa que lea n nmeros guardndolos en un arreglo. Despus, quelea nmeros y diga cuntas veces aparece cada uno de estos nmeros en elarreglo.

    16) Escribe una funcin que dado un arreglo de n elementos calcule y regrese sumoda. En estadstica, la moda de una serie de nmeros es aquel nmero queaparece con ms frecuencia. Por ejemplo, dada la lista 1, 2, 2, 3, 6, 4, 7, 5, 4, 6, 9,4, la moda es 4, ya que aparece tres veces. Si todos los nmeros son diferentesentonces no hay moda, con lo cual se debe indicar que hubo error.

    17) Haz un mdulo llamado mayoritarioque calcule y regrese un uno (1) si un arregloes mayoritario o cero (0) si no lo es. Se dice que un arreglo es mayoritario si existeun elemento almacenado en l que se repite ms de n/2 veces, siendo nel total deelementos guardados en el arreglo.

    18) Elabora un programa completo en C con una funcin que lea una serie denmeros, otra funcin que reciba como parmetro la serie de nmeros y arroje lamoda o, si no la hay, 1. La funcin principal manda llamar a las anteriores e

  • 7/23/2019 Problem a Sip 2009

    31/42

    31

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    imprime la moda (nmero que mas veces se repiti, en caso de haber dos igualeso ms mencione el primero).

    19) Asume que se dispone de una vector (arreglo) con n enteros e ndicescomprendidos entre 0 y n-1. Encuentra algoritmos para resolver los siguientesproblemas:

    a) Hallar el segundo mayor valor contenido en el arreglo.b) Encontrar la mxima diferencia absoluta entre elementos adyacentes del

    arreglo.c) Hallar el mximo elemento del vector, el nmero de veces que aparece y los

    ndices de las celdas donde aparece por primera y ltima vez. Debe hacerseun solo recorrido del arreglo, esto es, debe usarse un solo ciclo.

    20) En la Repblica Mexicana, las personas asalariadas deben utilizar la tabla que semuestra a continuacin, correspondiente al ao fiscal 2007, para calcular elimpuesto anual que deben pagar. La frmula a utilizar es:

    Base gravable (igual a salario anual menos deducciones)Menos:

    Lmite inferior, tarifa del artculo 177 de la LISRIgual:

    Excedente lmite inferiorPor:

    Porcentaje sobre el lmite inferiorIgual:

    Impuesto marginalMs:

    Cuota fijaIgual:Impuesto Art. 177 LISR

    Tarifa del artculo 177 de la LISRpara el clculo del impuesto correspondiente alejercicio de 2007

    Lmite inferior Lmite superior Cuota fija Por ciento para aplicarse sobreel excedente del lmite inferior

    $ $ $ %

    0.01 5,952.84 0.00 1.505,952.85 50,524.92 89.28 5.00

    50,524.93 88,793.04 2,317.68 8.50

    88,793.05 103,218.00 5,571.24 12.50

    103,218.01 123,580.20 7,373.88 14.00

    123,580.21 249,243.48 10,224.57 16.80

  • 7/23/2019 Problem a Sip 2009

    32/42

    32

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    249,243.49 392,841.96 31,335.97 19.60

    392,841.97 En adelante 59,481.26 28.00

    Elabora un programa que dados salarios anuales calcule e imprima los impuestos

    anuales a pagar.

    21)

  • 7/23/2019 Problem a Sip 2009

    33/42

    33

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    FUNCIONES (MDULOS)

    1) Escribe una funcin llamada cuadrado que tenga un parmetro de entrada llamadolongitud y entregue como resultado el rea del cuadrado cuyo lado sea la longitudespecificada. Todas las variables son reales.

    2) Elabora una funcin llamada circulo que tenga un parmetro de entrada llamado

    radio y entregue como resultado el rea del crculo cuyo radio sea el radioespecificado. Todas las variables son reales.

    3) Escribe una funcin llamada rectangulo que tenga como parmetros de entrada laslongitudes de los lados de un rectngulo y entregue como resultado el rea delrectngulo de lados especificados. Todas las variables son reales

    4) Escribe una funcin llamada calculaDistancia que tenga cuatro parmetros deentrada llamados x1, y1, x2, y2 y que entregue como resultado la distancia entredos puntos cuyas coordenadas son (x1, y1) y (x2, y2) segn la siguiente frmula:

    5) Realiza una funcin que diga si sus dos argumentos son mltiplo el uno del otro(no importa cul de cul).

    6) Un piso rectangular que mide 12 metros por 15 metros est cubierto parcialmentepor tapetes circulares. El radio de un tapete es un metro. El radio del otro es dedos metros.Escribe un programa que encuentre el rea de la parte del piso que estdescubierta.

    7) Escribe un programa que ayude en la operacin de la pizzera King of Pizza. Elprograma debe contener dos funciones:

    precio dado el tamao de la pizza y el nmero de ingredientes, calculay regresa el precio de la pizza, y

    tiempo dado el tamao de la pizza y el nmero de ingredientes, calcula

    y regresa el tiempo de entrega.

    Las pizzas chicas (c) cuestan 70 pesos, las medianas (m) 90, las grandes (g)110 y las familiares (f) 130. Adems, cada ingrediente solicitado cuesta 10 pesos.El tiempo de entrega de las pizzas es de 20 minutos, a menos que sea una pizzafamiliar o que tenga ms de 3 ingredientes, en cuyo caso el tiempo de entrega esde 30 minutos.

    8) (Cafetera) Una cafetera vende cuatro tipo de bebidas (1=Americano, 2=Express,3=Cappuccino y 4=Frapp). Los precios de las bebidas son, respectivamente, $8,$7, $13 y $16.

    a) Elabora un diagrama de flujo y su correspondiente programa en C que, dado elnmero de ventas realizadas en un da, calcule e imprima el total de bebidasvendidas de cada tipo as como el importe total de las ventas.

    b) Igual que (a) pero ahora las bebidas vendidas son, adems, 5=Moka y 6=T,con precios $15 y $7, respectivamente. Debes usar una instruccin deseleccin mltiple switch(-).

  • 7/23/2019 Problem a Sip 2009

    34/42

    34

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    c) Igual que (b) pero ahora usando como bandera de fin datos el valor 0 (Nota: 0indica terminar, ya no hay contador en el while).

    d) Igual que (c) pero ahora usando la inicial de la bebida vendida en lugar de unaclave entera, es decir, se proporcionar A si americano, E si express, C sicappuccino, F si frapp, M si moka, T si t o S si salir como fin de datos.

    e) Igual que (c) pero ahora usando dos arreglos, uno para los acumuladores y

    otro para los precios.

    9) Se dice que dos nmeros a y b son amigossi cada uno de ellos es la suma de losdivisores del otro. Por ejemplo, los ms pequeos son 220 y 284; comprobmoslo:

    DivisoresDe(220) = (1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110)SumaDivDe(220) = 284DivisoresDe(284) = (1, 2, 4, 71, 142)SumaDivDe(284) = 220

    a) realiza una funcin que recibiendo dos nmeros devuelva si son amigos o no.

    b) elabora una funcin que tenga como entrada un nmero natural ny que escribe

    todas las parejas de nmeros amigos que existan menores que n.

    10) Realiza un programa que imprima todos los aos bisiestos entre 1 y 2020. Unafuncin debe determinar si un ao es bisiesto. Un ao es bisiestosi es divisibleentre 4 pero no es divisible entre 100, a menos de que sea divisible entre 400.

    11) Realiza un programa que imprima todos los aos perfectos entre 1 y 2020. Unafuncin debe determinar si un ao es perfecto. Un nmero es perfectosi es iguala la suma de sus divisores, incluyendo al 1 y exceptuando a l mismo. Porejemplo, 6 es perfecto (6=1+2+3).

    12) Modifica adecuadamente el programa anterior para que determine, de todos los

    nmeros entre 1 y 2010 cuales de ellos son perfectos, abundantes o deficientes.Un nmero es abundante si la suma de sus divisores propios es mayor que elpropio nmero. Por ejemplo, 12 es abundante ya que sus divisores son 1, 2, 3, 4 y6 y se cumple que 1+2+3+4+6=16, que es mayor que el propio 12. Un nmero esdeficiente si la suma de sus divisores propios es menor que el nmero. Porejemplo, 16 es un nmero deficiente ya que sus divisores propios son 1, 2, 4 y 8 yse cumple que 1+2+4+8=15, que es menor que 16.

    13) Escribe una funcin para determinar si su argumento nes o no es primo. NOTA:Tener en cuenta que basta con probar la divisibilidad por los nmeros desde el 2hasta la raz de n. Lo cual ahorra muchas operaciones. Si adems consideramosque basta con saber si es par o no al principio, podemos ahorrarnos la mitad de las

    pruebas de divisores, eliminando todos los pares.14) Elabora un programa que, dado un entero kmayor o igual a 1, escriba los primeros

    knmeros repunits (que son aquellos formados nicamente por unos: 1, 11, 111,1111, etc.).Repunit proviene del ingls, "repeated unit".

    15) Disea un programa que lea un nmero positivo ny que determine si el nmeroledo es ondulado o no. Un nmero entero es ondulado si tiene la formaababab. Por ejemplo, los nmeros 232, 8383 son ondulados.

  • 7/23/2019 Problem a Sip 2009

    35/42

    35

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    16) Escribe un programa que determine si un nmero es malvado. Nmero malvado:todo nmero natural cuya expresin en base 2 (binaria) contiene un nmero par deunos. Por ejemplo, 12 y 15 son nmeros malvados ya que 12=1100 2y 15=11112.Si un entero no es malvado se dice que es odioso, es decir, nmero odioso: todonmero cuya expresin en base 2 (binaria) contiene un nmero impar de unos. Porejemplo, 11=10112es un nmero odioso.

    17) Ahora un programa que determine si un nmero es feliz. Nmero feliz: todonmero natural que cumple que si sumamos los cuadrados de sus dgitos yseguimos el proceso con los resultados obtenidos el resultado es 1. Por ejemplo,el nmero 203 es un nmero feliz ya que 22+02+32=13; 12+32=10; 12+02=1.

    18) Elabora un programa que determine si un nmero es narcisista. Nmeronarcisista: todo nmero de k dgitos que cumple que es igual a la suma de laspotencias kde sus dgitos es un nmero narcisista. Por ejemplo, 153 es un nmeronarcisista de 3 dgitos, ya que 13+53+33=153.

    19) Disea un programa que lea un nmero positivo ny que determine si el nmero

    ledo es palindrmico. Nmero palindrmico: nmero natural que se lee igual dederecha a izquierda y de izquierda a derecha. Por ejemplo 1348431.

    20) Escribe un programa que determine si un nmero es libre de cuadrados. Nmerolibre de cuadrados: todo nmero natural que cumple que en su descomposicinen factores primos no aparece ningn factor repetido. Por ejemplo, el nmero 30es un nmero libre de cuadrados.: 30=2 3 5.

    21) Escribe un programa que determine si un nmero es oblongo. Nmero oblongo:todo nmero natural que cumple que es el producto de dos naturales consecutivos.Por ejemplo, los nmeros 30, 42 y 56 son oblongos.

    22) Disea un programa que lea un nmero positivo ny que determine si el nmeroledo es poderoso. Nmero poderoso: todo nmero natural nque cumple que siun primopes un divisor suyo entonces 2ptambin lo es. Por ejemplo, el nmero36 es un nmero poderoso ya que los nicos primos que son divisores suyos son 2y 3 y se cumple que 4 y 9 tambin son divisores de 36.

  • 7/23/2019 Problem a Sip 2009

    36/42

    36

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    MATRICES (ARREGLOS BIDIMENSIONALES)

    1) Dados los datos:

    m, na11, a12, . . ., a1na

    21

    , a22

    , . . ., a2n. . .

    am1, am2, . . ., amn

    b11, b12, . . ., b1nb21, b22, . . ., b2n. . .b

    m1, bm2, . . ., bmncon: 1 m, n 20, enteros; a

    ij, b

    ijreales (1 i m; 1 j n)Donde:mrepresenta el nmero de renglones de las matricesAy B,nrepresenta el nmero de columnas de las matricesAy B,a

    ijrepresentan los componentes de la matrizAmxnb

    ijrepresentan los componentes de la matriz Bmxn.

    Elabora un programa modular para calcular la matriz Cmxn=Amxn+ Bmxn.

    2) Escribe un programa modular que lea una matriz de enteros de m renglones y ncolumnas y calcule la suma de los elementos de cada columna.

    3) Elabora una funcin que reciba como entrada un entero ny una matriz cuadrada(de nxn) de enteros e imprima los elementos que conforman su diagonal.

    4) Realiza una funcin que reciba como entrada un entero ny una matriz cuadrada(de nxn) de enteros e imprima los elementos que conforman la diagonal que iniciaen la esquina superior derecha y termina en la esquina inferior izquierda.

    5) Una matriz cuadrada Ase dice que es simtrica si aij= ajipara todo i,jdentro delos lmites de la matriz. Elabora una funcin que lea una matriz y regrese un 1(uno) si es simtrica o un 0 (cero) no.

    6) Escribe una funcin que lea una matriz de enteros de mxn(1 < n, m 50) y otrafuncin que encuentre el menor y el mayor valor y regrese sus posiciones.

    7) Elabora un programa modular que lea una matriz de mxny la escriba poniendo lascolumnas como renglones y los renglones como columnas.

    Por ejemplo, si la matriz que da el usuario es:4 7 1 3 52 0 6 9 73 1 2 6 4

    entonces el programa debe escribir la matriz transpuesta:4 2 37 0 11 6 23 9 65 7 4

  • 7/23/2019 Problem a Sip 2009

    37/42

    37

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    8) Tabla de clasificacin de futbol. Elabora un programa para almacenar una tabla declasificacin de los equipos de futbol de la primera divisin de Mxico. A partir dela tabla almacenada, tu programa debe ser capaz de proporcionar las estadsticasde los equipos que consulte el usuario, por medio de un men. La tabla a guardares algo as (sin embargo, nota que no es necesario guardar la columnacorrespondiente a los 17 de partidos jugados PJ).

    PJ PG PE PP GF GC Puntos

    Santos 17 11 5 1 40 22 38

    Toluca 17 10 4 3 27 16 34

    Atlante 17 9 6 2 32 19 33

    Guadalajara 17 9 4 4 28 16 31

    San Luis 17 8 5 4 31 30 29

    Amrica 17 7 5 5 26 22 26

    Cruz Azul 17 7 4 6 27 22 25

    Pachuca 17 7 3 7 26 23 24

    UNAM 17 6 6 5 32 19 24

    Morelia 17 6 4 7 20 25 22

    Necaxa 17 5 5 7 23 32 20

    Chiapas 17 3 9 5 22 28 18

    Veracruz 17 5 3 9 20 35 18

    Puebla 17 4 5 8 16 24 17

    UAG 17 5 2 10 24 38 17

    UANL 17 4 4 9 16 22 16

    Monterrey 17 3 5 9 18 25 14

    Atlas 17 3 3 11 23 33 12

    Si el usuario pregunta por las estadsticas de la UNAM, por ejemplo, tu programadebe escribir:

    UNAM 17 6 6 5 32 19 24

    9) Tabla de resultados de futbol. Elabora un programa para almacenar una tabla deresultados de los equipos de futbol de la primera divisin de Mxico. Tu programadebe poder almacenar los nuevos resultados as como dar resultados anteriores,dependiendo de la opcin que el usuario elija a travs de un men. A manera deejemplo, tu programa debe funcionar as:

    FEDERACION MEXICANA DE FUTBOL

    Torneo apertura 2007

    PJ PG PE PP GF GC Puntos

  • 7/23/2019 Problem a Sip 2009

    38/42

    38

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    ( 1) Ingresar marcador

    ( 2) Proporcionar marcador

    ( 3) Salir

    Opcion? --> 1Equipo? Guadalajara

    vs. Equipo? AMERICA

    Goles guadalajara? 3

    Goles america? 2

    ( 1) Ingresar marcador

    ( 2) Proporcionar marcador

    ( 3) SalirOpcion? --> 2

    Equipo? atlas

    vs. Equipo? atlante

    No han jugado

    ( 1) Ingresar marcador

    ( 2) Proporcionar marcador

    ( 3) Salir

    Opcion? --> 2

    Equipo? America

    vs. Equipo? GUAdalajara

    america - guadalajara --->

    2 - 3

    ( 1) Ingresar marcador

    ( 2) Proporcionar marcador

    ( 3) Salir

    Opcion? --> 3

    Presione una tecla para continuar . . .

    10) (Cuadrado mgico) Un cuadrado mgico es la disposicin de una serie denmeros enteros en un cuadrado o matriz de forma tal que la suma de losnmeros por columnas, filas y diagonales principales sea la misma, la constante

  • 7/23/2019 Problem a Sip 2009

    39/42

    39

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    mgica. Usualmente los nmeros empleados para rellenar las casillas sonconsecutivos, de 1 a n, siendo n el nmero de columnas y filas del cuadradomgico. Un algoritmo para construir un cuadrado mgico de orden n siendo nimpar es el siguiente:1. Comenzar colocando el nmero 1 en la primera fila, en la columna de enmedio.

    2. El siguiente nmero se coloca en la fila anterior y columna siguiente,tratando a la matriz como si fuera una esfera, es decir, la fila anterior a la primeraes la ltima, la columna siguiente a la ltima es la primera.3. Si dicha posicin ya se encuentra ocupada entonces el nmero que no sepudo colocar se pone en la siguiente fila, misma columna.

    11)

  • 7/23/2019 Problem a Sip 2009

    40/42

    40

    Introduccin a la Programacin Alfonso San Miguel Aguirre

    CADENAS DE CARACTERES

    Los ejercicios de programacin deben resolverse utilizando funciones. Para ello divide elproblema en sub-problemas y programa la solucin de cada uno de ellos por medio de lasfunciones.

    1) Escribe un programa que lea una cadena de, a lo ms, 80 caracteres e imprimatodos los caracteres que se encuentran en posicin par.

    2) Elabora un programa que lea una lnea de texto, transforme las letras que seencuentran en minsculas por maysculas e imprima la lnea modificada.

    3) Escribe un programa que lea una frase de, a lo ms, 80 caracteres y cuentecuntas veces aparece la letra a en lafrase.

    4) Elabora un programa que lea una frase y cuente cada una de las vocalesminsculas o maysculas que contiene.

    5) Escribe un programa que lea una frase y cuente el nmero de palabras quecontiene. Nota: Las palabras se separan por un espacio y la frase termina con unapalabra.

    6) Disea un programa que lea una frase y una palabra y que cuente cuntas vecesaparece la palabra leda dentro de la frase, ya sea como una palabra completa ocomo parte de otra palabra. La frase y la palabra tienen una longitud mxima de 80caracteres.

    7) El teclado de una computadora est descompuesto y cada vez que oprime la letras sta se escribe tres veces en vez de una. Elabora un programa en C que recibacomo dato de entrada una lnea tecleada en dicha computadora y que genere e

    imprima una cadena resultado sin exceso de eses. El programa tambin debefuncionar si la lnea original no contiene ninguna s.

    8) Escribe un programa que lea una frase de, a lo ms, 80 caracteres y que, si sulongitud es menor a 80, le aada tantos espacios entre las palabras como seannecesarios hasta que alcance los 80 caracteres.

    9) Realiza un programa que:a) Pida al usuario el ao actual y el mes actual.b) Lea una serie de Registros Federales de Contribuyentes (RFC). El final dedatos estar dado por FIN o Fin o fin.c) Para cada uno de los RFC recibidos debe imprimir la edad en aos de lapersona.

    El RFC de una persona est formado por 4 caracteres en maysculas (inicial delprimer apellido, primera vocal del primer apellido, inicial del segundo apellido einicial del primer nombre, 6 nmeros (los dos ltimos del ao de nacimiento, mes yda), un nmero y dos caracteres en mayscula que representan una clave.

  • 7/23/2019 Problem a Sip 2009

    41/42

  • 7/23/2019 Problem a Sip 2009

    42/42

    42

    12) (Consultorio mdico) Un mdico desea que le ayudes escribiendo un programapara programar sus citas semanales. Trabaja de lunes a viernes, de 9 de lamaana a 8 de la noche, las citas tienen una duracin de una hora. En unaprimera versin, tu programa slo debe registrar citas para una semana. Elprograma debe poder registrar citas y tambin el poder cancelarlas. Para registrar

    una cita, un paciente indica el da y la hora en que quiere su cita, el programarevisa que dicha cita est disponible y, de ser el caso, registra el nombre delpaciente. Para cancelar una cita el programa pregunta da, hora y nombre delpaciente y, si efectivamente est registrada esa cita, la pone nuevamentedisponible. El programa debe escribir convenientemente la agenda semanal.