Dev - C++ - como realizar la funcion Pi

 
Vista:

como realizar la funcion Pi

Publicado por diego (2 intervenciones) el 15/12/2014 04:42:46
Hola alguien me puede ayudar hacer la funcion Pi trate de hacerla pero no me resulta. gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de vangodp
Val: 73
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

como realizar la funcion Pi

Publicado por vangodp (287 intervenciones) el 15/12/2014 12:28:32
312px-Pi-unrolled-720
Como puedes ver PI es el perímetro multiplicado por 3.14.

una funcion que retorne PI seria tan simple como:

float PI(float n){
const float PI = 3.14;
return n*PI;
}

Te dejo un código: http://codepad.org/AAAfDplF

He matado mucho la precisión de PI. Segun wikipedia: http://es.wikipedia.org/wiki/N%C3%BAmero_%CF%80
El numero PI es: 0c330816040c154b08fea39aeadaa6c7
En el propio lenguaje C/C++ tienes definida la constante PI en la librería math.h en C y cmath para c++. Una vez incluida una de las mencionadas librerías puedes hacer uso de la constant M_PI que equivale a:
# define M_PI 3.14159265358979323846 /* pi */

con solo incluir cmath en cpp puedo hacer resultado = numero * M_PI;
Si te parece muchos números de precisión, puedes hacer un nuevo define para cambiar al valor que mas se ajusta a tus necesidades: # define M_PI 3.14. Según como lo necesites :)
http://codepad.org/d3MaECQ9
Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

como realizar la funcion Pi

Publicado por Thanatos (199 intervenciones) el 15/12/2014 12:28:47
El código dependerá del algoritmo que desees utilizar. Uno de los más sencillos de codificar es el Producto de Wallis. Aunque funciona, requiere de muchas repeticiones para representar el valor de pi, incluso para sus cifras iniciales. Esta es una manera de implementar ese algoritmo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
 
int main() {
    double multiplicando(0.0);
    double multiplicador(0.0);
    double piEntreDos(1.0);
 
    for (int contador(1); contador <= 18500; ++contador) {
        multiplicando = (2.0 * contador) / (2.0 * contador - 1.0);
        multiplicador = (2.0 * contador) / (2.0 * contador + 1.0);
        piEntreDos *= multiplicando * multiplicador;
    }
 
    std::cout << std::setprecision(5) << piEntreDos * 2 << std::endl;
    return 0;
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de vangodp
Val: 73
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

como realizar la funcion Pi

Publicado por vangodp (287 intervenciones) el 15/12/2014 12:39:32
:O
¡Saludos thanatos!
¿Como funciona eso? ¿En que se emplea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

como realizar la funcion Pi

Publicado por Thanatos (199 intervenciones) el 16/12/2014 12:48:10
¡Hola vangodp!
Es el código del Producto de Wallis para obtener el valor de pi, según la fórmula del enlace de Wikipedia que puse en mi respuesta.
Cuando leí la pregunta, entendí que diego necesitaba crear una función que genere las cifras de pi, tal vez para practicar el paso de fórmulas matemáticas a código, porque no me imaginé cuál podría haber sido su duda si lo que intentaba era definir el valor literal de pi utilizando una variable normal, una variable declarada como const o una directiva #define.

Saludos....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como realizar la funcion Pi

Publicado por Soledad Sabogal (1 intervención) el 23/08/2016 22:18:00
El programa al compilarlo da efectivamente como resultado de pi con cualquier valor que se le asigne a n, pero en la condicion del for porque es i<=18500. Me podrian explicar por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como realizar la funcion Pi

Publicado por Capitan Kirk (48 intervenciones) el 15/12/2014 12:42:05
La mejor opción es la que ha publicado vangodp, utilizando una directiva #define.

Otra opción puede ser:

1
2
3
double pi;
 
pi = 4.0 * atan(1.0);

El arco tangente de 1 son 45º, o sea pi/4 radianes (que es la medida de ángulos que, por defecto, utiliza la librería matemática de C/C++). Así que, sencillamente, declara una variable pi y calcúlala como 4 veces el arco tangente de 1. Haz este cálculo una sola vez al principio del programa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar