You are on page 1of 31

Ejercicios programacin

Ingresar la base y altura de un tringulo y nos de su rea:


#include<conio.h>
#include<stdio.h>
int main ()
{ float base,altura,Area;
printf("\n Ingrese base y altura del triangulo: ");
scanf(" %f%f" ,&base,&altura) ;
Area=base*altura/2;
printf("\n El area del triangulo es: %f" ,Area) ;
getch();
}

Ingresar una cantidad en grados centgrados y nos devuelva su


equivalente en grados Fahrenheit (F= 9/5 * C+32) redondeando
a 2 decimales. Use printf y scanf:
#include<iostream>
#include<stdio.h>
intc;
floatf;
intmain ()
{
printf ("ingrese grados centgrados :") ;
scanf ("%i", &c) ;
f = 9.0/5.0 * c+32;
printf ("equivalencia en grados fahrenheit: %8.2f \n" , f) ;
system ("PAUSE") ;
}

Elaborar un programa que lea dos nmeros e intercambie sus


valores:
#include<stdio.h>
#include<stdlib.h>
int main ()
{ int n1,n2,temp;
printf("\nIngrese los valores de n1 y n2: ");
scanf(" %i%i" ,&n1,&n2) ;
printf("\n Valores antiguos de n1 =%d y n2 =%d" ,n1,n2) ;
temp=n1;
n1=n2; n2=temp;

printf("\n Valores nuevos de n1 =%d y n2=%d \n" ,n1,n2) ;


system("pause");
}

Ingresar dos numeros, intercambiarlos y sumarlos:


#include<stdio.h>
#include<stdlib.h>
int main ()
{ int n1,n2,temp,S;
printf("\nIngrese los valores de n1 y n2: ");
scanf(" %i%i" ,&n1,&n2) ;
printf("\n Valores antiguos de n1 =%d y n2 =%d" ,n1,n2) ;
temp=n1;
n1=n2; n2=temp;
printf("\n Valores nuevos de n1 =%d y n2=%d \n" ,n1,n2) ;
S=n1+n2;
printf("\n La suma de los valores es: %d \n" ,S) ;
system("pause");
}

Consultar el sueldo liquido de 5 trabajadores:

#include<conio.h>
#include<stdio.h>
int main ()
{int c;
char name[30];
float sueldo,SL;
printf("Consulta de sueldo Liquido\n");
for (c=1; c<=5;c++)
{
printf("Insertar nombre\n");
scanf("%s",&name);
printf("Insertar sueldo\n");
scanf("%f",&sueldo);
SL=sueldo*0.90;
printf("la persona %s\n",name);
printf("su sueldo liquido es %8.2f\n", SL);
getch();
}
}

En una empresa existen n trabajadores y hallar su nombre y


sueldo liquido:
#include<conio.h>

#include<stdio.h>
int main ()
{int c,n;
char name[30];
float S,SL,sueldo;
printf("Consulta de sueldo Liquido\n");
printf("Ingrese numero de trabajadores \n");
scanf("%d",&n);
for (c=1; c<=n;c++)
{printf("Insertar nombre\n");
scanf("%s",&name);
printf("Insertar sueldo\n");
scanf("%f",&sueldo);
SL=sueldo*0.90;
printf("la persona %s\n",name);
printf("su sueldo liquido es %8.2f\n", SL);
getch();
}

Torres:
#include<d:\milib.h>
#include<stdio.h>
#include<conio.h>
#include<windows.h>
intmain()
{intcol,fila;
clrscr();
textcolor(0,9);
for(col=1;col<=60;col++)
{
gotoxy(col,16);printf("*");
gotoxy(col,24);printf("*");
}
for(fila=16;fila<=24;fila++)
{
gotoxy(1,fila);printf("*");
gotoxy(60,fila);printf("*");
}
textcolor(0,12);
for(col=15;col<=45;col++)
{
gotoxy(col,8);printf("*");
gotoxy(col,16);printf("*");
}
for(fila=8;fila<=16;fila++)
{
gotoxy(15,fila);printf("*");
gotoxy(45,fila);printf("*");
}

textcolor(0,7);
for(col=25;col<=35;col++)
{
gotoxy(col,1);printf("*");
gotoxy(col,8);printf("*");
}
for(fila=1;fila<=8;fila++)
{
gotoxy(25,fila);printf("*");
gotoxy(35,fila);printf("*");
}
getch();
}

Cancha de tenis:
#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<D:\milib.h>
intmain()
{intx,y;
gotoxy(23,12);printf("Cancha de tenis");
for(x=1;x<=60;x++)
{gotoxy(x,1);printf("-");
gotoxy(x,24);printf("-");
}
for(x=20;x<=40;x++)
{gotoxy(x,8);printf("-");
gotoxy(x,16);printf("-");
}
for(y=1;y<=24;y++)
{gotoxy(1,y);printf("|");
gotoxy(20,y);printf("|");
gotoxy(40,y);printf("|");
gotoxy(60,y);printf("|");
}
getch();
}

Planta primer piso:


#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<D:\milib.h>
intmain()
{intx,y;
gotoxy(15,9);printf("sala");

gotoxy(15,21);printf("cocina");
gotoxy(45,4);printf("cuarto1");
gotoxy(45,12);printf("cuarto2");
gotoxy(45,20);printf("banyo");
for(x=1;x<=60;x++)
{gotoxy(x,1);printf("-");
gotoxy(x,24);printf("-");
}
for(x=1;x<=30;x++)
{gotoxy(x,18);printf("-");
}
for(x=30;x<=60;x++)
{gotoxy(x,8);printf("-");
gotoxy(x,16);printf("-");
}
for(y=1;y<=24;y++)
{gotoxy(1,y);printf("|");
gotoxy(30,y);printf("|");
gotoxy(60,y);printf("|");
}
getch();
}

Elaborar un programa que permita ingresar los apellidos y


nombre de una persona, el curso que llev y 3 notas. Nos debe
devolver sus datos personales, el curso y el promedio con dos
decimales.
#include<conio.h>
#include<stdio.h>
int main ()
{ char nombre[20],apellido[20],curso[20];
float n1, n2, n3, S;
printf ("\n Ingrese su apellido y nombre:" ) ;
scanf ( "%s" ,&nombre,&apellido) ;
printf ("\n Ingrese el curso:" ) ;
scanf ( "%s" ,&curso) ;
printf ( "\n Ingrese las notas: ") ;
scanf ( " %f%f%f" ,&n1,&n2,&n3) ;
S=(n1+n2+n3)/3;
printf ( "\n el promedio es: %8.2f",S);
getch();
}

Leer la edad y devolver si es mayor o menor de edad con printf


y scanf:
#include<iostream>

#include<stdio.h>
int edad;
int main()
{
printf("Ingrese Ud. su edad : ");
scanf ("%i", &edad);
if (edad>=18)
printf("usted es mayor de edad ya tiene %i aos \n" ,edad);
else
printf("usted es menor de edad solo tiene %i aos \n" ,edad);
system("pause");
}

Ingrese un numero entero y encontrar su factorial:


#include<conio.h>
#include<stdio.h>
int main ()
{ int f=1,n,c;
printf("\nPrograma para encontrar el factorial de un numero");
printf("\nIngresar numero: ");
scanf("%d", &n);
for (c=1;c<=n;c++)
f=f*c;
printf("el factorial del numero es: %d ",f);
getch();
}

Ingresar dos enteros A y B, encontrar la suma de los cuadrados


comprendido entre A y B intervalo cerrado:
#include<conio.h>
#include<stdio.h>
int main ()
{ int n,s=0,a,b;
printf("\nPrograma para encontrar la suma de los cuadrados de un
intervalo cerrado");
printf("\nIngresar infimo: ");
scanf("%d", &a);
printf("\nIngresar supremo: ");
scanf("%d", &b);
for (n=a;n<=b;n++)
s=s+n*n;
printf("la suma de los cuadrados es: %d ",s);
getch();
}

Problema de los granos del tablero de ajedrez:


El Brahmn Lahur Sessa, tambin conocido como Sissa Ben Dahir (recordemos
que Ben Dahir significa hijo de Dahir), escuch que el Rey Iadava estaba
triste por la muerte de su hijo y fue a ofrecerle el juego del ajedrez como
entretenimiento para olvidar sus penas; el rey qued tan satisfecho con el
juego, que juego quiso agradecer al joven otorgndole lo que este pidiera.
Sessa lo nico que pidi fue trigo, pidi que el rey le diera un grano de tr igo
por la primera casilla del ajedrez, el doble por la segunda, el doble por la
tercera, y as sucesivamente hasta llegar a la casilla nmero 64.
Ladava accedi a esta peticin, pero cuando hizo los clculos se dio cuenta de
que la peticin era imposible de cumplir.
Cuntos granos de trigo tendra que dar el rey al inventor?
Total granos = 1 + 2 + 4 + 8 + 16 + ... x + y ***{x para casilla 63 y y para
casilla 64}
Total granos = 2 + 2 + 2 + 2 + 2 + ... ++ 2+ 2 ***{expresado como
potencias de 2}
Esta es una progresin geomtrica de razn r = 2
Primer trmino = a = 1
Trmino 64 = a = 2
Trmino n-simo = an = ar- = 1*2 = 2
La suma de los trminos se obtiene aplicando la expresin:
S = (an*r - a)/r - 1
S = (2*2 - 1)/2 - 1
S = (2 - 1)/1
S = 2 - 1
S = 2 - 1 = 18.446.744.073.709.551.615

#include<conio.h>
#include<stdio.h>
int main ()
{ float p=1,n,t;
printf("\nPrograma para resolver el problema de los granos en el tablero
de ajedrez");
for(n=1;n<=64;n++)
p=p*2;
t=p-1;
printf("\nEl total de granos es: %30.2f",p);

getch();
}

Ingresar 2 numeros por teclados y mostrar el producto de


ellos:
#include<iostream>
int n1, n2, multiplicacion;
int main()
{
printf("\n Ingresar el primer numero \n");
scanf("%d", &n1);
printf("\n El segundo numero es \n" );
scanf("%d", &n2);
multiplicacion=n1*n2;
printf("el producto de ellos es %d\n", multiplicacion);
system ("PAUSE");
}

Ingresar por teclado el nmero de caloras y mostrar la


transformacin a Joule:
#include<iostream>
#include<stdio,h>
int main()
int c;
float j;
{
printf("\n Ingrese numero de calorias: \n");
scanf("%i", &c);
j=100.0/24.0*c;
printf("\nSu equivalencia en Joule : %5.2f \n" ,j );
system ("PAUSE");
}

Ingresar el sueldo bruto de un trabajador, si se le descuenta el


9% por seguridad social y el 13% por A.F.P. , mostrar el
sueldo neto.
#include<iostream>
#include<stdio,h>
int Sb;
float ss,AFP, Sn;
int main()
{
printf("\n Ingrese el sueldo bruto : S/. \n");

scanf("%i", &Sb);
ss=0.09*Sb;
AFP=0.13*Sb;
Sn=Sb-ss-AFP;
printf("\n El sueldo neto es : S/. %4.2f \n" ,Sn );
system ("PAUSE");
}

Disear un programa para calcular la diferencia de dos nmeros:


#include<iostream>
int num1, num2, resta;
int main ()
{
printf("\n Programa para hallar la resta de dos numeros \n");
printf("\n Ingresar el primer numero \n" );
scanf("%d", &num1);
printf("\n El segundo numero es \n");
scanf("%d", &num2);
resta=num1-num2;
printf("La resta es %d\n",resta);
system("PAUSE");
}

Disear un programa para convertir pulgadas a centmetros(


1pulg=2.54cm):
#include<iostream>
#include<stdio.h>
int p;
float c;
int main ()
{
printf("\n Ingrese el numero de pulgadas : \n");
scanf("%i", &p);
c = 254.0 / 100.0 *p ;
printf("\nEquivalencia en centimetros : %4.2f cm \n", c);
system("PAUSE");
}

Disear un programa para calcular el inters simple:


I C i t
#include<iostream>
#include<stdio.h>
int c,t;
float I,i;

int main ()
{
printf("\n Ingrese el capital : S/. ");
scanf("%i", &c);
printf("\n Ingrese el tiempo : ");
scanf("%i", &t);
printf(" Ingrese la tasa de interes : ");
scanf("%f", &i);
I=c*t*i;
printf("El interes es : S/. %4.2f \n" ,I) ;
system("PAUSE");
}

Numeros comprendidos de a y b usando while:


#include<stdio.h>
#include<conio.h>
intmain()
{ intA,B,suma=0;
printf("La suma de dos numeros comprendidos\n");
printf("Ingresar el numero menor y el numero mayo\n");
scanf("%d%d",&A,&B);
while(A<=B)
{
suma=suma+A;
A=A+1;
}
printf("El resultado obtenidos es %d",suma);
getch();
}

Funciones sin parmetro:


#include<conio.h>
#include<stdio.h>
int suma();
intmain()
{int s;
s=suma();
printf("Visualizar la funcion %d",s);getch();
}
int suma()
{int su=0,a;
for(a=1;a<=4;a++)
su=su+a;
return(su);
}

#include<conio.h>
#include<stdio.h>

int suma();
int producto();
intmain()
{ints,p;
s=suma();
p=producto();
printf("Programa para hallar la suma y el producto de los 10 primeros
numeros naturales");
printf("Hallar la suma de los diez primeros numeros %d\n",s);
printf("Hallar el producto de los diez primeros numeros %d\n",p);
getch();
}
int suma()
{int su=0,a;
for(a=1;a<=10;a++)
su=su+a;
return(su);
}
int producto()
{intpr=1,a;
for(a=1;a<=10;a++)
pr=pr*a;
return(pr);
}

Hacer un programa que solo me permita ingresar 2 nmeros


pares y luego imprima la suma de estos. Utilizar sentencias if
else, while.

#include<conio.h>
#include<iostream>
#include<stdio.h>
int main()
{ int a,b,suma,cnt=0;
do
{
printf("ingresa el primer numero\n");scanf("%d",&a);
printf("ingresa el segundo numero\n");scanf("%d",&b);
if(a%2==0 && b%2==0)
{
printf("los numeros ingresados son pares\n");
suma=a+b;
printf("la suma es:%d\n",suma);
cnt=1;
}
else
{
printf("los numeros no son pares vuelva a ingresarlos\n");
system("pause");
}
}

while (cnt==0);
system("pause");
}

Hacer un programa que ingresados 3 nmeros pares, y solo me


imprima los nmeros si es que hay un mltiplo de tres.

#include<conio.h>
#include<iostream>
#include<stdio.h>
int a,b,c,r,cnt=0;
int main()
{
do
{
printf("ingresa el primer numero\n");scanf("%d",&a);
printf("ingresa el segundo numero\n");scanf("%d",&b);
printf("ingresa el tercer numero\n");scanf("%d",&c);
if(a%2==0 && b%2==0 && c%2==0)
{
printf("los numeros ingresados son pares\n");
if(a%3==0||b%3==0||c%3==00)
{

printf("%d\n%d\n%d\n ",a,b,c);
cnt=1;
}
else
{
printf("no hay multiplos de 3");
system("pause");
}
cnt=1;
}
else
{
printf("los numeros no son pares vuelva a
ingresarlos\n");
system("pause");
}
}
while (cnt==0);
system("pause");
}

Hacer una funcin me calcule el factorial de un nmero entero.


Ejm. Factorial (5) es 120.

#include<conio.h>
#include<stdio.h>
int main()
{ float s=1,e,n;
printf("Encontrar el factorial E\n");
printf("Ingresar E\n");
scanf("%f",&e);
for (n=1;n<=e;n++)
s=s*n;
printf(" El factorial es: %5.2f\n",s);
getch();
}

Hacer un programa que me imprima los dgitos por separado de


un nmero entero de 4 dgitos.
Ejm. 4521 = 4, 5, 2, 1
#include<iostream>
#include<conio.h>
#include<stdio.h>
int main()
{
int a,b,c,d;
printf("ingrese un numero de 4 digitos\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
printf("%d",a);
printf(",%d",b);
printf(",%d",c);
printf(",%d",d);
getch();
}

Hacer un programa que me calcule los 10 primeros nmeros


mltiplos de 13 a partir del 100 para adelante.
#include<iostream>
#include<stdio.h>
#include<conio.h>
int main()
{
int nro,n,R,c=0;
nro=100;
while(c<=10)

{
R=nro%13;
if(R==0)
{
printf("es multiplo de 13 %d\n",nro);
c=c+1;
nro=nro+1;
}
else
{
nro=nro+1;
}
}
getch();
}

Desarrollar un Programa que calcule y devuelva lo siguiente:


Ingresar Apellidos y nombres del alumno y su curso y Categora,
adems de 3 notas, calcular el promedio y mostrar lo siguiente:
Si el promedio esta entre 0 y 10, su estado es Desaprobado
Si el promedio esta entre 11 y 14, su estado es Regular
Si el promedio es mayor a 14 y menor 17, su estado es Bueno.
Caso contrario su estado es Excelente
Adems del mensaje:
Mostrar Apto si su nota es mayor o igual a 15, en caso contrario No Apto.

#include"iostream"
#include"stdio.h"
float n1,n2,n3;
float prom;
char dato[20],curso[20],categoria[20];
int main()
{
printf("ingresa nombre del alumno\n");scanf("%s",&dato);
printf("ingresa nombre del curso\n");scanf("%s",&curso);
printf("ingresa nota 1\n");scanf("%f",&n1);
printf("ingresa nota 2\n");scanf("%f",&n2);
printf("ingresa nota 3\n");scanf("%f",&n3);
printf("ingresa categoria A, B o C\n");scanf("%s",&categoria);

prom=(n1+n2+n3)/3;
if (prom>0 && prom<=10)
{
printf("desaprobado,NO APTO\n");

}
else
{
if (prom>=11 && prom<=14)
{
printf("regular,NO APTO\n");
}
else
{
if (prom>14 && prom<17)
{
printf("bueno,NO APTO\n");
}

else
{
printf("excelente,APTO\n");
}
}
}
printf("datos:%s:%s\n",dato,curso);
printf("tu promedio es: %8.2f\n",prom);
system("pause");
}

Usando funciones resolver cada uno de los siguientes programas


en un men de opciones:
a) Convertir Grados centgrados a Fahrenheit F= 9/5*C +32
b) Convertir Centmetros a pulgadas. 1 pulgada = 2.54 cm
c) Dlares a soles. 1 dlar = 2.78 soles
d) Convertir coordenadas rectangulares a polares r= sqrt(x*x+y*y) y
alfa=ArcTan(x/y)
e) Convertir Coordenadas polares a rectangulares x= r*cos(alfa) y=
r*sin(alfa).

#include<iostream>
#include<conio.h>
#include<math.h>
void menu()
{
printf("MENU DE OPCIONES PARA CONVERTIR DE:\n");
printf("1. GRADOS CENTGRADOS A FAHRENHEIT \n");
printf("2. CENTMETROS A PULGADAS \n");
printf("3. DE DLARES A SOLES \n");
printf("4. COORDENADAS RECTANGULARES A POLARES \n");
printf("5. COORDENADAS POLARES A RECTANGULARES \n");
printf("6. Salir \n");

printf("Escoger una opcin: ");


}
void opcion1()
{
float F,C;
printf("Convertir Grados centgrados a Fahrenheit\n");
printf("Introducir los grados en centgrados:\n");
scanf("%f", &C);
F=9/5*C+32;
printf("La conversin en grados Fahrenheit es : %4.3f\n", F);
}

void opcion2()
{
float in, cm;
printf("Convertir Centmetros a pulgadas\n");
printf("Introducir cantidad de centmetros :\n");
scanf("%f",&cm);in=cm/2.54;
printf("La conversin en pulgadas es : %4.3f\n", in);
}

void opcion3()
{
float $,A;
printf("Convertir de Dlares a soles\n");
printf("Introducir cantidad de dlares:\n");
scanf("%f",&$);
A=3.15*$;
printf("La conversin en soles es :S/ %4.3f\n", A);
}

void opcion4()
{
float r, alfa, x, y;
printf("Convertir coordenadas rectangulares a polares\n");
printf("Ingresar abscisa:\n");
scanf("%f", &x);
printf("Ingresar ordenada:\n");
scanf("%f", &y);
printf("La coordenada rectangular es :(%f, %f)\n", x, y);
r=sqrt(x*x + y*y);
printf("El radio vector es %4.3f\n", r);alfa=atan(x/y);
printf("El ngulo es %4.3f\n", alfa);
printf("La conversin a coordenada polar es (%4.3f,%4.3f)\n", r, alfa);
}

void opcion5()
{
float r, alfa, x, y;
printf("Convertir coordenadas polares a rectangulares\n");
printf("Ingresar radio vector:\n");

scanf("%f", &r);
printf("Ingresar ngulo:\n");
scanf("%f", &alfa);
printf("La coordenada polar es: (%f, %f)\n", r, alfa);
x= r*cos (alfa);
printf("La abscisa es: %4.3f\n ",x);y= r*sin(alfa);
printf("La ordenada es: %4.3f\n", y);
printf("La conversin a coordenada rectangular es :(%8.2f,%8.2f)\n", x,
y);
}
int main()
{
charopc='0';
while (opc!='6')
{
menu ();
opc= getch();
switch (opc)
{
case '1' : opcion1(); getch(); system("cls"); break;
case '2' : opcion2(); getch(); system("cls"); break;
case '3' : opcion3(); getch(); system("cls"); break;
case '4' : opcion4(); getch(); system("cls"); break;
case '5' : opcion5(); getch(); system("cls"); break;
case '6' : break;
default: printf("\n Intente de nuevo");
getch();
system("cls");
}
}
}

Escribir una funcin que devuelva valor mximo de 3 nmeros.


#include<iostream>
#include<conio.h>
void maximo()
{
float a, b, c;
printf("Halla el valor mximo de tres nmeros\n");
printf("Ingresar el primer nmero");
scanf("%f", &a);
printf("Ingresar el segundo nmero");
scanf("%f", &b);
printf("Ingresar el tercer nmero");
scanf ("%f", &c);
if (a>b && a>c)
printf ("El mayor es: %f", a);
else

{
if (b>c)
printf("El mayor es: %f", b);
else
printf("El mayor es: %f", c);
}
}
int main()
{
maximo ();
getch();
system("cls");
}

Escribir una funcin que encuentre el promedio de 4 notas


considerando las tres ms altas.
#include <iostream>
#include <stdio.h>
float promedio3altasnotas(float a, float b, float c,float d)
{
float menor=a, promedio;
if (b<menor);
menor=b;
if (c<menor);
menor=c;
if(d<menor);
menor=d;
promedio = (a+b+c+d-menor)/3;
returnpromedio;
}

int main( )
{
float n1,n2,n3,n4;
printf("\nIngrese 4 notas: ");
scanf("%f%f%f%f",&n1,&n2,&n3,&n4);
printf("El promedio de las tres altas notas es:
%6.2f\n",promedio3altasnotas(n1,n2,n3,n4));
system("pause");
}

Escribir un programa para producir la tabla de valores de la


ecuacin.
Y= 2e-0.1t*Sen(0.5t) y tambin de funcin (ex -e-x)/2

Calcular el valor de la serie S= k1/K!+K3/3!+K5/5!..Kn/n! n trminos.

Usando para ello las funciones de factorial y potencia.


#include<iostream>
#include<stdio.h>
#include<math.h>
floatfunciony(float);
floatfuncionz(float);
int main()
{
int n,a,b;
float x,y,z;
printf("Ingresar los numeros extremos de la sumatoria\n");
scanf("%d%d",&a,&b);
printf("XYZ\n");
printf("===========================\n");
for(n=a;n<=b;n++)
{
x=n;
y=funciony(n);
z=funcionz(n);
printf("%7.4f %8.5f %8.5f\n",x,y,z);
}
system("pause");
} // main
floatfunciony(float x)
{
floatfy;
fy = (2*FLT_EPSILON-0.1*x*sin(0.5*x));
returnfy;
} // funciony
floatfuncionz(float x)
{
floatfz;
fz =(pow(FLT_EPSILON,x)-pow(FLT_EPSILON,-x))/2 ;
returnfz;
} // funcionz

Calcular el valor de la serie S= k1/K!+K3/3!+K5/5!..Kn/n! n


trminos.
Usando para ello las funciones de factorial y potencia.

#include<iostream>
#include<stdio.h>
#include<conio.h>

#include<math.h>
float Esuma();
int main()
{
printf(La sumatoria es %3.2, Esuma());
}
float Esuma()
{float ct=0,n,k,s=0,c,f,nu;
printf("ingresar nmero de trminos");
scanf("%f",&n);
printf("ingresar k ");
scanf("%f",&k);
ct=ct+1;
nu=-1;
if(ct<n);
nu=nu+2;
f=1;
for(c=1;c=nu;c++)
f=f*c;
s=s+(pow(k,nu))/f;
printf("el valor de s es:%F",s);
getch();
}

RECURSIVIDAD
Calcular el factorial de un nmero, mostrar por pantalla sus
elementos y respuesta.
#include <iostream>
using namespace std;
int factorial_recursivo (int);
int factorial_normal(int);
int main()
{
int numero,respuesta;
cout<<"\n FACTORIAL DE UN NUMERO \n\n" <<"\n Ingrese una cantidad: ";
cin>>numero;
while (numero<0)
{
cout<<"\n ERROR, Aplicable solo a numeros naturales \n" <<" Ingrese una cantidad: ";
cin>>numero;
}
//respuesta = factorial_normal(numero); // sin usar recursividad
respuesta = factorial_recursivo(numero); // usando recursividad
cout<<"\n\n El factorial de "<<numero<<" es: "<<respuesta<<endl<<endl;
system("pause");
}
int factorial_recursivo (int viene)
{
if (viene == 0 || viene == 1)

{
cout<<viene;
return 1;
}
else
{
cout<<viene<<" x ";
return viene * factorial_recursivo(viene - 1);
}
}
int factorial_normal(int viene)
{
if (viene == 0 || viene == 1)
{
return 1;
}
else
{
int x=viene , acumulador=1; // x va a tener el valor que viene
for (x; x>=1; x--)
{
acumulador = acumulador * x;
if (x>1) { cout<<x<<" x "; } else cout<<x;
}
return acumulador;
}
}

Calcular el nmero de movimientos necesarios para resolver el


juego de las Torres de Hanoi segn el nmero de discos.
Lo que sabemos es que si tenemos 1 disco el nmero de movimientos es 1 y
que ese es nuestro caso base (si n==1 retorna 1), a partir de ah el
nmero de movimientos se puede calcular si multiplicamos por dos el
nmero de movimientos para n-1 y le sumamos 1, o sea: 2 * hanoi(n-1) +
1

etc
#include <iostream>
#include <stdlib.h>
int hanoi(int n)
{ if(n==1) return 1;
else return 2 * hanoi(n-1) + 1;
}
int main()
{ int disc, mov;
printf(" JUEGO TORRES DE HANOI\n");
printf("Numero de discos: ");
scanf("%i",&disc);

printf("\tMovimientos necesarios: %i\n", hanoi(disc));


system("pause"); }

Vamos a calcular el mximo comn divisor de dos nmeros de


forma recursiva.
#include <iostream>
int mcd(int x, int y)
{ if(y==0) return x;
else return mcd(y, x%y);
}
int main()
{ int num1=0,num2=0;
printf("MAXIMO COMUN DIVISOR\n");
printf("Introduce el primer numero: ");
scanf("%i",&num1);
printf("Introduce el segundo numero: ");
scanf("%i",&num2);
printf("\tEl resultado es: %i\n", mcd(num1, num2));
system("pause");
}

La serie de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, es bastante


interesante e incluso aparece en la naturaleza. Comienza con un 0, luego
un 1 y a partir de ah cada nmero es la suma de los dos siguientes. Eso
ltimo nos indica recursividad. Veamos como mostrar N nmeros de la
serie de Fibonacci de forma recursiva.
#include<iostream>
int fibonacci(int n)
{ if (n<2) return n;
else return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{ int num=0,res=0;
printf("NUMEROS DE FIBONACCI\n");
printf("Introduce el numero de numeros: ");
scanf("%i",&num); printf("\t");
for(int i=0;i<=num-1;i++)
{ res = fibonacci(i);
printf("%i ", res);
} printf("\n");
system("pause");
}

Convertir Decimal a Binario de forma recursiva

Est basado en el mtodo que usamos para convertir un nmero decimal a


binario a mano: dividir el nmero entre dos hasta que quede 0 y apuntar
los residuos del ltimo al primero.
#include<iostream>
void binario(int n)
{ if (n!=0)
{ binario(n/2);
printf("%i",n%2);
}}
int main()
{ int num=0;
printf("CONVERTIR DECIMAL A BINARIO\n");
printf("Introduce un numero: ");
scanf("%i",&num);
system "PAUSE"
}

Usando funciones resolver cada uno de los siguientes programas


en un men de opciones:
a) Convertir Grados centgrados a Fahrenheit F= 9/5*C +32
b) Convertir Centmetros a pulgadas. 1 pulgada = 2.54 cm
c) Dlares a soles. 1 dlar = 2.78 soles
d) Convertir coordenadas rectangulares a polares r= sqrt(x*x+y*y) y
alfa=ArcTan(x/y)
e) Convertir Coordenadas polares a rectangulares x= r*cos(alfa) y=
r*sin(alfa).

#include<iostream>
#include<conio.h>
#include<math.h>
void mostrarmenu()
{
printf("MENU DE OPCIONES\n");
printf("1. Convertir Grados centgrados a Fahrenheit \n");
printf("2. Convertir Centmetros a pulgadas \n");
printf("3. Convertir de Dlares a soles \n");
printf("4. Convertir coordenadas rectangulares a polares \n");
printf("5. Convertir coordenadas polares a rectangulares \n");
printf("6. Salir \n");
printf("Escoja una opcion: ");
}
void opcion1()
{float F,C;
printf("Convertir Grados centgrados a Fahrenheit\n");printf("Introducir grados
centgrados:\n");
scanf("%f",&C);F=9/5*C+32;printf("La transformacion en grados fahrenheit es :
%4.3f\n",F);}
void opcion2()
{float in,cm;
printf("Convertir Centmetros a pulgadas\n");printf("Introducir cantidad de
centimetros a transformar:\n");

scanf("%f",&cm);in=cm/2.54;printf("La tranformacion en pulgadas es : %4.3f\n",in);}


void opcion3()
{float $,S;
printf("Convertir de Dlares a soles\n");printf("Introducir cantidad de dolares a
transformar:\n");
scanf("%f",&$);S=2.78*$;printf("La tranformacion en soles es :S/ %4.3f\n",S);}
void opcion4()
{float r,alfa,x,y;
printf("Convertir coordenadas rectangulares a polares\n");printf("Ingresar
abscisa:\n");scanf("%f",&x);
printf("Ingresar ordenada:\n");scanf("%f",&y);printf("La coordenada rectangular a
transformar es :(%f,%f)\n",x,y);
r=sqrt(x*x+y*y);printf("El radiovector es %4.3f\n",r);alfa=atan(x/y);printf("El
angulo es %4.3f\n",alfa);
printf("La transformacion a coordenada polar es (%4.3f,%4.3f)\n",r,alfa);}
void opcion5()
{float r,alfa,x,y;
printf("Convertir coordenadas polares a rectangulares\n");printf("Ingresar
radiovector:\n");scanf("%f",&r);
printf("Ingresar angulo:\n");scanf("%f",&alfa);printf("La coordenada polar a
transformar es: (%f,%f)\n",r,alfa);
x= r*cos(alfa);printf("La abscisa es: %4.3f\n ",x);y= r*sin(alfa);printf("La
ordenada es: %4.3f\n",y);
printf("La transformacion a coordenada rectangular es :(%4.3f,%4.3f)\n",x,y);}
int main()
{
char opc='0';
while (opc!='6')
{
mostrarmenu();
opc=getch();
switch (opc)
{
case '1' : opcion1(); getch(); system("cls"); break;
case '2' : opcion2(); getch(); system("cls"); break;
case '3' : opcion3(); getch(); system("cls"); break;
case '4' : opcion4(); getch(); system("cls"); break;
case '5' : opcion5(); getch(); system("cls"); break;
case '6' : break;
default: printf("\nVuelva a intentarlo.");
getch();
system("cls");
}
}
}

Escribir una funcin que devuelva valor mximo de 3 nmeros.


#include<iostream>
#include<conio.h>
void valmax()
{float n1,n2,n3;
printf("Halla el valor maximo de tres numeros\n");printf("Ingresar el primer
numero");scanf("%f",&n1);
printf("Ingresar el segundo numero");scanf("%f",&n2);printf("Ingresar el tercer
numero");scanf("%f",&n3);
if(n1>n2 && n1>n3)
printf("El mayor es: %f",n1);
else
{
if(n2>n3)
printf("El mayor es: %f",n2);
else
printf("El mayor es: %f",n3);
}
}

int main()
{
valmax();
getch();
system("cls");
}

Escribir una funcin que encuentre el promedio de 4 notas


considerando las tres ms altas.
#include<iostream>
#include<stdio.h>
#include<math.h>
float funciony(float);
float funcionz(float);
int main()
{
int n,a,b;
float x,y,z;
printf("Ingresar los numeros extremos de la sumatoria\n");scanf("%d%d",&a,&b);
printf("XYZ\n");
printf("===========================\n");
for(n=a;n<=b;n++)
{
x=n;
y=funciony(n);
z=funcionz(n);
printf("%7.4f %8.5f %8.5f\n",x,y,z);
}
system("pause");
} // main
float funciony(float x)
{
float fy;
fy = (2*FLT_EPSILON-0.1*x*sin(0.5*x));
return fy;
} // funciony
float funcionz(float x)
{
float fz;
fz =(pow(FLT_EPSILON,x)-pow(FLT_EPSILON,-x))/2 ;
return fz;

} // funcionz

Menu de programas.
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define FILA 4
#define FILAS 7
#define COLS 5
void mostrarmenu()
{
printf("MENU DE OPCIONES\n");
printf("1. Hallar el promedio y su condicion \n");
printf("2. hallar promedio-varios cursos \n");
printf("3. Salir \n");
printf("Escoja una opcion: ");
}
void opcion1()
{

float nota[FILA], suma=0,p;


int f;
printf ("\nIngresar 4 notas\n");
printf ("-------------------------------------\n");
for (f=0; f<FILA; f++)
{
printf("Ingresar nota %d : ", f+1);
scanf("%f",&nota[f]);
}
system("cls");
printf("Todas las notas\n");
printf ("------------------------------------\n");
for (f=0; f<FILA; f++)
{
printf("Nota numero %d es de: %6.2f \n", f+1,nota[f]);
suma =suma+ nota[f];
p=suma/4;
}
printf ("------------------------------------\n");
printf("el promedio es:%4.2f \n", p);

if(p>=10.5)
printf(" Usted esta Aprobado\n");
else
printf("Usted esta Desaprobado\n");
system("Pause");
}

void opcion2()
{
{
float nota[FILAS][COLS] = {
12.50, 14.60, 15.45, 16.40,
13.00, 16.65, 11.50, 12.60,
13.45, 11.40, 15.00, 16.65,
12.50, 14.60, 15.45, 11.40,

12.45,
13.46,
12.5,
11.7,

20.00, 16.65, 12.50, 14.60, 11.8,


12.45, 11.40, 11.00, 16.65, 15,18,
12.00, 13.0, 14.0, 13.0 };
float totales[COLS] = { 0.0, 0.0, 0.0, 0.0 };
float s = 0;
int f, c, t = 0 ;
printf("\nNOTA DE CURSOS\n");
printf("PROGRAMACION-FISICA-QUIMICA-CALCULO-ALGEBRA\n");
printf("----------------------------------------------\n");
for (f=0; f<FILAS; f++)
{
for (c=0; c<COLS; c++)
{
totales[c] = totales[c]+nota[f][c];
printf("%8.2f ", nota[f][c] );
}
printf("\n");
}
printf("---------------------------------------------\n");
for (t=0; t<COLS; t++)
{
printf("%8.2f ", totales[t]/7 );
s =s+ totales[t]/7;
}
printf("\nel promedio total es: %10.2f\n", s/5);
system("pause");
}

}
int main()
{
char opc='0';
while (opc!='3')
{
mostrarmenu();
opc=getch();
switch (opc)
{
case '1' : opcion1(); getch(); system("cls"); break;
case '2' : opcion2(); getch(); system("cls"); break;
case '3' : break;
default: printf("\nVuelva a intentarlo.");
getch();
system("cls");
}
}
}

You might also like