Ejercicios de Programacion Basica

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Nivel 1

1. Escribir un programa que lea dos números y los sume.

2. Efectuar un programa que lea los valores de 3 resistencias electrónicas (en


Ohmios,
las 3

3. Escribir un programa que evalúe la siguiente expresión: (a+17*c)/(b+36-


a)+b*a-4. En donde a, b y c se capturan desde el teclado.

4. Programa que convierta pesos a bolívares y viceversa. 1 Bolívar equivale a


$421.40.

5. Escribir un programa que dado un número por pantalla imprima el número,


su cuadrado y su cubo.

6. Escribir un programa que calcule la hipotenusa de un triángulo rectángulo.

7. Escribir un programa que calcule el equivalente en pies de una longitud de x


metros sabiendo que 1 metro equivale a 39.27 pulgadas y 12 pulgadas
equivalen a 1 pie.

8. Escribir un programa que convierta un número de segundos en su equivalente


en horas, minutos y segundos.

9. Escribir un programa que lea el valor de un ángulo en radianes y muestre su


valor en grados, minutos y segundos o viceversa.

10. Programa que pida la temperatura en grados Celsius y la convierta a grados


Fahrenheit (y viceversa) mostrando en pantalla un mensaje del tipo “xxx.xx
grados Celsius son yyy.yy grados Fahrenheit”.

11. Escribir un programa que lea dos números enteros A y B, y obtenga los valores
de la división entera de A entre B y su residuo.

12. Escribir un programa que calcule la velocidad uniforme de un proyectil que


recorre x Km en t minutos. Expresar el resultado en metros/segundo.

13. Crear un programa que pida el radio de una circunferencia y que calcule la
longitud de la misma así como su área.

14. Escribir un programa que sume, reste, multiplique y divida dos números
leídos desde el teclado. Tenga cuidado cuando el segundo número es cero.
15. Escribir un programa que calcule el área de un rectángulo a partir de sus
coordenadas x1, y1,x2, y2.

16. Escribir un programa que pregunte el año actual y la edad de una persona y
calcule la edad de esa persona en el año 2030.

17. Escribir un programa que calcule el volumen de una esfera de radio r

18. Dados dos fechas, donde la primera fecha es menor a la segunda, calcular los
días que median entre ambas. Suponiendo que todos los meses tienen treinta
días

19. Escribir un programa que muestre en pantalla el valor del número pi y e con
10 decimales.

20. Crear un programa que calcule la caída de potencial producida por una
resistencia según la ley de Ohm (V = I * R) a partir de la resistencia y la
intensidad que pasa a su través.
Nota: El programa no debe aceptar resistencias negativas, dado que no tienen
sentido físico, ni resistencias mayores que 2000Ω (requerimiento adicional
del problema). En ambos casos el programa debe escribir un mensaje de error
en pantalla diciendo que el valor de la resistencia está fuera de límites
aceptables indicando la causa por la que dicho valor para la resistencia ha sido
rechazado.

NIVEL 2

21. Un negocio hace descuentos en las ventas de sus productos. Si la compra es


inferior a $100 el descuento es del 5%, si es mayor o igual a 100 y menor a 200
el descuento es del 10% sino será del 15%. Dado el precio de la venta mostrar
el descuento realizado en pesos y el precio final con descuento.

22. Escribir un programa que detecte si un número introducido desde el teclado


es positivo o negativo.

23. Escribir un programa que detecte si un número leído desde el teclado es


mayor o menor que 100.

24. Escribir un programa que lea tres números e indique el tipo de triángulo que
forman (isósceles, equilátero, escaleno). Comprobar que los números
realmente formen un triángulo, sino escribir que hay un error.

25. Escribir un programa que detecte si se han introducido en orden creciente tres
números introducidos por el teclado.

26. Escribir un programa que dado un número del 1 a 7 escriba el correspondiente


nombre del día de la semana.
27. Escribir un programa que lea un caracter e indique si es o no una vocal.

28. Escribir un programa que lea tres números e imprima por pantalla los
números ordenados.

29. Escribir un programa que calcule el número de billetes de 50.000, 20.000,


10.000, 5.000, 2.000, 1,000, así como de monedas de 500, 200, y 100 pesos
para representar una cantidad dada, de forma que se necesite la menor
cantidad de billetes y monedas de cada tipo. Se debe indicar cuantos de cada
tipo.

30. Leer cuatro números del teclado y escribir el mayor y el menor de los cuatro.

31. Escribir un programa que determine si un número leído desde el teclado es


par o impar.

32. Leer tres números del teclado y escribir el mayor de los tres.

33. Dado un sistema con 2 ecuaciones y dos incógnitas. Escribir un programa que
lea los coeficientes (a, b, c, d, x, y) y resuelva el sistema. El programa deberá
indicar los casos en los que el sistema de ecuaciones no tenga solución.

34. Escribir un programa que calcule las raíces, bien reales o imaginarias, de una
ecuación de segundo grado. El programa también debe ser capaz de operar
con valores nulos para el coeficiente de orden dos (es decir, deberá de ser
capaz de resolver ecuaciones de primer grado)

35. Escribir un programa que lea dos números desde el teclado y si el primero es
mayor que el segundo intercambie sus valores.

36. Escribir un programa que pida un año y diga si es bisiesto o no. Un año es
bisiesto si es múltiplo de 4 salvo el caso en que sea múltiplo de 100, que no es
bisiesto, y no sea múltiplo de 400. Por ejemplo, el año 1900 no fue bisiesto, el
2000 sí y el 2100 no lo es.

37. Leer desde el teclado las coordenadas (x, y) de un punto y, mediante un


menú, elegir una entre las siguientes opciones:
➢ Comprobar si el punto pertenece a una circunferencia de radio 10 y centro
(0,0)
➢ Averiguar el cuadrante en el que se encuentra el punto.
➢ Pasar las coordenadas cartesianas (x, y) a polares (r, arg).
38. Escribir un programa que permita efectuar el cálculo del área de un cuadrado,
un círculo o un triángulo equilátero según la opción seleccionada por el
usuario a través de un menú.

39. Crear un programa para calcular los salario semanal de unos empleados a
los que se les paga $2000 por hora si éstas no superan las 40 horas. Cada
hora por encima de 40 se considerará extra y se paga con un incremento
del 20%.

40. El programa pide las horas del trabajador y devuelve el salario que se le
debe pagar.

NIVEL 3

41. Escribir un programa que realice un bucle con do ... while y muestre en
pantalla del 1 al 20.

42. Programa que calcule el factorial ( n! ) de un número entero positivo leído por
teclado.

43. Efectuar un programa que lea dos números enteros y muestre en pantalla
todos los números comprendidos entre dichos números, ambos incluidos. El
programa no debe suponer que el primero será menor que el segundo, ni
viceversa, pero sí que deberá tenerlo en cuenta para mostrar los números en
orden creciente o decreciente según corresponda

44. Crear un programa que pida un número entero y muestre la tabla de


multiplicar.

45. Leer tres números del teclado y escribir el mayor de los tres.

46. Uno de los usos más habituales para los bucles condicionales es la validación
de entradas. Escribir un programa que pida una contraseña y permita tres
intentos. Si el usuario da la contraseña correcta responde "Enhorabuena!" y
queda inactivo, con este mensaje. En caso contrario el programa escribe "Lo
siento, contraseña equivocada" y se cierra de inmediatamente.

47. Escribir un programa que escriba todos los múltiplos de 7 del número
1 al 1000.
48. Escribir un programa que visualice en pantalla los números pares entre
1 y 50 usando el ciclo for.

49. Crear un programa que escriba dos columnas de números, en la primera


se colocan los números del 1 al 50, en la segunda los números del 50 al
1

50. Dada la longitud de una circunferencia, averiguar si dicha longitud


corresponde, con una determinada precisión, a una circunferencia de radio
R. El programa deberá leer la longitud de la circunferencia, el radio y la
precisión e indicará si es cierto o no que esa circunferencia tiene ese valor del
radio.

51. Escribir un programa que escriba los números del 1 al 100 en líneas de 10
números. Después de 100 el programa debe escribir “Fin del programa” en
una línea nueva.

52. Programa que simule que se deja caer una pelota desde un edificio de X metros
de altura (donde X se pide por teclado) mostrando en cada 0.1 segundos tanto
la altura de la pelota como su velocidad.

53. Programa que calcule los números primos del 1 al 100 y los saque por pantalla.

54. Hacer un programa que lea caracteres desde teclado y vaya contando las
vocales que aparecen. El programa terminará cuando lea el carácter # y
entonces mostrará un mensaje indicando cuántas vocales ha leído (cuántas de
cada una de ellas).

55. Escribir un programa en C++ que utilice e un bucle con while y muestre
en pantalla del 1 al 10.

56. Crear un programa que lea un número entero y a partir de él cree un


cuadrado de asteriscos con ese tamaño. Los asteriscos sólo se verán en
el borde del cuadrado.

57. Programa que calcule el valor de elevar un número real, a, a un exponente


entero, b, multiplicando b veces el número a. Tener en cuenta que el exponente
puede ser positivo, negativo o cero.

58. Crear un programa en el que se introduce un número entero y se crea


un triángulo de asteriscos. Este debe estar relleno de astariscos.
59. Escribir un programa que visualice en pantalla los números pares entre
1 y 50 usando el ciclo while.

60. Escribir un programa que pida un array de caracteres por pantalla e invierta
el orden de los caracteres mostrándolo por pantalla. La inversión se hará sin
utilizar otro array auxiliar.

61. Julio Cesar enviaba mensajes a sus legiones encriptando los mensajes
mediante el siguiente algoritmo:
Se escogía un número n como clave y se sumaba a cada letra en el alfabeto n
posiciones. Así, si la clave escogida fuese 5, la ‘a’ pasaría a ser la ‘f’, mientras
que la ‘f’ pasaría a ser la ‘k’. Para las últimas letras del abecedario se seguiría
desde el principio. Así, con la clave de 5 la ‘y’ pasaría a ser la ‘d’. Se pide crear
un programa que encripte una frase mediante este algoritmo.

NIVEL 4

62. Escribir un programa que, pida la fecha de nacimiento de una persona e


imprima por pantalla su signo zodiacal.

63. Escribir un programa que cuente las mayúsculas de una cadena de


caracteres.

64. Escribir un programa que cuente el número de vocales que aparecen en


una frase introducida por el usuario.

65. Hacer un programa que muestre por pantalla la representación en binario de


distintos tipos de datos.

66. La fecha de cualquier Domingo de Pascua se calcula de la siguiente forma:


Sea X el año para el que se quiere calcular la fecha.
Sea A el resto de la división de X entre 19
Sea B el resto de la división de X entre 4
Sea C el resto de la división de X entre 7
Sea D el resto de la división de (19 * A + 24) entre 30
Sea E el resto de la división de (2 * B + 4 * C + 6 * D + 5) entre 7
La fecha para el Domingo de Pascua es el día (22 + D + E) de Marzo
(obsérvese que puede dar una fecha en mes de Abril)
Escribir un programa que pida como entrada un año y saque por pantalla la
fecha del Domingo de Pascua para ese año.
67. Programa que pida números de cuatro cifras e indique si los números son
capicúas o no. El programa deberá ir pidiendo números hasta que el usuario
introduce ‘-1’ por teclado. El número –1 indicará la finalización de la ejecución
del programa.
Nota1: Un número capicúa es simétrico p.e. 1221 ó 25752
Nota2: Cuando el número no es de cuatro cifras se deberá mostrar un mensaje
de error por pantalla y se pedirá otro número menor que 10000. En caso de
que el número sea menor de cuatro cifras se completará con ceros a la
izquierda.
Nota3: El único número negativo que se aceptará es ‘-1’ que indicará la
finalización del programa. Cualquier otro número negativo, se mostrará un
mensaje de error.

68. Escribir un programa que calcule los números perfectos entre 1 y 10000.
Nota: Un número perfecto es aquél tal que la suma de sus divisores menos el
propio número es el propio número.
Ejemplos:
6 ⇒ Divisores(6) = {1, 2, 3, 6} Suma = 1 + 2 + 3 + 6 – 6 = 6 ⇒ N.º Perfecto
10 ⇒ Divisores(10) = {1, 2, 5, 10} Suma = 1 + 2 + 5 + 10 – 10 ≠ 10 ⇒ No
perfecto
Solución: 6, 28, 496, 8128

69. Escribir una función (con su correspondiente programa de prueba) que tome
un valor entero y devuelva el número con sus dígitos en reversa. Por ejemplo,
dado el número 7631 la función deberá devolver 1367, el cual será otro entero.

70. Escribir una función que tome el tiempo introducido por el usuario en el
formato (horas:minutos:segundos) y lo convierta en segundos. El programa
utilizará esta función para calcular la diferencia en segundos entre dos
tiempos introducidos por el usuario.

71. Escribir un programa que llene un arreglo de 20 números enteros


aleatorios comprendidos entre 50 y 100, copie en otro arreglo esos
números multiplicados por 0,02 y muestre ambos arreglos.

72. Escribir un programa que calcule el número combinatorio. Utilizar para ello
una función que calcule el factorial de un número.
Nota: La función para calcular el factorial de un número puede ser iterativa o
recursiva. (Una función recursiva es una función que se llama a sí misma)

73. Escribir una función que calcule el factorial de un número y utilizar ésta en
un programa que muestre el siguiente menú.
1. Factorial de un número
2. Cálculo de e
3. Cálculo de e^x
0. Salir
74. El desarrollo en serie de Taylor de la función coseno es:
Donde el ángulo x viene expresado en radianes. Escribir un programa que
calcule el valor aproximado de coseno (x), utilizando para ello los N primeros
términos de la serie de Taylor. El número de términos N de la serie dependerá
del valor del último, es decir, se añadirán términos a la serie hasta que el valor
absoluto del último término añadido sea menor que 0.0005.

75. Dividir calculando periodos: Implementar un programa para dividir dos


números. El resultado debe tener hasta 10 decimales, redondeando este
último según el decimoprimero decimal. El programa debe detectar e indicar
si entre los 10 primeros decimales se produce algún periodo (puro o mixto).
El Menú contendrá las opciones "Cambiar dividendo: X" (donde X es el último
dividendo introducido), "Cambiar divisor: Y" (donde Y es el último divisor
introducido) y "Calcular división". Por defecto, al principio del programa se
debe suponer un valor cualquiera para el dividendo y el divisor.

Ejemplos: 12/9 = 1.3 con 3 como periodo (1.3333333333...).


12/7 = 1.714285 con 714285 como periodo (1. 714285714285714285...).
13/6 = 2.16 con 6 como periodo (2.166666666...).
Compruebe que el divisor no sea nunca cero. Para efectuar diversas divisiones
cambiando sólo el divisor bastará con usar la segunda y tercera opciones
sucesivamente, ya que el dividendo permanecerá constante mientras no se
cambie usando la primera opción. Para calcular los periodos se pueden
calcular los restos obtenidos al sacar decimales en la división y, en cada resto
comprobar si ese resto ya se ha repetido anteriormente, en cuyo caso tenemos
un periodo a partir de ese dígito.

76. Escribir un programa que realice la descomposición en factores primos de un


número introducido por teclado.

77. Escribir un programa que lea dos números complejos y permita realizar con
ellos las siguientes operaciones aritméticas: suma, resta, multiplicación y
división
Nota 1: Se debe crear una función de permita leer un número complejo (su
parte real y su parte imaginaria).
Nota 2: La suma y resta de números complejos se obtiene sumando, o
restando, las partes reales y las partes complejas.
Nota 3: El producto de dos números complejos se obtiene multiplicando sus
módulos y sumando sus argumentos.
Nota 4: El cociente de dos números complejos se obtiene dividiendo sus
módulos y restando sus argumentos.

78. Realizar un programa que lea 20 números (entre el 1 y el 10) y muestre aquel
o aquellos que hayan aparecido más veces.

79. El programa preguntará si se quieren introducir los 20 números y en el caso


en que la respuesta sea negativa rellenará el array con números aleatorios.
Nota: Para la generación de los números aleatorios, se deberá utilizar la
función rand

80. Escribir un programa que calcule los números primos de 0 a 100 utilizando el
llamado método de la criba de Eratóstenes. Este método consiste en definir e
inicializar con todos sus elementos a True un array de 100 elementos binarios
e ir “tachando” (pasando a False) en pasadas sucesivas todos los múltiplos de
los números primos (2, 3, 5, 7...) hasta obtener sólo los números primos. Es
decir: En el ejemplo en gris claro se señalan los múltiplos de 2, mientras que
en gris oscuro los múltiplos de 3 (que no son múltiplos de 2).
81. Escribir un programa que calcule cuantos años tarda en duplicarse un
capital depositado al 0.5% de interés mensual.

82. Realizar un programa que maneje un array de enteros a través de un menú


con seis opciones:
1.- Añadir un elemento al array (comprobando que el array no esté lleno)
2.- Eliminar un elemento del array (comprobando que el array no esté vacío)
3.- Listar el contenido del array
4.- Contar las apariciones de un número en el array
5.- Calcular la media y el máximo de los elementos del array
0.- Terminar

83. Escribir un programa que rellene automáticamente una matriz 4x7 con la
suma de sus índices (Es decir, el elemento a11 = 1+1=2, a47 = 4+7=11). El
programa mostrará la matriz resultante por pantalla.

84. Escribir un programa que pida una matriz de orden 3x3 y calcule y muestre
por pantalla su matriz traspuesta.

85. Crear un programa que permita reservar asientos de una sala de cine (8 filas
x 20 columnas). La posición de cada asiento se definirá con una letra (A-H)
para la fila y un número (1-20) para la columna. El programa deberá visualizar
qué sitios están disponibles para que el cliente pueda decidir dónde sentarse.
Antes de hacer la reserva, el programa deberá comprobar que el asiento está
libre, en caso contrario devolverá un mensaje de error.

86. Un histograma es un gráfico que muestra la frecuencia con que aparecen los
datos. Escribir un programa que, tras leer las notas de los alumnos en una
asignatura, genere y visualice el histograma de las notas redondeadas a
valores enteros: 0, 1, 2,3, 4 y 5. Las notas leídas desde el teclado son valores de
tipo real y el número de alumnos no es fijo aunque siempre es menor de 300.
Nota: Para la realización del histograma se tendrán en cuenta las dimensiones
de la pantalla no permitiéndose más de 22 filas, por tanto si la máxima
frecuencia es mayor de 22 se deberá mostrar el histograma a escala.
87. Escribir un programa que calcule el producto de dos matrices A y B:
C=AxB
El programa leerá las dimensiones y los elementos de cada una de las matrices
(dimensiones máximas 5 x 5) y a continuación, si se puede efectuar el
producto, realizará lo calculará y mostrará el resultado en forma matricial.

88. Escribir un programa que compare dos arreglos de caracteres y nos


diga si son idénticos o no.

89. Escribir un programa que calcule la potencia usando una función. No


puede usar la función pow de la librería math.h.

90. Escribir un programa que convierta los números entre 0 y 999 a


números romanos.

También podría gustarte