jercicios Programación

download jercicios Programación

of 25

description

ejercicios

Transcript of jercicios Programación

jercicios Programacin Vamos a practicar los algoritmos con los siguientes ejercicios: 1. Hacer un programa que sume dos nmeros ledos por teclado y escribir el resultado. 2. Modificar el anterior pero para sumar 10 nmeros ledos por teclado. 3. Modificar el anterior para que permita sumar N nmeros. El valor de N se debe leer previamente por teclado. 4. Elabora un programa que convierta un x nmero de galones en litros, ten en cuenta que hay 3.7854 litros en un galn 5. Modifica el programa para que imprima una tabla de conversin desde 1 hasta 100 galones, cada 10 galones imprimir una lnea de salida en blanco. 6. La gravedad de la Luna es de alrededor del 17% de la Tierra. Escribe un programa que calcule su peso efectivo en la Luna. 7. Elabora un programa que solicite la medida en Pies y realice la conversin a pulgadas, yardas, cm y metros. Toma en cuenta que un pie tiene 12 pulgadas y una pulgada equivale a 2.54 cm. 8. Hacer un programa que permita escribir los primeros 100 nmeros pares. 9. Hacer el programa que sume los N primeros impares. Realizar despus uno que haga lo mismo con los pares y, otro, con los mltiplos de 3. 10. La sucesin de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 para n>2, es decir los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el Nsimo trmino de la sucesin. 11. Hacer un diagrama de flujo que simule un reloj. 12. Realizar el diagrama de flujo para resolver una ecuacin de segundo grado, teniendo en cuenta las soluciones complejas. 13. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el 16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo.Finalmente hay que realizar un descuento, en funcin de la suma de los importes, dicho descuento es del 0% si es menor que 1000, es del 5% si es mayor o igual que 1000 y menor que 10000 y es de un 10% si es mayor o igual que 10000. El descuento se debe aplicar a la suma de los importes y a la suma de los ivas. Para acabar se debe imprimir el importe y el iva resultantes (total menos descuento) y la suma de ambos. 14. Hacer un organigrama que lea N nmeros, calcule y escriba la suma de los pares y el producto de los impares. 15. Hacer un diagrama de flujo para calcular el mximo comn divisor de dos nmeros enteros positivos N y M siguiendo el algoritmo de Eucldes, que es el siguiente: 1. Se divide N por M, sea R el resto.2. Si R=0, el mximo comn divisor es M y se acaba.3. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.Por qu el mtodo anterior acaba alguna vez? por qu calcula el mximo comn divisor de N y M? 16. Calcular los nmeros primos hasta el N, segn la Criba de Eratstenes, que consiste en poner todos los nmeros del 2 al N en una tabla e ir tachando los mltiplos de cada nmero, detalladamente es como sigue: 1. Escribir los nmeros del 2 al N.2. Hacer I igual a 23. Mirar el nmero I de la tabla.4. Si esta tachado ir al paso 6.5. Si no lo esta tachar los mltiplos de I en la tabla.6. Incrementar I.7. Si I es menor o igual que N ir al paso 3.8. En otro caso finalizar. El punto 5 tambin requiere un algoritmo, que es el siguiente:5.1 Hacer J igual al doble de I (primer mltiplo de I).5.2 Si J es mayor que N finalizar (el apartado 5).5.3 En otro caso tachar el elemento J.5.4 Incrementar J en I (para pasar al siguiente mltiplo de I).5.5 Volver a 5.2.Para realizarlo se simular la tabla con nmeros tachados mediante un array P, y el elemento I estar sin tachar cuando P(I) sea 1 y tachado cuando sea 0. 13. Hacer el diagrama de flujo para calcular el factorial de N (N!=123...N). 14. Hacer un diagrama de flujo para sumar los N primeros trminos de una progresin geomtrica de primer trmino A y razn R (dados por teclado). Se debe realizar la suma sin emplear la frmula que existe para ello. 15. Hacer un diagrama de flujo para convertir un nmero decimal N dado por teclado a binario. 16. Hacer un diagrama de flujo para calcular AB, siendo B un entero, ntese que B puede ser 0 negativo. No se pueden emplear logaritmos. 17. Hacer un diagrama de flujo para calcular el mximo de N nmeros ledos por teclado, se debe realizar de dos formas, una almacenando previamente los nmeros dados por teclado en un array y la otra calculando el mximo directamente segn se leen los nmeros del teclado. 18. Hacer un diagrama de flujo para ordenar N nmeros ledos por teclado y almacenados en un array A. El algoritmo es el siguiente: 1. Se lee N y despus los N nmeros al array A.2. Se busca el mximo de los elementos del 1 al N y su ndice J.3. Se intercambian los elementos A(J) y A(N).4. Se decrementa N en 1.5. Se compara N con 1, si es mayor se vuelve a 2.6. Si es menor o igual se termina. 19. Hacer el organigrama de un programa que dado un array A ordenado de N elementos, encuentre la posicin de uno B ledo por teclado. El algoritmo a emplear es el siguiente: 1. Se fijan los extremos de la porcin a buscar: I=1, J=N.2. Se calcula el ndice del elemento medio K=(I+J)/2.3. Se compara B con el elemento medio A(K).4. Si es igual se escribe K y se termina.5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve a 2.6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a 2.Pensar despus que habr que modificar para que busque tambin valores de B que no estn en el array A, si se da ese caso y no lo encuentra debe poner un mensaje diciendo que no esta. 20. Hacer un organigrama de un programa que adivine el nmero entre 1 y 1000 pensado por un humano. El programa debe ir diciendo nmeros y el humano responder con los smbolos '' o '=', segn el nmero pensado sea menor, mayor o igual que el dicho por el ordenador. Cuando lo adivine deber poner un mensaje especificando cuantas preguntas ha necesitado y finalizar. No debe realizar ms de 10 preguntas y debe detectar si el humano le engaa dicindole cosas imposibles, por ejemplo es mayor que 4 y menor que 5.Si en lugar de estar el nmero de partida entre 1 y 1000 estuviera entre 1 y 1000000, cuantas preguntas seran necesarias? 21. Realizar el organigrama de un programa que permita calcular ceros de funciones empleando el Teorema de Bolzano (si una funcin continua, definida en un intervalo cerrado [a,b], toma valores de signos opuestos en los extremos, existe un punto c en [a,b] tal que f(c)=0). Los datos de partida son los extremos del intervalo a y b y E que nos dice el mximo error tolerado en el resultado. El programa deber poner un mensaje de error si la funcin tiene igual signo en los extremos del intervalo, en otro caso debe escribir un valor C, que diste del c del Teorema en menos de E. 22. Dados dos nmeros enteros positivos N y D, se dice que D es un divisor de N si el resto de dividir N entre D es 0. Se dice que un nmero N es perfecto si la suma de sus divisores (excluido el propio N) es N. Por ejemplo 28 es perfecto, pues sus divisores (excluido el 28) son: 1, 2, 4, 7 y 14 y su suma es 1+2+4+7+14=28. Hacer un organigrama que dado un nmero N nos diga si es o no perfecto. 23. Un ao es bisiesto si es mltiplo de 4, exceptuando los mltiplos de 100, que slo son bisiestos cuando son mltiplos adems de 400, por ejemplo el ao 1900 no fue bisiesto, pero el ao 2000 si lo ser. Hacer un organigrama que dado un ao A nos diga si es o no bisiesto. 24. Hacer un organigrama que dados un da D, un mes M y un ao A, calcule cual es el da siguiente. Se debe tener en cuenta que en los aos bisiestos Febrero tiene 29 das y en los no bisiestos 28. 25. El Mircoles de Ceniza es 46 das antes que el Domingo de Resurreccin. Hacer un organigrama para que dados el da D, el mes M y el ao A del Domingo de Resurreccin calcule la fecha del Mircoles de Ceniza en ese ao. Se debe tener en cuenta si el ao es o no bisiesto. 26. Hacer un organigrama que lea un nmero N y obtenga las ternas pitagricas (A, B, C) en las que A, B y C son todos enteros positivos y menores que N. Para que una terna (A, B, C) sea pitagrica debe cumplir que A2+B2=C2. 27. Una empresa paga a sus 100 operarios semanalmente, de acuerdo con el nmero de horas trabajadas, a razn de P pesetas por hora y de 1.5P pesetas por cada hora extra. Las horas extras son las que exceden de 40h. Hacer el organigrama que dado el nmero de horas trabajadas y el valor de P calcule el salario que le corresponde. 28. Disponemos de una mquina que puede dar vueltas con 5 tipos de monedas distintas: 100, 50, 25, 5 y 1 pts. Realizar el organigrama de un programa que dados el precio del artculo y la cantidad entregada por el consumidor nos indique la vuelta a entregar empleando el menor nmero posible de monedas. 29. Plantear el organigrama de un programa que sea capaz de calcular el impuesto sobre la renta el nmero de veces que sea necesario y lo escriba por impresora. El impuesto de la renta es el 15% del salario anual de cada persona, al que previamente se debe realizar una deduccin en funcin del nmero de hijos, que es del 0% si tiene 0, del 5% si tiene 1 o 2 y del 15% si tiene ms de 2. 30. Realizar un organigrama para leer por teclado las notas de N alumnos que estn matriculados en M asignaturas, si un alumno no esta matriculado de una asignatura o no se presenta al examen se debe introducir como nota -1. El programa debe calcular y escribir el nmero de alumnos presentados a cada asignatura, la nota media, el nmero de suspensos, el nmero de aprobados, el nmero de notables y el nmero de sobresalientes. 31. Hacer el organigrama para resolver el siguiente problema: Un hombre, un lobo, una cabra y una gallina deben pasar un ro, para ello se dispone de una barca con capacidad para dos ocupantes, el hombre (nico que sabe remar) y otro. Si en una orilla se quedan solos el lobo y la cabra, el lobo se come a la cabra. Si en una orilla se quedan solos la cabra y la gallina , la cabra se come la gallina. 32. Elabora un programa que calcule la suma de dos arreglos unidimensionales, suponiendo que sus valores corresponden a la suma del salario quincenal de un empledo ms las prestaciones del mes, por lo que obtendremos el salario integral del trabajador con la suma. 33. Elabora un programa que medante funciones y un men, el usuario seleccione las unidades a convertir (debers utilizar apuntadores para manipular los valores de las variables), por ejemplo con la temperatura en grados Fahrenheit, imprimiras su equivalente en grados Celsius, Kelvine y Rankine. Para convertir a Celsius a la temperatura Fahrenheit se le restan 32 y se multiplican por 5/9 Para convertir a Kelvin se le suma 273 a los grados Celsius. Para convertir a Rankine a los grados Fehrenheit se le suma 460. La funcin deber realizar las conversiones a las restantes unidades. 34. Una empresa paga a sus 5 trabajadores semanalmente, de acuerdo con el nmero de horas trabajadas, a razn de x pesos por hora y al doble x pesos por cada hora extra. Las horas extras son las que exceden de 40h. Hacer el programa que dado el nmero de horas trabajadas y el valor de x, calcule el salario que le corresponde a cada trabajador. El programa mostrar al final el total a depositar en el banco. 35. Realiza un programa que simule la venta de boletos en Cinemex, el usuario seleccionar la pelcula a ver, el nmero de boletos a comprar, supongamos que el complejo cuenta con 5 salas de exhibicin. Crea una clase independiente para cada Pelculay un mtodo para ser llamado por una clase Principal llamada Taquilla Debemos recordar que los Mircoles la entrada cuesta 45 pesos mismo precio que pagan los estudiantes, los mayores de 60 aos y menores de 12 pagan $42 pesos, Funciones antes de las 18:00 hrs. Cuestan $52, funciones despus de las 18:00 cuestan $65. Pantalla Digital 3D $80 El trabajador del cine preguntar el nmero de personas, adultos, nios, adultos mayores. Tipo de sala, normal o 3D. Dependiendo de la seleccin obtenemos el total a pagar, mismo que se va a ir almacenando en un acumulador El programa realizar las ventas de manera recursiva hasta que el usuario meta un carcter de salida. Cuando suceda esto mostrar los totales por sala en pesos y el total de boletos vendidos tambin por sala. 36. Crea un programa en java para realizar recargas de tiempo aire de las diferentes compaas telefnicas UNEFON, TELCEL, MOVISTAR (Crea una clase independiente para cada compaia y un mtodo para ser llamado por una clase Principal), el programa deber de contar con los siguientes puntos: Un men para seleccionar a las compaas telefnicasAl seleccionar a la compaa del men el programa pedir:2.1 La cantidad a ser abonada en pesos2.2 Solicitara el numero celular para abonarle el saldo indicado2.3 Solicitara que se confirme el numero celular2.4 Si los nmeros son validados aparecer en la pantalla usted abono $ X pesos al nmero celular de lo contrario intente nuevamente ingresando el numero celular (Debern existir precargados 3 nmeros celulares)2.5 Esta misma validacin para todas las compaas telefnicas (Diferentes nmeros) 3. El programa terminar con opcin *34. Al finalizar el programa mostrar las cantidades abonadas a los distintos nmeros 37. Realizar un programa en lenguaje C++ que realice la siguiente funcionalidad de ordenar los siguientes nmeros 9, 25, 4, 5, 120, 65, 98 Considerar los siguientes puntos a) Considerar dos opciones mediante funciones. En la primera los datos son solicitados por tecleado y la segunda los datos se encuentran inicializados desde el mismo programab) Aplicar el mtodo un mtodo de ordenamiento 38. Realizar un programa en lenguaje C++ que realice las 4 operaciones bsicas con 2 matrices unidimensionales Considerar los siguientes puntos a) Crea una librera llamada Operaciones y en ella elabora las 4 funciones utilizando por lo menos 2 diferentes tipos de declaraciones en las funcionesb) Crea un men en otro archivo y realiza el llamado de las funciones con un Switch.

021Ejercicios bsicos deprogramacinPublicado el15 marzo, 2013deJuan Carlos1. Conversiones y factores de conversin. Realice los siguientes ejercicios (para cada uno de ellos debe identificar las entradas, salidas y restricciones, y escribir el programa respectivo en Python):A. cc a litrosB. cc / segundo a litros / horaC. Grados centgrados a grados FahrenheitD. Kilmetros cuadrados a millas cuadradasE. Libras a kilogramosF. Das, horas, minutos y segundos a segundos. Por ejemplo cuantos segundos hay en 3 das, 4 horas y 20 minutos y 10 segundos.G. Milibares a Libras por pie cuadrado.2. Clculo de valores. Realice los siguientes ejercicios (para cada uno de ellos debe identificar las entradas, salidas y restricciones, y escribir el programa respectivo en Python):A. El rea de un tringulo rectngulo.B. El permetro de un cuadrado.C. El volumen de una esfera.D. Volumen de un cilindro.3. Dibuje el rbol sintctico para las siguientes expresiones en Python:A. - (3 * (x + y) ** 2 4) / 7 % 2 // 6B. - 4 + 1 % 7 * (2 3)C. 2 * 3 * 4 * 5 * 64. Dibuje el rbol sintctico para esas mismas expresiones en Rambox (segn el blog).5. Escriba expresiones en Python utilizando nicamente los parntesis que sean estrictamente necesarios:

6. Expresiones con mltiples operadores. Realice los siguientes ejercicios. Para cada expresin dibuje el rbol y calcule el resultado:A. 10 < 20 and True or 10 > 15 > 5 and False.B. True or False and False or True and False.C. False and False < True (16 + 5 * 8 -2) / 4.7. Expresiones y rboles sintcticos. Escriba expresiones para las siguientes restricciones y dibuje rbol sintctico:A. A es un entero positivo entre 10 y 20.B. Nombre es una tira de caracteres que no puede ser nula, M es un valor booleano y C es un flotante entre 100 y 999.99.C. A, B, C son nmeros enteros, donde A al cuadrado es igual a B al cuadrado ms C al cuadrado.8. Uso de bibliotecas y funciones (programe con estilo):A. Desarrolle una funcin que calcule el rea de un tringulo utilizando la siguiente frmula:

La restriccin es que a, b y c son valores numricos mayores que 0.B. Desarrolle otra funcin que calcule el ngulo alfa.

C. La funcin que calcula el rea del tringulo producir un error si el resultado de la raz cuadrada es menor que 0. Incluya un assert adicional para verificar esta condicin.9. Se va a adquirir un prstamo para comprar una casa que tiene un valor de h, a una tasa de inters i (i entre 0 y 100) a un plazo de n aos. Calcule la cuota respectiva m.Utilice la frmula:

Donde

Nota: la cuota debe redondearse a dos decimales.Dibuje el diagrama de entradas, salidas y restricciones. Establezca las restricciones. Escriba el programa en Python (con estilo!). Debe investigar como redondear cantidades. Use la documentacin de Python.10. Mecnica de los bloques de decisin: a partir de un diagrama de flujo genera la codificacin en Python.Ejercicio A.

Ejercicio B.

1. Dibuje el diagrama de flujo para el siguiente programa:

2. Resolver la ecuacin a*x + b = 0. Nota: considere el caso cuando la ecuacin no tiene solucin.3. Leer un valor e imprimir El valor es mayor que 100 cuando se cumple esta condicin.4. Leer el nombre y las edades de dos personas e imprimir quien es el menor. En caso de que tengan la misma edad debe indicarse.5. Leer un valor entero e imprimir Si cumple, si ese valor es el doble de un impar. Por ejemplo 14 cumple con esta condicin.6. Suponga que se guardan en el banco C colones por n aos a una tasa de inters i. La cantidad que se va a tener luego de ese tiempo es:

Desarrolle un programa que calcule C.Debe verificar que C > 0 y 0 < i = 0. No puede usar la funcin logaritmo.8. En el post 020 se present un patrn para desplegar un men y permitir que el usuario seleccione una opcin.Desarrolle un programa que lea el radio de un crculo y a partir del l calcule su circunferencia, rea o dimetro segn sea la seleccin del usuario.9. Operadores del tipo += . Escriba expresiones simplificadas para:A. z = z + 1B. m = m * (2 + k)C. b = b % (r + 2)D. d = d // 1010. Evale las siguientes expresiones y dibuje el rbol sintctico. Posteriormente compruebe sus resultados con Python.A. cc + aa * 10B. jo%s % se * 2C. +%s % (= * 3) * 5 + +D. >>%5.2f%5.2f