Overblog Seguir este blog
Edit post Administration Create my blog
10 junio 2009 3 10 /06 /junio /2009 14:07
  1. Funciones que Devuelven un Valor Real

Antes que nada, trataremos las funciones predefinidas en C. Ya que C, posee  ciertas funciones que nos ayudan hacer nuestros programas más fáciles y utilizar menos código.

El lenguaje c, cuenta con una serie de funciones de bibliotecas que realizan operaciones y cálculos de uso frecuente.

Para acceder a una función, se realiza mediante el nombre seguido de los argumentos que le servirán a la función a realizar la tarea específica.

Nombre(arg1, arg2,...argn);

 

*Funciones Matemáticas

Para acceder a ellas, se debe colocar la directiva #include <math.h> en el encabezado del programa.

Función (Sintaxis)

Tipo de Dato

Propósito

acos(d)

double

Devuelve el arco coseno de d

asin(d)

double

Devuelve el arco seno de d

atan(d)

double

Devuelve el arco tangente de d

atan(d1, d2)

double

Devuelve el arco tangente de d1/d2

ceil(d)

double

Devuelve el valor redondeado por exceso, al siguiente entero mayor

cos(d)

double

Devuelve el coseno de d

cosh(d)

double

Devuelve coseno hiperbólico de d

exp(d)

double

Eleva a la potencia d

fabs(d)

double

Devuelve el valor absoluto de d

floor(d)

double

Devuelve el valor redondeado por defecto al entero menor más cercano

log(d)

double

Devuelve el logaritmo natural de d

log10(d)

double

Devuelve el lo. (base10) de d

pow(d1, d2)

double

Devuelve d1 elevado a la potencia d2

sin(d)

Double

Devuelve el seno de d

sinh(d)

double

Seno hiperbólico de d

sqrt(d)

double

Raíz cuadrada de d

Tan(d)

double

Devuelve la tangente de d

tanh(d)

double

Devuelve la tangente hiperbólica de d

 

Las siguientes funciones se encuentran en las librerías: stdid.h ó stdlib.h:

Función (sintaxis)

Tipo

Propósito

abs(i)

int

Devuelve el valor absoluto de i

ran()

int

Devuelve un entero aleatorio

srand(u)

void

Inicializa el generador de números aleatorios

div(d1/d2)

Double/

int

Devuelve el cociente y el resto de la división

atuf(s)

Double

Convierte la cadena a una cantidad de doble precisión

atoi(s)

int

Convierte cadenas a un entero

atol(s)

long

Convierte cadenas a un entero largo

 

Serie de ejercicios, en los cuales se hará uso de la funciones predefinidas en c, así como la modularización, es decir; el uso de funciones definidas por el usuario.

 

Ejemplo 5.5

Se desea conocer el resultado de las siguientes operaciones:

  1. Öa+b
  2. |a-b|
  3. ab

Las variables a y b, son de tipo real, y pueden ser positivas o negativas.

#include <stdio.h>

#include <conio.h>

#include <math.h>

double raiz(float a, float b);

double valor_absoluto(float a, float b);

double exponente (float a, float b);

main()

   {

       float a, b;

       clrscr();

       printf("\t\tBIENVENIDO\n\n");

       printf("Ingrese el valor de a, por favor:\n");

       scanf("%f", &a);

       printf("Ahora el valor de b:\n");

       scanf("%f", &b);

       printf("El resultado de la ra¡z cuadrada de %.2f + %.2f es %.2f\n\n", a,b,raiz(a,b));

       printf("|%.2f-%.2f| es igual a %.2f\n\n", a,b,valor_absoluto(a,b));

       printf("%.2f^%.2f es igual a %f\n\n", a,b,exponente(a,b));

       getch();

       return 0;

   }

   double raiz(float a, float b)

   {

    float x;

    double y;

    x=a+b;

    y=sqrt(x);

    return (y);

   }

   double valor_absoluto(float a, float b)

   {

     float x;

     double y;

     x=a-b;

     y=fabs(x);

     return (y);

   }

   double exponente (float a, float b)

   {

      double x;

      x=pow(a,b);

      return (x);

   }

 

 

4.     Funciones Combinadas

A continuación veremos un ejemplo de un programa en el cual utilizamos dos funciones de diferente tipo de dato.

Ejemplo 5.5

El valor del número e se puede aproximar sumando n términos de la serie:  e = 1 + 1/1! + 1/2! + 1/3! + ... Escribir un programa que solicite el número de términos de la serie a sumar e informe del valor aproximado de e. Téngase en cuenta que el termino i de la anterior serie se obtiene dividiendo por     (i-1). (La exclamación es el factorial).

 #include <stdio.h>  
 #include <conio.h>  
 #include <stdlib.h>  
   
 void calculodatos(int numero); 
 double factorial(int dato); 
   
 void main(void) 
 { 
  int numero; 
  char respuesta; 
   
  printf("\n\n\nINICIO DEL PROGRAMA\n\n\n"); 
  printf("\n\nEl programa te calcula el valor del numero e."); 
   
  do { 
   
  do { 
  printf("\n\nIntroduzca un numero de terminos de la serie: "); 
  scanf("%d",&numero); 
  } while (numero<0); 
   
  calculodatos(numero); 
   
  printf("\n\n¨Desea introducir mas datos\?\n\n"); 
  respuesta=getch(); 
  system("cls"); 
  } while (respuesta=='s' || respuesta=='S'); 
  printf("\n\n\n\t\tÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"); 
  printf("\n\t\tÛÛÛ FIN DEL PROGRAMA ÛÛÛ"); 
  printf("\n\t\tÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ\n\n\n"); 
 } 
   
 void calculodatos(int numero) 
 { 
  register int i; 
  register double e=1.; 
   
  for (i=1;i<=numero;i++) { 
  e=e+1./factorial(i); 
   
  } 
  printf("\n\nEl valor de e para %d terminos es %f.",numero,e); 
  } 
   
 double factorial(int dato) 
 { 
  register int i; 
  register double resultado=1; 
   
  for (i=dato;i>0;i--) resultado=resultado*i; 
  return resultado; 
 } 

Compartir este post

Repost 0
Published by Prof.Luis Eduardo Aponte
Comenta este artículo

Comentarios

milton 08/31/2009 23:31

queria saver si me podrian ayudad en un interogante que tengo.

como hacer un menu en c++ espesificamente en borland c++
quiero y mande allamar 1. al programa y 2. que mande a llamar las descripcion del alumno

Presentación

  • : El blog de Luis Eduardo Aponte
  • : Blog, para facilitar del Lenguaje de Programación C
  • Contacto

Enlaces