ejercicios_algoritmia(1).pdf

4
Departamento de Ingeniería Electrónica Informática I Ejercicios de algoritmia 1. Escriba un algoritmo que lea un número e imprima su cuadrado 2. Diseñar un algoritmo que lea un numero desde teclado e imprima en pantalla su tabla de multiplicar (1 a 10) 3. Calcule el volumen de una caja dadas las dimensiones que la conforman, escribiendo los datos de entrada y de salida 4. Determinar el área y volumen de un cilindro cuyas dimensiones de radio y altura se leen desde el teclado 5. Convierta el valor de una temperatura dada en grados Farenheit a su correspondiente en grados centigrados 6. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus catetos 7. Intercambie el contenido de dos variables numéricas 8. Solucione el problema anterior sin usar variables auxiliares 9. Escribir un algoritmo para determinar el máximo común divisor de dos números enteros (Ayuda: usar el algoritmo de Euclides) 10. Sea un sistema de ecuaciones de la forma: ax by =c dx ey=c Es posible resolverlo de usando las formulas: x = cebf ae bd , y = af cd ae bd Escribir un algoritmo que lea los coeficientes (a, b, c, d, e, f) y encuentre los valores de x e y. El algoritmo debe indicar el caso en el que el sistema de ecuaciones no tenga solución. 11. Desarrollar un algoritmo que calcule la suma de los números múltiplos de 3, o 5 o 7 desde 1 hasta un numero N. 12. Calcule el valor máximo entre N valores leídos 13. Escriba un programa que le pida al usuario una contraseña determinada (dada por el programador). El programa dará al usuario 3 intentos; si el usuario acierta, se imprime en pantalla un mensaje que dirá: “Bienvenido al Curso de Informática I con el profesor Mendoza”; Si no acierta en ninguno de los 3 intentos, el programa debe imprimir: “Lo sentimos, no acertaste.”. 14. Diseñe un algoritmo que imprima la suma de la serie de números 3, 6, 9, …, 99 15. Calcule la suma, resta, multiplicación y división entre dos valores previamente leídos, teniendo en cuenta que la división por cero no es válida, escribiendo los resultados obtenidos. 16. Diseñe un algoritmo que lea tres números e imprima cuál de ellos es la suma de los otros dos. 17. Determine el nivel de la nota definitiva de un estudiante, teniendo en cuenta que la primera nota vale el 35%, la segunda el 35% y la tercera el 30%, y los niveles son: de 0 a 2 mala, de 2  a 3 deficiente, de 3 a 4 buena, y entre 4 y 5 excelente. 18. Un banco calcula los intereses de las cantidades depositadas por los clientes diariamente con base en las siguientes premisas. Un capital de 1000 euros, con una tasa del 6%, renta un interés en un día de 0.06 multiplicado por 1000 y dividido por 365. Esta operación producirá 0.16 euros de interés y el capital acumulado será 1000.16. El interés para el segundo día se calculará multiplicando 0.06 por 1000 y dividiendo por 365. Diseñar un algoritmo que reciba tres entradas: el capital a depositar, la tasa de interés y la duración del depósito en semanas, y calcule el capital total acumulado al final del periodo de tiempo especificado. 19. Escribir un algoritmo que encuentre el factorial de un número. 20. Calcule los números factoriales entre 1 y un valor previamente leído, escribiendo el número y su correspondiente valor factorial, y al final la suma de los números y la suma de sus factoriales. 21. Leer una secuencia de N números y mostrar la suma de sus factoriales. 22. Calcular independientemente la suma de los números pares e impares entre 1 y 200. 23. Para N estudiantes de un colegio, determine cuántos pertenecen a cada uno de los siguientes rangos de edad: estudiantes menores de 5 años estudiantes entre 5 y 7 años estudiantes entre 7 y 10 años estudiantes entre 10 y 12 años estudiantes mayores de 12 años 24. Un curso de la Universidad De Antioquia para N Estudiantes tiene la siguiente información: Edad Sexo(1: masculino, 2: femenino) Carrera (1: ingeniería, 2: Otra Carrera) Escriba un programa que Obtenga: Edad promedio de los estudiantes Porcentaje de hombres del curso Porcentaje de mujeres que estudian ingeniería 25. Por cada uno de los N estudiantes del curso de Informatica I se tiene la nota final. Realice un programa que muestre la nota máxima, la nota mínima, cuantos perdieron y cuantos ganaron la asignatura por encima de 4.00. 26. Se desea realizar una estadística del peso de los estudiantes de una escuela. Los estudiantes estarán repartidos en los 

Upload: sebastian-escobar-osorio

Post on 31-Dec-2015

267 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ejercicios_algoritmia(1).pdf

Departamento de Ingeniería ElectrónicaInformática I

Ejercicios de algoritmia

1. Escriba un algoritmo que lea un número e imprima su cuadrado2. Diseñar un algoritmo que lea un numero desde teclado e imprima en pantalla su tabla de multiplicar (1 a 10)3. Calcule el volumen de una caja dadas las dimensiones que la conforman, escribiendo los datos de entrada y de salida4. Determinar el área y volumen de un cilindro cuyas dimensiones de radio y altura se leen desde el teclado5. Convierta el valor de una temperatura dada en grados Farenheit a su correspondiente en grados centigrados6. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus catetos7. Intercambie el contenido de dos variables numéricas8. Solucione el problema anterior sin usar variables auxiliares9. Escribir un algoritmo para determinar el máximo común divisor de dos números enteros (Ayuda: usar el algoritmo de Euclides) 10. Sea un sistema de ecuaciones de la forma:

axby=cdxey=c

Es posible resolverlo de usando las formulas:

x= ce−bfae−bd

, y=af −cdae−bd

Escribir un algoritmo que lea los coeficientes (a, b, c, d, e, f) y encuentre los valores de x e y. El algoritmo debe indicar el  caso en el que el sistema de ecuaciones no tenga solución.11. Desarrollar un algoritmo que calcule la suma de los números múltiplos de 3, o 5 o 7 desde 1 hasta un numero N.12. Calcule el valor máximo entre N valores leídos13. Escriba un programa que le pida al usuario una contraseña determinada (dada por el programador). El programa dará al   usuario  3   intentos;   si   el  usuario  acierta,   se   imprime  en  pantalla  un  mensaje  que  dirá:   “Bienvenido  al  Curso  de Informática I con el profesor Mendoza”; Si no acierta en ninguno de los 3 intentos, el programa debe imprimir: “Lo sentimos, no acertaste.”.14. Diseñe un algoritmo que imprima la suma de la serie de números 3, 6, 9, …, 9915.  Calcule la suma, resta, multiplicación y división entre dos valores previamente leídos, teniendo en cuenta que la división por cero no es válida, escribiendo los resultados obtenidos.16. Diseñe un algoritmo que lea tres números e imprima cuál de ellos es la suma de los otros dos.17. Determine el nivel de la nota definitiva de un estudiante, teniendo en cuenta que la primera nota vale el 35%, la  segunda el 35% y la tercera el 30%, y los niveles son: de 0 a 2 mala, de 2  a 3 deficiente, de 3 a 4 buena, y entre 4 y 5  excelente.18. Un banco calcula los intereses de las cantidades depositadas por los clientes diariamente con base en las siguientes  premisas. Un capital de 1000 euros, con una tasa del 6%, renta un interés en un día de 0.06 multiplicado por 1000 y dividido por 365. Esta operación producirá 0.16 euros de interés y el capital acumulado será 1000.16. El interés para el segundo  día   se  calculará  multiplicando  0.06  por  1000 y  dividiendo  por  365.  Diseñar  un  algoritmo  que   reciba   tres  entradas:  el  capital  a  depositar,   la   tasa  de  interés  y   la  duración del  depósito  en semanas,  y  calcule  el  capital   total  acumulado al final del periodo de tiempo especificado.19. Escribir un algoritmo que encuentre el factorial de un número.20. Calcule los números factoriales entre 1 y un valor previamente leído, escribiendo el número y su correspondiente valor factorial, y al final la suma de los números y la suma de sus factoriales.21. Leer una secuencia de N números y mostrar la suma de sus factoriales.22. Calcular independientemente la suma de los números pares e impares entre 1 y 200.23. Para N estudiantes de un colegio, determine cuántos pertenecen a cada uno de los siguientes rangos de edad:

• estudiantes menores de 5 años• estudiantes entre 5 y 7 años• estudiantes entre 7 y 10 años• estudiantes entre 10 y 12 años• estudiantes mayores de 12 años

24. Un curso de la Universidad De Antioquia para N Estudiantes tiene la siguiente información: Edad Sexo(1: masculino, 2: femenino) Carrera (1: ingeniería, 2: Otra Carrera)

Escriba un programa que Obtenga: Edad promedio de los estudiantes Porcentaje de hombres del curso Porcentaje de mujeres que estudian ingeniería

25. Por cada uno de los N estudiantes del curso de Informatica I se tiene la nota final. Realice un programa que muestre la nota máxima, la nota mínima, cuantos perdieron y cuantos ganaron la asignatura por encima de 4.00.26. Se desea realizar una estadística del peso de los estudiantes de una escuela. Los estudiantes estarán repartidos en los 

Page 2: ejercicios_algoritmia(1).pdf

siguientes intervalos.• (a) Estudiantes de menos de 40 kg.• (b) Estudiantes entre 41 y 50 kg.• (c) Estudiantes entre 51 y 60 kg.• (d) Estudiantes con mas de 60 kg.

El programa debe pedir el peso de un estudiante hasta que el valor 100 sea ingresado, el programa debe calcular lo siguiente:

• Numero de estudiantes en cada intervalo.• Promedio de peso de cada Intervalo.• Numero total de estudiantes.• Promedio de peso de todos los estudiantes.• Menor peso.• Mayor peso.• Intervalo con mayor numero de estudiantes.

27. Leer 500 números enteros y determinar cuántos son positivos28. Calcule el número del medio entre tres números previamente leídos29. Desarrollar un algoritmo que determine en un conjunto de 100 números naturales:

a) Cuántos son menores de 15b) Cuántos son mayores de 50c) Cuántos están comprendidos entre 25 y 45

30.  Cuatro atletas desea saber si ha bajado o subido de peso desde la última vez que se pesó. Para esto cada uno se pesa cinco veces, calcula el promedio de su peso actual y lo compara con el peso anterior. Hacer un algoritmo que determine  para cada atleta si bajó, subió de peso o está estable y cuánto es la diferencia respecto al peso anterior.El programa recibe el peso anterior del atleta y los valores de las 5 pesadas.31. Calcule el valor de una venta compuesta de N artículos y sus valores correspondientes, teniendo en cuenta que se cobra un impuesto adicional de 16% y que si el valor de las ventas antes del impuesto está entre $20.000 y $50.000 se le hace un descuento del 5%, y para ventas superiores de $50.000 el descuento es del 8%.32. Determinar si un número dado es primo33. Calcule los factores primos de un número entero positivo34. Escriba un algoritmo que imprima los primeros N números primos.35. Diseñe un algoritmo que calcule la suma de los primeros 1000 números primos.36. Realice un programa que permita visualizar los múltiplos de 4 comprendidos entre 4 y N, donde N es un número introducido por el usuario. 37. Desarrolle un algoritmo que permita calcular la suma de 1²+2²+3² + … + N²38. Cree un algoritmo que permita calcular la suma 1¹+2²+3³+...+NN

39. Modifique el ejercicio anterior para calcular 2² + 4  + … +N⁴ N

40. Desarrolle un algoritmo que realice una sumatoria y un promedio (por separado negativos y positivos) de n números ingresados por el usuario, el programa se debe detener e imprimir el resultado cuando el usuario digite el número cero. 41. Un número perfecto es un natural que es igual a la suma de sus divisores propios positivos, sin incluirse él mismo. Por ejemplo el número 6 es un número perfecto:1+2+3=6. Desarrolle un algoritmo que permita calcular si un número es o no perfecto. 42. Desarrollar un algoritmo que imprima los números positivos de la siguiente serie: 1000,999,997,994,990, ….36.  Elaborar un Algoritmo que imprima en pantalla los primeros N términos de la sucesión: 17 15 18 16 19 17 20 18 21. . .43. Escriba los primeros N términos de la siguiente serie: 1, 2, ­3, ­4, 5, 6, ­7, ­8, 9, 10, ­11, ­12,...44. Calcule los primeros N términos de la siguiente serie: 1/2, ­9/4, 25/6, ­49/8, 81/10, ­121/12,... 45. Los empleados de una fábrica trabajan en dos turnos, diurno y nocturno. Se desea calcular el jornal diario de acuerdo  con los siguientes puntos: 

• la tarifa de las horas diurnas es de 6 euros• la tarifa de las horas nocturnas es de 10 euros• en caso  de ser  domingo,   la   tarifa  se   incrementará  en 200 euros el   turno diurno y 300 euros el   turno 

nocturno46. Calcule el n­ésimo término de la serie de Fibonacci47. Dados dos números, informar si uno es divisor del otro48. Determinar si un número tiene raíz cuadrada exacta. No utilice una función para calcular la raíz cuadrada.49. Determinar si un número tiene raíz cúbica exacta. Extiéndalo para cualquier raíz. NO utilice una función para calcular la raíz.50. Calcule la raíz cuadrada de un número hasta N cifras decimales. No utilice una función para calcular la raíz cuadrada.51. Diseñe un algoritmo que calcule el valor absoluto de un número52. Dado el valor del lado de un triángulo equilátero, haga un algoritmo que calcule su perímetro, su altura y su área. 53.  Diseñe un algoritmo que lea la posición (x,y) de las cuatro esquinas de un rectángulo, y encuentre su área y su perímetro.54. Construya un algoritmo que reciba la longitud de tres segmentos, determine si se puede crear un triangulo con ellos y que tipo de triangulo seria (equilátero, isósceles o escaleno).55. Diseñe un algoritmo que leyendo la posición (x,y) de los tres vértices de un triangulo, determine si es rectángulo.56. Diseñe un algoritmo que lea un conjunto de ternas (a, b, c) y determine cuántas  representan los lados de un triángulo  

Page 3: ejercicios_algoritmia(1).pdf

rectángulo.57. Haga un algoritmo que determine los parámetros A, B y C de una recta que pasa por los puntos (x1, y1) y (x2, y2). La ecuación de la recta es Ax + By + c = 0.58. Dados los coeficientes a, b y c de la ecuación cuadrática:

ax2 + bx + c = 0

      diseñe un algoritmo que encuentre las raíces de la ecuación. Considere los tres posibles casos. 59. Escriba un algoritmo que lean un número entero de dos digitos e imprime por separado los digitos que conforman el número de izquierda a derecha60. Escriba un algoritmo que lean un número entero de tres digitos e imprime por separado los digitos que conforman el número de izquierda a derecha61.  Escriba un algoritmo que lean un número entero e imprima por separado los digitos que conforman el número de izquierda a derecha. El usuario no ingresa el número de digitos.62. Escriba un algoritmo que lea un número entero y lo imprima al revés. El usuario no ingresa el número de digitos.63. Determine si un número ingresado por el usuario es capicúa. El usuario no ingresa el número de digitos.64. Dada una coordenada (x,y), determine si ésta pertenece a la recta y = 3x + 565. Considere la ecuación de la recta de la forma y = Ax + B. Construya un algoritmo que lea los valores A y B, y diga si  un punto (x,y) pertenece a la recta.66. Dada una especificación de tiempo en horas, minutos y segundos, calcule dicha especificación un segundo después67.  Utilizando  el   ejercicio   anterior,   desarrolle   el   simulador   de  un   reloj,   de   tal  manera   que  presente   las  diferentes variaciones del tiempo. Haga que el reloj corra durante 20 segundos a partir de un tiempo de inicio ingresado por el  usuario.68. Calcule la diferencia en horas, minutos y segundos entre dos instantes de tiempo dados en horas, minutos y segundos.69. Escriba un algoritmo a que partir de una fecha Día, Mes, Año, calcule la fecha el día siguiente.70.  Construya un algoritmo que a partir de una fecha Día, Mes,  Año, calcule que día fue. (Hágalo solo para fechas posteriores a 01/01/2000, que fue un sábado.)71. Construya un algoritmo que reciba dos fechas y calcule cuantos días hay entre ellas.72. Dado el año y el mes, determinar si el año es bisiesto y cuántos días tiene el mes.73. Dada una coordenada (x,y), determine si ésta pertenece al área formada por la parábola y = 4 – x2 y la recta y = x ­ 374.  Un almacén de escritorios hace los siguientes descuentos: si el cliente compra menos de 5 unidades se le da un  descuento del 10% sobre la compra, si el número de unidades es mayor o igual a 5 pero menos de 10 el descuento es del 20%, y si son 10 o más el descuento es del 40%. Diseñe un algoritmo que determine cuánto debe pagar un cliente dado que cada escritorio cuesta $800.000. 75. Calcule la cantidad de monedas de cada denominación: 100, 25, 10, 5 y 1 peso, que deben ser entregadas para pagar una suma cualquiera de N pesos. El objetivo es entregar la menor cantidad de monedas.76. Elaborar un algoritmo que encuentre el mayor, el menor y el promedio de una lista de N números77. Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés mensual. ¿Cuál será la cantidad al cabo de un año, si la ganancia de cada mes se reinvierte?78. Una empresa de construcción ofrece casas bajo las siguientes condiciones: si los ingresos del comprador son menores o iguales a $120.000, la cuota inicial será del 15% del costo de la casa y el resto se distribuirá uniformemente en pagos mensuales a 10 años. Si los ingresos son mayores a $120.000, la cuota inicial será del 30% del costo de la casa y el resto  se distribuirá uniformemente en cuotas mensuales a 7 años. Dado el valor de la casa y el salario, ¿Cuánto debe pagar de cuota inicial y de cuota mensual?79. Diseñe un algoritmo que calcule la distancia entre dos puntos del plano cartesiano.80. Ayudándose del ejercicio anterior. Desarrolle un algoritmo que lea el centro y el radio de un circulo, y determine si  un punto (x,y) pertenece a este.81. Varias ambulancias recorren la ciudad y cuando se recibe en la CENTRAL una llamada se informa la ubicación de la  emergencia mediante coordenadas, lo mismo que la ubicación de todas las ambulancias. 

La central es el punto (0,0) u origen de coordenadas.

Se sabe que existen N ambulancias en servicio.

Realice un algoritmo que, dada la información necesaria, informe las coordenadas de la ambulancia más cercana al punto de emergencia.

82. Una secuencia empieza con el número 7 y cada número sucesivo se obtiene del número previo multiplicando por 2 y restando 1. Por ejemplo, el segundo número en la secuencia es 7*2­1=13. Diseñe un algoritmo que calcule un número cualquiera de la secuencia.83. Diseñar un algoritmo para calcular la velocidad en metros/segundo de los corredores de una carrera de 1500 metros.  Por cada corredor leerá por teclado los minutos y segundos del tiempo que ha marcado y a continuación mostrará por pantalla la velocidad correspondiente. El algoritmo finalizará cuando para un corredor lea el valor 0 para los minutos y para los segundos.84. Diseñe un algoritmo que lea dos valores A y B, y encuentre AB mediante multiplicaciones.85. Diseñe un algoritmo que lea dos valores A y B, y encuentre AB mediante sumas únicamente.86. Calcule el residuo y el cociente de una división de dos números enteros usando sólo las operaciones de suma y resta

Page 4: ejercicios_algoritmia(1).pdf

87. Construya un algoritmo tal que encuentre los valores de a,b,c tal que a<b<c, a+b+c = 1000 y a²+b² = c²88. Diseñe un algoritmo que reciba el perímetro de un triangulo rectángulo (numero entero), y busque las tripletas de números (a,b,c) (enteros) que podrían ser la longitud de lados del triangulo.Ejemplo: Si ingresamos 120 vemos que las tripletas que pueden ser (20,48,52),(24,45,51), (30,40,50).89. Se tiene una lamina de cartón rectangular como muestra la imagen de la  derecha,   se  desea construir  una caja   sin   tapa con esta.  Se  cortan  las esquinas y se dobla por la linea puntada para obtener así la caja. Diseñe un programa que lea los valores de A y B (enteros), y encuentre el  valor de x para que el volumen de la caja sea el mayor posible. (Ayuda: tome para los valores de x múltiplos de 0.1 es decir, 0.1,0.2,0.3 ...)

Fuentes:L. Joyanes, “Fundamentos de Programación: Algoritmos y Estructuras de Datos”, 2a ed., Mc. Graw Hill, 1996.E. Oviedo, “Lógica de programación”, 2a de., ECOE ediciones, 2005.E. Villegas, “Informática básica con enfásis en lenguaje C”Lopez, J.”Tema 7.­ Programación básica en C. Cuestiones y Ejercicios”. Lorca: IES San Juan Bosco. Recuperado de http://dis.um.es/~lopezquesada/documentos/IES_0708/FP/curso/UT7/Ejercicios.pdfMeza, J. “Ejercicios algorítmicos ”. Recuperado de  http://ingjmeza.110mb.com/taller1.pdfhttp://projecteuler.net