論理思考とプログラミング 第2回-1時限目 › ~skk › lt2009f › material › 02...

Post on 26-Jun-2020

5 views 0 download

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からたどれます。

教材や配布資料が閲覧できる

授業で使うソフトウェアがダウンロードできる

メール

スタッフ用メーリングリストlt2009-tue-staff@ht.sfc.keio.ac.jp

クラス用メーリングリストlt2009-tue@ht.sfc.keio.ac.jp

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 フォルダにドラッグアンドドロップする