クラスで一番は、誰?
体育のマラソン大会で、全員の記録が出ました。一番速い人は、誰でしょうか。
人間なら、記録の表を見て、すぐわかります。でも、コンピューターは、一度に全部を見られません。
一つずつ順に見て、一番を探す手順を、考えてみましょう。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| 最大 | 全部の中で、いちばん大きい値です。 | [70, 90, 60] の 90 |
| 最小 | 全部の中で、いちばん小さい値です。 | [70, 90, 60] の 60 |
| アルゴリズム | 問題を解くための、手順のことです。 | 最大を探す手順 |
| 範囲 | 最大と最小の差です。ちらばりの大きさがわかります。 | 90 - 60 = 30 |
| 同点 | 同じ点数が、二つ以上あることです。 | 95 と 95 |
学生が入力するセルは、このプレビューでは空白です。
「いまの一番」を持つ
手順は、とても簡単です。まず、先頭の値を、「いまの一番」とします。
次の値から順に見て、いまの一番より大きければ、入れかえます。
最後まで見たとき、「いまの一番」が、本当の一番です。
やってみよう: 最大を探す
scores = [70, 85, 90, 60]
best = scores[0]
for score in scores:
if score > best:
best = score
print(score, "で、一番を入れかえました")
print("最高点は", best)
# scores の順番を変えて、実行しましょう。
# 入れかえる回数が、変わります。
例: [70, 85, 90, 60] の最大
| 見る値 | best より大きい? | best のあと |
|---|---|---|
| はじめ | (先頭を best にする) | 70 |
| 85 | はい | 85 |
| 90 | はい | 90 |
| 60 | いいえ | 90 |
学生が入力するセルは、このプレビューでは空白です。
小さな確認: 手順をたどる
やってみよう
小さな確認: 手順をたどる
3問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。
best を 0 で始めてはいけない
注意
best = 0 から始めると、全部がマイナスのリストで、答えが 0 になってしまいます。先頭の値から始めれば、どんなリストでも、正しく動きます。
最小も同じ手順
最小は、比べる向きを逆にするだけです。
「いまの一番小さい値」を持ち、それより小さければ、入れかえます。
最大と最小の差が範囲です。ちらばりの大きさがわかります。