Pisanje C programa za izračunavanje konstante Pi je odličan način da se udubite u osnove matematike u programiranju. U ovom vodiču ćete naučiti korak po korak objašnjenje kako izračunati Pi koristeći Leibnizovu formulu za Pi. Leibnizova formula za Pi je predstavljena kao Pi = 4*(1/1 – 1/3 + 1/5 – 1/7 + 1/9 – 1/11 …).
Leibnizova formula za Pi je beskonačna serija broja Pi koji je otkrio njemački matematičar Gottfried Leibniz u 17. vijeku.
Početak: Potrebne biblioteke u C
Započnimo razgovorom o bibliotekama koje će nam trebati u ovom programu. Koristit ćemo standardnu matematičku biblioteku
[#include <math.h>]
i biblioteka za standardne ulazno/izlazne operacije
[#include <stdio.h>]
.
- math.h: Ova biblioteka sadrži različite matematičke funkcije i makroe.
- stdio.h: Sadrži deklaraciju standardnih ulaznih i izlaznih funkcija.
Implementacija Leibnizove formule za Pi u C
Evo osnovnog primjera kako ova implementacija može izgledati. Imajte na umu da ćemo koristiti for petlju za ponavljanje pojmova u nizu. Ovaj kod izračunava aproksimaciju Pi do desethiljaditog člana.
#include
#include
duplo izračunajPi(int term) {
dupli pi = 0.0;
int znak = 1;
for (int i = 0; i < term; i++) { pi += (znak * (1.0 / (2.0 * i + 1))); znak *= -1; } pi *= 4.0; return pi; } int main() { printf("Aproksimacija Pi: %fn", CalculatePi(10000)); return 0; } [/code]
Objašnjenje Kodeksa
U funkciji CalculatePi, inicijalno smo postavili pi kao 0.0, a znak kao 1. Funkcija uzima argument 'term', koji ukazuje na broj članova u nizu za izračunavanje.
Kod tada ulazi u petlju, od i = 0 do datog pojma. U svakoj iteraciji, dijelimo 1 sa '2i+1' i dodajemo ili oduzimamo od našeg tekućeg zbroja pi, ovisno o tome da li je i paran ili neparan broj. Ovo je kontrolirano promjenljivom 'znakom' koja se mijenja između 1 i -1 u svakoj iteraciji, i zbog toga množimo naš ukupni iznos sa 'znakom'.
Nakon izlaska iz petlje, množimo zbir sa 4 (prema Leibnizovoj formuli) i vraćamo vrijednost. Rezultat je aproksimacija Pi.
'Main' funkcija jednostavno ispisuje aproksimaciju Pi do desethiljaditog člana pozivanjem funkcije 'calculatePi'.
U zaključku, iako izračunavanje Pi pomoću Leibnizove formule možda nije najefikasnije ili najpreciznije, ono služi kao odličan uvod u implementaciju matematike u programiranju, posebno u C.