Ejercicios-de-programacion

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ejercicios-de-programacion as PDF for free.

More details

  • Words: 1,549
  • Pages: 5
EJERCICIOS DE PROGRAMACIÓN

1. La oficina de correos cobra según el peso de la correspondencia así: BsF. 0.50 por cada 20 grs. los primeros 100 grs., y Bs. 0.75 por cada 10 grs. de exceso. Escriba un programa que lea el peso de una correspondencia y calcule el pago a efectuar. 2. En una universidad, el costo por unidad crédito es de BsF. 95, para todas las asignaturas. El costo mínimo por semestre, en todo caso, es de BsF. 950, así que si un alumno inscribe dos materias con un total de 8 unidades, igualmente pagará esa cantidad. Escriba un programa que lea el total de unidades crédito inscritas por un alumno y calcule el total a pagar. 3. La Ley de Impuestos sobre la Renta establece las siguientes tasas según los ingresos mensuales de cada ciudadano, y basados en la Unidad Tributaria, la cual es de BsF. 55: 0% 3.5% 4.5% 6.0% 7.5%

para ingresos < 50 UT para 50 UT < ingresos <= 75 UT para 75 < ingresos <= 100 UT para 100 < ingresos <= 150 UT para ingresos > 150 UT

Escriba un programa que solicite los ingresos mensuales de una persona y calcule el impuesto sobre la renta, 4. Un instituto educativo desea un reporte del rendimiento estudiantil, para lo cual se requiere un programa que lea como entrada las 4 notas de cada alumno, calcule su promedio y determine su calificación cualitativa, según la siguiente tabla, mostrando en la pantalla los resultados: 01 a 05 06 a 09 10 a 13 14 a 16 17 a 18 19 a 20

Muy Deficiente Deficiente Regular Bueno Distinguido Excelente

5. Una empresa especializada realiza una encuesta para determinar las preferencias de la población acerca de las cremas dentales que utilizan. Se desea un programa que lea las respuestas de cada encuestado, las cuales se representarán mediante un número de la siguiente manera: 1 = COLGATE 2 = PEPSODENT 3 = CREST 4 = TROPICAL 5 = Otra marca Al final se imprimirán los resultados de la encuesta indicando también el nombre de la crema con mayor puntuación.

6. Imprimir la tabla de multiplicar del 5. Utilice la sentencia for. 7. Modificar el programa anterior para utilizar la sentencia while. 8. Modificar el programa anterior para utilizar la sentencia do-while. 9. Modificar los programas anteriores para imprimir las tablas del 1 al 10, ambas inclusive. a) Usando la sentencia while b) Usando la sentencia do – while c) Usando la sentencia for 10. Escribir un programa que lea como entrada dos números, a y b, y calcule ab. 11. Calcular la sumatoria de los primeros 100 números enteros positivos. 12. Imprimir una tabla con los cuadrados y los cubos de n, para 1 ≤ n ≥ 25 13. Ingresar los tres lados de un triángulo e indicar si es equilátero, isósceles o escaleno. Validar todas las entradas. 14. Ingresar dos números enteros positivos y calcular el Máximo Común Divisor mediante el algoritmo de Euclides: dados dos enteros positivos a y b (a > b), se divide a entre b, obteniéndose el cociente q y el resíduo r. Si r es 0, entonces b es el mcd, sino se divide b entre r, y así sucesivamente hasta encontrar un resíduo cero. El último divisor será el mcd. 15. La compañía de electricidad utiliza unos medidores de 4 dígitos para medir el consumo de cada usuario, el cual se expresa en KW-Hr. Cada mes se lee el mencionado medidor, y la diferencia entre la lectura actual y la del mes anterior da el consumo. Se debe observar que una lectura puede dar un número menor que la anterior si en el lapso se atraviesa el máximo de 9999 en el medidor. Por otro lado, la tarifa depende del tipo de usuario, según la siguiente tabla: Residencial: BsF. 0.50 los primeros 500 Kw-Hr BsF. 0.65 los siguientes 500 Kw-Hr BsF. 0.75 el exceso de 1000 Kw-Hr Comercial:

BsF. 1.00 los primeros 1000 Kw-Hr BsF. 1.35 los siguientes 1000 Kw-Hr BsF. 1.80 el exceso de 3000 Kw-Hr

Escribir un programa que reciba como entrada la lectura anterior y la lectura actual de un medidor, y la categoría del usuario, y calcule el monto a pagar por su consumo eléctrico. 16. Escriba un fragmento de programa que permita leer un número de un solo dígito, o sea, del 0 al 9, y rechace cualquiera que no cumpla este requisito. 17. Escriba un fragmento de programa que lea dos números a y b y verifique que a < b.

18. Escribir un programa que lea como entrada el valor inicial (a), el valor final (b) y el incremento (c) y escriba la secuencia correspondiente. Considere los siguientes casos: a. a > b, el incremento debe ser positivo b. a < b, el incremento debe ser negativo, o sea, se trata de un decremento c. a = b, hay un solo número en la secuencia Implemente el programa usando: while, do-while y for 19. Hacer un programa que calcule el factorial de un número entero sabiendo que N! = N x (N - 1) x (N - 2) x …1 20. Hacer un programa que muestre por pantalla los factoriales desde el 1 al 10 21. Hacer un programa que acepte como datos de entrada dos números enteros, A y B, y luego escriba todos los números enteros comprendidos entre ellos. 22. Hacer un programa que acepte como datos de entrada dos números enteros, A y B, y luego muestre por pantalla la suma de los enteros comprendidos entre ellos. 23. Hacer un programa que acepte como datos de entrada dos números enteros, A y B, menores de 100, y luego escriba todos los números enteros que sean submúltiplos de ambos. 24. Escribir un programa que lea como entrada un número entero menor de 100 y muestre por pantalla sus respectivos submúltiplos. Ejemplo: si se ingresa 36, se muestra: 36 - 18 - 12 - 9 - 6 - 4 - 3 - 2 - 1 17. Hacer un programa que escriba la siguiente secuencia de números: 1 – 2 – 4 – 7 – 11 – 16 – 22 18. Hacer un programa que escriba la siguiente secuencia de números: 2 – 4 – 7 – 9 – 11 – 13 – 16 19. Hacer un programa que escriba la siguiente secuencia de números: 3 – 8 – 6 – 11 – 9 – 14 – 12 20. Hacer un programa que escriba la siguiente secuencia de números: 0 – 3 – 8 – 15 – 24 – 35 - 48 25. Hacer un programa que lea un número entero de 4 dígitos (entre 1000 y 9999). El programa debe asegurar que efectivamente sea así. Utilice una sentencia repetitiva. 26. Modificar el programa anterior para, después de leído el número, desglose sus dígitos. Ejemplo: si se introduce 4567, el programa debe mostrar 4-5-6-7.

27. Indique la salida de los siguientes fragmentos de programa: a) for (i = 10; i <= 100; i += 10) printf(“%d – “, i);

b) k = 1; while (k <= 20) { if (k % 5 == 0) printf(“%4d”, k); k++; }

c) M = 2; N = 20; do { printf(“%4d”, M); M += 2; N -= 2; } while (M < N);

d) X = 10; Y = 1; if (X > 5) if (Y < 5) X++; else Y++; else if (X < 1) X--; else Y--; printf(“%d - %d”, X, Y);

e) a = 4; b = 3; c = 5; if ( (a > b) && (b > c) ) if ( (a > c) || (c > b) { a++; b++; c++; } else { a--; b++; c++ ; } else if ( !(a == b + 1) ) { a--; b--; c++; } else { a--; b--; c--; } printf(“%d %d %d”, a, b, c);

f) for (j = 1; j < 10; j++) if (j <= 5) printf(“%d”, j * 2); else printf(“%d”; j);

PROGRAMAS EJEMPLO: // Leer un numero entero y mostrar una lista de sus múltiplos menores de 100 #include <stdio.h> #include Int m, n; void main() { printf(“escriba un numero : “); scanf(“%d”, &m); for (n = 1; n <= 100; n++) if (n % m == 0) printf(“%4d”, n); getch(); }

*********************************************************************************************** Modifique el anterior programa para usar while o do-while en vez de for, *********************************************************************************************** // Para saber si un numero m es primo, se verifica que no sea submúltiplo de los // números entre 2 y su raíz cuadrada. Por ejemplo, para verificar si 27 es primo se // verifica si es divisible entre 2, 3, 4 y 5, (ya que su raíz cuadrada es menor de 6). // Hacer un programa que lea un número entero y determine si es primo o no. #include <stdio.h> #include #include <math.h> int m, n, p, q; void main () { printf(“Escriba un número entero : “); scanf(“%d”, &m); p = sqrt(m); q = 0; for (n = 2; n <= p; n++) if (m % n == 0) q = 1; if (q == 0) printf (“%d es primo”, m); else printf(“%d no es primo”, m); getch(); }

*********************************************************************************************** Modifique el anterior programa para usar while o do-while en vez de for,