AEDD2015práctica5

5
ALGORITMOS Y ESTRUCTURAS DE DATOS 2015 Guía Práctica 5 : Estructuras de control condicionales Se solicita codificar una solución en C++ para cada uno de los siguientes ejercicios utilizando el IDE ZinjaI. En todos los casos considerar que si los datos de entrada no son válidos, se debe mostrar un mensaje de error y finalizar la ejecución. Ejemplo: Consigna: Escribir un programa que solicite un número mayor que cero, y determine si es par o impar. Para la consigna dada se identifica la siguiente estrategia de solución: 1. Leer el número y guardarlo en la variable “num”. 2. Si el número es positivo: 2.1. Calcular el resto de dividir al número por 2. 2.2. Si el valor de “resto” es igual a 0: 2.2.1. Mostrar un mensaje indicando que es par. 2.3. Sino 2.3.1. Mostrar un mensaje indicando que es impar. 1. Sino: 3.1. Mostrar un mensaje de error. Tomando la estrategia de solución planteada y escribiendo el programa en C++: Ejercicios propuestos: 1. Escribir un programa que permita leer dos números y encontrar: a. La suma del doble del primero mas el cuadrado del segundo. b. El promedio de la suma de sus cubos. Ejemplo: El usuario ingresa 5 y 9, obteniendo a) 91 y b) 427. Página 1

description

Guia practica algoritmo y estructura de datos

Transcript of AEDD2015práctica5

  • ALGORITMOS Y ESTRUCTURAS DE DATOS 2015

    GuaPrctica5:Estructurasdecontrolcondicionales Se solicita codificar una solucin en C++ para cada uno de los siguientes ejercicios utilizando el IDE ZinjaI. En todos los casos considerar que si los datos de entrada no son vlidos, se debe mostrar un mensajedeerroryfinalizarlaejecucin.Ejemplo:

    Consigna: Escribir un programa que solicite un nmero mayor que cero, y determine si es par o impar.

    Paralaconsignadadaseidentificalasiguienteestrategiadesolucin:

    1. Leerelnmeroyguardarloenlavariablenum.2. Sielnmeroespositivo:

    2.1.Calcularelrestodedividiralnmeropor2.2.2.Sielvalorderestoesiguala0:2.2.1.Mostrarunmensajeindicandoqueespar.2.3.Sino2.3.1.Mostrarunmensajeindicandoqueesimpar.

    1. Sino:3.1.Mostrarunmensajedeerror.

    TomandolaestrategiadesolucinplanteadayescribiendoelprogramaenC++:

    Ejerciciospropuestos:

    1. Escribirunprogramaquepermitaleerdosnmerosyencontrar:a.Lasumadeldobledelprimeromaselcuadradodelsegundo.b.Elpromediodelasumadesuscubos.Ejemplo:Elusuarioingresa5y9,obteniendoa)91yb)427.

    Pgina1

  • ALGORITMOS Y ESTRUCTURAS DE DATOS 2015

    2. Leer tres nmeros enteros de un dgito y almacenarlos en una variable que tome el valor del nmeroenteroqueseformaalconcatenarlostresdgitosordenadosdemenoramayor.Ejemplo:SielusuarioingresaA=5,B=6yC=2entoncesX=256.

    3. Armar un programa que lea desde el teclado una letra minscula y muestre su ordinal segn la

    tabla ascii. En caso de que el caracter ingresado no sea una letra minscula, se debe informar el

    errorcorrespondienteEjemplos:

    a.Elusuarioingresaayelprogramadevuelve1,b.Elusuarioingresamyelprogramadevuelve13.c.ElusuarioingresaByelprogramadaerrorinformandoelporqu

    delasituacin.d.Elusuarioingresa3yelprogramadaerrorinformandoelporqu

    delasituacin.

    4. En un supermercado el cliente puede pagar al contado o con tarjeta de crdito. Al cliente se la harundescuentodeacuerdoalassiguientescondiciones:

    a. Si el cliente paga con tarjeta de crdito y el importe es mayor a $ 100.00, entonces se le haceundescuentodel2.5%.

    b. Si el cliente paga con tarjeta de crdito y el importe es menor a $ 100.00, entonces se le haceundescuentodel2%.

    c. Si el cliente paga al contado y el importe es mayor a $ 100.00, entonces se le hace un descuentodel5%.

    d. Si el cliente paga al contado y el importe es menor a $ 100.00, entonces se le hace un descuentodel3%.

    Escribir el programa en C++ correspondiente a fin de identificar, en base al monto a pagar y el mtodo de pago del cliente, el porcentaje de descuento que le corresponde, el monto de dicho descuento,yelimportefinalconeldescuentoaplicado.Ejemplo:sielclientepagacontarjetadecrditoyelimportees$78.50, entonceseldescuentoserdel2%,esdecir$1.57yelmontoaabonarser de$76.93.

    5. Se solicita escribir el cdigo requerido para poder ingresar desde el teclado un da y un mes como nmeros, y que imprima el da de la semana y el mes correspondientes, en texto. Si el da o el mes ingresado es incorrecto entonces deber mostrarse un mensaje de error que indique la situacin.Ejemplos:

    Si el usuario ingresa 3 y 11, se mostrar por pantalla Martes y Noviembre.

    Si el usuario ingresa 12 y 7, se mostrar por pantalla "Dia inexistente".

    6. Escribir el cdigo correspondiente que permita leer una hora en hora:minutos:segundos y muestre

    lahoraqueresultaluegodetranscurridounsegundo.Ejemplo:Sielusuarioingresa23:59:59>debermostrar00:00:00.

    7. Escribir un programa que lea por teclado un nmero entre 1 y 12 correspondiente al de un mes e

    Pgina2

  • ALGORITMOS Y ESTRUCTURAS DE DATOS 2015 imprima el nmero de das correspondiente a dicho mes. Nota: Si el nmero de mes introducido esmenorque1omayorque12,semostrarelmensajeMESINVLIDO.Nota:Suponerquenoesunaobisiesto.Ejemplo: Si se ingresa el mes 5, se informar El mes de MAYOtiene31 das..

    8. Resolver el ejercicio anterior considerando que un ao puede ser bisiesto. Para esto se solicitar (en el caso de que el valor ingresado corresponda al mes 2), el ao asociado. Luego, se validar si elaoesbisiestoyenfuncindeesteresultadoseinformarlacantidaddedasasociados.Nota: Un ao es bisiesto si es mltiplo de cuatro, pero no de cien. Excepcin a la regla anterior son los mltiplos decuatrocientosquesiempresonbisiestos.Ejemplo: Si se ingresa enmes2yelao1996,seinformarElmesde FEBRERO de 1996 tiene 29 das,debidoaqueelaoesbisiesto..Sise ingresa el mes 2yelao2002,seinformarElmesdeFEBREROde2002 tiene28das,debidoaqueelaonoesbisiesto..

    9. Un nmero entero positivo se dice alternante si est compuesto de una secuencia de dgitos que alterna entre uno par y otro impar. Desarrollar un programa que permita ingresar un nmero de cincocifrasydeterminesiesalternante.Ejemplos:18307esalternante.74120noesalternante.

    10. El shopping El Dorado ha decidido hacer una jornada de venta de tarjetas de compras para sus clientes que les brindar ciertos beneficios. Adems de la edad, se tendr en cuenta la categora del cliente, si es que la tiene. Para los mayores de 25 aos la tarjeta tendr un costo de $35,00 pero para aquellos que tengan nivel 1 (alcanzan cierto nivel en sus compras mensuales), se les har un descuento del 40% para los de categora 2, el descuento ser del 30% para categora 3 del 15% y para los dems (otra categora o sin categora) no habr descuento. Para los que tienen 25 aos, la libreta tiene un costo de $20,00 y los jvenes con categora 1, tendrn un descuento del 60% para los de categora 2, descuento del 40%, para los de la 3, un descuento del 20% y para los dems estratos no habr descuento. Los menores de 25 aos no podrn acceder a la tarjeta de compra. Confeccionar un algoritmo que tome la edad y la categora del cliente y nos muestredescuentoquelehacenysuvalorfinalapagar.Ejemplo: Si el cliente tiene 25 aos ytienecategora2,latarjetade compraslecostar$12,00.

    11. Ingresar los coeficientes a,b,c del polinomio y calcular las races reales correspondientes a una ecuacindesegundogradodeltipo"ax2+bx+c=0".Ejemplo:Siseingresaa=5,b=8,c=3elprogramainformarquelasraces realesde5x2+8x+3son1y3/5

    12. Realizar la especificacin de un programa que en base a un da y mes de cumpleaos de una persona, se indique el signo del zodaco al que pertenece. A continuacin se da el rango de das paracadasigno.

    Pgina3

  • ALGORITMOS Y ESTRUCTURAS DE DATOS 2015

    Se deber mostrar el mensaje de error correspondiente en caso de que se ingrese un mes, un da, ounacombinacindemesyda(fecha)incorrectas.Ejemplos:

    Siseingresa28y6(28/06),seindicarqueelsignoesCncer. Siseingresa12y14,seindicarqueelmesesincorrecto. Siseingresa35y3,seindicarqueeldaesincorrecto. Si se ingresa 31 y 11, se indicar que la fecha ingresada es

    incorrecta.Ejercicioscomplementarios:

    1. Realizar un programa que permita al usuario calcular el permetro de un tringulo. Para esto, el programa mostrar un men con las opciones Equiltero, Issceles y Escaleno. Si a la opcin ingresada por el usuario es correcta, se proceder al ingreso de los datos requeridos para el clculo. Tener en cuenta que la informacin ingresada en este paso debe ser positiva. Una vez ingresados todos lo datos necesarios, el programa debe realizar el clculo del permetro y mostrar elresultadoporpantalla.

    2. Realizar un programa en C++ que dado un punto en el espacio (ingresado por teclado usando sus coordenadasXeY),inforqueenquecuadrantedelplanocartesianoseencuentra.

    3. Codificar un programa C++ que determine si un alumno ha aprobado (o no) un curso. El docente

    ingresar al programa la calificacin de aprobacin (es decir, la nota con la cual el alumno aprueba el curso) y luego, las notas que el alumno ha obtenido en cada uno de los dos parciales

    Pgina4

  • ALGORITMOS Y ESTRUCTURAS DE DATOS 2015 tomados a lo largo del cuatrimestre. Si el promedio de estas calificaciones supera la calificacin de aprobacin, el alumno ha aprobado el curso. En caso contrario, si el alumno est hasta 10 puntos por debajo de la calificacin, se informa al docente que el alumno est en condiciones de realizarunrecuperatorioparaaprobarcurso.Enotrocaso,elalumnohadesaprobadoelcurso.

    Pgina5