第十一周 项目七:太乐了(泰勒公式)
生活随笔
收集整理的這篇文章主要介紹了
第十一周 项目七:太乐了(泰勒公式)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題及代碼:
?
/* * Copyright (c) 2014, 煙臺大學(xué)計算機(jī)學(xué)院 * All rights reserved. * 文件名稱:Project4.cpp * 作 者:李楠 * 完成日期:2014年11月10日 * 版 本 號:v1.0 * * 問題描述:用sin泰勒展開式編寫程序,求出兩個值,精度要求達(dá)到小數(shù)點后6位,即當(dāng)最后一項的絕對值小于0.00001時,累加結(jié)束,求絕對值的函數(shù)也可以自定義函數(shù)myabs實現(xiàn)。 * 輸入描述:略 * 程序輸出:略 */ #include <iostream> using namespace std; double mysin(double x); double myabs(double x); const double pi=3.1415926; int main( ) {cout<<"sin(π/2)的值為"<<mysin(pi/2)<<endl;cout<<"sin(56°)的值為"<<mysin((56.0/180)*pi)<<endl;return 0; } //下面定義mysin函數(shù),求sin值 double mysin(double x){int n=1,factorial=1,p=1;//factorial是指階乘double sum=x,exponent=x,single=1;//exponent指的是x指數(shù)運算,single指的是每一單項的式子while(myabs(single)>1e-5){factorial=factorial*(n+1)*(n+2);n=n+2;exponent=exponent*x*x;p=-p;//改變項的符號single=exponent*p/factorial;sum=sum+single;}return sum;} //下面定義myabs函數(shù),求絕對值 double myabs(double x) {return((x>=0)?x:-x); }運行結(jié)果:
?
知識點總結(jié):
?開始的時候,用了while語句但是發(fā)現(xiàn)結(jié)果是錯誤的,后來改用do while 語句后結(jié)果又正確了,然后我就想到了兩者的區(qū)別,給single賦了值,因為用while語句的時候會先判斷條件,single沒賦值的時候是一個隨機(jī)數(shù),不符合條件的話就會直接跳出循環(huán),輸出sum也就是x的值為pi/2=1.5....
學(xué)習(xí)心得:
以前寫程序的時候遇到這種問題沒有深入研究,通過老師的幫助,以后遇到這種問題就不怕了~!
總結(jié)
以上是生活随笔為你收集整理的第十一周 项目七:太乐了(泰勒公式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提高英语 - 口语和思维
- 下一篇: 输电线路杆塔倾斜在线监测的应用