Vous êtes sur la page 1sur 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% para ingresos < 50 UT


3.5% para 50 UT < ingresos <= 75 UT
4.5% para 75 < ingresos <= 100 UT
6.0% para 100 < ingresos <= 150 UT
7.5% 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 Muy Deficiente
06 a 09 Deficiente
10 a 13 Regular
14 a 16 Bueno
17 a 18 Distinguido
19 a 20 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 <conio.h>

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 <conio.h>
#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,

Vous aimerez peut-être aussi