11/25 放物運動のシミュレーション(2), p値の計算(1)
前回の補足
- これまでの講義(10/7, 10/14, 10/21, 10/28, 11/4, 11/11)の動画はITC-LMSの教材の「オンライン講義動画」にリンクを置いてあります.ECCSクラウドメール (XXXX@g.ecc.u-tokyo.ac.jp )のアカウントでログインする必要があります.それ以外のgmailアカウントでログインしている時は「アクセスするにはリクエストするか、権限のあるアカウントに切り替えてください。」と出て,「アクセス権限をリクエスト」というボタンが出ますが,ECCSクラウドメール以外のアカウントは本人確認ができないので,リクエストには応じません.受講者以外にはリンクを知らせないようにしてください.
11/4課題 Ex4_8, Ex4_9, Ex5_1
- Ex4_8
- 締切(11/15 23:59) までにEx4_8は57名が解答(55名正解)
- 正解例
- 「最大値」,「2番目に大きな数」を管理して,for文の1回の繰り返しで答えを得る.
- 「最大値」を繰り返しで求めて「最大値以外の最大の数」を繰り返しで求める.
- 「大きい順に整列(第8章)」してからインデックス1の要素を返すもの. O(n)で解ける問題を O(nlogn)で解く効率の悪いプログラム(詳しくは第7章の漸近計算量を参考)
- 不正解例
- 「最大値」,「2番目に大きな数」の更新の際にの代入の順序の問題で両方とも同じ値に更新してしまう.
- 答えが負の数になることを考慮せずに,初期値を0にする.
- Ex4_9
- 締切(11/15 23:59) までにEx4_9は56名が解答(56名正解)
- 正解例
- 最大値を変数で管理,行ごとに繰り返し更新
- 英語の得点だけを集めた配列を作成してからその最大値を計算
- 英語の得点だけを集めた配列を作成してから「大きい順に整列(第8章)」してからインデックス0の要素を返すもの. O(n)で解ける問題を O(nlogn)で解く効率の悪いプログラム(詳しくは第7章の漸近計算量を参考)
- Ex5_1
- 締切(11/15 23:59) までにEx5_1は53名が解答(53名正解)
- 正解例
- ita.array.make1dで作成
- 空の配列に append で追加
- 内包表記を使って作成
- 正解だがfor文の解釈が誤っていて,i = i + 1 をfor文の最後で実施している例
11/11課題 Ex5_3, Ex5_5
- Ex5_3
- 締切(11/22 23:59) までにEx5_3は56名が解答(56名正解)
- 正解例
- make2dで作成した2次元配列を埋めていく
- if文でi+jが奇数か偶数かを判定
- 入れる値を計算
- 奇数行と偶数行をあらかじめ作成してから,それを組み合わせて2次元配列を作成.
この方法で作成した2次元配列xはたとえば,x[0][0] を書き換えると,x[2][0]も書き換わってしまうのでdraw_circle などと組み合わせて使う場合は注意が必要(第5章のスライド「[発展]配列とコピー(3)」で説明した copy.deepcopy などを使う必要がある).
- 配列の内包表記を利用
- Ex5_5
- 締切(11/22 23:59) までにEx5_5は53名が解答(52名正解)
- 問題文では明示されていないがチェックプログラムでは,ex5_5(image, y0, x0, y1, x1, color)を呼び出す際,y0 <= y1 であり,y0 = y1 のときはx0 <= x1 の入力のみを仮定している.また,問題文中で「画像上の2点の座標」と仮定しているので,画面外を考える必要はない.また,実行例からimage[y1][x1]もcolorを入れる必要があるので注意が必要
- imageを書き換える関数なので,return は不要
- 正解例
- 指定された範囲のみを繰り返しcolorで置き換え
- 「対角線の座標」の順序の制約を仮定しない.
- 画像全体を繰り返して指定された範囲のみを置き換え.
Notebook教材
以下のNotebook教材は,Google Colabを使って,クラウド実行環境でPythonプログラムを実行できます.Google Colabの使い方を参照してください.Googleアカウントへのログインを求められたときは,通常のGoogleアカウント「XXX@gmail.com」ではなく,ECCSクラウドメールのアカウント「XXX@g.ecc.u-tokyo.ac.jp」(XXXは10桁の数字ではない方)を使ってログインしてください.他のgmailアカウントで入って,「アクセス権限をリクエスト」しても本人確認できないため,アクセス権を与えることはありません(メール等での連絡もおこないません).
自宅PC等でプログラミングを行いたい場合の環境構築法は,共通資料: アルゴリズム入門」のためのPythonプログラミング環境の構築方法を参照してください.
PLAGS UT
今回から教科書の練習問題を解いて,PLAGS UT を使って提出,自動採点する課題を出します.ITC-LMSの教材に「PLAGS UTガイダンス」があります.
今日の課題
- 今日の講義の時間中に ITC-LMSの「お知らせ」機能で「11/25課題」のアナウンスが出るので,それに従ってください.締切は12/6 23:59です.
- 長時間をかけて取り組む課題「第1-6章まとめ課題」が今日の講義の時間中に公開されます.こちらの締切は12/27 23:59です.