Make your own free website on Tripod.com

Ejercicios 1.0

Ejercicios 2.0 Identifique las secciones del formato de un programa en lenguaje C.

01 #include <stdio.h>
02 #include <math.h>
03
04 double f_de_x(double x)
05 {
06     return ( x*x*x - x - 1 );
07 }
08
09 double biseccion(double a,double b, int No, double TOL)
10 {
11     int i;
12     double FA, FP, p;
13     i = 1;
14     FA = f_de_x(a);
15     printf("n\t\t an\t\t bn\t\t\t pn\t\t f(pn)\n0\t\t%.9lf\t %.9lf\t", a, b);
16     while ( i <= No )
17     {
18         p = a + (b - a) / 2;
19         FP = f_de_x( p );
20         printf("%.9lf\t %.9lf\n%d\t\t", p, FP, i );
21
22        if ( ( FP == 0 ) || ( ( (b - a) / 2 ) < TOL ) ) break;
23         i++;
24
25         /* Si FP tiene el mismo signo que FA */
26         if ( FP * FA > 0 )
27         {
28             a = p;
29             FA = FP;
30         }
31         else
32             b = p;
33
34         printf("%.9lf\t %.9lf\t", a, b);
35     }
36     printf("%.9lf\t %.9lf\t", a, b);
37     return p;
38 }
39
40 void main()
41 {
42     clrscr();
43     biseccion( 1.0, 2.0, 50, 1E-5);
44 }

Solución: Sección de librerias, funciones y función main.

01 #include <io.h>
02 #include <fcntl.h>
03 #include <stdlib.h>
04 #include <sys/stat.h>
05
06 #define BUF_SIZE 4096
07 #define MODE 0666
08
09 int src, dst, in, out;
10 char buf[BUF_SIZE];
11 struct stat st;
12
13 void main(int argc, char *argv[])
14 {
15     if (argc != 3) exit(1);
16     /* Abrir el archivo fuente */
17
18     src = open( argv[1], O_RDONLY);
19     if (src<0) exit(2); /* No se puede abrir el archivo */
20
21     /*Obtiene las caracteristicas del archivo */
22     stat( argv[1], &st);
23     dst = creat(argv[2], st.st_mode);
24
25     if (dst < 0) exit(3); /* No puede crear el destino */
26
27     /* Todo esta listo para empezar la copia */
28     while (1)
29     {
30         in = read( src, buf, BUF_SIZE);
31
32         if (in <= 0) break;
33
34         out = write(dst, buf, in);
35         if (out <= 0) break;
36     }
37     close(src);
38     close(dst);
39     exit (0);
40 }

Solución: Sección de librerias, constantes, variables y función main.

01 #include <stdio.h>
02 #include <stdlib.h>
03
04 /* Cantidad maxima de numeros que el usuario puede introducir */
05 #define MAX_BUFFER 50
06
07 int numeros[MAX_BUFFER], /*Almacen de los números */
08 n; /* Cantidad de números introducidos por el usuario*/
09 int i; /* Para usarlo como contador */
10
11 /*Determina cual es el número mayor del almacén de números */
12 int mayor()
13 {
14     int r = numeros[0];
15
16     for ( i=1; i<n; i++)
17         if ( numeros[i] > r)
18             r = numeros[i];
19
20     return r;
21 }
22
23 /* Obtiene los números del usuario */
24 int leer_numeros()
25 {
26     printf("¿Cuantos números vas a capturar? ");
27     scanf("%d",&n);
28     for ( i=0; i<n; i++)
29     {
30         printf("Dame el número %d:", i);
31         scanf("%d",numeros[i]);
32     }
33 }
34
35 void main(int argc, char *argv[])
36 {
37     leer_numeros();
38     printf("El número mayor es: %d", mayor());
39 }

 

Ejercicios 3.0 Busque los errores:

01 #include <stdio.h>
02
03 void main()
04 {
05     int número;
06     número = 2;
07 }

Solución: Los nombres de variables no pueden llevar acentos, luego al compilar número dará error.

01 #include <stdio.h>
02
03 void main()
04 {
05     int numero;
06
07     numero = 2;
08     printf( "El valor es %i" Numero );
09 }

Solución: Falta la coma después de "El valor es %i". Además la segunda vez numero está escrito con mayúsculas.

Ejercicio 4.0 Desarrollar un programa para cada punto.

  1. Realice la suma de 2 numeros y muestre el resultado en pantalla.
  2. Realice la resta, división, multiplicación y módulo de 2 números y muestre los resultados en pantalla.
  3. Calcule el area y el perímetro de un circulo.
  4. Calcule el area y el perímetro de un cuadrado.
  5. Cacule el area y volumen de un cuadrado.
  6. Dado el día juliano muestre el número de semana del año.
  7. Calcule las raices de un polinomio de segundo grado. Utilice la formula general. De por entendido que solo se usa para raices reales.
  8. Realice la conversión de grados Farenhiet a Centigrados.
  9. Realice la conversion de grados Centigrados a Farenheit.
  10. Obtenga la pendiente de una linea recta. Use la formula: m = (y2 - y1)/(x2 -x1)]
  11. Dados ciertos centímetros como entrada de tipo flotante, imprimir su equivalencia a pies (enteros) y pulgadas (flotante, 1 decimal), dando las pulgadas con una precisión de un lugar decimal. Suponer 2.54 centímetros por pulgada, y 12 pulgadas por pie.
  12. Escribir un programa que lea una fecha (dia, mes y año) y calcule el numero de dias transcurridos desde el 1 de enero de ese año. Tenga en cuenta que el año puede ser bisiesto. (El número del año es bisiesto si es multiplo de 4 pero no de 100 y hay excepcion para los multiplos de 400).

Ejercicios 5.0 ¿Que hacen los programas?

1.
main()
{
    int a;
    a = 5*30+2;
    printf("El resultado es %d. \n", a);
    getch(); /* Para que se detenga hasta que se presione una tecla */
}

2.
main()
{
    int r;
    r = 15*4+(8-3)/5;
    printf("El resultado es %d. \n", r);
    getch(); /* Para que se detenga hasta que se presione una tecla */
}

3.
main()
{
    int r;
    r = 100;
    r += 10;
    r /= 11;
    printf("El resultado es %d. \n", r);
    getch(); /* Para que se detenga hasta que se presione una tecla */
}

4.
main()
{
    int r;
    r = 265
    r %= 7;
    printf("El resultado es %d. \n", r);
    getch(); /* Para que se detenga hasta que se presione una tecla */
}

5.
main()
{
    int r;
    r =50
    r %= 5;
    r++;
    printf("El resultado es %d. \n", r);
    getch(); /* Para que se detenga hasta que se presione una tecla */
}

6.
main()
{
    int r;
    r = 5
    r *= 25;
    r--;
    printf("El resultado es %d. \n", r);
    getch(); /* Para que se detenga hasta que se presione una tecla */
}

Ejercicios 6.0 Identique los bloques y sentencias de los programas mostrados en los ejercicios 2, 3 y 5.

Ejercicios 7.0 Desarrolle un programa en lenguaje C que resuelva los siguientes casos.

Programas usando if

  1. Dado como dato el sueldo del trabajador, apliquele un aumento del 15% si su sueldo es inferior a $1000. Imprima en este caso el nuevo sueldo del trabajador.
  2. El numero de sonidos emitidos por un grillo en un minuto, es una funcion de la temperatura. Como resultado de esto, es posible determinar el nivel de temperatura haciendo uso de un grillo como térmometro. La formula para la función es: T= N/4 + 40; donde T representa la temperatura en grados Farenheit y N, el número de sonidos emitidos por minuto. Calcule la temperatura si se introduce el número de sonidos emitidos por minuto. Valide que N sea mayor o igual que cero.
  3. Dados como datos los valores enteros de P y Q, determine si los mismos satisfacen la siguiente expresión: P3 + Q4 - 2*P2 < 680. En caso afirmativo se deben imprimir los valores de P y Q.
  4. La tangente de un ángulo se define como el cociente entre el seno y el coseno de dicho ángulo. Dado el ángulo, calcule la tangente de este en funcion del seno y coseno. tan = sen /cos.
  5. Dadas las coordenada de los puntos P1, P2 y P3 que corresponden a los vertices de un triangulo, calcule e imprime su superficie. El area puede ser negativa multipliquela por -1.

Programas usando if else

  1. Dados como datos la matricula y 5 calificaciones de un alumno; imprima la matricula, el promedio y la palabra "Aprobado" si el alumno tiene un promedio mayor que 6, y la palabra "No aprobado" en caso contrario.
  2. Dados los datos A, B, C y D que representan numeros enteros; calcule el resultado de las siguientes expresiones: (A - C)2/D y (A - B)3/D.
  3. Dado como dato el sueldo del trabajador, apliquele un aumento del 15% si su sueldo es inferior a $1000. Imprima en este caso el nuevo sueldo del trabajador y 12% en caso contrario.
  4. Dados los valores de A, C y D, que representan numeros enteros; escriba un diagrama de flujo para calcular el resultado de la siguiente expresión: (A - C) / D. Valide que D sea cero muetre un mensaje de advertencia.
  5. Realizar programa para resolver la fórmula general validando el discriminante negativo. Si es negativo, desplegar mensaje de "raíz imaginaria", de lo contrario desplegar el resultado. x = ( -b ± (b2 - 4ac)1/2 ) / 2a.

Ejercicios 8. Cuales son los errores en los siguientes programas.

Ejercicios 9. Desarrolle un programa en lenguaje C que resuelva los siguientes casos.

Usando else if

  1. Dado como dato un número entero, determine e imprima si este es positivo, negativo o cero.
  2. Dado como dato un número entero, determine e imprima si este es par, impar o cero.
  3. Dados dos números enteros, determine si un número es el divisor del otro.
  4. Dados dos números enteros, determine cual es el mayor o si son iguales.
  5. Dados tres números reales, determine cual es el mayor o si son iguales.

Ejercicios 10. Cuales son los errores en los siguientes programas.

Ejercicios 11. Desarrolle un programa en lenguaje C que resuelva los siguientes casos.

Usando switch case

1. Dados como datos el modelo del vehiculo y su precio, determine el valor final que debe pagar el comprador. El concesionario esta haciendo descuentos teniendo en cuenta el modelo, con base a la siguiente tabla.

Modelo
Descuento
Cutlass
8%
Cavalier
5%
Chevy
6%
Century
9%

2. El costo de las llamadas internacionales depende de la zona geográfica donde se encuentre el país destino y el número de minutos hablados. En la siguiente tabla se presenta el costo por minuto y zona. A cada zona se le ha asociado una clave.

Clave
Zona
Precio
12
América del norte
2
15
América central
2.2
18
América del sur
4.5
19
Europa
3.5
23
Asia
6
25
Africa
6
29
Oceanía
5

Calcule e imprima el costo total de una llamada.

3. Según la clave ingresada (vea la tabla), calcule el resultado de la operación de 2 numeros.

Clave
Operación
+
Suma
-
Resta
*
Multiplicación
/
División

4. Elabore un programa que pida un número y con él realice la operación que el usuario seleccione. Su programa deberá mostrar un menú principal y dependiendo de la opción seleccionada presentará el submenú de funciones trigonómetricas o el submenú de funciones matemáticas.

Menú principal
1) Funciones trigonométricas
2) Funciones matemáticas
3) Salida

Menú de Funciones trigonométricas
1) Seno de X
2) Cos de X
3) Tan de X
4) Regreso al menú anterior

Menú de Funciones Matemáticas
1) Elevar un número a cualquier potencia
2) Obtener la raíz cuadrada de cualquier número
3) El logaritmo de un número
4) Regreso al menú anterior

5. Hacer un programa que calcule el sueldo de un trabajador dependiendo de la categoría a la que pertenezca y al numero de horas trabajadas. Los datos de entrada serán: horas trabajadas y categoría del empleado. Utilizar la siguiente tabla de categorías:

Categoria
Sueldo x Hora
A
$20
B
$30
C
$40
D
$50

Ejercicios 12. Cuales son los errores en los siguientes programas.

Ejercicios 13. Desarrolle un programa en lenguaje C que resuelva los siguientes casos.

Usando swith case

Ejercicios 14. Cuales son los errores en los siguientes programas.

Ejercicios 15. Desarrolle un programa en lenguaje C que resuelva los siguientes casos.

Usando swith case

Ejercicios 16. Cuales son los errores en los siguientes programas.

Ejercicios 17. Desarrolle un programa en lenguaje C que resuelva los siguientes casos.

Usando swith case

Ejercicios 18. Cuales son los errores en los siguientes programas.