Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EjerciciosPracticas2 PDF
EjerciciosPracticas2 PDF
ELAI-UPM
Ejemplo de ejecución
Introduzca n: -3
El numero es negativo.
Introduzca n: 5
La suma de los 5 primeros numeros es: 15
Solución o soluciones
#include <stdio.h>
int suma_nprimeros(int n)
{
int i,suma=0;
for(i=1;i<=n;i++)
suma += i;
return suma;
}
void main()
{
int n,suma;
printf("Introduzca n:");
scanf("%d",&n);
if(n<0)
printf("El numero es negativo.\n");
else
{
suma=suma_nprimeros(n);
printf("La suma de los %d primeros numeros es: %d.\n",n,suma);
}
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduzca n: 3
0 --> -3
1 --> -1
2 --> 1
3 --> 3
4 --> 5
5 --> 7
6 --> 9
7 --> 11
8 --> 13
9 --> 15
10 --> 17
Solución o soluciones
#include <stdio.h>
void main()
{
int i,n,valor;
printf("Introduzca n:");
scanf("%d",&n);
for(i=0;i<=10;i++)
{
valor = funcion(i,n);
printf("%d --> %d\n", i, valor);
}
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduzca n: 200
Total: 232.000000
Introduzca n: 17
Total: 17.720000
Introduzca n: -1
Solución o soluciones
#include <stdio.h>
void main()
{
float precio=0.0;
float total;
while(1)
{
printf("Introduzca precio: ");
scanf("%f",&precio);
if(precio < 0.0 )
return;
total=precio_con_iva(precio,16);
printf("Total: %f \n", total);
}
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduzca temperatura y letra: 100 C
Temperatura: 212.000000 F
Introduzca temperatura y letra: 23 F
Total: -5.000000 C
Introduzca temperatura y letra: 199 j
Error , letra no valida
Introduzca temperatura y letra: 199 Z
Fin
Solución o soluciones
#include <stdio.h>
void main()
{
float temper;
char escala;
while(1) {
printf("Introduzca temperatura y letra: ");
scanf("%f %c",&temper,&escala);
switch(escala)
{
case 'Z': printf("Fin\n");
return;
case 'F': printf("Temperatura: %f C\n",fahr_cent(temper));
break;
case 'C': printf("Temperatura: %f F\n",cent_fahr(temper));
break;
default: printf("Error, letra no valida\n");
}
}
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Titulo: Máximo de 3
Enunciado
Programar una función maximo3 para calcular el máximo de tres valores a , b y c de
tipo entero, que se admiten como parámetros y se retorna el valor del mayor. Esta
función usará a su vez a otra función maximo2 (que también debe programarse) que
calcula el máximo entre 2 valores a y b, que se pasan como parámetros a la función.
El programa principal pedirá al usuario 2 valores, y usará la función maximo3 para
calcular el mayor entre 0 y esos dos valores.
Ejemplo de ejecución
Introduzca 2 numeros: 2 5
El mayor es: 5
Introduzca 2 numeros: -2 -7
El mayor es: 0
Solución o soluciones
#include <stdio.h>
void main()
{
int n1,n2, maximo;
printf("Introduzca 2 numeros:");
scanf("%d %d" ,&n1,&n2);
maximo=maximo3(0,n1,n2);
printf("El mayor es: %d\n",maximo);
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduzca un numero: -2
Introduzca un numero: 0
Introduzca un numero: 4
*
**
***
****
Solución o soluciones
#include <stdio.h>
int entrada()
{
int val=-1;
while(val<=0) {
printf("Introduzca un numero: ");
scanf("%d",&val);
}
return val;
}
void main()
{
int i,num;
num=entrada();
for(i=1;i<=num;i++)
asteriscos(i);
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Cuandos terminos quieres calcular? -4
Cuandos terminos quieres calcular? 0
Cuandos terminos quieres calcular? 3
El termino 1 es 0.300000
El termino 3 es 0.500000
El termino 5 es 0.700000
Solución o soluciones
#include <stdio.h>
float TerminoN (int);
void main()
{
int n,i;
float term;
do
{
printf("Cuandos terminos quieres calcular? ");
scanf("%d", &n);
}
while(n<=0);
for(i=1;i<n*2 ;i+=2)
{
term=TerminoN(i);
printf("El termino %d es %f \n",i,term);
}
}
Ejemplo de ejecución
Introduce n: 5
El termino n-esimo es: 0.125
Solución o soluciones
#include <stdio.h>
int SumoN(int);
int FactN(int);
void main()
{
int n, a, b;
printf("Introduce n: ");
scanf("%d",&n);
a= SumoN(n);
b= FactN(n);
printf("El termino n-esimo es: %f", (float) a/b);
}
int SumoN(int a)
{
int i, resu=0;
for(i=0; i<=a;i++)
resu+=i;
return resu;
}
int FactN(int a)
{
int i, resu=1;
float dist (float x1, float y1, float x2, float y2);
Ejemplo de ejecución
Introduce el primer punto: 1 0
Introduce el segundo punto: 0 1
Solución o soluciones
#include <stdio.h>
#include <math.h>
void main()
{
float resu, x1,x2,y1,y2;
printf("Introduce el primer punto: ");
scanf("%f %f",&x1,&y1);
printf("Introduce el segundo punto: ");
scanf("%f %f",&x2,&y2);
resu=dist(x1,x2,y1,y2);
}
float dist(float a,float b,float c,float d)
{
return sqrt((a-b)*(a-b) + (c-d)*(c-d));
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduce el numero: 3
Introduce a y b: 2 7
la suma es: 81
Solución o soluciones
#include <stdio.h>
void main()
{
int a, b,num;
return sum;
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
n
1 1 1 1 1
suma = ∑ 2
= 2 + 2 + 2 + ... + 2
i =1 i 1 2 3 n
Nota: Se supondrá que el usuario introduce siempre un valor de n mayor o igual que 1.
Ejemplo de ejecución
Introduzca n: 100
La suma vale 1.634984
Solución o soluciones
#include <stdio.h>
void main()
{
int n;
float s;
printf("Introduzca n: ");
scanf("%d", &n);
s=SumaSerie(n);
for(i=1;i<=numero;i++)
suma+=1.0f/(i*i);
return suma;
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Título: Cálculo de ab
Enunciado
Realizar un programa que calcule con una función, llamada potencia, el valor de ab,
donde a y b son dos números enteros introducidos desde el teclado tal que a>0 y b>=0
(se supondrá que el usuario introduce dos números que cumplen estas condiciones).
Ejemplos de ejecución
Introduzca a y b: 2 0
2 elevado a 0 vale 1
Introduzca a y b: 2 4
2 elevado a 4 vale 16
Solución o soluciones
#include <stdio.h>
void main()
{
int a, b, p;
printf("Introduzca a y b: ");
scanf("%d %d", &a, &b);
p=potencia(a, b);
for(i=1;i<=exponente;i++)
aux*=base;
return aux;
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Realizar un programa que calcule una aproximación del número e obtenida al sumar la
siguiente serie:
10
1 1 1 1 1
e≈∑ = 1 + + + + ... +
n =0 n! 1! 2! 3! 10!
La suma de la serie se realizará dentro la función main(), pero hará uso de una función
llamada factorial, a la cuál se le pasa como argumento el valor de n y devuelve el valor
de n!. La función será llamada cada vez que haya que calcular el factorial de n.
Ejemplo de ejecución
El numero e vale aproximadamente 2.718282
Solución o soluciones
#include <stdio.h>
void main()
{
int i;
float suma=0.0f;
for(i=0;i<=10;i++)
suma+=(float)1/factorial(i);
for(i=1;i<=n;i++)
aux*=i;
return aux;
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduzca los números: 12 -3 27
El minimo de ellos es 3
Solución o soluciones
#include <stdio.h>
void main()
{
int a, b, c, min;
min=minimo(a, b, c);
Ejemplo de ejecución
Introduzca n y m: 10 25
Hay 2 multiplos de 7 entre 10 y 25
Solución o soluciones
#include <stdio.h>
void main ()
{
int n, m, nmul;
printf("Introduzca n y m: ");
scanf("%d %d", &n, &m);
nmul=multiplosde7(n, m);
return contador;
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduzca a y b: 18 30
El MCD es: 6
Press any key to continue
Introduzca a y b: 2 -18
Error en los datos
Press any key to continue
Solución o soluciones
#include <stdio.h>
void main()
{
int n1,n2,min;
printf("Introduzca a y b: ");
scanf("%d %d",&n1,&n2);
min=MCD(n1,n2);
printf("El MCD es: %d\n",min);
}
Ejemplo de ejecución
Introduzca a y b:6 2
Resultado: 15
Solución o soluciones
#include <stdio.h>
void main()
{
int a,b,c;
printf("Introduzca a y b:");
scanf("%d %d",&a,&b);
c=combinatorio(a,b);
for(i=1;i<=n;i++)
aux*=i;
return aux;
}
int combinatorio (int a, int b)
{
return factorial(a)/(factorial(b)*factorial(a-b));
}
Ejercicios de prácticas de Fundamentos de Informática. ELAI-UPM
Ejemplo de ejecución
Introduzca un numero entre 1 y 10: -3
Introduzca un numero entre 1 y 10: 11
Introduzca un numero entre 1 y 10: 7
Tabla del 7
7x1=7
… (tabla completa)
7 x 9 = 63
Solución o soluciones
#include<stdio.h>
main()
{
int i=PideNumero();
TablaMultiplicar(i);
}
void TablaMultiplicar(int n)
{
int i;
printf("Tabla del %d\n",n);
for (i=1; i<10; i++)
printf("%d x %d = %d\n",n,i,n*i);
}
int PideNumero()
{
int n;
do
{
printf("Introduzca un numero entre 1 y 10: ");
scanf("%d",&n);
}
while(n<1 || n>10);
return n;
}