Day 2: 変数と型 - 評価基準
評価の目的
変数の宣言・代入・再代入の理解度と、基本的なデータ型の使い分けを確認します。
---
評価項目
1. 変数の基本(40点)
| 課題 | 配点 | 評価基準 |
|---|---|---|
| 問題1-1: 自己紹介 | 15点 | 変数を正しく宣言し、出力できている |
| 問題1-2: 果物計算 | 15点 | 整数変数で計算が正しくできている |
| 問題1-3: 値の更新 | 10点 | 再代入(=)を正しく使えている |
2. データ型(40点)
| 課題 | 配点 | 評価基準 |
|---|---|---|
| 問題2-1: 様々な型 | 20点 | int, float64, string, boolを正しく使用 |
| 問題2-2: 整数計算 | 20点 | 四則演算と剰余演算が正しい |
3. 応用課題(20点)
| 課題 | 配点 | 評価基準 |
|---|---|---|
| 問題3-1: 買い物計算 | 8点 | 複数変数を組み合わせて計算 |
| 問題3-2: 温度変換 | 6点 | float64を使った計算が正しい |
| 問題3-3: BMI計算 | 6点 | 単位変換を含む計算ができている |
---
評価の詳細
変数宣言のチェックポイント
// ✓ 正しい短縮宣言
name := "太郎"
age := 25
// ✓ 正しいvar宣言
var height float64 = 175.5
// ✗ 誤り:再宣言
name := "太郎"
name := "花子" // エラー!
// ✓ 正しい再代入
name := "太郎"
name = "花子" // OK
確認項目:
- [ ]
:=を使った短縮宣言ができている - [ ]
=を使った再代入ができている - [ ] 変数名が意味のある名前になっている
- [ ] 型が適切に選択されている
型の使い分けチェック
| 型 | 用途 | 確認ポイント |
|---|---|---|
| `int` | 整数 | 個数、年齢、点数など |
| `float64` | 小数 | 身長、体重、金額(小数あり)など |
| `string` | 文字列 | 名前、メッセージなど |
| `bool` | 真偽値 | フラグ、条件の結果など |
---
合格基準
| レベル | 点数 | 説明 |
|---|---|---|
| 優秀 | 90-100点 | すべての課題を完璧にクリア |
| 合格 | 70-89点 | 基本課題をクリア |
| 再提出 | 50-69点 | 基本的な理解に不備あり |
| 不合格 | 0-49点 | 変数の概念が理解できていない |
最低合格ライン: 70点以上
---
よくある減点ポイント
1. 宣言と代入の混同(-5〜10点)
// NG: 2回目に:=を使っている
score := 80
score := 90 // エラー
// OK: 2回目は=を使う
score := 80
score = 90 // OK
2. 型の不一致(-5点)
// NG: 文字列と整数を直接連結
age := 25
fmt.Println("年齢は" + age + "歳") // エラー
// OK: Sprintfを使う
fmt.Printf("年齢は%d歳\n", age)
3. 整数割り算の罠(-3点)
// 整数同士の割り算は小数点以下が切り捨て
result := 10 / 3 // result = 3(3.333...ではない)
// 小数を得たい場合
result := 10.0 / 3.0 // result = 3.333...
---
ピアレビューのポイント
動作確認
- プログラムがエラーなく実行できるか
- 出力が期待通りか
コード確認
- 変数名が適切か(
a,xなどは避ける) - 型が適切に選択されているか
- 不要な変数がないか
理解度確認の質問例
- 「
:=と=の違いは何ですか?」 - 「intとfloat64の違いは何ですか?」
- 「この変数は何を保存していますか?」
---
フィードバック例
良い例
> 「変数の使い方は完璧です。変数名もappleCountのようにわかりやすいですね。次は条件分岐と組み合わせて、より複雑なプログラムに挑戦しましょう。」改善が必要な例
> 「score := 80の後にscore := 90と書いていますが、2回目はscore = 90(コロンなし)にしてください。:=は新しい変数を宣言するときだけ使います。」