---
# System prepended metadata

title: 實作報告二-立方根
tags: [資訊科學教學法作業(2019)]

---

###### tags: `資訊科學教學法作業(2019)`
# 實作報告二-立方根
## 壹、四則運算求立方根原理
### 假設求一數8的平方根有何種方法可求?
**以實務面來說，若要最快速的算法，由電腦或計算機直接算根號最快，但這樣就無思考學習的歷程，因此引導學生由連乘進而了解十位逼近法的作法**

* 由連乘法來看，2x2x2=8，因此8的立方根為2

### 若要將此方法推到任一整數求立方根，是否也一樣?
例如求9的立方根，是否可輕易得到某數乘三次的結果為9?
嘗試用紙筆計算9的立方根

* 以MicroSoft的Excel來試算看看9的立方根逼近值

### 十位逼近法
#### 方法一：由0開始相乘三次，每次+0.0001後再相乘，直到逼近9為止 
![](https://i.imgur.com/XTqhJNK.png)

#### 方法二：分成整數跟小數部分，先整數部分每次+1逼近，再從分數部分每次+0.0001逼近到9
![](https://i.imgur.com/WJLsl2X.png)

#### 方法三：分成整數跟小數部分，小數再分位數，先整數部分每次+1逼近，再從分數每次加本身最小位數逼近，如小數後1位為+0.1、小數後2位為+0.01、小數後3位為+0.001、小數後4位為+0.0001
![](https://i.imgur.com/VQr0rqo.png)

### 問題:
1.以上這三種方法是否可行?
2.運算上何種比較快速?

**由數學的理論上這三種都符合十位逼近法，也能算出立方根的值，而在實務面上的運作上是否有差異?**
以下讓我們開始進入python程式驗證

## 貳、進入Colab寫Python程式
#### 方法一：由0開始相乘三次，每次+0.0001後再相乘，直到逼近9為止 
![](https://i.imgur.com/T7MAxph.png)


#### 方法二：分成整數跟小數部分，先整數部分每次+1逼近，再從分數部分每次+0.0001逼近到9
![](https://i.imgur.com/2Zt4vY7.png)

#### 方法三：分成整數跟小數部分，小數再分位數，先整數部分每次+1逼近，再從分數每次加本身最小位數逼近，如小數後1位為+0.1、小數後2位為+0.01、小數後3位為+0.001、小數後4位為+0.0001
![](https://i.imgur.com/mmEgHKX.png)

### 參、實作結論
1.這三種方法是否可行?
都是可行的方法，輸出結果也相同

2.運算上何種比較快速?
以實際上運作，當輸入i(要被求立方根的值)小時，運作速度都很快正常；一但i值變大時，運作速度以方法一(由0每次+0.0001)最慢，方法三(分成整數跟小數部分，小數再分位數)最快。

### 進階問題:
1.同學們，你認為方法三(分成整數跟小數部分，小數再分位數)為何在電腦運算中最快?
2.可否解釋理由?

**可以由影響速度的重點運算次數來看，求一樣的立方根下：**
方法一：由0開始+0.0001，計算次數是最多的
方法二：整數部分計算速度快，但慢在小數點每次+0.0001
方法三：需要算的次數是最少的，因為除了整數外，小數點依照位數分別計算，因此運算是最快速的

## 課程結束------