Upgrade to Pro — share decks privately, control downloads, hide ads and more …

条件分岐と繰り返し処理 / Python Basic

kaityo256
October 11, 2022

条件分岐と繰り返し処理 / Python Basic

プログラミング基礎同演習

kaityo256

October 11, 2022
Tweet

More Decks by kaityo256

Other Decks in Education

Transcript

  1. 5 27 a = 10 b = 20 c =

    a + b aに10を代入 bに20を代入 a+bを実行し、結果にcという名前をつける 以上の動作は、計算機上でどうやって「実現」されているのか?
  2. 7 27 メモリ(主記憶)は、連番の「番地」がふってある メモリ 0番地 1番地 2番地 3番地 4番地 5番地

    この荷物を0番地と1番地に 置いてください メモリアクセスは番地を指定して行う どこに何を置いたか覚えるのが面倒くさい
  3. 9 27 「a」の荷札がついた 荷物をください a 荷札 メモリ 0番地 1番地 2番地

    3番地 4番地 5番地 a ラベル(荷札)を指定して荷物を受け取れる メモリのどこに何を置いたかを人間が管理しなくて良い (計算機が代わりに管理してくれる)
  4. 10 27 10 20 0番地 1番地 2番地 a b a

    = 10 b = 20 c = a + b 10 20 30 0番地 1番地 2番地 a b a = a + b 30 20 0番地 1番地 2番地 a b c 変数がなければ新しく作成される 変数が既にあれば上書きされる
  5. 11 27 74 65 73 74 00 00 00 00

    3F F0 00 00 メモリ メモリに保存できるのは整数のみ 浮動小数点数や文字列も使いたい 変数の型
  6. 12 27 データを解釈する「約束」 74 65 73 74 00 00 00

    00 3F F0 00 00 メモリ 00 00 00 00 3F F0 00 00 float型 b b = 1.0 74 65 73 74 c c = "test" str型 ※ これは厳密にはデータ型の定義で「型とは何か」の定義は難しい
  7. 14 27 四則演算 a + b 変数同士や数値同士、またはその組み合わせで演算ができる a - b

    a * b a / b 等号、不等号で比較ができる。結果は真偽値になる。 等号比較 a == b aとbが等しければTrue そうでなければFalse a != b aとbが等しければFalse そうでなければTrue 不等号比較 a > b a >= b
  8. 16 27 0.1 + 0.1 + 0.1 0.30000000000000004 0.1 +

    0.1 == 0.2 True 0.1 + 0.1 + 0.1 == 0.3 False 浮動小数点同士の等号比較は信頼できない 浮動小数点は実数を近似する型
  9. 17 27 for i in range(10): print(i) for 変数 in

    範囲: 繰り返し処理したいブロック この変数iをループカウンタと呼ぶ 何行でも良い コロンを忘れない インデント
  10. 18 27 for _ in range(10): print("Hello") for j in

    range(10): print(j) ループカウンタに使う変数はなんでも良い jでも良い 長い名前でも良い for abracadabra in range(10): print(abracadabra) ループカウンタが不要な場合はアンダースコア「_」を使う
  11. 20 27 条件不成立の場合に実行したいブロックにはelseを使う if a > 0: print("aは正です") else: print("aは負か0です")

    複数の条件を並べたい場合はelifを使う if a > 0: print("aは正です") elif a ==0: print("aは0です") else: print("aは負です") 上から順にチェックされ、 最初に成立したブロックのみ 実行される
  12. 21 27 if a > 5: if a < 10:

    print("5 < a < 10") else: print("10 <= a") else: print("a <= 5") 5 10 a<=5 5 < a < 10 10 <= a 例:変数aが以下の三条件のどれに対応するか知りたい if文は入れ子構造にできる
  13. 23 27 𝑓 𝑥 = 0 方程式の解をもとめたい 𝑥 𝑦 =

    𝑓(𝑥) O ここのxの値を知りたい
  14. 24 27 𝑥 𝑦 = 𝑓(𝑥) O 𝑥𝑛 𝑥𝑛+1 1.

    適当な解候補の初期値を選ぶ 2. 解候補の位置で接線を引く 3. 接線とx軸の交点を次の解候補にする 𝑥𝑛+1 = 𝑥𝑛 − 𝑓(𝑥𝑛 ) 𝑓′(𝑥𝑛 ) 解
  15. 26 27 Re Im 1 + 0jに収束 -0.5+0.87jに収束 -0.5-0.87jに収束 𝑓

    𝑥 = 𝑥3 −1 複素数まで含めると三つの解が存在する 複素平面の様々な地点を初期値とし「どこに収束するか」の収束地図を作れ