Industrial
Fundamentos de Informática
Ejercicios de Teoría
EJERCICIOS RESUELTOS
1. Escribe una función que calcule el factorial de un número, dado como parámetro. A continuación realiza
un programa que lea por teclado un número entero n y muestre por pantalla los factoriales de los
números de 1 a n. El programa debe usar la función factorial previamente definida.
#include <stdio.h>
#include <stdlib.h>
float factorial(int n); /*prototipo de funcion*/
int main( )
{ int i,n;
do
{ system("cls");
printf("Introduce un nº positivo (maximo 25): ");
scanf("%d",&n);
}while (n<1 || n>25);
11/20
I.T. Industrial
Fundamentos de Informática
Ejercicios de Teoría
#include <stdio.h>
#include <stdlib.h>
float factorial(int n);
int main()
{ int i,j,n;
float e =1;
do
{ system("cls");
printf("Cálculo del nº e segun la formula:\n\n");
printf("e = 1 + 1/1! + 1/2! + ... + 1/10! + ... \n\n");
printf("Introduce el nº de terminos a usar (max 10):");
scanf("%d",&n);
} while (n<1 || n>10);
printf("\nFormula: e = 1");
for(i=1; i<=n-1; i++)
{ printf(" + 1/%d!",i);
e = e + 1/factorial(i);
}
printf("\n\nEl numero e vale %f \n\n",e);
system("pause");
return 0;
}
float factorial(int n)
{ int i;
float fact=1;
12/20
I.T. Industrial
Fundamentos de Informática
Ejercicios de Teoría
3. Dos números son amigos, si cada uno de ellos es igual a la suma de los divisores del otro. Por ejemplo,
220 y 284 son amigos, ya que:
system("pause");
return 0;
}
13/20
I.T. Industrial
Fundamentos de Informática
Ejercicios de Teoría
EJERCICIOS PROPUESTOS
1. Realizar una función llamada ordena3 que reciba tres parámetros enteros a, b, c, y los intercambie, en
caso necesario, para que se cumpla a<=b<=c.
2. Basándose en la función anterior, escribir un programa que pida los 3 lados de un triángulo y a
continuación muestre los siguientes datos:
Ð Cuanto vale la hipotenusa,
Ð Cuanto el cateto mayor y cuanto el cateto menor, y
Ð Si el triángulo es equilátero, isósceles o escaleno.
3. Escribe una función que resuelva una ecuación de 2º grado según la fórmula
− b ± b 2 − 4ac
x=
2a
void ecuacion(int a; int b; int c; float *r1; float *r2; int *OK);
La función devolverá en OK un 0 para indicar que el sistema no tiene solución y un 1 para indicar que si
tiene solución.
4. Realizar un programa que pida por teclado los 3 coeficientes de una ecuación de 2º grado y a
continuación muestre en pantalla la solución de dicha ecuación. Si la ecuación no tuviera solución deberá
mostrar un mensaje en pantalla advirtiendo de tal circunstancia.
El programa deberá preguntarnos si deseamos hallar la solución de otra ecuación, en caso afirmativo
deberá volver a preguntarnos los coeficientes de otra ecuación y así sucesivamente hasta que alguna vez
digamos que no; en ese caso el programa terminará.
14/20
I.T. Industrial
Fundamentos de Informática
Ejercicios de Teoría
Para cada opción el programa mostrará en pantalla la solución y esperará a que se pulse una tecla. Una
vez pulsada volverá a mostrar el menú anterior.
15/20