#include #include stdlib.h> int main(void) { /* Ingreso de

Anuncio
Practica Nº 3 Lenguaje y algoritmos de programación
Ayudante: Felipe Humberto Mendoza Lira
SOLUCIÓN PROBLEMA 1
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
/* Ingreso de valor BigEndian */
int bigEndian, littleEndian;
printf("Ingrese un numero hexadecimal: ");
scanf("%x", &bigEndian);
/* Intercambio de bytes desde BigEndian a LitleEndian*/
char *p=(char *)&bigEndian;
char *q=(char *)&littleEndian;
int n,s;
for (n=0,s=3;n<=3&&s>=0;n++,s--)
*(q+n)=*(p+s);
/* Muestra en pantalla valor de LitleEndian */
printf("0x%x en formato little-endian es: 0x%x\n", bigEndian, littleEndian);
/* Pausa programa */
system("pause");
return 0;
}
SOLUCIÓN PROBLEMA 2
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
/* Ingreso de decimal y base a convertir el decimal */
int decimal, base;
printf("Ingrese un numero decimal: ");
scanf("%i", &decimal);
printf("Ingrese base: ");
scanf("%i", &base);
/* Conversion a la base deseada */
int valorenbase;
char temp[20];
itoa(decimal, temp, base);
sscanf(temp, "%x", &valorenbase);
/* Muestra valor original y valor en base deseada */
printf("%i en decimal es %X en base %i\n",decimal,valorenbase,base);
/* Pausa programa */
system("pause");
return 0;
}
Pagina 1 de 5
Practica Nº 3 Lenguaje y algoritmos de programación
Ayudante: Felipe Humberto Mendoza Lira
SOLUCIÓN PROBLEMA 3A
#include <stdio.h>
#include <stdlib.h>
int factorial(int n)
{
/* Calculo del factorial de n */
int factorial = 1;
while (n>1)
{
factorial*=n--;
}
return factorial;
}
int main(void)
{
/* Ingreso de valor de n */
int n;
printf("\nIngrese numero entero para calcular su factorial: ");
scanf("%i", &n);
/* Muestra valor del factorial */
printf("El factorial es %i\n", factorial(n));
/* Pausa programa */
system("pause");
return 0;
}
SOLUCIÓN PROBLEMA 3B
#include <stdio.h>
#include <stdlib.h>
int factorial(int n)
{
/* Calculo del factorial de n */
if(n<=1)
return 1;
else
return n*factorial(n-1);
}
int main(void)
{
/* Ingreso de valor de n */
int n;
printf("\nIngrese numero entero para calcular su factorial: ");
scanf("%i", &n);
/* Muestra valor del factorial */
printf("El factorial es %i\n", factorial(n));
/* Pausa programa */
system("pause");
return 0;
}
Pagina 2 de 5
Practica Nº 3 Lenguaje y algoritmos de programación
Ayudante: Felipe Humberto Mendoza Lira
SOLUCIÓN PROBLEMA 3C
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double factorial(int n)
{
/* Calculo del factorial de n */
double factorial=1;
while (n>1)
{
factorial*=n--;
}
return factorial;
}
double exponencial(int x,int n)
{
/* Calculo de la aproximación de e^x de orden n */
double valor=0;
int i;
for (i=0; i<=n; i++)
{
valor+=(pow(x,i)/factorial(i));
}
return valor;
}
int main(void)
{
/* Ingreso de valor de x y n */
int x,n;
printf("Ingrese el valor de x: ");
scanf("%i",&x);
printf("Ingrese el valor de n: ");
scanf("%i",&n);
/* Muestra valor de la aproximación de e^x de orden n */
printf("El valor de la aproximacion de e^%i para n igual a %i es: %.8e\n",x, n,
exponencial(x,n));
/* Pausa programa */
system("pause");
return 0;
}
Pagina 3 de 5
Practica Nº 3 Lenguaje y algoritmos de programación
Ayudante: Felipe Humberto Mendoza Lira
SOLUCIÓN PROBLEMA 3D
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define TRUE 1;
#define FALSE 0;
double factorial(int n)
{
/* Calculo del factorial de n */
double factorial=1;
while (n>1)
{
factorial*=n--;
}
return factorial;
}
double exponencial(int x,int n)
{
/* Calculo de la aproximación de e^x de orden n */
double valor=0;
int i;
for (i=0; i<=n; i++)
{
valor+=(pow(x,i)/factorial(i));
}
return valor;
}
int main_factorial(void)
{
/* Ingreso de valor de n */
int n;
printf("\nIngrese numero entero para calcular su factorial: ");
scanf("%i", &n);
/* Muestra valor del factorial */
printf("El factorial es %i\n", factorial(n));
/* Pausa programa */
system("pause");
return 0;
}
int main_exponencial(void)
{
/* Ingreso de valor de x y n */
int x,n;
printf("Ingrese el valor de x: ");
scanf("%i",&x);
printf("Ingrese el valor de n: ");
scanf("%i",&n);
/* Muestra valor de la aproximación de e^x de orden n */
printf("El valor de la aproximacion de e^%i para n igual a %i es: %.8e\n",x, n,
exponencial(x,n));
/* Pausa programa */
system("pause");
return 0;
}
Pagina 4 de 5
Practica Nº 3 Lenguaje y algoritmos de programación
int main(void)
{
int salir;
do
{
salir=FALSE;
/* Despliege del menu */
system("cls");
printf ("Operacion que desea realizar\n");
printf ("1.-Calcular factorial\n");
printf ("2.-Aproximacion de e^x\n");
printf ("3.-Salir\n");
/* Ingreso de opcion */
int opcion;
scanf ("%d",&opcion);
/* Seleccion de la opcion */
switch (opcion)
{
case 1:
system("cls");
main_factorial();
break;
case 2:
system("cls");
main_exponencial();
break;
case 3:
salir=TRUE;
break;
}
}
while(!salir);
return 0;
}
Pagina 5 de 5
Ayudante: Felipe Humberto Mendoza Lira
Descargar