###### tags: `資訊科學教學法作業(2019)`
# 實作報告二-立方根
## 壹、四則運算求立方根原理
### 假設求一數8的平方根有何種方法可求?
**以實務面來說,若要最快速的算法,由電腦或計算機直接算根號最快,但這樣就無思考學習的歷程,因此引導學生由連乘進而了解十位逼近法的作法**
* 由連乘法來看,2x2x2=8,因此8的立方根為2
### 若要將此方法推到任一整數求立方根,是否也一樣?
例如求9的立方根,是否可輕易得到某數乘三次的結果為9?
嘗試用紙筆計算9的立方根
* 以MicroSoft的Excel來試算看看9的立方根逼近值
### 十位逼近法
#### 方法一:由0開始相乘三次,每次+0.0001後再相乘,直到逼近9為止

#### 方法二:分成整數跟小數部分,先整數部分每次+1逼近,再從分數部分每次+0.0001逼近到9

#### 方法三:分成整數跟小數部分,小數再分位數,先整數部分每次+1逼近,再從分數每次加本身最小位數逼近,如小數後1位為+0.1、小數後2位為+0.01、小數後3位為+0.001、小數後4位為+0.0001

### 問題:
1.以上這三種方法是否可行?
2.運算上何種比較快速?
**由數學的理論上這三種都符合十位逼近法,也能算出立方根的值,而在實務面上的運作上是否有差異?**
以下讓我們開始進入python程式驗證
## 貳、進入Colab寫Python程式
#### 方法一:由0開始相乘三次,每次+0.0001後再相乘,直到逼近9為止

#### 方法二:分成整數跟小數部分,先整數部分每次+1逼近,再從分數部分每次+0.0001逼近到9

#### 方法三:分成整數跟小數部分,小數再分位數,先整數部分每次+1逼近,再從分數每次加本身最小位數逼近,如小數後1位為+0.1、小數後2位為+0.01、小數後3位為+0.001、小數後4位為+0.0001

### 參、實作結論
1.這三種方法是否可行?
都是可行的方法,輸出結果也相同
2.運算上何種比較快速?
以實際上運作,當輸入i(要被求立方根的值)小時,運作速度都很快正常;一但i值變大時,運作速度以方法一(由0每次+0.0001)最慢,方法三(分成整數跟小數部分,小數再分位數)最快。
### 進階問題:
1.同學們,你認為方法三(分成整數跟小數部分,小數再分位數)為何在電腦運算中最快?
2.可否解釋理由?
**可以由影響速度的重點運算次數來看,求一樣的立方根下:**
方法一:由0開始+0.0001,計算次數是最多的
方法二:整數部分計算速度快,但慢在小數點每次+0.0001
方法三:需要算的次數是最少的,因為除了整數外,小數點依照位數分別計算,因此運算是最快速的
## 課程結束------