Está en la página 1de 13

Ejercicios Programación C

Sistemas E. Embebidos - 6º 2º
 

Ejercicios secuenciales - if - switch


Realizar un programa que:

1. permita ingresar dos números enteros desde consola y muestre el resultado de las siguientes
operaciones:

1. num1 + num2
2. num1 - num2
3. num1 * num2
4. num1 / num2
2. permita calcular el paralelo de 3 resistores.

permita pasar a días, horas, minutos y segundos una cierta cantidad de segundos ingresados por
consola.

Ingrese la cantidad de segundos: 456789


La cantidad de días es: 5
La cantidad de horas es: 6
La cantidad de minutos es: 53
La cantidad de segundos es: 9

3. Indique si un número ingresado por consola es par o impar y si es divisible o no por 3.

Ejemplo

Ingrese un número: 51
El número 51 es impar y es divisible por 3

4. Ingresando desde consola los dos valores de resistencia R y el de capacidad usados en:

1. un astable realizado con un 555, informe frecuencia, período, ton y toff


2. un monoestable realizado con un 555, informe el ton.
5. Resuelva un sistema de dos ecuaciones con dos incógnitas. Informar si es incompatible, compatible
indeterminado o compatible determinado.
6. Calcule las raíces de un polinomio grado 2 (Ingresan a, b, c por consola) (funciones para raíz cuadrada
/ cúbica en math.h - ver http://www.cplusplus.com/reference/cmath/ para más información)

recordar que:

7. Permita ingresar desde consola un ángulo, e indicar si está en radianes o grados sexagecimales, y
muestre sen, cos y tan de ese ángulo. (funciones trigonométricas y demás en math.h - ver http://www.
cplusplus.com/reference/cmath/ para más información)

Ejemplo:

Ingrese un ángulo: 60
Indique si el ángulo está en radianes (R) o grados(sexagecimales (S): S
seno(60.000000) = -0.304811
cos(60.000000) = -0.952413
tan(60.000000) = 0.320040

8. Calcule el valor de las siguientes funciones: (x se ingresa por consola)

a.

b.

c.
 

I) Hacer con if

II) Hacer con switch (considerar x como número entero)

10. Permita calcular el jornal de operarios:

1. Si son de categoría A, cobran 100 / hora y un fijo de 100 / día (máximo 30 días)
2. Si son categoría B, cobran 80 / hora y un fijo de 100 / día (máximo 24 días)
3. Si son C, cobran 60 / hora y un fijo de 50 / día (máximo 20 días)

Se ingresan por consola: categoría, horas trabajadas, días trabajados.

* El monto por día se contabiliza si en promedio se trabajaron al menos 4 hs / día durante el período
informado.

Ejemplo:

Ingrese categoría (A / B / C): B


Ingrese horas: 180
Ingrese días: 30

Monto fijo: $2400


Monto variable: $14400

Monto total: $16800

Otro ejemplo:
Ingrese categoría (A / B / C): C
Ingrese horas: 100
Ingrese días: 30

Monto fijo: $0 - trabaja menos de 4hs promedio


Monto variable: $6000

Monto total: $6000

11. Calcule el porcentaje que representa una cantidad x sobre un valor N (x y N se ingresan por consola)
12. Ingresando un monto de dinero (capital), un interés anual, y un plazo (en días) calcule el dinero
obtenido al finalizar el plazo indicado (Que no puede ser menor a 30 días)

Si el plazo es mayor a 300 días, se le suma al interés ingresado 0.5%


Si el plazo es menor a 300 días y mayor a 90 días, se suma al interés ingresado 0.3%

En https://es.wikipedia.org/wiki/Inter%C3%A9s_simple se encuentran las fórmulas necesarias para resolver


este ejercicio.

13. Calcule la superficie y el volúmen de una esfera, ingresando su radio.

(funciones para raíz cuadrada / cúbica en math.h - ver http://www.cplusplus.com/reference/cmath/ para


más información)

14. Permita calcular diversos componentes o tiempos de un monoestable con 555. Pueden presentarse
los siguientes casos:

1. datos: R, C - resultado: t
2. datos: t, R - resultado: C
3. datos: t, C - resultado: R

El programa debe presentar un menú de opciones que permita elegir el caso, y a continuación acepte los
datos necesarios e informe el resultado.

Ejemplo:
ingrese opción:

1. Calcular t
2. Calcular C
3. Calcular R

Ingrese t (en ms): 460


Ingreses R (en ohm): 1500

El valor de C es 278.788 uF

I) Hacer con if

II) Hacer con switch donde sea posible

15. Calcule la distancia que alcanza un proyectil, dada su velocidad inicial (en Km/h) y su ángulo de salida.
(g = 9.8 m/s2). Expresar la distancia en metros, pulgadas y yardas.
16. Luego de ingresar una temperatura en K medida por un sensor, y su error porcentual, muestre entre
qué temperaturas se encuentra la medición, en K, °C y °F

Ejemplo:

Ingrese temperatura (en K): 280


Ingrese tolerancia (%): 0.5

La temperatura medida está comprendida entre:


278.60 K y 281.40 K
5.60°C y 8.40°C
42.08 °F y 47.12 °F

17. Informe la cantidad de días en un mes ingresado por teclado.

I) Con if

II) con switch

18. Indicar qué se muestra por consola en los siguientes fragmentos de programas:

1.
int b = 9;
if (b == 8)
 printf(“uno”);
 printf(“dos”);

b.

int n = 8;
switch(n) {
 default:
   printf(“NO”);
   break;
 case 9:
   printf(“nueve”);
   break;
 case 8:
   printf(“ocho”);
   if (n % 2 != 0)
     break;
 case 7:
   printf(“siete”);
   break;
}

c.

int a = 6;
int b = 5;

 switch(b){
 case 0:
   printf(“uno”);
   break;
 case 2:
     printf(“dos”);
   break;
 case 3:
 case 4:
 case 5:
 case 6:
     printf(“dos”);
 default:
 if (a > b) {
   if (a < 2)
     printf(“toto”);
   printf(“tato”);
} else {
   if (a < 2)
     printf(“tito”);
   printf(“toto”);
}

19. Indicar qué muestra pantalla cada uno de los siguientes fragmentos de programa considerando:

int a = 9;
int b = 34;
int c = 195;

1.

1. if (a > b)
 printf(“uno\n”);
else
 printf(“dos\n”);

2.

if (a > b)
 printf(“uno\n”);
 printf(“dos\n”);

3.

if (a < b);
 printf(“uno\n”);
 printf(“dos\n”);

4.
if ((a < b) && (c == 195)) {
 printf(“uno\n”);
} else {
 printf(“dos\n”);
}

5.

if ((a > b) || (c <= 175)) {


 printf(“uno\n”);
} else {
 printf(“dos\n”);
}

6.

char opc = ‘2’;


 switch(opc) {
default:
   printf(“N”);
case 1:
 printf(“A”);
 break;
case 2:
 printf(“B”);
 break;
}

20. Considerando:

int b = 34;
 if ((a == 9) || ((b - 24) == 9)) {
   printf(“uno\n”);
}
 else {
   if ((c - b) == 161) {
     printf(“dos\n”);
  } else {
    printf(“tres\n”);
  }
}
¿Qué valores deberían tomar a y c para que en pantalla se muestre:?

a) uno

b) dos

c) tres

Ejercicios con for / while


21. Hacer un programa que muestre todos los números pares entre dos números N1 y N2 que se ingresan
por teclado.

1. con for( )
2. con while( )
22. Mostrar en pantalla la tabla ascii en tres columnas (con las siguientes columnas: caracter, código
decimal y hexadecimal)

1. con for( )
2. con while( )
23. Mostrar por pantalla la suma de los 100 primeros números naturales.

1. con for( )
2. con while( )
24. Mostrar la suma de todos los enteros comprendidos entre dos números ingresados por teclado.

25. Imprimir la tabla de multiplicar de un número entero K (que se ingresa por teclado), entre 1 y 10.

26. Dados como datos 10 números enteros (se ingresan por teclado), obtener la suma de los números
impares y el promedio de los números pares.

27. Mostrar todos los números entre 1 y un número ingresado por teclado. A la derecha de cada número
se deberá informar si es par o impar mostrando una “P” o una “I” respectivamente.

Ejemplo:

Ingrese un número: 4
1 I
2 P
3 I
4 P

28. Hacer un programa que multiplique p x q mediante sumas sucesivas. (p y q se ingresan por consola)

29. Ingresar valores de temperatura (entre 10 y 50 ºC) Al finalizar el ingreso de datos (finaliza ingresando
-1) mostrar: mayor, menor, promedio y cantidad de valores ingresados. Evitar ingreso de valores
incorrectos.

Ej.
Ingrese valores
  25
  34
  15
  20
  46
  33
  -1
  Mayor: 46
  Menor: 15
  Cantidad de valores: 6
  Promedio: 28.833333

30. Realizar un programa que muestre una lista que tenga en cada renglón un número, ese número
multiplicado por 2, el mismo, dividido por 2, y si es divisible por 3 o no (indicar “S” o “N”). Los números
estarán entre un número que se ingrese por teclado y 1 (ambos inclusive)

Ej.: Se ingresa 3. Se debe mostrar:


3 6 1.5 S

2 4 1 N

1 2 0.5 N

31. Realizar un programa que permita convertir temperaturas. Debe presentar un menú con 5 opciones:

1. de °C a °F
2. de °F a °C
3. de °C a K
4. de K a °C
5. Finalizar programa

Luego de seleccionar la opción, si no es 0, debe permitir ingresar una temperatura y luego informar el
resultado, y mostrar el menú nuevamente.

Evitar el ingreso de datos incorrectos

Recordar que:

º º

32. Generar una tabla de seis números, comenzando por un valor ingresado por consola, que contenga las
siguientes columnas: numero, par, impar, multiplo de 3 y primo. En cada renglón, marcar con X si
corresponde alguna de las condiciones que fguran en el encabezado.

Ej.
Se ingresa 3
Se muestra:
numero               par mult 4 mult 3 primo
  3                             X       X
  4     X     X                
  5                               X
  6           X             X
  7                                   X
  8       X     X

33. Realizar un programa que permita calcular un monoestable con 555 en los siguientes casos:

1. dados C y t, calcula R
2. dados R y t, calcula C
3. dados C y R, calcula t

Luego de seleccionar el caso, debe permitir ingresar los datos e informar el resultado, mostrando
luego las opciones nuevamente. (Incluir una opción de terminar programa)

34. Generar una tabla de valores de R(T) de un NTC entre dos valores de temperatura en °C ingresados

desde teclado, en incrementos de 1ºC.

La fórmula aproximada para el cálculo de la resistencia en función de la temperatura es:

Donde:

es una constante.

T0 es la menor temperatura del intervalo ingresado (en K).

R(T0) es la resistencia a la temperatura T0(en K)

Se debe ingresar los valores de , T0 y R(T0) junto con los valores de temperaturas límites para la tabla

Ejemplo:

Ingrese T inicia en °C (T0) : 10


Ingrese R a T0 (en ohm): 9800
Ingrese T final en °C: 20
Ingrese B (K): 3750
T(°C)               R(ohm)                                                    
10 9800.00
11 9417.48
12 9052.42
13 8703.92
14 8371.12
15 8053.23
16 7749.48
17 7459.17
18 7181.62
19 6916.20
20 6662.29

35. Un vendedor ha hecho una serie de ventas y desea saber cuántas de éstas fueron de $200 o menos;
cuántas fueron mayores a $200 pero inferiores a $400 ; y cuántas de $400 o más. Se debe ingresar por
teclado la cantidad de ventas, y el monto de cada una de ellas.
36. Dados como datos 15 números enteros que ingresan por teclado, determine cuántos de ellos son
pares y cuántos impares. Asegurar que ningún número que se ingresa sea mayor a 99 ni menor a 0.
37. Dado un grupo de números naturales positivos, calcule e imprima el cubo de estos números. El fin de
ingreso de datos está dado por -1
38. Hacer un programa que genere una tabla de N números reales aleatorios entre -35.0 y 35.0 y genere
una tabla con tres columnas:

El número

El módulo de la diferencia entre cada número y un número V

Si es mayor a ese número V

N y V se ingresan por teclado.

Ejemplo:

Ingrese N: 3
ingrese V: 10
  Nro                       |Nro - V|               May a V
  32.7                         22.7                     X
  - 1.6                         11.6                
  12.0                         2.0                     X
    Cant. mayores a V: 2
    Promedio: 14.367
  Promedio de los valores absolutos: 12.100

Para generar números aleatorios ver: http://www.cplusplus.com/reference/cstdlib/rand/

39. Realizar un programa que permita ingresar pesos de cajas (finaliza el ingreso de valores con 0). Las
cajas tienen dos categorías según el peso: “A” entre 50g y 99g y “B” entre 100g y 200g. Al finalizar el
ingreso de datos, informar la cantidad y el promedio del peso de las cajas “A” y la cantidad y el
promedio del peso de las “B”. Además mostrar el porcentaje que representa cada una respecto del
total.

(Nota: considerar que todos los datos serán mayores a 50g o menores a 200g)

Ejemplo:

Ingrese pesos de cajas:


60.5
90
150
125.5
73.3
160.7
190
Promedio de 3 cajas "A": 74.7667 (%)
Promedio de 4 cajas "B": 156.55 (%)

También podría gustarte