論理思考とプログラミング 第2回-1時限目 › ~skk › lt2009f › material › 02...
Transcript of 論理思考とプログラミング 第2回-1時限目 › ~skk › lt2009f › material › 02...
●●● Logical Thinking and Programming
論理思考とプログラミング第2回-1時限目
制御構造を理解する
Logical Thinking
Logical Thinking and Programming ●●●
前回授業の復習
授業情報
プログラミングの全体像
Squeak のインストール
Squeak の基礎勉強
Logical Thinking
Logical Thinking and Programming ●●●
前回授業の復習
授業情報
Webhttp://www.ht.sfc.keio.ac.jp/~skk/lt2009f/
SFSからたどれます。
教材や配布資料が閲覧できる
授業で使うソフトウェアがダウンロードできる
メール
スタッフ用メーリングリスト[email protected]
クラス用メーリングリスト[email protected]
Logical Thinking
Logical Thinking and Programming ●●●
前回授業の復習
プログラミングの全体像
プログラミングの全体像を知り,一通りの体験をした
要求分析-アイディアを明確にする
設計-実現する方法をきめる
実装-プログラムを書く(前半はSqueak 後半はJava)
あれをこうして,
次にこれをして,
最後にあれをこうする.
テスト-プログラムが意図通り出来上がったか確かめる(必要があれば前の工程に戻る)
Logical Thinking
Logical Thinking and Programming ●●●
前回授業の復習
Squeak のインストール
「ことだま on Squeak」は必ず授業のページからダウンロードすることテキストに書いてあるURLからダウンロードしないこと
授業ページのものは,授業で利用する部品がすでに組み込まれています.
ダウンロード方法
http://www.ht.sfc.keio.ac.jp/~skk/lt2009f/にアクセス
「Squeak編教材>ことだま on Squeak」の「Mac用のダウンロード」からダウンロード
Logical Thinking
Logical Thinking and Programming ●●●
前回授業の復習
Squeak の基礎勉強
Squeak を使う上で必要な,キーワード
オブジェクト,フラップ,ハロ,プロジェクト,お絵かきツール,ワールドメニュー,保存
Project 2
命令,繰り返し,順次実行,ビューアー,命令タイル,スクリプト,カテゴリ,方向,重心,刻み値
覚えてますか?
Logical Thinking
Logical Thinking and Programming ●●●
今日の授業の流れ
1時限目講義
Squeak 使用時の注意点まとめ:Squeakにおけるオブジェクト1時限目の演習範囲の解説
演習Project3 車を道に沿って走らせてみよう<会話部分のみ>
2時限目講義まとめ:制御構造2時限目の演習範囲の解説
演習Project3 車を道に沿って走らせてみよう<練習問題>
Logical Thinking
Logical Thinking and Programming ●●●
配布資料
第2回演習チェックシート
Logical Thinking
Logical Thinking and Programming ●●●
Squeak 使用時の注意点
Squeak はとてももろいので,いくつか注意しておいた方が良いことがあります.こまめにセーブする.
「ちくたく」は動かしっぱなしにしない.オブジェクトを使い終わったら必ず止める.
壊れると?ダウンロードから再度行う必要があります.
不安ならば、Squeak.image のバックアップを時々取っておくとよいでしょう.
授業ウェブに「不具合情報」をまとめた pdf があるので、気になる人は参考に。
Logical Thinking
Logical Thinking and Programming ●●●
バックアップの取り方
次の通りにフォルダを開いていく
「Squeak」 -> 「Internet」
Internet フォルダの中で「backup」という新規のディレクトリを作る.
同じフォルダにある,「Squeak.image」というファイルの複製を作成し,backup フォルダの中にコピーする.
Logical Thinking
Logical Thinking and Programming ●●●
1時限目の目標
「場合分け」タイルを使った,「分岐」のあるプログラムの書き方を習得する
Logical Thinking
Logical Thinking and Programming ●●●
まとめ:Squeakにおけるオブジェクト
Squeakで扱うことができるモノの単位
ハロが表示できる
名前,見た目(画像),プログラム等を持つことができる
Squeakの1画面(ワールド)も1つのオブジェクト
ワールドもオブジェクトなので,ハロを表示させることができる
Logical Thinking
Logical Thinking and Programming ●●●
講師によるデモ
第2回 > Project3 > 3.1
第2回 > Project3 > 3.2
第2回 > Project3 > 3.3
第2回 > Project3 > 3.4
第2回 > Project3 > 3.1 第2回 > Project3 > 3.2 第2回 > Project3 > 3.3 第2回 > Project3 > 3.4
Logical Thinking
Logical Thinking and Programming ●●●
1時限目の演習範囲
Project3 車を道に沿って走らせてみよう
テキストの範囲
P.39~P.53
指定問題
やってみよう No.3-1(P.42)
やってみよう No.3-5(P.45)
やってみよう No.3-6(P.48)
●●● Logical Thinking and Programming
論理思考とプログラミング第2回-2時限目
制御構造を理解する
Logical Thinking
Logical Thinking and Programming ●●●
2時限目の目標
「順次」「分岐」「繰り返し」の「制御構造」の性質と「ことだま on Squeak」における表現方法を理解する
「場合分け」タイルを使った「分岐」のあるプログラムを考案できるようになる
Logical Thinking
Logical Thinking and Programming ●●●
まとめ:制御構造
基本的な3つの制御構造(順次,分岐,繰り
返し)を組み合わせて,どんなアルゴリズムでも組み立てられる
順次 分岐 繰り返し
命令A
命令B
はじめ
おわり
命令A 命令B
はじめ
おわり
何かを調べて
Yes No
繰り返したい命令
はじめ
おわり
何かを調べて(繰り返すか)
Yes
No
Logical Thinking
Logical Thinking and Programming ●●●
Squeakにおける制御構造
順次 分岐
繰り返し 繰り返しはチクタク繰り返しの停止はポーズで表現する
命令A
命令B
はじめ
おわり
命令A 命令B
はじめ
おわり
何かを調べて
Yes No
繰り返したい命令
はじめ
おわり
何かを調べて(繰り返すか)
Yes
No
Logical Thinking
Logical Thinking and Programming ●●●
制御構造の組み合わせ
複雑な処理を記述する場合は3つの制御構造を入れ子状に組み合わせる
どの制御構造も処理の入り口が1つで,出口も1つなので可能
詳しくは第5回で解説
命令Aを入り口1つ,出口1つの箱として,入り口1
つ,出口1つの分岐構造に置き換えることが可能
命令A命令X 命令Y
何かを調べて
Yes No
Logical Thinking
Logical Thinking and Programming ●●●
組み合わせの例1
順次の「命令A」と「命令B」を「分岐の制御構造」に置き換え(入れ子)にする
場合分けタイルを2つ並べた例
命令A
命令B
はじめ
おわり
命令P 命令Q
はじめ
何かを調べて
Yes No
命令R 命令S
おわり
何かを調べて
Yes No
Logical Thinking
Logical Thinking and Programming ●●●
組み合わせの例2
「分岐」の「命令A」と「命令B」を「分岐の制御構造」に置き換え(入れ子)にする
場合分けタイルを入れ子にした例
命令A 命令B
はじめ
おわり
何かを調べて
Yes No
はじめ
おわり
何かを調べてYes No
命令C 命令D
何かを調べて
Yes No
命令E 命令F
何かを調べて
Yes No
Logical Thinking
Logical Thinking and Programming ●●●
組み合わせの例3
「繰り返し」の「繰り返したい命令」を「分岐の制御構造」に置き換え(入れ子)にする
「ことだま on Squeak」では「繰り返し構造」の中に「繰り返し構造」を入れることはできません
Javaでは可能です(詳しくは第8回で扱います)
繰り返し構造の中に分岐を入れた例
繰り返したい命令
はじめ
おわり
何かを調べて(繰り返すか)
Yes
No
はじめ
おわり
何かを調べて(繰り返すか)
Yes
No
命令A 命令B
何かを調べて
Yes No
Logical Thinking
Logical Thinking and Programming ●●●
2時限目の演習範囲
Project3 車を道に沿って走らせてみよう
テキストの範囲
P.39~P.53
指定問題
練習問題 3.1(P.51)
練習問題 3.2(P.51)
練習問題 3.3(P.52)
発展問題
練習問題 3.4(P.52)
●●● Logical Thinking and Programming
以下、参考
Logical Thinking
Logical Thinking and Programming ●●●
バックアップの取り方
CNS_HOMEDIR→Squeak→Internet
Logical Thinking
Logical Thinking and Programming ●●●
バックアップの取り方
新規フォルダを作成する
右クリックでメニューを出す
Logical Thinking
Logical Thinking and Programming ●●●
バックアップの取り方
backup フォルダを作成
Backup というフォルダを作成する
Logical Thinking
Logical Thinking and Programming ●●●
バックアップの取り方
Squeak.imageの複製を作成
「複製」を選択する
Logical Thinking
Logical Thinking and Programming ●●●
バックアップの取り方
Squeak.imageのコピー.image をコピー
「Squeakのコピー.image」をbackup フォルダにドラッグアンドドロップする