cs-11. 式と変数,条件分岐,リスト
とその操作,繰り返し処理
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
1
金子邦彦
①式と変数:変数は,値を保存し参照する仕組
み。計算に利用。
②条件分岐(if else:条件に応じて処理を変
える制御構造。
③リスト:複数の要素を順序付けて格納する
データ型。
④繰り返し処理:同じ処理を複数回実行する制
御構造
プログラミングの基本になる変数,条件分岐,
リスト,繰り返しの理解.オンラインツール
trinket)を活用した実践的な演習
2
アウトライン
1. 式と計算
2. 条件分岐
3. 演習問題
4. リストと繰り返し
3
プログラミング
プログラミング人間の力を増幅し、私たちができること
を大幅に広げる
プログラミングはさまざまな分野で活用されている
シミュレーション:複雑な現象をモデル化し、予測や
分析を行います
大量データ処理:データの収集、加工、分析
AIシステムの開発
Webサイト,アプリケーションなどのソフトウェア
プログラミングはクリエイティブな行為
さまざまな作業を自動化したいとき、問題解決したいとき
にも役立つ
4
プログラミングの楽しさと達成
楽しさ
未来の技術を学ぶことは楽しい。
プログラミングは自分のアイデアを形にできるクリエイ
ティブな行為。
視覚的なプログラムを書くことで、ゲーム感覚をもって
楽しみながら学習することも可能。
達成感
プログラミングを通じて問題解決のスキルを身につける
ことは、大きな達成感につながる
新しいソフトウェアや技術を生み出す。
5
trinket
Trinket オンライン PythonHTML 等の学習サイト
有料の機能と無料の機能がある
自分が作成した Python プログラムを公開し、他の人に実
行してもらうことが可能(そのとき、書き替えて実行も可
能)
Python の標準機能を登載、その他、次のモジュールや
パッケージがインストール済み
math, matplotlib.pyplot, numpy, operator, processing, pygal,
random, re, string, time, turtle, urllib.request
6
trinket Python, HTML などのプログラムを書き実行できる
サイト
https://trinket.io/python/0fd59392c8
のように、違うプログラムには違う URL が割り当てられる
実行が開始しないときは、「実行ボタン」で実行
ソースコードを書き替えて再度実行することも可能
trinket でのプログラム実行
7
ソースコードの
メイン画面
実行結果
実行、STOP ボタン
11-1. 式と計算
8
変数,代入
変数:プログラム内で名前を付けて利用するオブジェ
クトで,値を保存し,後から参照できる
代入:「x = 100」のように書くことで,x という名前
の変数に、値 100 が保存される
9
x = 100
式の実行結果
の実行結果として,値が得られる
10
プログラム
実行結果
変数への代入
プログラムで,「x = 100」のように書くと,x
の値が 100 に変化する
11
プログラム 実行結果
式の中に変数を含めることができる
12
プログラム 実行結果
式と変数の Python プログラム
変数 x, y 100 を足して表示
13
x 100 を足す
x = 100
y = 200
x = x + 100
y = y + 100
print("x =", x)
print("y =", y)
y 100 を足す
print は,メッセージ(文字
列)や変数の値を表示
実行結果
演習1
変数 x, y を使って計算
ページ12~17
トピックス
trinket の利用
式と変数
確認クイズに自主的に挑戦
14
trinket の次のページを開く
https://trinket.io/library/trinkets/1e414fec80
実行結果が,次のように表示されることを確認
15
確認クイズ
x, y 2倍するプログラムはどちらが正しいですか?
なお,掛け算には「*」を使う.
正解だと思う方を,自分でコンピュータに入れて,正しいか
を確かめてください
16
x = 100
y = 200
x = x * 2
y = y * 2
print("x =", x)
print("y =", y)
x = 100
y = 200
2 * x = x
2 * y = y
print("x =", x)
print("y =", y)
確認クイズ
x, y の値を半分にするプログラムはどちらが正しいですか?
なお,割り算には「/」を使う.
正解だと思う方を,自分でコンピュータに入れて,正しいか
を確かめてください
17
x = 100
y = 200
x = 2
y = 2
print("x =", x)
print("y =", y)
x = 100
y = 200
x = x / 2
y = y / 2
print("x =", x)
print("y =", y)
確認クイズ
x y を足した値を新しい x の値にするプログラムはどちら
が正しいですか?
正解だと思う方を,自分でコンピュータに入れて,正しいか
を確かめてください
18
x = 100
y = 200
x = x + y
print("x =", x)
print("y =", y)
x = 100
y = 200
x + y
print("x =", x)
print("y =", y)
答え合わせ
19
11-2. 条件分岐
20
条件分岐
条件分岐では,変数や式の値によって結果が
変わるなどの判断を行う
age の値が 11以下 500
12以上 1800
21
条件式は「age <= 11」のようになる
条件分岐の Python プログラム
age の値が 11以下 500
12以上 1800
22
条件式は「age <= 11」のようになる
age = 18
if age <= 11:
print(500)
else:
print(1800)
演習2
条件分岐,ifelse
資料:21 23
トピックス
条件分岐
if
else
23
trinket の次のページを開く
https://trinket.io/python/0fd59392c8
実行する。1800 が表示されることを確認
24
age = 18」を「age = 10」に書き替える
実行する。500 が表示されることを確認
age の値が 8, 9, 10, 11 のときは 500 になり、
12, 13, 14, 15 のときは 1800 になることを確認
25
条件分岐 まとめ
条件分岐は、特定の条件に基づいて、異なる結果を得るこ
とを可能にする
Python 条件分岐では、if, else などのキーワードを使用
ある映画館で、11歳以下のチケットと,12歳以上のチケット
で値段の違いがあるとき、条件分岐を使用して、チケット料
金を算出できる
26
age = 18
if age <= 11:
print(500)
else:
print(1800)
age <= 11 のときは、print(500) が実行される
そうでないときは、print(1800) が実行される
11-3. 演習問題
27
条件分岐
次のプログラムを作成
28
weight と料金の関係は次の通り
weight の値が 100以下 0
100より大きい 1000
weight = 80 に設定してテスト実行
正解の例
29
trinket のページ
https://trinket.io/python/62f74d3bfc
11-4. リストと繰り返し
30
Python のリスト
リストは,複数の要素順序付けて保持できる
リストの要素には順序を持ち、順序の番号 0から開始
する
リストの要素は変更可能(新しい要素の挿入既存の要素
の削除が可能)
31
4 を末尾に挿入
8 の削除
リストと繰り返し
リスト繰り返しは密接に関連
リスト各要素に対して同じ操作を行う場
り返し処理を使用すると効率的
32
演習3.リストと繰り返
し,for
資料:31 38
トピックス
リスト
繰り返し
for
33
trinket の次のページを開く
https://trinket.io/python/88a728c3cb
実行する。30, 31 が表示されることを確認
8月や9月について表示できるように、プログラムを変更し実行
してみる
34
1.月の日数
6 月は 30日まである.7 月は 31日まである.
うるう年のことは考えないことにする
35
リストの
組み立て
6番の要素、7番の要素の表示
trinket の次のページを開く
https://trinket.io/python/cc2c13d793
実行する。結果が5つ表示されることを確認
36
2.計算の繰り返し
37
リストの
組み立て
y[i] = x[i] * 1.1」を
i の値を変えながら
5回繰り返す
trinket の次のページを開く
https://trinket.io/python/e27702ef75
実行する。結果が表示されることを確認
38
3.重力と落下距離
物体を落とすと 9.8 × (時間)
2
÷ 2 の分,落ちてい
く.空気抵抗は無視する.
(この式は,等加速度運動の式)
trinket の次のページを開く
https://trinket.io/python/f33df42c8d
実行する。結果が表示されることを確認
39
4.リストの組み立て,要素の挿入と削除
x = [15, 8, 6, 32 ,23]
print(x)
x.append(4)
print(x)
x.remove(8)
print(x)
リストのプログラム例
40
for による繰り返し
Python forループは、指定された範囲に対して繰り返し処
を行う
range(10)」は,数の並び 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 の意味
for i in range(10)」の場合,i の値は,0, 1, 2, 3, 4, 5, 6, 7,
8, 9 と変化する.ループは,それぞれに対して1回ずつ実行
される
41
プログラム
実行結果
演習4.
繰り返しでの変数値の変化
ページ40~44
トピックス
for による繰り返し
for i in range(5) での i の値
の変化
確認クイズに自主的に挑戦
(アクティブラーニング)
42
trinket の次のページを開く
https://trinket.io/python/27f6ebe1da
実行結果が,次のように表示されることを確認
Python で「i * '&'」は,& i の意味になる
43
確認クイズ
& 9個まで表示したい(下図のように)ときは,
どのようにプログラムを書き換えますか?
自分でチャレンジしてください
44
このプログラムを書き換える
このような結果を得る
1×2×3×4×5の計算
trinket の次のページを開く
https://trinket.io/python/b7eb532453
実行する。1×2×3×4×5の計算が行われる.
120が表示される
45
確認クイズ
1×2×3×4×5×6×7×8表示したい(下図のよう
に)ときは,どのようにプログラムを書き換えますか?
自分でチャレンジしてください
46
このプログラムを書き換える
このような結果を得る
答え合わせ
47
全体まとめ
条件分岐では、変数や式の値によって結果が変わるなどの
判断を行う。年齢(age)が11以下であれば500を、それ
以上であれば1800を出力するといった場合、条件式
age <= 11」となる。
Pythonリストは、複数の要素を一度に保持できる。リス
トの要素は順序を持ち、番号は0から始まる
months = ["", "January", "February", "March", "April",
"May", "June", "July", "August", "September", "October",
"November", "December"]
print(months[6])
繰り返し: 繰り返し計算では、特定の計算を何度も行う
48
変数、条件分岐、リスト、繰り返しを理解Python
外のプログラミング言語でも通用する知識の習得.論理的
思考力を向上.達成感を獲得
オンラインツール trinket を活用した実践的なスキル
自分でプログラムを書き換えて,間違いがあったときは
分で対処する.自主性向上,プログラミングスキル向上
コンピューターの動作原理やアプリケーションの仕組み
を理解.コンピュータとプログラミングの幅広い可能性
気づく
デジタル時代に有用なスキルを獲得.将来は,データ分
析,アプリ開発,AI等の先端技術学習への足がかりを獲得
49
今回の授業の学ぶ意義と満足感