Prgramacion c y c++

Solo disponible en BuenasTareas
  • Páginas : 5 (1032 palabras )
  • Descarga(s) : 6
  • Publicado : 12 de julio de 2010
Leer documento completo
Vista previa del texto
PROGRAMACIÓN EN C: LLAMADAS A FUNCIONES RECURSIVAS
LLAMADAS RECURSIVAS A FUNCIONES Y EJERCICIOS PRÁCTICOS - PROGRAMACIÓN EN C Y C++

Bueno estos son los ultimos ejercicios en cuanto a este tema, pero sigue visitando el Blog porque de C y C++ vamos a ir exponiendo diferentes cursos. EL AUTOR DEL BLOG.
Ejercicio 48
Hacer un algoritmo para un programa que halle el elemento n de la serie,2n: 1 2 4 8 16 32 64 128 ... para n = 0,1,2,3,4,5,6,7,8, .... ; También diseñe una función que regrese el exponente correspondiente a la potencia 2n.
Algoritmo
Inicio
Declare n, potencia
Declare potenciadedos(x), exponente(valor)
Leer n
Potencia potenciadedos(n)
Imprimir n, potencia
Imprimir potencia, exponente(potencia)
Fin
Función potenciadedos(x)
Inicio
Si x=0 entoncespotenciadedos 1
Sino potenciadedos 2*potenciadedos(x-1)
Fin si
Fin
Función exponente(valor)
Inicio
Si valor=1 entonces exponente 0
Sino exponente exponente(valor/2)+1
Fin si
Fin
Variables
n : valor ingresado
X : toma valor de n
valor : toma el valor de la variable potencia
potencia : valor de la potencia del témino n
potenciadedos : función
exponente : función
Programa
#include
int n;int potenciadedos(int x), exponente(int valor);
int potencia;
main(void)
{
printf(" INGRESE LA POSICIÓN DEL ELEMENTO .. ");
scanf("%d",&n);
potencia=potenciadedos(n);
printf("2 a la %d es %d",n,potencia);
printf("%d es 2 a la %d",potencia, exponente(potencia));
}
int potenciadedos(int x)
{
if(x==0)return 1;
else return 2*potenciadedos(x-1);
}
int exponente(int valor)
{if(valor==1)return 0;
else return 1+exponente(valor/2);
}
COMENTARIO: ambos procesos son recursivos
En el caso del ejercicio anterior tal vez no note lo que sucede con la función exponente, ya que la posición que se ingresa representa el exponente. Vea el ejercicio 49 y lograra comprenderlo mejor.
Ejercicio 49
Compruebe el siguiente algoritmo ingresando valores resultados de la potencia de 2,ejemplo: 256, 32, 1024, etc. y verá la importancia de la función exponente.
Algoritmo
Inicio
Declare n
Declare exponente(valor)
Leer n
Imprimir n, exponente(n)
Fin
Funcion exponente(valor)
Inicio
Si valor=1 exponente 0
Sino exponente exponente(valor/2)+1
Fin si
Fin
Variables
n : valor ingresado
exponente : función
valor : toma el valor de n
Programa
#include
intexponente(int valor);
int potencia;
main(void)
{
printf(" INGRESE VALOR POTENCIA DE 2 .. ");
scanf("%d",&potencia);
printf("%d es 2 a la %d",potencia, exponente(potencia));
}
int exponente(int valor)
{
if(valor==1)return 0;
else return 1+exponente(valor/2);
}
Ejercicio 50
Desarrollar el ejercicio 14, usando funciones y procedimientos.
Algoritmo usando funciones
Inicio
Declare opcion,base, altura, area
Leer opcion
Seleccionar opcion
Caso 1
Leer base, altura
Imprimir area(base, altura)
Caso 2
Leer area, altura
Imprimir base(area,altura)
Caso 3
Leer area, base
Imprimir altura(area,base)
Fin selección
Fin
Función area(base,altura)
Inicio
Area base*altura/2
Fin
Función base(area, altura)
Inicio
base 2*area/altura
Fin
Funciónaltura(area,base)
Inicio
altura 2*area/base
Fin

Variables
opcion : para saber cual es calculo a realizar.
base : valor de la base, también es función
altura : valor de la altura, también es función
area : valor del área, también es función
Comentario: algunas variables pueden funcionar como tal o como funciones, en este problema, fíjese por que.
Programa usando funciones
#include
intoperacion;
float area(int b,int h);
float base(int a, int h);
float altura(int a,int b);
main(void)
{
printf("EJERCICIOS DE LOS TRIÁNGULOS ........ \n");
printf("============================ \n\n\n");
printf("1 para calcular el área de un triángulo \n");
printf("2 para calcular la base \n");
printf("3 para calcular la altura \n\n");
printf("ingrese una opcion ........ ");...
tracking img