Ejercicios de Programacion Basica
Ejercicios de Programacion Basica
Ejercicios de Programacion Basica
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.
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.
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
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.
28. Escribir un programa que lea tres números e imprima por pantalla los
números ordenados.
30. Leer cuatro números del teclado y escribir el mayor y el menor de los cuatro.
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.
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
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.
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.
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
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.
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.
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.
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.
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.