---
# System prepended metadata

title: Flutter-Dart-Function練習

---

# Dart Function 練習作業

## 基本語法特點
1. 必須在語句結尾加上分號 (;)，不然會報錯
2. 使用變數時需要加上 $ 符號進行字符串插值，例如：`"面積: $area"`
3. 字符串可以使用單引號或雙引號

## 函數使用
```dart
void main() {
  triangle(10, 20);                        // 練習一：計算三角形面積
  circleOfArea(10);                        // 練習二：計算圓形面積
  calculateTheTrapezoidalArea(10, 10, 10); // 練習三：計算梯形面積
  transferKilometerToMile(100);            // 練習四：公里轉英里
  calculateTheMomentum(20, 10);            // 練習五：計算動能
  calculateSquare(10);                     // 練習六：計算正方形面積和周長
  calculateRectangle(10, 20);              // 練習七：計算長方形面積和周長
  calculateInterest(1000, 1.5, 1);         // 練習八：計算利息
  calculateEp(10, 20);                     // 練習九：計算位能
  calculateDistance(10, 20);               // 練習十：計算距離
}
```

## 練習內容

### 練習一：計算三角形面積
```dart
void triangle(int ground, int height) {
  var areaOfTriangle = ground * height / 2;
  print("三角形的面積: $areaOfTriangle");
  print("==============================================");
}
```

### 練習二：計算圓形面積
```dart
void circleOfArea(int diameter) {
  var area = diameter * diameter * 3.14;
  print('圓形面積為： $area');
  print("==============================================");
}
```

### 練習三：計算梯形面積
```dart
void calculateTheTrapezoidalArea(int top, int bottom, int height) {
  var area = (top + bottom) * height / 2;
  print("梯形面積為： $area");
  print("==============================================");
}
```

### 練習四：公里轉英里
```dart
void transferKilometerToMile(int kilometer) {
  var mile = kilometer * 1.6;
  print("英里： $mile");
  print("==============================================");
}
```

### 練習五：計算動能
```dart
void calculateTheMomentum(int m, int v) {
  var momentum = m * v;
  print("動能：$momentum");
  print("==============================================");
}
```

### 練習六：計算利息
```dart
void calculateInterest(double principal, double rate, int years) {
  double rateDecimal = rate / 100;
  double simpleInterest = principal * rateDecimal * years;
  double simpleTotal = principal + simpleInterest;
  
  print('本金: \$${principal.toStringAsFixed(2)}');
  print('年利率: ${rate}%');
  print('期數: $years 年');
  print('單利總額: \$${simpleTotal.toStringAsFixed(2)}');
  print('單利利息: \$${simpleInterest.toStringAsFixed(2)}');
  print("==============================================");
}
```

### 練習七：計算正方形面積和周長
```dart
void calculateSquare(int length) {
  var perimeter = length * 4;
  var area = length * length;
  print("正方形面積: $area, 正方形周長: $perimeter");
  print("==============================================");
}
```

### 練習八：計算長方形面積和周長
```dart
void calculateRectangle(int length, int width) {
  var perimeter = (length + width) * 2;
  var area = length * width;
  print("長方形面積: $area, 長方形周長: $perimeter");
  print("==============================================");
}
```

### 練習九：計算位能
```dart
void calculateEp(int height, int kilogram) {
  var ep = height * kilogram * 9.8;
  print("位能: $ep 焦耳");
  print("==============================================");
}
```

### 練習十：計算距離
```dart
void calculateDistance(int speed, int time) {
  var distance = speed * time;
  print("距離: $distance");
}
```

## 項目來源
[GitHub - dwhao84/Flutter-HW2](https://github.com/dwhao84/Flutter-HW2)