Learning Programming Language Dolittle

Page 1


本文中の製品名は、一般に各社の登録商標、商標、 または商品名です

c 2008 Etext Laboratory Japan Limited


i

本書 本

、 「

言語

解説

言語 優

Smalltalk, Lisp, Logo 設計 特徴

、IT

本質

、初心者 言語

。教育用

分 学

当初

特徴

設計

教育用言

50 年以上 歴史 持

、2000 年

、現在主流

筑波大学

指向

久野靖教授

筆者

基礎

。 特徴

手早

実行

。 、1 行

本書

、Activity 5

使

、1 行

作成可能 制御」

入力 試

動作 確認

通信」 「

宝物拾

、 (

5 種類

)」「 解説

。 特徴

」「音楽演奏」「

。興味

作品

、必要

参照

• Part I「

使

• Part II「絵 描

• Part III「

付録

、 「絵 」

• Part V「 動 解説

• 付録 A「授業 • 付録 B「

応用

転送

、小学校

。 作品

演奏

大学

授業例

制御 。必要

通信

掲載

、複数

一覧

利用」

音楽 」

命令

最初

通信

、言語

。必

• Part IV「音楽 演奏 • Part VI「

、共通

参照

紹介 書

。 基本的

解説

文法

、多

• 付録 C「

言語 共通

使

• 付録 E「

基礎知識」 付録 D「標準 標準

解説

命令一覧」

。 使

命令

。授業等

連絡

解説

。 詳

Web

情報

、Web

: http://dolittle.eplang.jp

• 筆者(兼宗) 連絡先: kanemune@acm.org

筆者


ii 本書

作成

、多

共著者

筑波大学

録 B「

久野靖先生

書 設計時

大学

方々

竹内郁雄先生

付録 C「

、静岡大学 鎌田敏之先生

、東京農工大学

西

江見圭司研究室

御手洗理英先生、東京

(中村州男

、東京農工大学

協力

。言語

、高橋修司

井戸坂幸男

足利裕人先生、神奈川県立松陽高校 小原格先生、長野高専

正田良先生、金城学院大学

西田知博先生、静岡大学

堀内泰輔先

長谷川元洋先生、

宮崎佳典先生、京都

、村上智史

大学

。 多言語機能

Yoo SeungWook 先生

担当

佐藤和浩先生、松阪市立飯南中学校

野部緑先生、東京都立町田高校

、改良

韓国語 先生

山澤昭彦氏

協力

間辺広樹先生、国士舘大学

中野由章先生、大阪学院大学

協力

井上修次氏、高麗大学

谷浩史先生、鳥取県立鳥取工業高校

先生、大阪府立桃谷高校

方々

執筆

。音楽機能 研究所

並木美太郎先生

生、神奈川障害者職業能力開発校 院大学

基礎知識」

紅林秀治先生、

、千葉市立千城台東小学校

先生、静岡大学附属島田中学校

千里金蘭大学

、本書

福井眞吾氏、明海大学

協力

酒徳峰章氏、

授業実践 保福

一貫

飛行机

言語

中谷多哉子先生、NEC

制御機能

検討

設計当初

助言

青木浩幸氏、愛知教育大学 己丈夫先生、

、筑波大学

協力

)、長野大学

、高麗大学 李元揆研究室 和田勉先生、一橋大学

(Yeum YongCheul

長慎也先生

方々

協力

。 教育利用

情報教育全般

、情報処理学会

教育研究会(CE

研) 、情報処理学会情報処理教育委員会/初等中等教育委員会(SIGPS) 、教育 研究会) 、 卵RUN

、旧 NIFTY-SERVE FCAI

、「

使

TEX

研究所 励

組版

示唆

、三重大学 、出版

多大

活動

)、一橋大学情報教育研究

(dolittle-edu) 」

方々

原久太郎氏

示唆

教育研究

情報教育

Tim Bell 博士 本

情報学会関西支部若手研究者

(岡田俊一先生

会、Constructionism(旧 EuroLogo) 、ISSEP、 学

研究会(旧教育

・情報教育研究会(PUKAI) 、教育

原著者

。 奥村晴彦先生

全面的

尽力

協力

。高麗大学

。 李元揆先生

、多

。 、多

仲間、友人、家族

感謝

2008 年 8 月 兼宗 進


iii

本書

執筆時

、次

環境

動作

確認

JRE(Java Runtime Environment) 動 環境

Java

実行

可能

動作

以外

• OS:Windows(XP、Vista)、Mac OS X(10.4、10.5) • Java:1.4、1.5、1.6 、Web

版 動

2 種類 方法 実行 版

2 種類

。 版

方法 、

特徴

特徴

、理解

使用

版 (Java 付

○不要 保存

/音楽 通信 制御

○可能 ○可能

×不可

○可能

○可能

×不可

○可能

30MB。 2MB。

。一方、

器制御機能(Part VI)」 版 通信、 。

必要 対応

必要

制限 、「

、作成

音楽

機能 必要

制限

、Java 付

使 場合

便

通信機能(Part V)」

、 制御

、手軽

、 保存

保存

&

△可能

80MB 空 必要 5MB 空 必要

保存可能

、 場合

△必要(※1) △必要(※2) ○可能

&

(Java

○可能

(※2) Java

△不可(※3) ○可能

(※1) Java 付

。試

。表 1

配布

機能

必要

。 表1

(※3)

完全 、

外部機

使

。 保存

Java


iv

版 版

Web

表示

Internet Explorer、Safari、Firefox、Opera 、

(http://dolittle.

Web

eplang.jp)

Web

、 「オンライン版」 。

、右

画面

表示

。 画面 切

上部

画面下

、 「実行」 「編集」

編集画面

「実行!」

実行

、実行画面

実行

入力

押 結果

表示

保存 版

保存

終了

、作成

、忘

注意

/貼 付 )

。続

、Windows

画面

場合

範囲

選択

領域

操作 次回

、手軽 実行

、Ctrl-A*1

。残 )

必要

全体 選択 、 、手軽

Ctrl-V

&

A

押 移動

作成中

。Ctrl-C, Ctrl-V

改良

&

Ctrl

保存

上 上

*1

Web

Macintosh

切 (

範囲 選択

作成中

&

必要

方法

行 場合

&

&

Ctrl-C

電源

、 方法

同様。Macintosh

他 貼

場合

Ctrl

使

使


v

版 Windows

手順

(http://dolittle.eplang.jp)

最新

Windows 版(Java 付

Java

展開 種

使

。zip

展開

• 作成

「C:¥Program Files」

Macintosh

公開

起動

(dolittle.bat)

起動

手順

(http://dolittle.eplang.jp)

、開 ン」

最新

Macintosh 版

。 「アプリケーショ

dolittle.jar

Dock

登録

起動

実行 画面

表示

、次

可能性

表示

可能性

、URL(http://dolittle.eplang.jp) 入力 正

。 版

表示

版 可能性

Web

画面

。Sun

版」 開

画面 、使

(http://www.java.com/ja/)

Java 、最新

Java


vi

目次 使

Part I

1

Activity 1

2

1.1

1.2

名前

1.3

命令

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 付

2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.4

命令

実行

(1)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.5

命令

実行

(2)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.7

命令

定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Part II 絵 描 Activity 2

9

10

2.1

図形

生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.2

図形

複製 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

Activity 3 3.1

作成

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

動作

定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3.2 3.3

13

操作

3.4 3.5

3.6

図形

3.7

図形

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

図形

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

複数

Part III 宝物拾

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

動 終了

4.4

Activity 5

16 17

4.2 4.3

15

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Activity 4 4.1

13

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

21 22


vii 5.1

作成

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 操作

5.2

前進

5.3 5.4

宝物

画面

5.5

宝物

1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

22

Activity 6

25

6.1

作成

6.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

6.3

6.4

6.5

勝敗

判定

3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

Activity 7

29

7.1

作成

7.2

主役

7.3

7.4

7.5

7.6

衝突

7.7

終了判定(

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 作

1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

発射 作

移動(

4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

定義(

Part IV 音楽 演奏

35

演奏

36

8.1

演奏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

8.2

記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Activity 8

音楽

29

8.3

楽器

指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

8.4

音楽

構造

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

合奏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

8.5 8.6

楽器

8.7

楽譜

8.8 Activity 9 9.1

演奏

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

音楽

44

自動作曲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

琉球音階

9.2

音階

自動作曲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

9.3

利用

自動作曲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

9.4

自動作曲

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

通信

Part V Activity 10 10.1 10.2

IP

通信

46

49 50

起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50


viii 接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.3

51

10.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

10.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

Activity 11

52

11.1

送信

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

11.2

受信

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

11.3

発言

名前

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

11.4

受信

自動化(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

11.5

受信

自動化(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

11.6 Activity 12

音楽

交換

56

12.1

音楽

演奏

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

12.2

音楽

送信

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

12.3

音楽

受信

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

12.4

). . . . . . . . . . . . . . . . . . . . . . . . . .

58

交換( 作

Activity 13 13.1

1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.2

13.3

定義

13.4

通信

13.5

通信

準備

動 判定

60

2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

勝敗

13.6

60

( (

62 63

7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

13.7

実行

Part VI

67

教材

68

Activity 14

使用

14.1

5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 接続

14.2 14.3

確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

通信

68

14.4 14.5

68

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

対話的

Activity 15

71

記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

15.2

実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

15.3

性質 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

72

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

15.1

15.4

Activity 16

返 迷路

16.1

想定

16.2

移動距離

抜 迷路

74 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

74

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


ix 16.3

入力

検出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

16.4

定義命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

Activity 17 17.1

想定

17.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

17.3 17.4

78

命令

定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

17.5

Part VII 付録 付録 A

81

授業

利用

82

A.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

A.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

A.3

制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

付録 B

85

B.1 作

B.2 付録 C

言語

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

基礎知識

C.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

、変数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

C.2

88

C.3

送信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

C.4

中置記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

C.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

C.6

制御構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93

C.7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

C.8

配列

複数

利用

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

親子関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

C.9 C.10

変数

束縛 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

C.11

字句

約束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

付録 D

標準

107

D.1

数値

D.2

文字列

D.3

真偽値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

D.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

D.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

D.6

図形

D.7

GUI 部品 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

D.8 D.9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 保存

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114


x 付録 E

E.1

命令一覧 基本

115

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

E.2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

E.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 関係

E.4 E.5

GUI

索引

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

E.6 E.7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

音楽

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 145


Part I

使


2

Activity 1

作 行!」

実行

。 押

編集画面

実行

入力

、「実

1.1 、最初

何種類

動作

使 標準 動

命令

。文

命令

形 用意

扱 、歩

軌跡

姿

、画面上

。 、

最後

名前 「。」

タートル!作る。

実行

、画面 複製

表示

形 呼

生成

例 新

役割

用意

画面上 親

。 。

表示

重要

、生成 。

「タートル」 生成

「作る」


名前

1.2

名前

1.2

指定

、生成 示

名前

命令 名前

命令

。先

、画面

名前 = オブジェクト。

、=

左辺

名前

、右辺

指定

カメ太=タートル!作る。

、先

実行 見

画面

表示

「カメ太」

。 名前

名前

変数

。名前

日本語文字 。 注意

使

英字

、仮名

、空白 記号

必要

数字

使

文字

名前

漢字

使

命令

1.3 、 送

指定

命令

実行

右側

命令

。命令 、

カメ太!100 歩く。

、 「カメ太」 対 命令

「100  歩く」

。「100」

命令

命令

間 空白

理解

命令

命令 送 送

区切

必要

一部 。

、後

。表 1.1 呼 章

表 1.1 命令

種類

。命令 方法

「歩く」

、 。

種類 命令 付録 E 命令

理解

。自分

命令

。 命令(一部)

用途

使用例

太=

! 作

前進

太! 100  歩

右回

太! 90  右回

左回

太! 90  左回

追加

3


4 Activity 1

1.4 命令 順 実行 上

実行

1行

、上 、1 行書

(1) 。

実行

、複数 。実際

。画面

命令

表示

実行

。 。

カメ太=タートル!作る。

1 行追加

実行

。画面

カメ太=タートル!作る。 カメ太!100 歩く。

1 行追加

実行

カメ太=タートル!作る。 カメ太!100 歩く。 カメ太!90 左回り。

1 行追加

実行

カメ太=タートル!作る。 カメ太!100 歩く。 カメ太!90 左回り。 カメ太!100 歩く。

1.5 命令 順 実行

(2)

命令 実行

、結果

返 。

カメ太=タートル!作る。

、 「タートル!作る」 返 文

「カメ太」

、新

、返

結果

結果、新

、生成

命令 実行

生成

名前

画面

数式

名前

計算

表示

場合

活用

。 一方、

動 多

命令

、元

カメ太!100 歩く 90 右回り。

命令 送 続

、実行

命令 送

太! 100  歩く」

続 、命令 。

実行

複数

命令

結果

、 「90  右回り」 、 「カメ 送


1.6 繰 返 、 タートル!作る 100 歩く。

、 「タートル!作る」 。

、新

「100  歩く」

100 歩歩

、1 行 行数

1 命令

無駄

書 多

。内容

。全体

2行

カメ太=タートル!作る。 カメ太!100 歩く。 カメ太!90 左回り。 カメ太!100 歩く。 カメ太!90 左回り。 カメ太!100 歩く。 カメ太!90 左回り。 カメ太!100 歩く。 カメ太!90 左回り。

、横

、分

カメ太=タートル!作る。 カメ太!100 歩く 90 左回り 100 歩く 90 左回り 100 歩く 90  左回り 100 歩く 90 左回り。

、動作

動作

1行

実行

、大量

命令

カメ太=タートル!作る。 カメ太!100 歩く 90 左回り。 カメ太!100 歩く 90 左回り。 カメ太!100 歩く 90 左回り。 カメ太!100 歩く 90 左回り。

1.6 繰 返 命令 疲

高速

飽 使

実行

処理

。先

何度

、同

記述

何度

。 、

一部

「「...」」

「カメ太!100 歩く 90 左回り」

。 。最後

、末尾 「。」

中 省略

複数 。

返 返

5


6 Activity 1 対

自分自身

回数 繰 返 字

何度

実行

「「...」! 3 回 繰り返す。」

数字以外

文字

無視

、繰

記述

、「3 回」 使

実現

「3」

。一定 。

、数

意味

カメ太=タートル!作る。 「カメ太!100 歩く 90 左回り」!4 繰り返す。

、繰 返

使

、四角 描

。 返

使

処理

4行

何度

1行

、繰

簡潔

結果

記述 太

、同 、最後

可能

実行

実行

、三角形

、次

200 歩歩 。

カメ太=タートル!作る。 「カメ太!100 歩く 120 左回り」!3回 繰り返す 200 歩く。

1.7 命令 定義 、最初 、

正方形

90 度左 回 動作

追加

4 回繰 返

「歩く」 、 「右回り」

命令(

命令 使

使

正方形 描

「100 歩歩 」 分

、慣

カメ太=タートル!作る。 「カメ太!100 歩く 90 左回り」!4 繰り返す。

「正方形」 新

命令 命令 追加

理解

*1 。次

定義

。定義

命令

定義

、追加 、

命令

同様

、普通

命令 「「...」」 囲 正方形

名前

使

命令

定義

カメ太=タートル!作る。 カメ太:正方形=「 「カメ太!100 歩く 90 左回り」!4 繰り返す」。 カメ太!正方形。

命令

、正方形 「 短

3 回描 正方形

*1

何度

。命令 定義 描

付録 C

使

説明 参照。

。次 使 一目瞭然

見 、


1.7 命令 定義 7 カメ太=タートル!作る。 カメ太:正方形=「 「カメ太!100 歩く 90 左回り」!4 繰り返す」。 カメ太!正方形。 カメ太!120 左回り。 カメ太!正方形。 カメ太!120 左回り。 カメ太!正方形。

追加

命令

、 「100 歩く」 同

受 取 間

記述

。複数

、変数

先頭 受

取 受

空白 区切 取

、1 辺

「|...|」 長

記号

。次 正方形

。 カメ太=タートル!作る。 カメ太:正方形=「|x|「カメ太!(x)歩く 90 左回り」!4 繰り返す」 。 カメ太!100 正方形。 カメ太!120 左回り。 カメ太!150 正方形。 カメ太!120 左回り。 カメ太!200 正方形。


実行時

。文法的 正 直

文法

、文法

。実行

、実行

表示

前 位置

名前

。 発生

、 「作る」 前 「!」 書 忘 検出

け」

表示 確認

場合

、表示

表示

、編集画面

位置

[行:列]

学 、命令

、編集画面

命令

、実行時 「歩け」

場合

、正 実行時 「歩

場合

「。」 入 忘

命令

発生

。 最

理解

上部

表示

空白

間違

。次 例 、 「カメ太」 作

場所

カメ太! 100  歩く。

カメ太=タートル 作る。

文法

必要 命令

命令名

表示 探

箇所

命令

次 例

名 行

命令

、実行中 、

解釈 原因

解釈

「命令

。実行時

部分

」「

実行中

場合

。次 例

間違

、 「歩く」

命令

理解

カメ太=タートル!作る。

、文末

カメ太! 100  歩け。

。次 例 、命令

前 空白 入 忘

、 「100 歩く」

部分

。 カメ太! 100 歩く。

、色

同様 指定

場合

、図形

場合

、 次 例 、1 行目 末尾 「。」 書 忘 。 「。」

場合

、 表示

矛盾 。

場所

、次

、必

複数 。次

場所 必要

画面

表示

名前

参照 名前

複数

カメ太=タートル!作る カメ太! 100  歩く。

」 (付録 B)

「 参照

表示

「塗る」

発生 複数

名前

「。」 注意

場合

発見

括弧

言語


Part II


10

Activity 2

Activity 1 形 描

命令 定義 操作

方法

、画面 図形 描 、描

Activity

、図

図形

2.1 図形 生成 移動

状態

一部

カメ太=タートル!作る。 「カメ太!100 歩く 90 左回り」!4 繰り返す。

図形

命令 作

使

。自分

、 描

動 次

、描

、新

図形

活用

図形

、 「四角」

名前

カメ太=タートル!作る。 「カメ太!100 歩く 90 左回り」!4 繰り返す。 四角=カメ太!図形を作る。

「図形を作る」 作

。次

(100,100)) 変数

指定

図形

移動

括弧(. . . ) 囲

。色

記述

図形

後、位置 画面上

特定

2.3 節 説明

座標

。数式

カメ太=タートル!作る。 「カメ太!100 歩く 90 左回り」!4 繰り返す。 四角=カメ太!(青)図形を作る。 四角!100 100 位置。

画面上

x 軸、上

y軸 伸

図形

位置

xy 座標 指定 。数学

、図形

座標

同様

図形

画像 中心 、Activity 3 座標 表 2.1

図形

命令

画面

中央

、右

。 座標

y軸 。

x軸

GUI 部品 左上 (0,0)

。 一部

。原点


2.2 図形 複製 11 表 2.1

図形

命令(一部)

命令

用途

使用例

右回

四角! 30  右回り。

左回

四角! 30  左回り。

移動

移動

位置

特定

四角! 100   0  移動する。

位置

四角! 100   100  位置。

複製

四角 2 =四角!作る。

四角!(青)塗る。

2.2 図形 複製 複製 同

使

複製

る」

命令

。通常

、新 、画面上

「カメ太=タートル!作

作 太

複製

複製

使

、 「カメ太!作る」

。 カメ太=タートル!作る。 カメ吉=カメ太!作る。

画面 元 、見 、 吉

表示 同

複製

片方

100 歩動

、複製 位置

。次

、新

カメ太=タートル!作る。 カメ吉=カメ太!作る 100 歩く。

図形

同様

複製

。次

。自分

好 、三角形

複製

、複製 横

画面

カメ太=タートル!作る。 三角=「カメ太!100 歩く 120 左回り」!3 繰り返す 図形を作る。 三角!作る 100 0 移動する。


12 Activity 2 描

2.3 色 図形 塗

。基本的 色

緑、青、紫、水色、黄色、白) 次

、8 色(黒、赤、

用意

、三角形 図形

「緑」 塗

カメ太=タートル!作る。 「カメ太!100 歩く 120 右回り」!3 繰り返す。 三角=カメ太!(緑)図形を作る。

用意 暗

使

。暗

。次

状態

。必要

、 「暗くする」 「濃い緑」 作 、色 塗

カメ太=タートル!作る。 「カメ太!100 歩く 120 右回り」!3 繰り返す。 濃い緑=緑!暗くする。 三角=カメ太!(濃い緑)図形を作る。

。次

使 、 「緑」 「黄色」 混

、「光」

「きみどり」

色 作

*1 。

カメ太=タートル!作る。 「カメ太!100 歩く 120 右回り」!3 繰り返す。 きみどり=光!(緑) (黄色)混ぜる。 三角=カメ太!(きみどり)図形を作る。

黄色

、次

、同

2 回以上加

きみどり=光!(緑)(黄色)(黄色)混ぜる。

、3 個以上

きみどり=光!(緑)(黄色)(青)混ぜる。

特殊 色 作 色 暗

場合 、 「赤」 、 「緑」 、 「青」 三原色 数値 指定 作

状態、255

。色 明

0∼255 状態

表現

。0

*2 。

カメ太=タートル!作る。 「カメ太!100 歩く 120 右回り」!3 繰り返す。 茶色=色!166 42 42 作る。 三角=カメ太!(茶色)図形を作る。

*1

*2

色 光 混 合 、明 白 加法混色 。絵具 混 合 黒 近付 。 。詳 付録 E 参照。 強 16 進数 指定 。詳 付録 E 参照。

近付 混

。 合

混 合 減法混色


13

Activity 3

作 、

Activity

動 使

。 画面

、描 、

Activity

図形 学

3.1 作成 次

製作例

。画面

押 操作。

図形

• 図形 描画。

、次 例

「線あり」、 「線なし」

• 描

表示

操作

、左側 行

、 「あるく」、 「もどる」、 「左回転」、 「右回転」、

用意

「図形を作る」

用意

、 「星」、 「四角」、 「三角」、「六角」

。 用意

• 色。

例 自体

、基本的

8 色 用意

色 、少

。 。

文字


14 Activity 3

生成

3.2 今

実行

、描

途中

、一瞬

結果

状態

実行

、 高速

表示

。 画面

GUI 部品( 使

画面 置

便利

制御

対話的 使

部品)

、 方法

表示

使

同様

、画面

文字

、作

生成 与

、「カメ太」

。次

、「前進ボタン」

画面

カメ太=タートル!作る。 前進ボタン=ボタン!"前進" 作る。

実行

、無事 。

画面

表示

、押

、押

動作

起 指示

3.3 動作 定義 動作 押 「動作」 前進

動作

定義

名前 定義

。実行

命令(

。次 、

定義

、「前進ボタン」 押

100 歩

カメ太=タートル!作る。 前進ボタン=ボタン!"前進" 作る。 前進ボタン:動作=「カメ太!100 歩く」。

以上

基本的

使

。表 3.1

命令

一部

。 表 3.1 命令

用途

移動

移動

位置

特定

使用例 前進ボタン! 100   0  移動する。

位置 大

大 文字色

文字

命令(一部)

前進ボタン! 100   100  位置。

指定 指定 指定

前進ボタン! 150   100  大きさ。 前進ボタン!(緑)塗る。 前進ボタン!(青)文字色。


3.4

操作

3.4 、

「カメ太」

。 作

。 「あるく」

太 人

。最初

名前

。次

後退

。先頭

前進

、主役

、画面

左上

2

。「もどる」

。「//」

最後

解釈

// タートルオブジェクトを操作する。 カメ太=タートル!作る。 歩くボタン=ボタン!"あるく" 作る -380 230 位置。 歩くボタン:動作=「カメ太!20 歩く」。 戻るボタン=ボタン!"もどる" 作る -230 230 位置。 戻るボタン:動作=「カメ太!20 戻る」。

続 太

、 左

回転

回転

。 「右回転」

。「左回転」 、

押 右

回転

左回転ボタン=ボタン!"左回転" 作る -380 185 位置(水)塗る。 左回転ボタン:動作=「カメ太!30 左回り」。 右回転ボタン=ボタン!"右回転" 作る -230 185 位置(水)塗る。 右回転ボタン:動作=「カメ太!30 右回り」。

「線あり」 し」

押 押

指定

。「線な

線ありボタン=ボタン!"線あり" 作る -380 140 位置。 線ありボタン:動作=「カメ太!ペンあり」 。 線なしボタン=ボタン!"線なし" 作る -230 140 位置。 線なしボタン:動作=「カメ太!ペンなし」。

3.5 描 続

を作る」

図形 描

太 。作

名前 付

図形

図形

図形 前 「

付録 D

参照

、 「:直前の図形」 :」

「:」 付

、 。詳

。「図形 、色 、

// 描いた線を図形オブジェクトにする 図形ボタン=ボタン!"図形を作る" 作る 300 45 大きさ -380 95  位置(黄)塗る。 図形ボタン:動作=「:直前の図形=カメ太!図形を作る」。

操作

15


16 Activity 3

3.6 図形 描 続

、図形

。「星」

太 星 描 、図形 「六角」

用意

、三角形、四角形、六角形 図形 作

、 「:直前の図形」 入

。同様 、 「四角」 、 「三角」 、 作

図形

、他

// 図形を描き図形オブジェクトにする 星ボタン=ボタン!"星" 作る -380 50 位置(水)塗る。 星ボタン:動作=「:直前の図形=「カメ太!100 歩く 144 右回り」!5 繰り返す 図形を作る」。 四角ボタン=ボタン!"四角" 作る -230 50 位置(水)塗る。 四角ボタン:動作=「:直前の図形=「カメ太!100 歩く 90 左回り」!4 繰り返す 図形を作る」。 三角ボタン=ボタン!"三角" 作る -380 5 位置(水)塗る。 三角ボタン:動作=「:直前の図形=「カメ太!100 歩く 120 左回り」!3 繰り返す 図形を作る」。 六角ボタン=ボタン!"六角" 作る -230 5 位置(水)塗る。 六角ボタン:動作=「:直前の図形=「カメ太!100 歩く 60 左回り」!6 繰り返す 図形を作る」。

3.7 図形 色 塗 、図形 色 塗

白、緑、赤、黒、水色」 。

色 色

色 押

押 。

塗 前

作 。

2列 並

、 「直前の図形」 、直前

。線 「図形を作る」

「青、黄色、紫、

8 色分 作 、4 個

描 図形

図形 、 必要

// 図形オブジェクトに色を塗る 青ボタン=ボタン!作る -380 -40 位置 75 45 大きさ(青)塗る。 青ボタン:動作=「:直前の図形!(青)塗る」。 黄ボタン=ボタン!作る -305 -40 位置 75 45 大きさ(黄)塗る。 黄ボタン:動作=「:直前の図形!(黄)塗る」。 紫ボタン=ボタン!作る -230 -40 位置 75 45 大きさ(紫)塗る。 紫ボタン:動作=「:直前の図形!(紫)塗る」。 白ボタン=ボタン!作る -155 -40 位置 75 45 大きさ(白)塗る。 白ボタン:動作=「:直前の図形!(白)塗る」。 緑ボタン=ボタン!作る -380 -85 位置 75 45 大きさ(緑)塗る。 緑ボタン:動作=「:直前の図形!(緑)塗る」。 赤ボタン=ボタン!作る -305 -85 位置 75 45 大きさ(赤)塗る。 赤ボタン:動作=「:直前の図形!(赤)塗る」。 黒ボタン=ボタン!作る -230 -85 位置 75 45 大きさ(黒)塗る。 黒ボタン:動作=「:直前の図形!(黒)塗る」。 水ボタン=ボタン!作る -155 -85 位置 75 45 大きさ(水)塗る。 水ボタン:動作=「:直前の図形!(水)塗る」。


17

Activity 4

4.1 今

動作 繰 返 実行 繰

使

返 返

、一瞬 動作

得意

一部

実行

、画面

。Activity 1

複数回実行

。次

。繰

、10 回繰

10 回繰 返

結果

表示

カメ太=タートル!作る。 「カメ太!20 歩く」!10 繰り返す。

Activity 3 学 、繰

使 。次

、特定

、画面

実行

動作

手動

何度

実行

カメ太=タートル!作る。 前進ボタン=ボタン!"前進" 作る。 前進ボタン:動作=「カメ太!20 歩く」。

4.2 使 画面

表示

一定

渡 間隔

名前

実行

。 命令

実行 前進

作 。

実行

カメ太=タートル!作る。 時計=タイマー!作る。 時計!「カメ太!20 歩く」実行。

作成

。 、時計

内容

繰 、他

使

次 太

、一定間隔

1行 書

可能

カメ太=タートル!作る。 タイマー!作る「カメ太!20 歩く」実行。

、実行 、


18 Activity 4 、繰

、「時計」

間隔 回数

名前

指定 間隔

。次 回数

*1 。

指定

カメ太=タートル!作る。 時計=タイマー!作る。 時計!1秒 間隔 5回 回数。 時計!「カメ太!20 歩く」実行。

実際 回数

、 指定

生成

同時 間隔

カメ太=タートル!作る。 時計=タイマー!作る 1秒 間隔 5回 回数。 時計!「カメ太!20 歩く」実行。

回数

時間

指定

。次

5 秒間 実行 行 。実行

回数

、1 秒間隔

「5 秒間÷ 1 秒= 5 回」

カメ太=タートル!作る。 時計=タイマー!作る 1秒 間隔 5秒 時間。 時計!「カメ太!20 歩く」実行。

カメ太=タートル!作る。 時計=タイマー!作る 0.1秒 間隔 36秒 時間。 時計!「カメ太!1 歩く 1 右回り」実行。

、図形

回転

カメ太=タートル!作る。 四角=「カメ太!30 歩く 90 左回り」!4 繰り返す(赤)図形を作る。 時計=タイマー!作る。 時計!「四角!30 右回り 2 2 移動する」実行。

表 4.1

命令

一部

表 4.1

*1

命令

用途

間隔

実行間隔

指定

回数

実行回数

指定

時間

実行時間

指定

命令(一部) 使用例

実行

実行

終了

。単位

。単位

時計! 0.5  間隔。 時計! 10  回数。 時計! 5  時間。 時計!「カメ太! 10  歩く」実行。

標準 0.1 秒間隔 、100 回 繰 返 、実行 要 時間 10 秒間 。 中 間隔 回数 明示的 指定

時計!待つ。

。「0.1 秒× 100 回= 10 秒」 値 将来変更 可能性 望 。


4.3 複数

4.3 複数

中 複数

、複数

文 書

、複数

動作

、 「カメ太」 「カメ吉」 中

同時

実行

同時

、実行

。次

2

カメ太=タートル!作る。 カメ吉=タートル!作る。 時計=タイマー!作る 0.1秒 間隔 36秒 時間。 時計!「カメ太!1 歩く 1 右回り。カメ吉!1 歩く 1 左回り」実行。

同様

、違

種類

同時

、 時

可能

太)

。次

図形

(四角)

カメ太=タートル!作る。 四角=「カメ太!30 歩く 90 左回り」!4 繰り返す(赤)図形を作る。 時計=タイマー!作る 0.1秒 間隔 36秒 時間。 時計!「カメ太!1 歩く 1 右回り。四角!1 左回り」実行。

終了

4.4

通常、 待

実行

1行

動作

時間動作

並行

実行

。 、「

。次 次

、他

、 終了

終了

回転

、結果

実行

回転

同時

複数

表示

、前進

。 待

得点

数分間」

動作

中 呼

実行 進

仕組

、他 通常「数秒間

終了

実行

、直前 行 実行

。 処理

実行

。一方、

並行 長

前 歩

カメ太=タートル!作る。 時計=タイマー!作る。 時計!「カメ太!10 右回り」実行。 カメ太!100 歩く。

実行中

命令待

停止 期 呼

、他 実行

終了

実行

実行

次 行

実行

、 回転

実行 歩

終了 正

待 動作

次 。

19


20 Activity 4 カメ太=タートル!作る。 時計=タイマー!作る。 時計!「カメ太!10 右回り」実行。 時計!待つ。 カメ太!100 歩く。


Part III


22

Activity 5

宝物拾 、

Activity

移動

対話的 繰 返 実行

使

、簡単

操作

、 、

Activity 作

5.1 作成 作成 拾

宝物拾 集

姿 並

表示

自動的

、実行

画面

左右 変

操作

5.2

。 「左」

。「右」

RIGHT

指定

*1

付録 E

。 効率

後 押

場 表

名前 、

操作 、

参照。

1)

操作

「カメ太」

、表示

指定

表示

作成時

位置

2個 前進

、画面

2

2 拾

30 度回転

、上

乱数

*1 )

、宝物

画面

画面

操作

動作

太 右

。次 場

30 度回転

左 。

文字列( 。 左右

LEFT、 矢印


前進

5.3

// タートルを操作する(ステップ1) カメ太=タートル!作る。 左ボタン=ボタン!"左" "LEFT" 作る。 左ボタン:動作=「カメ太!30 左回り」。 右ボタン=ボタン!"右" "RIGHT" 作る。 右ボタン:動作=「カメ太!30 右回り」。

前進

5.3 次

前進

2)

。次

。繰 返 間隔 、標準

、 「時計」

10 歩

0.1 秒

前進

名前

動作

200 回繰 返

、20 秒間動作

(0.1 秒× 200 回) 。

// タートルを前進させる(ステップ2) 時計=タイマー!作る 200 回数。 時計!「カメ太!10 歩く」実行。

5.4 宝物 画面 置 ( 次

姿

、 、画面 姿

形式

画面

変身

、特

必要

位置

、縦

位置

600

乱数

1∼300

JPEG, GIF, PNG

画像

、乱数

指定

−149∼150 乱数

生成

数式

。横 高 、

300

−299∼300

位置

範囲

、括弧(. . . ) 囲

幅 600

300

150 記述

1∼ 利用

// 宝物を画面に置く(ステップ3) 宝=タートル!作る "tonbo.gif" 変身する ペンなし。 宝!(乱数(600)-300)(乱数(300)-150)位置。 宝!作る(乱数(600)-300)(乱数(300)-150)位置。 宝!作る(乱数(600)-300)(乱数(300)-150)位置。

5.5 宝物 拾 ( 前

、 通

*2

使

*2 。

範囲

可能

名前

。姿

指定

用意

。乱数

操作

変更

画像

画面

3)

太 。

版 、 可能

4) 重 、

画像 。

衝突

太 、

、独自

画像

2) 23


24 Activity 5 宝物拾 姿

拾 定義

、衝突

表現 相手

。次 消

、 命令

衝突

// 宝物を拾う(ステップ4) カメ太:衝突=「|相手| 相手!消える」。

最後

1

4

全体

// タートルを操作する(ステップ1) カメ太=タートル!作る。 左ボタン=ボタン!"左" "LEFT" 作る。 左ボタン:動作=「カメ太!30 左回り」。 右ボタン=ボタン!"右" "RIGHT" 作る。 右ボタン:動作=「カメ太!30 右回り」。

// タートルを前進させる(ステップ2) 時計=タイマー!作る 200 回数。 時計!「カメ太!10 歩く」実行。 // 宝物を画面に置く(ステップ3) 宝=タートル!作る "tonbo.gif" 変身する ペンなし。 宝!(乱数(600)-300)(乱数(300)-150)位置。 宝!作る(乱数(600)-300)(乱数(300)-150)位置。 宝!作る(乱数(600)-300)(乱数(300)-150)位置。 // 宝物を拾う(ステップ4) カメ太:衝突=「|相手| 相手!消える」。

掲載


25

Activity 6

Activity

打 返

6.1 作成 画面

四角

長方形

操作

左側

2個

上下

制限時間

間、

、 跳

。大

。 。一回 。

登場

。左

2 人

。上下 長方形

長方形

存在

、 打 壁

。小

上下

画面

長方形

。 知

1)

登場 、5 個

6.2 壁 作 ( 最初

役割

返 、

。 、5 個

次 、線 形 壁

20

、 「壁」 作

長方形 線

名前 。

作成

描 図形

。 長方形

。続

簡単 。続 上

、 向

字 後、左


26 Activity 6 、座標 、終了

指定

図形

方眼紙

便利

画面

、位置

場合

確認

// 壁を作る(ステップ1) カメ太=タートル! 作る。 カメ太!(緑)線の色 20 線の太さ。 カメ太!500 歩く 90 右回り 420 歩く 90 右回り 500 歩く。 壁=カメ太!図形を作る -200 200 位置。 カメ太!90 右回り。 左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。 パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。

6.3 画面

表示 、画面

左側

表示

2 DOWN

上下

。次

「下ボタン」

名前

。今回

指定

「上ボタン」

移動

50

2)

上下

2 個目

、上下 矢印

UP

操作

// パドルを動かす(ステップ2) 上ボタン=ボタン! "上" "UP" 作る -380 50 位置。 下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。 上ボタン:動作=「パドル! 0 50 移動する」。 下ボタン:動作=「パドル! 0 -50 移動する」。

6.4 「カメ太」

、壁

。次

実行

初期位置 。横

位置(x 座標)

使

衝突

生成

実行 動

−149

役割 線

向 位置

1

200

、 。

150

引 動

始 、縦

、跳

位置(y 座 初期角度

動作

、自然 角度

、 「カメ太! 20 歩く」

。実行 回

移動

衝突 向

最後

太 、少

壁 、

「乱数(200)」

標) 「乱数(300)- 150」

描 、最初

、乱数

45 度 固定

3)

。 。

0.1 秒間隔 囲

設定

空間

60 秒間繰 返 跳


勝敗

6.5 // ボールを動かす(ステップ3) カメ太! ペンなし。 カメ太!(乱数(200))(乱数(300)-150)位置。 カメ太!45 向き。 カメ太:衝突=タートル:跳ね返る。 時計=タイマー! 作る 60秒 時間「カメ太!20 歩く」実行。

勝敗

6.5

判定

、 負

) 左壁

次 入

1回

衝突

衝突

実行 「時計!待つ」

、「ゲームクリア」

場合 、無事 ア」

表示

60 秒間経 。値

、赤

代入

中断 待

。初期値

代入 、前

。 「:」

判定

。値

終了

偽(

変数 導

使

「いいえ」 扱

、 終了

、 「ゲームクリア」

、「ゲームクリア」 。

真偽値 左壁

衝突 動

変数 、

左壁

、 勝

、勝敗 判定

「はい」

4)

打 返

時間内

真(

、青 字 「ゲームクリ )

場合

「ゲームオーバー」

、左壁

衝突

表示

中 。

// ゲームの勝敗を判定する(ステップ4) ゲームクリア=はい。 左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。 時計! 待つ。 「ゲームクリア==はい」! なら「   ラベル! "ゲームクリア! "作る (青)文字色。 」そうでなければ「   ラベル! "ゲームオーバー! "作る (赤)文字色。 」実行。

以上

完成

「ゲームオーバー!」 表示 、 「ゲームクリア!」

。実行 。時間内

表示

、左壁

衝突 打 返

判定

4) 27


28 Activity 6 最後

1

4

全体

掲載

// 壁を作る(ステップ1) カメ太=タートル! 作る。 カメ太!(緑)線の色 20 線の太さ。 カメ太!500 歩く 90 右回り 420 歩く 90 右回り 500 歩く。 壁=カメ太!図形を作る -200 200 位置。 カメ太!90 右回り。 左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。 パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。

// パドルを動かす(ステップ2) 上ボタン=ボタン! "上" "UP" 作る -380 50 位置。 下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。 上ボタン:動作=「パドル! 0 50 移動する」。 下ボタン:動作=「パドル! 0 -50 移動する」。 // ボールを動かす(ステップ3) カメ太! ペンなし。 カメ太!(乱数(200))(乱数(300)-150)位置。 カメ太!45 向き。 カメ太:衝突=タートル:跳ね返る。 時計=タイマー! 作る 60秒 時間「カメ太!20 歩く」実行。

// ゲームの勝敗を判定する(ステップ4) ゲームクリア=はい。 左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。 時計! 待つ。 「ゲームクリア==はい」! なら「   ラベル! "ゲームクリア! "作る (青)文字色。 」そうでなければ「   ラベル! "ゲームオーバー! "作る (赤)文字色。 」実行。

今後 打

、難易度

改良 回数

、実行時間、 。

、得点

表示

速 、 。


29

Activity 7

応用

発展

理解

、 比

Activity

難易度 理解

。解説

1

動作 確認

6

。順 入力

。全体

6

節 見

7.1 作成 画面 敵

下部

主役

。主役

発射

、画面下

得点欄

制限時間内

得点 敵

加算

、主役 「カメ太」 、上 左右

操作

。画面

攻撃 行

上部

。敵

命中

破壊

7.2 主役 作 ( 最初

左右

1) 画面 降

。 敵 攻撃 。

、画面 、

太 作 、


30 Activity 7 次

、「カメ太」

「90 左回り」

上向

名前

、「ペンなし」

生成

150 位置」 画面 下 中央付近 置 名前

太 位置

x 方向

20

「LEFT」、 「RIGHT」 「→」 )

設定

。続

−20

定義

、「左」

後、「0

「右」

後、押 設定

操作

左右

矢印

(「←」、

。 実行

、画面

左右

表示

// 主役と左右の動き(ステップ1) カメ太=タートル!作る 90 左回り ペンなし 0 -150 位置。 左=ボタン!"左" "LEFT" 作る -200 -180 位置。 左:動作=「カメ太!-20 0 移動する」。 右=ボタン!"右" "RIGHT" 作る 50 -180 位置。 右:動作=「カメ太!20 0 移動する」。

7.3 弾 発射 弾

発射

メ太」

2)

、 位置

、「カメ太」

必要

分身

。弾 、敵

、弾

、自分

る」

複製

間 置

、50 歩前進

、先

「カメ太」 変身前

衝突

姿

半径

名前 「カメ太」 「作

理由 互

矢印

50 歩前進

、 「発射」 後、押

実行

上向

、最初

後、 「"rocket.gif" 変身する」

「発射」

前進 。続

作 、左右

。 。次

定義 、

20 歩

実行間隔 標準(0.1 秒間隔)

前進

、 「カメ太」 「発射」 作

、「カ

「UP」、

「↑」 、後

定義

操作

「衝突」 定義 事故

20 程度

姿

、 。

、50 歩離

衝突

発生

。 太 与 、

「発射」

実行 簡潔

。 記述

後、続 使

// 発射ボタン(ステップ2) カメ太:発射=「タイマー!作る「自分!20 歩く」実行」。 発射=ボタン!"発射" "UP" 作る -50 -180 位置 100 45 大きさ。 発射:動作=「カメ太!作る 55 歩く "rocket.gif" 変身する 発射」。


7.4 敵

7.4 敵 画面

上部

、敵

配置

。敵

、敵 残

3)

、最初

、 「敵」 する」

「敵たち」

格納

画面

4行

。続

配置 簡潔

配置、配列 、次

格納 、2 行

。続

、 「"ayumiAka.gif" 変身 線

4行

配列「敵たち」

次 行 、 (−300, 200) 位置 移動

後、配列「敵たち」

配列

後、 「ペンなし」

「90 右回り」 下 向

画面

名前 作

変身

後、

。後

、敵 配列 管理

名前

最後

横一列 並

数 管理

、敵

「作る」

格納

、 「敵」

1行

記述

記述

複製 複製

分 。

// 1行で書いた例 敵たち!(敵!作る -200 200 位置)書く。

// 2行で書いた例 敵2=敵!作る -200 200 位置。 敵たち!(敵2)書く。

// 敵たちの生成(ステップ3) 敵たち=配列!作る。 敵=タートル!作る "ayumiAka.gif" 変身する ペンなし 90 右回り。 敵たち!(敵!-300 200 位置)書く。 敵たち!(敵!作る -200 200 位置)書く。 敵たち!(敵!作る -100 200 位置)書く。 敵たち!(敵!作る 0 200 位置)書く。 敵たち!(敵!作る 100 200 位置)書く。

7.5 敵 敵

、1 列

移動( 横

4) 、少

、先

、最初

1 秒 設定

。続

右 向

「時計」

3行

1 実行 最後

3行

各 次

実行」 、 実行

、2 行 実行

記述

、画面

移動 名前

作 使

「実行」

、実行間隔

敵 移動 送

逐次実行

簡潔 書

1 行 記述

。「時計」 、「

実現

実行

。 配列内

分 。

「右移動」

、全体 括弧( 「...」 ) 囲 必要

3) 31


32 Activity 7 // 1行で書いた例 時計!6 回数「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」実行。 // 2行で書いた例 右移動=「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」。 時計!6 回数(右移動)実行。

// 敵たちの移動(ステップ4) 時計=タイマー!作る 1秒 間隔 。 時計!6 回数「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」実行。 時計!1 回数「敵たち!「|敵|敵!0 -30 移動する」それぞれ実行」実行。 時計!6 回数「敵たち!「|敵|敵!-30 0 移動する」それぞれ実行」実行。

7.6 衝突 定義( 弾

、敵

5) 弾

配列「敵たち」

。敵

削除

、最初 「カメ太」 「衝突」 定義

場合

自分

。実際

メ太」 定義

、何

衝突

、 「カメ太」 複製

、敵

実行

、「カ

自動的 定

3行

、配列「敵たち」 。敵

自分

削除

場合

、自分

衝突

、配列「敵たち」

// 衝突定義(ステップ5) カメ太:衝突=「自分!消える」 。 敵:衝突=「自分!消える。敵たち!(自分)消す」。

7.7 終了判定(

6) 、最後

条件

、時間内

判定 消

判定

。 次

、制限時間

代入

15

ン」

。続

名前

、「制限時間」 時間

作 作

15 秒 、残

。続

、1 秒間隔

。何回目

「カウントダウン」 。続

実行

「おめでとう!!!」 止

名前

、先頭

「n」

要素数

式 調

表示 。

、 「終了時計」

、1 秒間隔 「制限時間」 秒数

、 「制限時間 - n」

、配列「敵たち」

変数

、「カウントダウ

「制限時間」

6 行 、「終了時計」 実行内容

実行

表示

、残

、値 。

入 時間

。 表示 、

、終了時計 中断


7.7 終了判定( 、制限時間内 。 計

表示 別

終了

「待つ」

表示 「敵たち」

要素数

// 終了判定(ステップ6) 制限時間=15。 カウントダウン=フィールド!作る 150 0 移動する。 終了時計=タイマー!作る 1秒 間隔(制限時間)時間。 終了時計!「|n|カウントダウン!(制限時間-n)書く。  「 (敵たち!要素数?) == 0」!なら「   ラベル!"おめでとう!!!"作る -100 200 位置。   終了時計!中断  」実行 」実行。

以上

完成

場合 調

、終了時 。

6) 33


34 Activity 7 最後

1

6

全体

掲載

// 主役と左右の動き(ステップ1) カメ太=タートル!作る 90 左回り ペンなし 0 -150 位置。 左=ボタン!"左" "LEFT" 作る -200 -180 位置。 左:動作=「カメ太!-20 0 移動する」。 右=ボタン!"右" "RIGHT" 作る 50 -180 位置。 右:動作=「カメ太!20 0 移動する」。 // 発射ボタン(ステップ2) カメ太:発射=「タイマー!作る「自分!20 歩く」実行」。 発射=ボタン!"発射" "UP" 作る -50 -180 位置 100 45 大きさ。 発射:動作=「カメ太!作る 55 歩く "rocket.gif" 変身する 発射」。

// 敵たちの生成(ステップ3) 敵たち=配列!作る。 敵=タートル!作る "ayumiAka.gif" 変身する ペンなし 90 右回り。 敵たち!(敵!-300 200 位置)書く。 敵たち!(敵!作る -200 200 位置)書く。 敵たち!(敵!作る -100 200 位置)書く。 敵たち!(敵!作る 0 200 位置)書く。 敵たち!(敵!作る 100 200 位置)書く。

// 敵たちの移動(ステップ4) 時計=タイマー!作る 1秒 間隔 。 時計!6 回数「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」実行。 時計!1 回数「敵たち!「|敵|敵!0 -30 移動する」それぞれ実行」実行。 時計!6 回数「敵たち!「|敵|敵!-30 0 移動する」それぞれ実行」実行。 // 衝突定義(ステップ5) カメ太:衝突=「自分!消える」。 敵:衝突=「自分!消える。敵たち!(自分)消す」。

// 終了判定(ステップ6) 制限時間=15。 カウントダウン=フィールド!作る 150 0 移動する。 終了時計=タイマー!作る 1秒 間隔(制限時間)時間。 終了時計!「|n|カウントダウン!(制限時間-n)書く。  「 (敵たち!要素数?) == 0」!なら「   ラベル!"おめでとう!!!"作る -100 200 位置。   終了時計!中断  」実行 」実行。


Part IV

音楽

演奏


36

Activity 8

音楽

演奏 MIDI 音源*1

使

打楽器演奏

楽器演奏 形

記述

。演奏

、 伴奏

合奏

可能

演奏

8.1 演奏 込 、

、譜面

演奏

相当

旋律

。次

、 「きらきらぼし」

生成 、 「"..."」 形 旋律 追加 演奏 記号 使

演奏

。音符

。楽譜 行

記述

演奏

名前 、

「"..."」

指示

部分

、標準

、「『...』」

楽器

きらきらぼし=メロディ!作る。 きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。 きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。 きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。 きらきらぼし!演奏。

記述

8.2

、「ドレミ」 行

音階 「^」

、数字 下

記号

以降

指定 「_」

上(

下)

。 音

伸 数字

六分音符 次

MIDI

「ー」

指定

。音

1, 2, 4, 8, 16

全音符、二分音符、四分音符、八分音符、十

指定

。 、

一時的

*1

「∼」

使

。(実行

音楽 演奏

規格。

「//」


8.3 楽器 指定 37 きらきらぼし=メロディ!作る。 きらきらぼし!"ド・ドソ^ソララソ∼_ファファ1ミ2ミ4レレ8ド∼" 追加。 // きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。 // きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。 きらきらぼし!演奏。

8.3 楽器 指定 標準

以外

楽器

楽器 用意 設定

指定

演奏

(E.7 節) 。次

演奏

、楽器

きらきらぼし=メロディ!作る。 きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。 きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。 きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。 きらきらぼし!(楽器!"オルガン" 作る)設定。 きらきらぼし!演奏。

次 作

、「メロディ欄」 、

初期値 。

「楽器名」 、

旋律

「楽器名」

実行中

∼」 作 、

設定

指定

、 楽器

旋律

修正

名前 選択 作

名前

。最後 押 演奏

。続 、

「実行ボタン」

名前

「メロディ欄」

メロディ欄=フィールド!作る 600 45 大きさ -300 100 位置。 メロディ欄!"ドドソソララソ∼ファファミミレレド∼" 書く。 楽器名=選択メニュー!作る 180 45 大きさ -300 50 位置。 楽器名!"ピアノ" 書く "オルガン" 書く "ギター" 書く "トランペット" 書く "ベル" 書く。 実行ボタン=ボタン!"実行" 作る -100 50 位置。 バンド1=バンド!作る。 実行ボタン:動作=「  バンド1!クリア。  主旋律=メロディ!作る(メロディ欄!読む)追加。  ピアノ1=楽器!(楽器名!(楽器名!何番目?)読む)作る(主旋律)設定。  バンド1!(ピアノ1)追加 演奏。 。 」


38 Activity 8 音楽 演奏

8.4 音楽 構造 「きらきらぼし」

一度見

きらきらぼし=メロディ!作る。 きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。 きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。 きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。 きらきらぼし!演奏。

部分

、次

構造

•「ドドソソララソ∼ファファミミレレド∼」 出

。 (A

同 旋律 、最初 最後

•「ソソファファミミレ∼ソソファファミミレ∼」 ソファファミミレ∼」

2 回繰 返

2 番目 旋律 、 「ソ 。(B

) 整理 分

、 「きらきらぼし」

、次

構造

Aメロディ Bメロディが2回 Aメロディ 分

、 変数

定義

最初

、次

「A メロディ」

「B メロディ」

// 変数の定義 Aメロディ="ドドソソララソ∼ファファミミレレド∼"。 Bメロディ="ソソファファミミレ∼"。 // 演奏 きらきらぼし=メロディ!作る。 きらきらぼし!(Aメロディ)追加。 きらきらぼし!(Bメロディ)追加(Bメロディ)追加。 きらきらぼし!(Aメロディ)追加。 きらきらぼし!演奏。

2個

「B メロディ」

、次


8.5 // 変数の定義 Aメロディ="ドドソソララソ∼ファファミミレレド∼"。 Bメロディ="ソソファファミミレ∼"。 // 繰り返しを使った演奏 きらきらぼし=メロディ!作る。 きらきらぼし!(Aメロディ)追加。 「きらきらぼし!(Bメロディ)追加」!2回 繰り返す。 きらきらぼし!(Aメロディ)追加。 きらきらぼし!演奏。

、 「A

2 回繰 返 中 、1 回目

2 個追加

B 。A

条件式

方針 書 換

、繰 返

1」

、次

(「...」) 先頭

回数 受 取

、1 回目

A

「A メロ回数」

、 「A メロ回数==

判断

// 変数の定義 Aメロディ="ドドソソララソ∼ファファミミレレド∼"。 Bメロディ="ソソファファミミレ∼"。 きらきらぼし=メロディ!作る。

// 繰り返しと条件分岐を使った演奏 「|Aメロ回数|   きらきらぼし!(Aメロディ)追加。   「Aメロ回数==1」!なら「     「きらきらぼし!(Bメロディ)追加」!2回 繰り返す。   」実行。 」!2回 繰り返す。 きらきらぼし!演奏。 例

断片

、多 含

入力

演奏

構造

、単

楽譜

表現

合奏

何拍

演奏

、輪唱

、 「かえる 2」

先頭

える 1」

演奏

演奏

。次

8 拍 無音 入 、続 、 「かえる 1」

「か

「かえる 2」

。 使

、複数

演奏

、 「輪唱」 、 「かえる 1」 る 1」

8.5

同時

。音楽 、曲

大切

「かえる 2」

「かえる 2」 同時

演奏

追加 。

。次 、

。輪唱 演奏

、 「かえ

合奏

39


40 Activity 8 音楽 演奏 かえる1=メロディ!作る。 かえる1!"ドレミファミレド∼ミファソラソファミ∼" 追加。 かえる1!"ド・ド・ド・ド・ド8ド8レ8レ8ミ8ミ8ファ8ファ8ミレド∼" 追加。 かえる2=メロディ!作る 8 無音 (かえる1)追加。 輪唱=バンド!作る (かえる1)追加 (かえる2)追加。 輪唱!演奏。

8.6 楽器 変 標準

演奏

楽器

以外

楽器

2台 変

名前

楽器

。先 区別

2

1 台 楽器 ガン 1」

用意

演奏

。次 作

、 「かえる 2」

輪唱 、「オル

設定

演奏

。 かえる1=メロディ!作る。 かえる1!"ドレミファミレド∼ミファソラソファミ∼" 追加。 かえる1!"ド・ド・ド・ド・ド8ド8レ8レ8ミ8ミ8ファ8ファ8ミレド∼" 追加。 かえる2=メロディ!作る 8 無音 (かえる1)追加。 オルガン1=楽器!"オルガン" 作る。 かえる2!(オルガン1)設定。 輪唱=バンド!作る (かえる1)追加 (かえる2)追加。 輪唱!演奏。

楽器

1∼128

、乱数 奏

。乱数

MIDI

楽器番号*2

楽器

指定

数式

、括弧(. . . ) 囲

指定

。実行

。次 、異

記述

かえる=メロディ!作る。 かえる!"ドレミファミレド∼ミファソラソファミ∼" 追加。 私の楽器=楽器!(乱数(128))作る。 かえる!(私の楽器)設定。 かえる!演奏。

8.7 楽譜 音楽

*2

楽譜

付録 E

入力 見

参照。

、曲

入力

楽器


8.7 楽譜

入力

41


42 Activity 8 音楽 演奏


8.8

8.8 打楽器

演奏

、 同様

記述 次 、続

付録 E

らきらぼし」

方 」

楽器

参照

名前

名前

表記 、 「ド」 使

。詳

。使

、「

「きらきらぼし」

「きらりずむ」

。「ドツタツ」

。 、最初

使用 。音階

、 「ツ」

、音

。最後

「きらりずむ」

追加

、 長

半拍 作

演奏

、「き

きらきらぼし=メロディ!"ドドソソララソ∼ファファミミレレド∼" 作る。 きらりずむ=ドラム!"ドツタツドツタツドツタツドタタツドツタツドツタツドツタツクチパン" 作る。 バンド!作る(きらきらぼし)追加(きらりずむ)追加(60)テンポ 演奏。

、 ンド」

名前

名前

付 作

。次 演奏

「マイバ

きらきらぼし=メロディ!"ドドソソララソ∼ファファミミレレド∼" 作る。 きらりずむ=ドラム!"ドツタツドツタツドツタツドタタツドツタツドツタツドツタツクチパン" 作る。 マイバンド=バンド!作る。 マイバンド!(きらきらぼし)追加(きらりずむ)追加。 マイバンド!(60)テンポ 演奏。

43


44

Activity 9

音楽

9.1 琉球音階 自動作曲 沖縄

音階(琉球音階)

琉球音階 。次 後

使

作曲

、「ドレミファソラシ」

「レ」

、「琉球音階」

「ラ」

存在

音階

配列

、基本

音階

演奏

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。 僕の楽譜=メロディ!作る。 僕の楽譜!(琉球音階!1 読む)追加。 僕の楽譜!(琉球音階!2 読む)追加。 僕の楽譜!(琉球音階!3 読む)追加。 僕の楽譜!(琉球音階!4 読む)追加。 僕の楽譜!(琉球音階!5 読む)追加。 僕の楽譜!演奏。

繰 返 音

使

(「...」) 出

「n」

追加

、何回目 取

番号

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。 僕の楽譜=メロディ!作る。 「|n| 僕の楽譜!(琉球音階!(n)読む)追加」!5回 繰り返す。 僕の楽譜!演奏。

琉球音階

配列

1∼5

、5 種類

発生

1 音

数字

5 演奏

出 可能

。乱数 。

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。 僕の楽譜=メロディ!作る。 「僕の楽譜!(琉球音階!(乱数(5))読む)追加」!5回 繰り返す。 僕の楽譜!演奏。

、乱数 組

A

B 。A

短 旋律 作 、

6 個 音 、B


音階

9.2 8個 音 、 「ド∼」

乱数 加

演奏 「ギター」

。曲 後、最後

設定

構成

、A

最後

、A

2 回演奏 、B 演奏

A

。楽器

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。

Aメロディ=メロディ!作る。 )読む)追加」!6回 繰り返す。 「Aメロディ!(琉球音階!(乱数(5) Aメロディ! "ド∼" 追加。 Bメロディ=メロディ!作る。 「Bメロディ!(琉球音階!(乱数(5))読む)追加」!8回 繰り返す。 僕の楽譜=メロディ!作る。 「僕の楽譜!(Aメロディ)追加」!2回 繰り返す。 僕の楽譜!(Bメロディ)追加。 僕の楽譜!(Aメロディ)追加。 僕の楽器=楽器!"ギター" 作る。 僕の楽譜!(僕の楽器)設定。 僕の楽譜!演奏。

音階

9.2 今度

、一定範囲

音階

、最初 「ド」

、2

乱数

音程 書

。続

、基準 音

指定 上

基準

音階

半音 表現

音程

作 、 「楽譜」 分 音

2

。「乱数(24)」 数

、2

50 回追加

「 音上げる 」

演奏

名前

、楽譜

自動作曲

音程

1∼24 上

。最大 24 個 。最後

、作

半音 楽譜

音程=メロディ!作る "ド"追加。 楽譜=メロディ!作る。 「楽譜! (音程! (乱数(24)) 音上げる)追加」!50回 繰り返す。 楽譜! 演奏。

自動作曲 45


46 Activity 9 音楽 楽

利用

9.3 配列

複数

作 場合

応用

自動作曲

演奏

、最初

、演奏

作 。続

最後

、複数

配列

。 同

、楽器

格納

。次

楽器番号

指定

作 集

演奏

フレーズ=配列!"ドレミファミレド∼" "ミファソラソファミ∼" "ド・ド・ド・ド・" "ド8ド8レ8レ8ミ8ミ 8ファ8ファ8ミレド∼" 作る。 パート1=メロディ!作る (楽器!10 作る) 設定。 パート2=メロディ!作る (楽器!11 作る) 設定。 パート3=メロディ!作る (楽器!12 作る) 設定。 「パート1!(フレーズ!(乱数(4)) 読む) 追加」! 8 繰り返す。 「パート2!(フレーズ!(乱数(4)) 読む) 追加」! 8 繰り返す。 「パート3!(フレーズ!(乱数(4)) 読む) 追加」! 8 繰り返す。 合奏=バンド!作る (パート1)追加 (パート2)追加 (パート3)追加(68)テンポ 演奏。

9.4 最後

自動作曲 組

自動作曲 作曲

部分

定義 重奏

。作成

、最初 。

作曲

楽器番号

、調整 便利

。続

値 、笛

変数

選 、 、「↑↑↑」

2 、3 個

打楽器 細

太鼓

倍 。

設定

。最後

太鼓

。 、音符

繰 返 上

。太鼓

半分(8 分音符) 作

、指定

。「↑

。太鼓

決 笛

定義 変更

用意

1

長 長

変数

。笛

、音符

、後

3 選

、音符 配列

。 「↑」 「^」 同 意味 、続 音階

演奏

、笛

定義

太鼓用 音階

定義

7 個 音階

音符

↑」

設定 速


9.4

自動作曲 47

笛楽器=072。曲の速さ=120。音符の数=50。 笛の音=配列!"↑↑レ" "↑↑ミ" "↑↑ファ" "↑↑ラ" "↑↑シ" "↑↑↑レ" "↑↑↑ミ" 作る。 太鼓の音=配列!"ど" "た" "つ" 作る。 笛=メロディ!作る(楽器!(笛楽器)作る)設定。 太鼓=ドラム!作る。 笛:作曲=「|n| 「  音符=笛の音! (乱数(7)) 読む。  「乱数(2)>1」!なら「自分!(音符 + "4") 追加」そうでなければ「自分!(音符 + "2") 追加」実行。 」! (n) 繰り返す」。 太鼓:作曲=「|n| 「  音符=太鼓の音! (乱数(3)) 読む。  「乱数(2)>1」!なら「自分!(音符 + "8") 追加」そうでなければ「自分!(音符 + "4") 追加」実行。 」! (n) 繰り返す」。 笛パート=笛! (音符の数) 作曲。 太鼓パート=太鼓!(音符の数 * 2) 作曲。 バンド!作る(笛パート)追加 (太鼓パート)追加 (曲の速さ) テンポ 演奏。



Part V

通信


50

Activity 10

通信 、

同士 通信 方法

説明

通信

説明

起動 上

通信

起動 。

編集画面 選択

「server」

表示

場合

実行画面

2

確認

10.2 IP 通信 必要

起動

動作

通信

指定

localhost 異

名 、

IP

場合

通信 通信 指定

、次

ラベル!(システム:ipaddress)作る。

命令

場合

名 指定

IP

動作

動作 場合

表示

画面

、画面下

。警告

「ブロックを解除する」 起動

接続

可能

起動

動作

起動

10.1

指定

、通信 仲立

Activity

後、文字

調

、 分

。 。


10.3

接続

10.3 通信

、最初

接続

動作 動作

。異

場合

動作

名前

。次 接続

、 「localhost」 指定

IP

サーバー!"localhost" 接続。

10.4 上

登録

各種

、他

書 上

名前

名前

命令 登録

、指定

複製

。次

、「カメ太」 「kameta」

名前

登録

。 サーバー!"localhost" 接続。 カメ太=タートル!作る。 サーバー!"kameta" (カメ太)書く。

10.5 書

出 、読

。次

用 前 登録 名前

、 、使用中

サーバー!"localhost" 接続。 カメ吉=サーバー!"kameta" 読む。 カメ吉!100 歩く。

命令 上

、読 「kameta」

利 名

上 複製 「カメ吉」

接続

51


52

Activity 11

作 機能

使

、教室

(画面

送信

11.1 最初 力欄

、 作

。画面

入力

入力

(Enter

,

、 「送信フィールド」

次 、

「msg」 中身

、送信

名前 書 込 。送 「クリア」

入 押

文字列

、最後

サーバー!"localhost" 接続。 送信フィールド=フィールド!作る。 フィールド:動作=「   サーバー!"msg" (送信フィールド!読む)書く。   送信フィールド!クリア。 。 」

接続

実行

「サーバー」 、 列):はろー」

表示

書 込 文字列

msg

編集画面 押 。「msg(文字 名前

受信

11.2 次

。 確認

、 「はろー」 分

、 「msg」

受信 文字列

サーバー!"localhost" 接続。 ラベル!(サーバー!"msg" 読む)作る。

。実行 読 出 、

表示

、 。


11.3 発言 名前 入 送信 受信

1台

実行

場合

、次

• 1台

起動

2

画面

送信

受信

一方

入力

起動

• 送信側

実行

接続

受信

後、受信側

複数台

動作

確認

場合

• 複数台 構

起動

。2 台以上

何台

送信

受信

1台

入力

起動

「終了」

記述

10.2 節 手順 調 実行

IP

後、受信側

。 。新 上書

、「書

実行

場合

場合

送信

実行

記述

複数 書

実行

受信

• 送信側

。他

「localhost」 部分 名

、複数人 合

送信

受信

11.3 発言 名前 入 複数 便利 前

発言

。 入

場合

、誰

、 「はろー」

、 「カメ太:

次 。 込

変数

名前

、実際 名前

。「連結」

発言

":"

、文字列

考 入

発言

文字列

文字列

。 。

自分 他

、前 自分 名

、 「名前」

発言

はろー」

「カメ太」 書

名前

連結 連結

命令

。 名前="カメ太"。 サーバー!"localhost" 接続。 送信フィールド=フィールド!作る。 フィールド:動作=「  サーバー!"msg"(名前!": "(送信フィールド!読む)連結)書く。  送信フィールド!クリア。 」。

53


54 Activity 11

11.4 受信 自動化(1) 他

実行

発言 新

通信

発言 、新

発言

信表示」

表示

実行

、受信

大変

、 出力

何度

、定期的 。

1 秒間隔 。

動作

読 、 「受

600 回(10 分間)繰 返 。

サーバー!"localhost" 接続。 受信表示=ラベル!作る 300 45 大きさ。 タイマー!作る 1秒 間隔 600 回数「   受信表示!(サーバー!"msg" 読む)書く。 」実行。

11.5 受信 自動化(2) 、受信

前 、 、

1秒

画面

自動的 書 換 考

。 。

1行 複数個

表示

表示

サーバー!"localhost" 接続。 受信表示=リスト!作る 300 400 大きさ。 タイマー!作る 1秒 間隔 600 回数「   受信メッセージ=サーバー!"msg" 読む。   受信表示!(受信メッセージ)書く。 」実行。

実行

、1 秒

実行結果 。 比較

通信 分

、新

、異

何度

、 (「受信メッセージ」) 場合

追記

発言 場合

次 異

、受信

読 直前

表示

代入

、受信

、直前

発言

修正

、受信

(「直前メッセージ」) 比較

比較

直前

サーバー!"localhost" 接続。 受信表示=リスト!作る 200 400 大きさ 0 200 位置。 直前メッセージ=""。 タイマー!作る 1 間隔 600 回数「   受信メッセージ=サーバー!"msg" 読む。   「受信メッセージ!=直前メッセージ」!なら「受信表示!(受信メッセージ)書く」実行。   直前メッセージ=受信メッセージ。 」実行。


11.6 実行

、1 秒

、画面

表示

通信

、新

11.6 作 、送信

送信 受信

両方

受信

。 次

、11.3 節

結合

11.5 節 作

2

。送信

「メッセージ」

入力

、受信

メッセージ」

表示 位置

調整

「受信 。

サーバー!"localhost" 接続。 サーバー!"msg" "" 書く。 名前="カメ太"。 メッセージ=フィールド!作る 200 45 大きさ −250 200 位置。 フィールド:動作=「   サーバー!"msg" (名前!": " (メッセージ!読む)連結)書く。   メッセージ!クリア。 」。 受信表示=リスト!作る 200 400 大きさ 0 200 位置。 直前メッセージ=""。 タイマー!作る 1 間隔 600 回数「   受信メッセージ=サーバー!"msg" 読む。   「受信メッセージ!=直前メッセージ」!なら「受信表示!(受信メッセージ)書く」実行。   直前メッセージ=受信メッセージ。 」実行。

実行 画面 。

、送信 表示

入力欄 「カメ吉」

受信

表示欄 送

画面

55


56

Activity 12

音楽

交換 機能

使

、教室

音楽

交換

12.1 音楽 演奏 扱

Activity 8

音楽演奏 書

入力

音楽

演奏

、「ドレミー」

。次

「曲」

(Enter

) 押

, 追加

演奏

旋律

曲=フィールド!作る 600 45 大きさ −250 100 位置。 。 曲:動作=「メロディ!作る(自分!読む)追加 演奏」

12.2 音楽 送信 入力

音楽

、 「送信」 込

。次 、曲名

サーバー!"localhost" 接続。 曲=フィールド!作る 600 45 大きさ −250 100 位置。 曲:動作=「メロディ!作る (自分!読む)追加 演奏」 。 曲名=フィールド!作る 130 45 大きさ −380 100 位置。 送信ボタン=ボタン!"送信" 作る −350 50 位置。 送信ボタン:動作=「サーバー!(曲名!読む)(曲!読む)書く」。

実行

文字列 書

12.3 音楽 受信 音楽 名

受信

「受信」

入力

演奏 、

「曲」 (Enter 、

,

。次

押 表示

。曲

押 送信

受信

、曲 曲

曲 共通

使

演奏

。 。


12.3 音楽 受信 サーバー!"localhost" 接続。 曲=フィールド!作る 600 45 大きさ −250 100 位置。 曲:動作=「メロディ!作る (自分!読む)追加 演奏」 。 曲名=フィールド!作る 130 45 大きさ −380 100 位置。 送信ボタン=ボタン!"送信" 作る −380 50 位置。 送信ボタン:動作=「サーバー!(曲名!読む)(曲!読む)書く」。 受信ボタン=ボタン!"受信" 作る −230 50 位置。 受信ボタン:動作=「曲!(サーバー!(曲名!読む)読む)書く」。

接続 次

複数台

動作

確認

場合

• 複数台 構

起動

。2 台以上

何台

入力

1台

起動

「終了」

。 。他

「localhost」 部分 名

記述

10.2 節 手順 調 • 曲 入力 、分 •

編集画面 覧

• 受信

相当

、表示

IP

押 曲

、他

上 閉

曲名

入力

演奏

「 受信 」 (Enter

曲 込

音楽 人

,

映像

視聴

、受信時 い」

、他

場合 。

「了解」

実行画面 押

「 サーバー 」

。自分

。確認

実行

記述

名前

確認

意味

未定義

欄 「[undef]」

「値が存在しな 表示

57


58 Activity 12 音楽 交換

12.4 長 曲 交換( 携帯電話

、 。

音楽

音楽

実行

、他 生徒 受信

2 種類 方法 聴 、先生

聴 作成

1 人 送信

。授業

学習

場合 実行

送信 次

、音楽

、小節 押

6個 分

、最初 曲

曲 一定間隔 合

1行

送信 「曲」

。送信

配列

格納

。「送信」

行数(6 行) 送信間隔(4 秒) 送信

。実行 次 節 受信

サーバー!"localhost" 接続。 曲=配列!作る。 曲!"どどそそららそー" 書く。 曲!"ふぁふぁみみれれどー" 書く。 曲!"そそふぁふぁみみれー" 書く。 曲!"そそふぁふぁみみれー" 書く。 曲!"どどそそららそー" 書く。 曲!"ふぁふぁみみれれどー" 書く。 送信間隔=4。 送信中=ラベル!作る 300 45 大きさ。 送信ボタン=ボタン!"送信" 作る。 送信ボタン:動作=「   行数=曲!要素数?。   送信中!(行数)書く。   サーバー!"配信行数"(行数)書く。   サーバー!"配信間隔"(送信間隔)書く。   タイマー!作る(送信間隔)間隔(行数)回数「|番号|     メッセージ=曲!(番号)読む。     送信中!(メッセージ)書く。     サーバー!"配信"(メッセージ)書く。   」実行。 。 」

送信

後、


12.4 長 曲 交換(

) 59

受信 次

、音楽

ロード」

信間隔 受信 押

後、曲 一定間隔 、曲全体

、曲 実行

際 。

受信

「ストリーミング」

一部

受信

受信

2 、送信

「ダウンロード」

。「ダウン 押

1行

受信

演奏

随時演奏

、最初

「送信」

行数

。 押

画面 、送信 「ストリーミング」

受信 押

直後 押

実 受信

サーバー!"localhost" 接続。 ダウンロード=ボタン!"ダウンロード" 作る 230 45 大きさ −300 50 位置。 ストリーミング=ボタン!"ストリーミング" 作る 230 45 大きさ −300 0 位置。 曲リスト=リスト!作る 200 400 大きさ 0 200 位置。 ダウンロード:動作=「   曲=""。   曲リスト!クリア。   行数=サーバー!"配信行数" 読む。   受信間隔=サーバー!"配信間隔" 読む。   ラベル!(行数)作る −50 200 位置。   時計=タイマー!作る(受信間隔)間隔(行数)回数「|番号|     メッセージ=サーバー!"配信" 読む。     曲リスト!(メッセージ)書く。     曲=曲!(メッセージ)連結。   」実行。   時計!待つ。   メロディ!作る(曲)追加 演奏。 」 。 ストリーミング:動作=「   曲リスト!クリア。   行数=サーバー!"配信行数" 読む。   受信間隔=サーバー!"配信間隔" 読む。   ラベル!(行数)作る −50 200 位置。   時計=タイマー!作る(受信間隔)間隔(行数)回数「|番号|     メッセージ=サーバー!"配信" 読む。     曲リスト!(メッセージ)書く。     メロディ!作る(メッセージ)追加 演奏。   」実行。 」。


60

Activity 13

作 機能 作

。題材

使

、教室

、Activity 6

対戦型

拡張

。 作成

画面

。画面

部分

、 壁

。大 壁

複製

太 下壁

。 。

20

、続

。上下

長方形 打

長方形 線

長方形

壁 、4 個

、線 作

画面 。左

長方形

説明

参照

、内

1)

登場 返

、Activity 6

13.1 壁 作 ( 跳

右側

、左側

最初

左側

作成

。 。

長方形 左壁

簡単 。続

、上壁 。

// 壁を作る(ステップ1) カメ太=タートル! 作る。 カメ太!(緑)線の色 20 線の太さ。 壁=カメ太!550 歩く 図形を作る -200 200 位置。 壁!作る -200 -220 位置。 カメ太!90 左回り。 左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。 パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。


13.2

13.2 画面

表示

2)

上下

。次

、画面 左側 「上ボタン」 「下ボタン」 示

上下

移動

矢印

名前

2

上下

50

// パドルを動かす(ステップ2) 上ボタン=ボタン! "上" "UP" 作る -380 50 位置。 下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。 上ボタン:動作=「パドル! 0 50 移動する」。 下ボタン:動作=「パドル! 0 -50 移動する」。

13.3 「カメ太」

定義

役割

3)

。毎回少

位置

、横 位置 左右 中央 、縦 位置 乱数 使 、−150∼150 。壁

、自然

角度

範囲

// ボールの動きを定義する(ステップ3) カメ太!ペンなし 45 向き。 カメ太!0(乱数(300)-150)位置。 カメ太:衝突=タートル:跳ね返る。

13.4 通信 準備 画面 間

2 報

交換

衝突

4)

状態

必要

画面

同様

画面

必要

。 、自分

状態

、相手

状態

定義

、 「書き込み」 中 情報

存 「t」

込 出

「書き込み」 「読み出し」

次 向

。 「読み出し」 取

4 。詳

、現在

( 「カメ太」 )

「x」、 「y」、 「t」 中

位置

( 「カメ太」 ) 説明

情報「x」、「y」、

実行

6 7

名前 向

位置

相手 画面 必要

2) 61


62 Activity 13 // 通信を準備する(ステップ4)

カメ太:書き込み=「  サーバー!"x" (カメ太!横の位置?) 書く。  サーバー!"y" (カメ太!縦の位置?) 書く。  サーバー!"t" (カメ太!向き?) 書く 」。 カメ太:読み出し=「  x=サーバー!"x" 読む。  y=サーバー!"y" 読む。  t=サーバー!"t" 読む。  カメ太!(x) (y)位置 (t)向き 」。

13.5 通信

5 上

5)

中心的 部分

両方 通信

。行

画面

処理 画面

表示

状態

必要 互

。 次

、最初 、

「書き込み」 作成

実行

接続

、 、

処理

。続

位置

、 書

開始

。本質的

「カメ太」

動作

前進

4 込

動作

1 行 記述

動作

時計!「カメ太!10 歩く」実行。

、他

画面

相手 移動

、移動後

状態

状態

取得

状態

、最初 、 「書き込み」

// 通信しながらボールを動かす(ステップ5) サーバー!"localhost" 接続。 カメ太!書き込み。 時計=タイマー! 作る 60秒 時間 0.2秒 間隔。 時計!「  カメ太!読み出し。  カメ太!10 歩く。  カメ太!書き込み。 」実行。

「 読み出し 」 位置

。続


勝敗

13.6

勝敗

13.6 最後 、

判定

終了

ムクリア」

表示

、詳

。 参照

Activity 6

6) 場合

「ゲー

部分 。

// ゲームの勝敗を判定する(ステップ6) ゲームクリア=はい。 左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。 時計! 待つ。 「ゲームクリア==はい」! なら「   ラベル! "ゲームクリア! "作る (青)文字色。 」そうでなければ「   ラベル! "ゲームオーバー! "作る (赤)文字色。 」実行。

1 左側

画面

6 実行

全体 。

掲載

判定

6) 63


64 Activity 13

// 壁を作る(ステップ1) カメ太=タートル! 作る。 カメ太!(緑)線の色 20 線の太さ。 壁=カメ太!550 歩く 図形を作る -200 200 位置。 壁!作る -200 -220 位置。 カメ太!90 左回り。 左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。 パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。

// パドルを動かす(ステップ2) 上ボタン=ボタン! "上" "UP" 作る -380 50 位置。 下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。 上ボタン:動作=「パドル! 0 50 移動する」。 下ボタン:動作=「パドル! 0 -50 移動する」。 // ボールの動きを定義する(ステップ3) カメ太!ペンなし 45 向き。 カメ太!0(乱数(300)-150)位置。 カメ太:衝突=タートル:跳ね返る。

// 通信を準備する(ステップ4) カメ太:書き込み=「  サーバー!"x" (カメ太!横の位置?) 書く。  サーバー!"y" (カメ太!縦の位置?) 書く。  サーバー!"t" (カメ太!向き?) 書く 」。 カメ太:読み出し=「  x=サーバー!"x" 読む。  y=サーバー!"y" 読む。  t=サーバー!"t" 読む。  カメ太!(x) (y) 位置(t)向き 」。

// 通信しながらボールを動かす(ステップ5) サーバー!"localhost" 接続。 カメ太!書き込み。 時計=タイマー! 作る 60秒 時間 0.2秒 間隔。 時計!「  カメ太!読み出し。  カメ太!10 歩く。  カメ太!書き込み。 」実行。

// ゲームの勝敗を判定する(ステップ6) ゲームクリア=はい。 左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。 時計! 待つ。 「ゲームクリア==はい」! なら「   ラベル! "ゲームクリア! "作る (青)文字色。 」そうでなければ「   ラベル! "ゲームオーバー! "作る (赤)文字色。 」実行。


実行

13.7

実行

13.7 節

作成

7)

動作

、単体

相手

。実行

画面

協調

手順

説明

。 、

起動 、

左側

、右側

使

画面

実行

込 画面

実行 調 。

画面

配置

、 両方 位置

100

、別

画面

。左側

、 、

左側 必要

画面 示

設定

、 左右逆

表示

実行

初期位置

必要

server

、開

面 自然 位置 表示

IP

編集画面 画面

、画面上

変更

画面) 開 、右側

。右側 画面

実行

画面自体 次

画面 起動

入力 。

起動

起動

役割

実行 実行

場合

場合 、左側 名

中 「localhost」 部分 書 換

7) 65


66 Activity 13

// 壁を作る(ステップ1) カメ太=タートル! 作る。 カメ太!(緑)線の色 20 線の太さ 180 右回り。 壁=カメ太!550 歩く 図形を作る 200 200 位置。 壁!作る 200 -220 位置。 カメ太!90 右回り。 左壁=カメ太!(黄)線の色 440 歩く 図形を作る 210 -230 位置。 パドル=カメ太!(青)線の色 120 歩く 図形を作る 190 -210 位置。

// パドルを動かす(ステップ2) 上ボタン=ボタン! "上" "UP" 作る 230 50 位置。 下ボタン=ボタン! "下" "DOWN" 作る 230 0 位置。 上ボタン:動作=「パドル! 0 50 移動する」。 下ボタン:動作=「パドル! 0 -50 移動する」。 // ボールの動きを定義する(ステップ3) カメ太! ペンなし。 カメ太!0(乱数(300)-150)位置。 カメ太!45 向き。 カメ太:衝突=タートル:跳ね返る。

// 通信を準備する(ステップ4) カメ太:書き込み=「  サーバー!"x" (100+(カメ太!横の位置?)) 書く。  サーバー!"y" (カメ太!縦の位置?) 書く。  サーバー!"t" (カメ太!向き?) 書く 」。 カメ太:読み出し=「  x=サーバー!"x" 読む。  y=サーバー!"y" 読む。  t=サーバー!"t" 読む。  カメ太!(x-100)(y)位置(t)向き 」。

// 通信しながらボールを動かす(ステップ5) サーバー!"localhost" 接続。 //カメ太!書き込み。 時計=タイマー! 作る 60秒 時間 0.33秒 間隔。 時計!「  カメ太!読み出し。  カメ太!10 歩く。  カメ太!書き込み。 」実行。

// ゲームの勝敗を判定する(ステップ6) ゲームクリア=はい。 左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。 時計! 待つ。 「ゲームクリア==はい」! なら「   ラベル! "ゲームクリア! "作る (青)文字色。 」そうでなければ「   ラベル! "ゲームオーバー! "作る (赤)文字色。 」実行。


Part VI


68

Activity 14

使用

教材 、

Activity

制御 行

環境設定 使用

教材 解説

14.1 制御 必要

、Java

通信

• Java 付

版(○):

外部機器 制御

版(△): Java

• Java 必要

作業

作業

必要

、Java

。通信

管理者権限

版(×):

通信

最初

必要。

外部機器

制御

接続

14.2 動

存在 利用

。必要

検索

場合

場合

、Web

、数種類

製品

変換

「USB

」 。入手

、商

確認 作成

必要

、USB

必要

14.3 通信

接続

、使用

調

WindowsXP ティ」

場合*1

、 「 マイコンピュータ 」

、 「ハードウェア」

、「ポート(COM と LPT)」 場合

*1

Macintosh 定

製品名

Linux

「 プロバ

「デバイスマネージャ」

COM 分

"COM1"

表示

部分

。USB

変換

場合

、通信 使用


14.4

14.4 本書

解説

MYU 制御 部分

命令

画面

MYU 構造化命令 記述

解釈

部分

PIC

機能

、自律的

動作

文法

存在

、CPU

。 、 限

制御 違

製品

、通常 本書

記述

注意

開発・販売 採用

搭載

製品

I/O(外部

CPU

、 可能

*2 。

必要

転送 。転送

上限

*3 。

127 詳

MYU

説明

解説

本書

紹介

命令

、次

「構造化

」 (

http://www.geocities.jp/shuinoue/myurobo/dolittle.html 「MYU

入門」「MYU

命令」 (

言語「

」)

http://dolittle.eplang.jp/

基本 基本

、車型

検出用 個

。写真

前輪

。両方

方式

同時

回転

回転 。写真

右側

電気部品

動作

。2 回転

、片方 使

電池

基板 行

車輪

頭脳

基本 3 個使 使

使

基板 監視

衝突

2 軸制御 呼

。左右

先頭 検出

独立

制御

制御

3軸

、左右

直進

中央

左側

障害物

、2 個

。写真

、壁

、物

移動

動作

基本

作業

3 軸制御 可能

。2 軸

、3 軸 、行

2個

1個 幅

。 、移動

作業 十分

両方 行

必要 、作業

、最初 行

移動 望

*2

制御用 構文 、井上修次氏( 秀治氏(静岡大学) 設計 *3 2 CPU 交換

)、青木浩幸氏(高麗大学校大学院)、紅林 。 、255 扱 。

69


70 Activity 14 使用

教材

14.5 対話的 操作 転送 話的 操作 太

命令

実行 可能

。次 動作

、 行

//ロボットと転送ケーブルでつないでリモコン操作 ロボ太=MYU!"com1"作る 150 200 位置。 ロボ太!ひらけごま。 前進ボタン=ボタン!"前進" 作る -220 150 位置。 前進ボタン:動作=「ロボ太!前進」。 後進ボタン=ボタン!"後進" 作る 0 150 位置。 後進ボタン:動作=「ロボ太!後退」。 左前ボタン=ボタン!"左回り" 作る -220 100 位置。 左前ボタン:動作=「ロボ太!左回り」。 右前ボタン=ボタン!"右回り" 作る 0 100 位置。 右前ボタン:動作=「ロボ太!右回り」。 停止ボタン=ボタン!"停止" 作る -110 -10 位置。 停止ボタン:動作=「ロボ太!停止」。 音1ボタン=ボタン!"音1" 作る -220 -70 位置。 音1ボタン:動作=「ロボ太!15 電子音」。 音2ボタン=ボタン!"音2" 作る -110 -70 位置。 音2ボタン:動作=「ロボ太!16 電子音」。 終了ボタン=ボタン!"終了" 作る 0 -70 位置。 終了ボタン:動作=「ロボ太!とじろごま」。

対 押


71

Activity 15

動 記述

15.1 制御

MYU 2 行目 末尾

基本形

転送

名前

、定義

実行

転送

。先頭

定義

転送

。「com1」

間 番号

番号

MYU

、「com2」

。 記述

。実行 修正

実行

必要

ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  //ここに制御プログラムを書く おわりロボット」。 ロボ太!転送命令。

実際 り」

単位

秒間右

0.1 秒

回転

動作

制御

。次

、「前進」 、

。表 15.1

「右回

1 秒間前進 、0.5

使用

命令

ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  10 前進 5 右回り おわりロボット」 。 ロボ太!転送命令。

実行

15.2 作成

転送

実行

実行 接続

転送

。 「実行!」

場合

押 修正

、「[転送準備 OK?]」

、転送画面

表示

再度実行

表示

表示 正


72 Activity 15

表 15.1

命令

命令(一部)

用途

使用例

制御

先頭

制御

末尾

前進

両輪

前転

開始

値× 0.1 秒間

後退

両輪

後転

開始

値× 0.1 秒間

待 値× 0.1

10 前進 10 後退 10 右回

値× 0.1

10 右回

値× 0.1 秒間

10 停止

左車輪 前転、右車輪 後転 開始 、

右回

秒間

右車輪 前転、左車輪 後転 開始 、

左回

秒間

待 停止

停止

後、

待 繰

脱出

指定

回数

入力

指定

番号

「転送」

、最後

正常

入力

、正常

方法

、好

。「ピ・・」

転送

終了

音 分

方法

2 種類

入 使

電源

方法

、 「!はじめロボット」 続

、電源 状況

1 入力

。今回

方法

転送 入

行 抜

実行

実行 開始

中断

「! 5

、転送

、先頭

方法

ON

転送

転送 説明

、繰 実行

「ピピ」

転送

実行 分

記憶

再度実行

。電源

可能

性質

15.3

、「前進」 、次

関 、確実

命令

実行

1 秒間

動作

動作

継続

動作

、「10 前進 停止」

命令

場合

、明示的

動作

実行

性質

、「10 前進」 停止

記述

書 必要

。 性質 入力

監視

」 「音

、 」

動作 処理

並行 可能

「 。

脱出

2 時間」3 繰 返 「! 10 後退」実行


15.4 繰 返

15.4 繰 返 繰

、命令

使

実行

。次

10 回繰 返 。結果

して右回り」

、「前進

多角形

移動

。 ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  「!10 前進 5 右回り」10 繰り返す おわりロボット」 。 ロボ太!転送命令。

回数

、 条件 使 次

繰 成

省略 返

立 多

場合 命令 繰

、無限回

実行 返

意味

、無限

。無限

使 返

場合

脱出 組

、 合

。 実行 障害物

、 検出

ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  「!10 前進    1 入力あり「!繰り返し脱出」実行    5 右回り  」繰り返す  10 後退  停止 おわりロボット」 。 ロボ太!転送命令。

多角形 抜

描 。

移動

73


74

Activity 16

迷路

16.1 想定 章 大

、迷路

180cm × 90cm(

。想定

一畳分)程度

想定

16.2 移動距離 迷路 抜 最初

、壁

作成 直前

、図

前進

、左

距離

「壁

直前

、...」

制御 、前進

時間

指定

角度

回転

前進

何度

動作

消耗

微妙 到達

距離

角度

指定

。実際

距離

確認

必要

、実行 。 、次

調整

時間

返 方法

実行

移動

、最初

指定 場合

、次

操作

試行錯誤 原因

、実行

。 、摩擦 電池

、右

回転

到達

保証

調整

画面

似 回転

、進

、同 、

状態 到達


入力

16.3

入力

16.3 今回使用 壁

入力

衝突

動作

衝突検出用

接続

実現

利用

、電池 消耗

個体差

、前進

影響

確実

。 、障害物

感知

説明

検知 、「前進

検出 先頭

、1 番

検出 75

後退

動作

「!1 入力なし」の間「!前進」実行

1番 結果、

「前進」

(「...」) 実行 繰

実行

!10 後退 10 右回り

実行

。表 16.1

命令

ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  10 前進  「!    「!1 入力なし」の間「!前進」実行    10 後退 10 右回り  」繰り返す 。 おわりロボット」 ロボ太!転送命令。

表 16.1

命令

命令(一部)

用途

使用例

停止

0.1 秒間) 1番 第1

電子音 繰

返 返

指定

後、

時間

、第 2

値(×

10  停止

音程

10   40

待 入力

鳴 繰

停止

直前

。音程

数字

回数

動作

続 低

実行

脱出

繰 返

... 実行

指定

番号

指定

条件 成 立 間、

中 書 、繰 返

「! 5   中断

2  時間」3  繰

脱出

進 入力

間... 実行

入力

実行

ON

繰 返

1  入力 実 「! 1  入力

行 実行脱出

「 間... 実行」 次

中 書 、繰 返

中断

実行脱出

「! 10  後退」実行 」

間「! 前進」実行


76 Activity 16 迷路 抜

参考 1: 入力

実行

入力 。

。書

検出 中

、入力

実行

方法

特定

動作

動作

方法

1番

、複数

、入力

、前

(「...」) 実行

方法

結果、

「前進」

!10 後退 10 右回り

実行

ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  10 前進  「!前進    1 入力あり「!10 後退 10 右回り」実行  」繰り返す 。 おわりロボット」 ロボ太!転送命令。

参考 2: 入力 繰 方

実行 返

、前

中 例

、入力 動作

間、特定

) 、

進行 維持

、前進

進行

再開

!10 後退 10 右回り

実行

方法

1 番入力 接続

押 実行

動作

方法 示

。書

「前進」

ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  10 前進  「!前進    リミットスイッチ    10 後退 10 右回り  」繰り返す 。 おわりロボット」 ロボ太!転送命令。

。 続

結果、 。

( 直前 押


16.4

定義命令

16.4 、

定義命令

独自

先頭

命令

定義

。構文

記述

定義

同様

。 ロボットオブジェクト:命令=「!...」

、音楽

「Uターン」

命令

演奏

、障害物

定義

感知 。実行

動作

「演奏」

命令

1 入力あり「!演奏 Uターン」実行 記述 」

、 「1 番 、

向上

入力 素直

場合 読

ロボ太= MYU !"com1" 作る。 ロボ太:演奏=「!  2 48 電子音2 46 電子音2 44 電子音2 42 電子音  2 40 電子音2 38 電子音2 36 電子音2 34 電子音 」。 ロボ太:Uターン=「!10 後退 10 右回り」。 ロボ太:転送命令=「!はじめロボット  演奏  「!前進    1 入力あり「!停止 演奏 Uターン」実行  」繰り返す おわりロボット」 。 ロボ太!転送命令。

演奏 、

U 読

定義命令

77


78

Activity 17

運 17.1 想定 、

Activity

追加

仕事

*1 。想定

180cm × 90cm( 。

一畳分)

中央

(建築工事用

2×4材 置 、

、物 図

。大

合板)

想定

上 荷物

緩衝

拡張

17.2 3 個目 取

、荷物

回転

検知

2 個取 付 、衝突検知用 。

構造 図

角度検知用 知用

*1

2 番、後 4番

Activity

示 。

支 、本体

上部

前後 取 付 、前 衝突検知用 角度検知用

3 番、後

、 「3 軸ミュウロボ基本セット」(14.4 節)

必要

配線

1 番、前

衝突検


17.3

17.3 中央

資材置場

荷物

。 前進: 資材置場

1. 止

、前

後退

、後

。 持

2.

:

資材

。 後退:

3. 止

4. 荷物 後

落 戻

5.

:

:

、後

角度検知用

。 回

、前

角度検知用

ロボ太=MYU!"com1"作る。 ロボ太:転送命令=「!はじめロボット  パワーオンスタート  「!1 入力なし」の間「!前進」実行  5 モーター左  「!4 入力なし」の間「!後退」実行  「!3 入力なし」の間「!モーター左」実行  「!2 入力なし」の間「!モーター右」実行 。 おわりロボット」 ロボ太!転送命令。

17.4 命令 定義 複雑

、分

処理

。 処理

名前

理解 書

前進」

名前

定義 持

定義命令

付 付 読

処理

定義命令 、 可能

使

。 中

個々

最 処理

具体的

79


80 Activity 17

ロボ太=MYU!"com1"作る。 ロボ太:ぶつかるまで前進=「!「!1 入力なし」の間「!前進」実行」。 ロボ太:アームを持ち上げる=「!5 モーター左」。 ロボ太:ぶつかるまで後退=「!「!4 入力なし」の間「!後退」実行」。 ロボ太:荷物を後ろに落とす=「!「!3 入力なし」の間「!モーター左」実行」。 ロボ太:アームを戻す=「!「!2 入力なし」の間「!モーター右」実行」。 ロボ太:転送命令=「!はじめロボット  パワーオンスタート  ぶつかるまで前進  アームを持ち上げる  ぶつかるまで後退  荷物を後ろに落とす  アームを戻す おわりロボット」 。 ロボ太!転送命令。

17.5 定義命令

複数

、 大 化

有効

実行

場合

節約 入

化 。

16.4 節

「演奏」

箇所

転送

定義

改良 後

定義命令

ロボ太!"演奏" ブロック化。

化 、

。 、転送

効果

69

。 ロボ太= MYU !"com1" 作る。 ロボ太:演奏=「!  2 48 電子音2 46 電子音2 44 電子音2 42 電子音  2 40 電子音2 38 電子音2 36 電子音2 34 電子音 」。 ロボ太!"演奏" ブロック化。 ロボ太:Uターン=「!10 後退 10 右回り」。 ロボ太:転送命令=「!はじめロボット  演奏  「!前進    1 入力あり「!停止 演奏 Uターン」実行  」繰り返す おわりロボット」 。 ロボ太!転送命令。

52


Part VII

付録


82

付録 A

授業

利用 小学校

、授業

大学

幅広

利用

範囲

参考

利用可能

。企業

授業例

紹介

新人研修

使

以下 授業例 、授業回数 難易度 、中学校技術・家庭 高校普通教科「情報」 、大学 共通科目程度 想定 。小学校

45 分

、高学年以上

50 分程度 想定

、多少時間

程度

実施可能

。1 回

授業時間

A.1 体験 時間: 2 回(高校以上

1回

可能)

入力

: 授業

目的:

授業

目標:

仕組

体験 人間

版、

: 学習環境:

理解

室。教員 1 名

授業内容:

移動 (Activity 1)

1 (Activity 4)

2

仕組

時間: 3 回∼4 回 入力

: 授業

目的:

授業

目標:

:

1

版(

実習

4

不可) 、

室。教員 1 名 対話的 操作 (Activity 1, Activity 2) (Activity 4)

2 3

体験 人間

学習環境: 授業内容:

仕組

(Activity 3) (Activity 10, Activity 11)

動 版

理解


A.2

83

作 時間: 9 回 入力

: 授業

目的:

授業

目標:

体験 作品 版、

: 学習環境:

室。教員 1 名

授業内容:

(Activity 1)

定義、図形(Activity 1, Activity 2)

3 4

、衝突

使

1 2

(Activity 3, Activity 4)

衝突(Activity 5)

5, 6 分岐、

(Activity 6)

7, 8 作品制作 9

相互評価・発表

A.2 仕組 時間: 4 回 入力

: 授業

目的:

授業

目標:

存在

。 気

、通信 同士

学習環境:

生徒

授業内容:

1

IP

2

音楽

3

1行

4

複数

LAN 、

楽 通信

(Activity 11) (Activity 11)

体験的

接続

理解

室、教員 1 名 読

配信(Activity 12)

(Activity 10)


84 付録 A 授業

利用

制御

A.3

踊 時間: 4 回 入力

: 授業

目的:

授業

目標:

家電製品

機器

移動

制御

制御

理解

: 学習環境:

授業内容:

)。教員 1 名

場所(廊下

移動命令 動

1

命令

2∼4

(Activity 14)

!(Activity 15)

迷路脱出 時間: 6 回

: 「 授業

目的:

授業

目標:

踊 制御

外部

」 入力

学習環境:

授業内容:

理解

利用

利用

:

内容 壁

迷路

理解 衝突

検知

作成

。教員 1 名

入力

1∼4 迷路

5∼6

挑戦

(Activity 14, Activity 15)

挑戦

(Activity 16)

時間: 11 回

: 「

迷路脱出」

授業

目的:

授業

目標:

身近

作業

大切

競技

作成 、構造化

。教員 1 名

制御

1∼2 玉入

製作。

3∼4 玉入

動作確認

5∼7 繰 返 8∼9

理解

学習環境:

10∼11 物 運

理解

使

3軸

理解 仕組

機械

: 授業内容:

内容

製作

2軸

利用 利用

拡張

(Activity 16) 動

。繰

完成(Activity 17)

脱出(Activity 17)

部品化


85

付録 B

書 文章

)文章

理解

(悪

)文章

説明

B.1 、簡単

、「目的

(a) 決 授業

指示

課題

作 作

、目的

(b) 自由

、仕事 」

達成

場合

2

、目的

注文

要求

場合 。

相当

自由作品

課題

。 目的

」 、次

。「

授業

達成

作 達成

、自分

程度自由

目的

。自分

場合

相当

B.2 自由 作

基本的

、目的 選

確実

伝授

素早

(1)作 作 「完成

画面

具体的 様子

最初

機能 簡単

全体

思 理解

。頭 絵

必要

、 動

大切

、動

(2)

」 中

始 様子

。 生

考 、書 、何十行

長 、自分

。長 理解


86 付録 B

、大

3∼5 個 行

動作

、次

、画面

、何

全体

(「//」)

、Activity

、最終的

機能

置 作

確認

作 上 書

2)

結果

画面

、画面

、自分

前進

、画面

遊 (

操作

動 次

。 作

主役 (

参考

1)

順番

紹介

4個 先頭

最初

、Part III

。 (

簡単

。機能

「宝物拾いゲーム」

1

必要 機能 考

。最初

重要 機能

5

、作

、主役

2

前進

定義

3) 宝物 画面 置 続

、脇役 全体

登場

完成

、衝突

、脇役

3

動作

宝物

画面

4) 宝物 拾 最後

足 動作

(3)1 行

機能 作 、

定義

、長 入力 多

問題

慣 望

衝突

原因

実行

、何

調

簡単

表示

、思

基本的

、原因

調

1 行入力

実行

動作 確

、 進

実行

本来楽

作業

実行

表示

場合

、問題

効果

。「

問題

箇所

、問題

*1 。

探 直前

入力

」「

確認

。確認

完成

Activity 1

異 参照。

、次

数行 、

、「少

。 手

部分

行 先頭 「//」 書

動 考

作業

確認

上達

達成

、問題

調

(4)目標

体験

、前回実行

。必要 応

、 早

確認

実感 、

実行

*1

10 行

動 行

宝物

4

作 動

、 「

実行

完成

共通

部分 求

行 分


B.2 考

方 87

(目的

達成)

課題

達成

作 (正

確認 動

) 実行

実行 (読

、途中 )

一週間後

自分

確認

理解

整理

。機能

先生

、機能

理解

説明

重要

。 自由課題

作品

(面白

他 (独自

目的

図形

、次

自分 見

工夫

達成感

大切

使 、使

確認

工夫点 配置

重要

形 人

使

工夫点)

(画面 他

、自分

、見栄 作品

仕上

使 。

重要


88

付録 C

言語 、最初

基礎知識

基本的

概念

原理

説明

簡単

説明

後、

言語

C.1 我々

普段

使

。Web 寄

画面

表示

配置

替 実

文字

具体的

1

、画面上 「

命令

順番

実行

装置(機械)

落 着 。

2

:

実行 単

?

、次

?

命令 並 形

整形

作業

作業 答

相手

画像

答 問

打 中身

、我々

情報(HTML

印刷

、 」

命令

動作

命令

実行

装置

命令

実行 替

作業

「自分

実行

、具体的 組合 )

命令

、命令

命令

作 並

列(

代 、

表 、人間

言語

作業

説明

延長

情報

、一番根本部分 実行

命令

「0」

「1」

CPU(中央処理装置

大変繁雑 間違 書

、 。

? 表 作

、上

列(機械語)

種類

情報)

、 「0」 「1」 組 合 。

、今日 方

行 言語

。 書

実際

実行


C.2 語処理系)

使

方式(

言語処理系

言語

、次節以降

一般

機械語

直接

動作

変換

実行

方式

) 呼

情報(

。我々 日常生活 接 同様

、色、機能

、大

) 「

採用

場合

大 上

言語 上

情報

、 、 表

付随 情報

情報

総称

、形、色、機能 持

情報 付随

統一的 言語

指向言語 多 使

言語 方式

、色、機能 。

内容

、変数

言語

言語処理系

C.2

命令

。現在

言語

一般的

、変数 89

指向言語

。C++、Java

機能 。今日

付随 開発

指向言語 例

指向

。 中

直接名前 付

変数

、変数

1」 説明

名前

変数

) 。

ボタン1 = ...。

、 、

名前

付 入

不便 「

」 名前

。 格納

、 「=」

右側

指定

動作(代入) 「=」 表 。 格納

、次

(指定


90 付録 C 変数

変数 、

言語

基礎知識

」 内容

、 名前」

差 使

。 名前

変数

指定

方法

。 変数

名前

。 、決

普通、書

一連

、「

変数

最初

格納

標準

1

場合

標準的

付随

1

、 固有

内容(

名前

、次

、変数名

。変数

「:」

格納

区切

指定

。 ボタン1:動作 = ...。

変数

送信

C.3 前節

付随

「機能」

付属 指向言語

通常、機能

、 、新

付随

作 、次

付属

、 指定

「呼

(表示欄)

機能

以下

)機能

標準

1」 格納

。 機能」

、本書

、通常 名前

変数「

使 出

(動

頂 、働 「作

。 )」

ボタン1 = ボタン!作る。

、 「オブジェクト ! メソッド名」 送信

、最後

書 方

動作(文) 呼

「。」 、

送信 。

、必要

終 追加

情報

文字列

「作

。先

」 直

表示

:

ボタン1 = ボタン!"テスト" 作る。

実行

、先程

同様


C.4 中置記法 91 、実行 出

、続 行

値(

。1

、前

送信(

、 呼

後、何

(直列接続)

後、

位置 指定

。 、

「位置」

ボタン1 = ボタン!"テスト" 作る 100 50 位置。

複数個指定 分

扱 名

。 「" "」

指定

文字列

、変数名

値 自体

、変数「

「作

(C.4 節

送信式全体

「位置」 値

位置

定義内容 作

値) 変更

)。

、一番最後 。 分

、「?」

原則

説明

後、

名前

目的

同 返

」 「∼

名 。変数

値(

1」 格納

調

名前

指定

、元 目的

性質

格納

標準定義 作

C.4

名前

「 (x)」

場合、

何 、

数値

「() 」 囲

。上 返

、並

? 実 、「!」 右側 、 「100」

場合、変数 返

例外

、新

名前

中置記法 中置記法

演算

書 方

。中置記法

「x+ 1」

、 「(…)」

中置記法

上 説明

1 、

式 全体

1 送信記法

処理 指定

外側 有無

別 判断

、計算対象 間 演算 書 例

送信記法

送信記法

、「!」

送信

送信記法 。

、全体 中置記法

1

、加減乗除

「x! 1 足

中置記法 選


92 付録 C

言語

中置記法 。

基礎知識

送信記法

対 、

名前

送信記法 中

名 (囲

「x!(y)足

1

名前

変数 、中置記法

「 (y)」 丸

変数

「!」 左側

、 )。

直接変数 書

中置記法

、中置記法

、 「!」 右側

指定

場合

「(…)」 囲

「x+y」

送信記法

(「!」

)中置記法

必要

中置記法 中 使

演算子

、+(足 ) 、-(引 ) 、*(掛

使

<=(le)

名称)。

)、/(割 ) 、%(余 )

、比較演算子==(eq)、!=(ne)、>(gt)、>=(ge)、<(lt)、

、中置記法 中

関数記法 使

任意

、 「sqrt (2)」 「2 ! sqrt」 略

)」

。 中置記法 使 場合

+ 1」

全体 括弧「 (…) 」 囲 必要

可能

、代入文 右辺

括弧 省略

、 「x = x

C.5 角

(「…」 部品化

[…]) 、

仕組

、一連

表 動作

。 、

以外

30

動作

表示

「後

実行

実行 実行

、繰

取 方法

実行

動作

多数

)。次

。 」

実行

(以下

2 回実行

x = 10。 動作1=「x=x+10」。 動作1!実行。 動作1!実行。 ラベル!(x)作る。

実際

」価値

場面

使

、次

。 ボタン1 = ボタン!"テスト" 作る 10 50 位置。 ボタン1:x = 10。 ボタン1:動作 = 「x = x + 10。ボタン1!(x)50 位置」。

、前

1

例題

同様

「動作」

後、

格納

自身 実行

対応

x

結果 再

。 先頭 受

(C.10 節

、 。

。 呼

、x 等

)。

。次 、 押

「|…|」

「動作」

説明

格納

x

格納

。 、

算 、

10

格納 押

位置 位置

x

格納

X 座標 10

、渡

x

10

値、Y 座標

50

移動

計 変

。 呼

初期値

出 持

渡 変数


制御構造 93

C.6 。

、 「実行」

C.10 節 詳

説明

動作

。(

変数

カメ太=タートル!作る。 カメ太:曲がって動く = 「|角度 距離|!(角度)右回り(距離)歩く」。 x = カメ太!30 100 曲がって動く 横の位置?。 ラベル!(x)作る。

「!」

、特別 例

名前「自分」

「自分!…」

太自身 出

持 書

指定

使

全体 値

。従

1

指定

、最後 評価

利用

。上

「曲

式 値

、最後 返

評価

X 座標 調

「歩

値 返

返 「横

値、

位置?」

制御構造

C.6

自身

指定回数

使

基本

制御構造

実現

。以下

説明

使

返 繰

。繰

回数(任意

「...」!n 繰り返す。

使 数値)

動作 指定

指定回数、繰 。

実行


94 付録 C

言語

基礎知識

実行

表示

、初期値

変数 「a」

0

1

処理

10 回行 、結果

画面

10

「i」

a=0。 「a=a+1」!10 繰り返す。 ラベル!(a)作る。 現在

何回目

実行

「|i| ...」!n 繰り返す。

実行

処理

10

、初期値

10 回行 、結果

変化

画面

結果、 「a=a+i」

「0 + 1 + 2 + ...

変数 「a」

0

表示

55

。「i」

実行

+ 10」

、何回目 繰 返

「a」

合計

表示

値 、繰 返

実行

1, 2, 3, ...,

順 足

1, 2, 3, ..., 10

、結果

a=0。 「|i| a=a+i」!10 繰り返す。 ラベル!(a)作る。

条件

最初

回数

指定 間

、条件

実行

指定

使

条件

間繰

場合

「...」!の間「...」実行。

、100 以上

最初

表示

x1=1。x2=1。 「x1 < 100」!の間「z=x2+x1。x1=x2。x2=z」実行。 ラベル!(x1)作る。 「

間」

、1 番目

返 。 出

、「1 番目 実行」→「結果

実行」→「結果 真

保持

、繰

2 番目 真

続行」→…

調

準備 「実行」 呼

続行」→「2 番目 繰

実行」→「1 番目 行


制御構造 95

C.6

条件分岐 条件分岐(枝分

条件 実行

成否

一部 記述

実行

。条件分岐

「...」!なら「...」実行。 「...」!なら「...」そうでなければ「...」実行。

、1 番目

2 番目

実行

2 番目

3 番目

、最初

。結果

1

。 「

下 」

、実行

乱数 発生 、変数「数」

10

「なら」

実行

実行 返

判定 、真 実行

適宜行

実行 大

結果 場合

制御

5

実行

実行 、偽

、画面 「大きい」

。続

、 「数」

「そうでなければ」 続

「小さい」

表示

数=乱数(10)。 「数 > 5」!なら「ラベル!"大きい" 作る」 そうでなければ「ラベル!"小さい" 作る」実行。

値 れば」

実行結果 続

表示

結果

文字列

画面

。次 、

表示

実行

、「なら」 「結果」

変数

、最後

実行

「そうでなけ 。

数=乱数(10) 。 結果=「数 > 5」!なら「"大きい"」そうでなければ「"小さい"」実行。 ラベル!(結果)作る。

他 後

言語 次

調

「if-else 条件

連鎖」 書

呼 記述

、複数 。

条件

、次

調 形

「条件1」!なら「...」そうでなければ「条件2」なら「...」 そうでなければ「条件3」なら「...」そうでなければ「...」実行。

枝分


96 付録 C

言語

基礎知識

C.7 動作 用

実行

遅延

、一定時間間隔

実行

場合

実行 、 。標準

指定

、間隔

間隔

0.1 秒、回数

実行

時間間隔

回数

100 回 設定

指定 設定

、指定

実行

。最初

時間

実行

出 実行

、指定

間隔

タイマー!「...」実行。

実行 動

2」

移動

移動

、 「はろー」 命令

。 「3

意味

文字

-2

移動する」

一定間隔

表示=ラベル!"はろー" 作る。 時計=タイマー!作る。 時計!「表示!3 -2 移動する」実行。

、画面 繰

右下

、 返

。移動

現在 位置 実行

、文字

、画面

「右に 3」、 「下に 少

画面


C.7

97

動作設定 繰

間隔

、 「時計! 0.2  間隔。」

回数

、 「時計! 10  回数。」

実行

間隔

。回数

、画面

「間隔」

文字

右下

10 回 設定

指定

「回数」 移動

。間隔

、5 秒間動

終了

。単位

指定

0.5 秒 設定

距離

、直前

、標準

0.1

10 倍 大

表示=ラベル!"はろー" 作る。 時計=タイマー!作る 0.5 間隔 10 回数。 時計!「表示!30 -20 移動する」実行。

作 見 場合 負荷

、放送 標準

考慮

0.1 秒

、最小

使

場合、 映像

0.001 秒(1

秒)

動作 、間隔 回数 指定 計! 10  時間。 」

動作 間隔

実行

指定

100 回実行」 「0.1 秒間隔

実行

場合

場合

動作

処理

0.1 秒間隔

100 回実行

• 0.2 秒

処理

0.1 秒間隔

10 秒間実行

、 「必

指定

回数

現在

0.04 秒程度 間隔 短

。単位

0.1 秒

設定

可能

設定

。 。繰 返 時間 、 「時

、繰 返 間隔

0.2 秒程度

時間

動作

0.1 秒

処理

指定

、標準

10 秒間実行」 動作 同

可能性

• 0.2 秒

時間

間隔

、間隔 時間 指定

「時間」

通常、 「0.1 秒間隔

0.02 秒

0.02 秒程度 適切

間隔

実行

実行

場合

、約 20 秒

場合 回数

100 回 実行 行

、10 秒 指定

約 50 回

、「必

実行

時間内 実行

。 。 」

回数 何回目 実行

利用 実行

、繰

、繰 返

同様 移動

距離 長

、結果

。次

進 速度 速

表示=ラベル!"はろー" 作る。 時計=タイマー!作る。 時計!「|i| 表示!(i)0 移動する」実行。

合 通常、上

実行

実行

実行

。 対 行

実行

標準 動作

実行 中

1

、終

、全体

同時

設定

10 秒間

止 並行

複数 )

処理 使

並行 実行

実行

。 実行

実行 仕組

。 呼

。通常

、 、


98 付録 C

言語

基礎知識

並行 、

実行

終了

実行

「こんにちは」

動作

終了

内容

、時計

実行

表示

開始

同時

最後

実行

、画面

表示=ラベル!"はろー" 作る。 時計=タイマー!作る。 時計!「|i| 表示!3 -2 移動する」実行。 ラベル!"こんにちは"作る。

実行 時間

画面

、時計

実行

終了

「こんにちは」

表示=ラベル!"はろー" 作る。 時計=タイマー!作る。 時計!「|i| 表示!3 -2 移動する」実行。 時計!待つ。 ラベル!"こんにちは"作る。

、最後 表示

行 。

実行


C.8 配列 複数

配列

C.8

複数

配列 数

配列

生成

、1

利用

使

種類

複数 必要

、取

使

。入

指定

番号

指定 、 「並び」

画面

参照

配列

利用 99

表示

、読

「作る」

実行

。配列

要素

名前 配列 生成 、3 個 数値 入

、3 番目 要素

並び=配列!123 456 789 作る。 ラベル!(並び!3 読む)作る。

配列 入

要素

、要素数

画面

、要素数?

表示

調

。画面

。次

3

表示

、配列

3 個 数値

並び=配列!123 456 789 作る。 ラベル!(並び!要素数?)作る。

要素 書

追加・更新・削除 使

、配列

末尾

、配列

指定位置

要素

指定位置要素

削除

要素 換 。

追加 (要素数

(要素数

1多

)。位置

)。 消

、上書 使

、配列

使


100 付録 C

言語

次 目

基礎知識

、3 要素

削除

要素 格納

、要素数

画面

配列 末尾 要素 追加 、3 番目 要素 上書

表示

。画面

3

表示

後、2 番

並び=配列!123 456 789 作る。 並び!111 書く。 並び!3 234 上書き。 並び!2 位置で消す。 ラベル!(並び!要素数?)作る。

要素

実行

配列

要素

、同

命令

実行

使

、配列

配列

、画面

。3 個 少

各要素 渡

「a」, 「b」, 「c」

、特 名前 付

配列 要素 対 個

移動

要素

実行

可能

。配列 実行

対 。

。 書

。続

「自分! 10 0 移動する」 右

一括

3個

、 「実行ボタン」 実行

配列

名前 結果、

並び=配列!作る。 並び!(ラベル!"a" 作る 0 100 位置)書く。 並び!(ラベル!"b" 作る 0 50 位置)書く。 並び!(ラベル!"c" 作る 0 0 位置)書く。 実行ボタン=ボタン!"実行" 作る 0 -50 移動する。 実行ボタン:動作=「   並び!「|並び要素| 並び要素!10 0 移動する」それぞれ実行。 」。

作 、押 押

画面上

3


親子関係 101

C.9

親子関係

C.9

間 親子関係 呼 参照

書 換

関連

規則

関係

理解

名前(

、変数、

少 複雑

作成

不可

「作

親子関係 親子関係

呼 親

親、

1

、 子孫

、親

親、…

、 親 持

(根元 。

意味)

特別

以外

直接

間接

。 何

、作 合、ObjA

「作 親

ObjB

ObjB=ObjA!作る。

、親

(値 仕組

利用

参照・書 換 実際

覚 場合

、子 表示

、 作

、配列

利用

標準

親子関係 持 参照

使用

(未定義

、親 例

ObjA=ボタン!作る。 ObjB=ObjA!作る。 ObjA:身長=165。 ラベル!(ObjB:身長)作る。

自分

結果 。以下

、親

、最初

特別 参照

「165」

必要

親…

未定義

親 。

親、

定義)

ObjB

追加

)。

子 追加

直接持

、 「身長」

結果 参照

子 、


102 付録 C

言語

、上

基礎知識

説明

、親

同名

、 「180」

表示

、子

参照

名前

、次

場合

場合

使 参照

ObjB

ObjA=ボタン!作る。 ObjB=ObjA!作る。 ObjB:身長=180。 ObjA:身長=165。 ラベル!(ObjB:身長)作る。

、「作

生成

、独自

C.10 変数 変数

束縛

束縛 、

応規則

中 。

、必要

、 。

変数名

変数 中

変数

説明

変数名

変数、

変数、

意味

表 変数

使

3 種類

変数 変数

全体

位置

参照

変数

変数

。従

、次

3

変数 行

簡潔 中

変数

変数

意味

指定

、「

場合)

意味

:x」

「:x」

x=100。 ルート:x=100。 :x=100。

、配列 書

標準 、

、単 以降参照

変数 。

初期値

格納


C.10 変数

束縛

103

変数 変数 、

、個々

変数 格納

付随 呼

変数以外

変数

表示

場合、

221

保持

21 増

情報

個々

変数 意味

変数

、「|…|

次 例

、ObjB:y

ObjB=ボタン!作る。 ObjB:x=200。 ObjB:増加=「|d|x=x+d」。 ObjB!21 増加。 ラベル!(ObjB:x)作る。

注意 親

場合、

100

、上 書

ObjB:x

変数

参照

「増加」 最初 上

、 場合

変数

参照

1 行目 「ObjB:x=200」 無

実行

「x+d」

(新

参照

、前項 説明

「:」

、参照時

、参照

変数 x

変数 参照

変数

更新

121

。2 回目 変数

ObjB=ボタン!作る。 x=200。 ObjB:増加=「|d| :x= :x+d」。 ObjB!21 増加。 ラベル!(ObjB:x)作る。

変数、名前解決規則 変数

。 変数

、渡 必

「距離」

冒頭部分

先頭

関係

概念

初期値

内側 点以外

変数

「|パラメータ… ; ローカル変数…|」

定義

変数

使

定義

2 点間 距離 求

使

変数

同等

。次 。

ObjB=ボタン!作る。 ObjB:距離=「|x1 y1 x2 y2 ; dx dy| d1 = x1 - x2。d2 = y1 - y2。 sqrt(d1*d1+d2*d2)」。 d=ObjB!100 100 200 200 距離。 ラベル!(d)作る。

何重 数

、内側

外側

*1 。

参照 説明

名前

、次

*1

内側 作 未定義

変数 。

保管

、後

(外側

実行

終了

)実行

場合


104 付録 C

言語 冒頭

1.

基礎知識

|…| 定義

変数

直接

2. (

実行

、参照時

4. 一番外側

以外

名前

変数

参照

3.

囲 外側 場合(

)。

、同 規則 名前 使

場合)

方 探索

、名前

戻 。

1 変数

C.11 字句 約束 言語 。

場合 、以下

字句

約束 入

場合、名前、数値、文字列

以下 規則

説明

約束

意味

記法

意味

拡張 BNF

記法

:

X ::= α

α |β

α

β。

[α ]

α

空。

α ···

α

(α )

α

空白

約束

方α

X

1 個以上並

定義。

X

)。

改行 自由書式(

空白

改行

配置

比較的自由 何行

言語

。 。規則

。行

、 次

空白

配置

位置

• 名前 途中、数値 途中

空白

• 名前 名前、名前 数値、数値 数値 連続

、空白(

改行)

• 空白 何個 、次

1 個 同 意味 同

2

動作

(文字列

)。

ボタン1 = ボタン!作る。 ボタン1

= ボタン!作る。

、次

名前

数値

ボタン1 = ボタン!"テスト"作る100 50位置。

。(実行


C.11 字句 約束 105

名前 名前(識別子)

変数名

名前文字 ::= 漢字 |

|

指定

使

規則

|

名前 ::= 名前文字 [ 名前文字 | 数字 ] … 名前 字、

「漢字、

、数字

任意個続

直接記述

。名前

規則

、漢

: ○ ×

ボタン1 X A1 ボタン-1 1番目

数値 数値

定数(数

符号 ::= + | − 数値 ::= [ 符号 ] 数字… [ . 数字… ] [ 名前文字… ] 、数値 「先頭 + 小数点

符号

1 個以上 数字 。最後

名前文字

正 ○ ×

、 数値

無視

後 数字

1 個以上続 、

1 個以上 名前文字 、読

後 」

。数値

:

1 +55 -3.1416 15. 22時59分

3番目

文字列 文字列 直接書

、文字列 。

(文字

規則

表現

定数

文字列 ::= " [ 文字… ] " | 『 [ 文字… ] 』 文字列

○ ×

大文字

"あいう" 『ABC』 "あい 『ABC

小文字/全角

半角 、大文字

角)

区別

ABC

:

Abc

ABC

各行

小文字、16 名前

文字( 同

全角) 扱

8

文字(


106 付録 C

言語

、「+」「!」 文字、16

文字

基礎知識 記号類 文字

8

同様 違

。 中

、文字列

文字

日本語記号 英語記号 同等 扱 。小数点

使

「…」

送信 使

[…]

、次

「!」

例外 表

文 終

「、」

使

、大文字 。

「。 」 「.」 。

。 同

意味

ボタン1=ボタン!作る。 ボタン1:プロパティ = 「x = x + 10。ボタン1!(x) 50 位置」。 ボタン1:プロパティ = [x = x + 10. ボタン1、(x) 50 位置].

「//」

行末

、一時的

注釈 ( 一部

、次 例 、1 行目 一時的

) 解釈

実行 全体 注釈、2 行目

一部

// タートルのテストプログラム カメ太=タートル!作る。 // カメ太を作る // カメ吉=タートル!作る。

一部

。人 読

使

処理 注釈、3 行目 実行


107

付録 D

標準 、 作

種類

標準

共通

、配列 、本文

使

付録 C

参照

付録 E

参照

各章

用意

、 概要

説明

制御、音楽演奏

数値

D.1 数値

、数 作

数値 対

。数値

演算

演算

結果

数値定数

10.0

) 。

、関数

、四則演算「+」 、 「-」 、 「*」 、 「/」 剰余 演算「%」 使

、商 「÷」 使 。

、1

(積

「×」

、比較演算子「==」、 「!=」、 「>」、 「>=」、 「<」 、 「<=」 使

、平方根(sqrt) 、三角関数(sin, cos, tan)、四捨五入(round)、絶対値(abs)

。 数値

特別

関数

実行 数値 返

、乱数

少 指定

。次

。乱数

使

実行

、実行

整数

、実行

便利

指定

1

。乱数

、1

3

関数 使

数字

、「乱数(3)」 間

表示

数 。

ラベル!(乱数(3))作る。

負 数 大

含 乱数

発生

値 引 範囲

5

、0

、発生 中心

数字

幅 指定

乱数

正負 乱数 生成 表示

生成 、

。次

半分 実行

ラベル!(乱数(11)- 6)作る。

数値

定義

実行

数値

2 倍 数 表示

利用

。次

数値:二倍=「自分 * 2」。 ラベル!(3!二倍)作る。

括弧

数式

数値:二倍=「自分 * 2」。 ラベル!(二倍(3))作る。

使

関数

使

1 、−5


108 付録 D 標準

文字列

D.2

文字列

、0 個以上

中 文字列定数 書

文字

、"こんにちは"

生成

、GUI 部品

"abc xyz"

読 込

。 文字列

、 「+」

連結

。次

「こんにちはカメ太さん」

文字列

実行

表示

、2

文字列

連結

、画面

x="こんにちは"。 y="カメ太さん"。 ラベル!(x+y)作る。 、文字列 値

中身

演算

比較

数値定数

"123.45"

、次

結果

「14」

、「+」

m

x="3"。 y="11"。 ラベル!(x+y)作る。

部分

使

、文字列

指定

一部分

、先頭

。次

m 番目以降 文字 返

実行

文字列

表示

1 個 数字(

、 「こんにちは」

、4

文字列

指定

、4 文字目以降

4 文字目以降 切 出

文字

、画面

「ちは」

x="こんにちは"。 ラベル!(x!4 部分)作る。 2 個 数字( 返

にちは」

、2 文字列

3

m, n 指定

) 指定

、2 文字目

2 文字目

、先頭

3 文字 返 。次

3 文字 切 出

、画面

「んにち」

m 番目 文字

n 個 文字

実行 文字列

、 「こん 表示

x="こんにちは"。 ラベル!(x!2 3 部分)作る。 含

使

文字列

一部

文字列

調

x="上山田"。 「x!"山" 含む?」!なら「ラベル!"こんにちは" 作る」実行。 文字列

定義 実行

、 文字列

文字列

2 回続

文字列

利用 表示

。次

文字列:二倍=「自分 + 自分」。 ラベル!("こんにちは"!二倍)作る。

括弧

数式

使

文字列:二倍=「自分 + 自分」。 ラベル!(二倍("こんにちは"))作る。

関数

使


D.3 真偽値 109

真偽値

D.3

真偽値

、条件

真偽値

真偽値

/成 立

、真偽

区別

。比較演算子

成否

調

、真 表

意味

格納

偽 表 、

変数「真(

x

y

1 )」

「偽(

)」

z

調

真 例

x=7。y=5。z=3。 xが最大=真。 「x < y」!なら「xが最大=偽」実行。 「x < z」!なら「xが最大=偽」実行。 「xが最大」!なら「ラベル!"xが最大です" 作る」実行。 反対 偽値

、真偽値

反転

(NOT)、

(AND)

(OR) 調

偽、偽

調

、複数

本当 使

使

真偽値

1

上 例

、複数 真

以上

x=7。y=5。z=3。 「ぜんぶ!(x>=y)(x>=z)本当」!なら 「ラベル!"xが最大です" 作る」実行。 「本当」 実行

場合

。次 調

「x>=z」

、最初 「x>=y」 実行

実行

「x>=z」

実行

、値

。 場合

必要 値 真 場合

結果

時点

両方 条件 真 決

x=7。y=5。z=3。 「ぜんぶ!「x>=y」「x>=z」本当」!なら 「ラベル!"xが最大です" 作る」実行。

D.4

変数 格納 。 任意

。具体的

場合

、赤、緑、青

使

、 「黒、赤、緑、青、黄色、紫、水色、白」

名前

8 色 用意

。 強

0∼255

整数

指定

「作

、任意 画像

使

新しい色=色!200 150 255 作る。

D.5 、画面上 画面上 置 作

状態 。切

移動

動 、動

使 軌跡

制御

、現在

。作 出

状態

、動

」 「 位置

」 基準

軌跡

出 前進

、 残

「作 」 使 。 状態

。 後退

「変身」

指定

方法(


110 付録 D 標準 )

使

使

。移動量

、X 方向 位置

軌跡

画面上

(画面中心 原点) 始

、動

指定

単位、回転量

Y 方向 移動量 指定 X 座標

(軌跡

「歩

」 「戻

度数

指定

現在位置

Y 座標 指定

図形

起点

「閉

」 離

「右回

」「左回

。 分

座標位置 移動

、「図形

」、回転角度 指定

使

移動

「移動

「位置」 使

」、絶対座標

。一連 軌跡 描

独立

図形

(図形

次項) 。 現在 太

軌跡

位置

画像 指定

「変身

「縦

位置?」 「横

変更

最初

」 呼 。

任意

、画像 表示

名前

接触 衝突

動作

衝突

相手

90 度向

変 対

色」「線

」 「現

文字列 」 使 。

特定

、 動

、 」

使

動作

。「衝突」 、

定義 実行

「消

、「線

、画像

「数歩下

取得

定義

?」

変更

「衝突」

「衝突」

画像

ON/OFF

重要 作

位置?」「向

図形

一定

定義

、前進

作用

利用

衝突

。次

タートル:衝突=「自分!150 右回り」。 カメ太=タートル!作る。 カメ吉=タートル!作る 100 0 位置。 タイマー!作る「カメ太!10 歩く」実行。

図形

D.6 図形 色 動

、 塗

動 見

図形 切 離

、完結

1

、「右回

」「左回

」 「移動

」「位置」「消

」「現

使

。 、倍率

指定

倍率

「拡大

別々

指定

拡大/縮小

。色

指定

「塗

。倍率 」

2

指定

、 付

。 図形 接触

同様 検知

図形 実行

定義 、

「衝突」

定義

、他

。 図形

、 横幅

図形 広

利用 「変形」

定義

図形:変形=「自分!2 1 拡大する」。 カメ太=タートル!作る。 さんかく=「カメ太!100 歩く 120 左回り」!3 繰り返す(赤)図形を作る。 さんかく!変形。

。次 。

図形


D.7 GUI 部品 111

D.7 GUI 部品 GUI 部品

、画面上 現

。 同様

)使

設定

GUI 部品 画面 表示

長方形

、縦方向

、色

「位置」 「移動

横方向

指定

説明

図形

「塗

( 」

動作 」 「消

単位)

」 「現

指定

「大

色、「文字色」 文字

衝突

」 (

。以下

、個々

。表示

文字列

設定

GUI 部品

領域

指定 次

操作

、画面上 配置 表示 制御

上 。

、画面 変数

文字列

表示

、文字列

指定

表示

。実行

、10

、「作

指定

「書

文字

表示

生成

x=10。 ラベル!(x)作る。

定義

実行

、画面

文字列

表示

動作

。 少

名前

、次 右

移動

文字列

入力

ボタン1=ボタン!"テスト" 作る。 ボタン1:動作=「自分!10 0 移動する」。

、文字列

表示

。 「作 」 「書 」 文字列 設定 字列

取 文字

。次

実行 指定

歩数

、 前進

、加

「読 」 現在入

文 入力

カメ太=タートル!作る。 窓=フィールド!作る。 前進ボタン=ボタン!"前進" 作る。 前進ボタン:動作=「カメ太!(窓!読む) 歩く」。

、 受

(Enter

、定義

前進

,

カメ太=タートル!作る。 窓=フィールド!作る。 窓:動作=「カメ太!(自分!読む) 歩く」。

「動作」

入力

入力

。次 文字

完了 実行

指定

歩数


112 付録 D 標準

、 「縦向 」 「横向 」 呼 「文字消

目盛

表示

「値」

取得

部品

。配置

設定

(指定

縦向 ) 。

指定 、 「文字出 」

ON/OFF

位置

「値? 」

指定

向 設定

。値

範囲

0∼100

、現在

位置

「動作」

定義

実行

、 位置

表示

実行

。次

。文字列

指定

バー=スライダー!作る。 結果=ラベル!作る。 バー:動作=「結果!(自分!値?)書く」。

選択 選択 書

複数

複数回呼

現在選択

項目

候補

選択

選択

文字列

何番目

候補

項目

番号

実行

何番目? 押

。 取得

表示

。次

実行

候補=選択メニュー!作る。 候補!"最初" 書く "次" 書く "最後" 書く。 実行ボタン=ボタン!"実行" 作る。 実行ボタン:動作=「結果!(候補!何番目?)書く」。 結果=ラベル!作る。

複数

文字列 表示

内容

追加

文字列 。次 示

。文字列 。

実行

、番号

、画面

指定

「読

「こんにちは!」

指定 」

「書 、

番号

」 行

文字列

取得

文字 「いいお天気ですね」

文字 表

。 窓=リスト!作る。 窓!"こんにちは!" 書く。 窓!"いいお天気ですね" 書く。

保存

D.8

保存 使 再

最高得点」

使 表示 使

可能

。保存

保存 得点

名 指定

保存

、次回

実行時

、数値、文字列、配列 作

「今 。 後 、


保存

D.8 読

。次

、 「objfile.txt」

、「得点」、 「名前」、 「友人」

「point」、 「name」、 「friends」 保存

名前

、「得点」

名前

、自由

名前

保存

名前

113

指定

数値、文字列、配列

保存

「得点」

「point」

英語

名前

保存

得点=10。 名前="カメ太"。 友人=配列!"カメ吉" "カメ子" 作る。 ファイル=オブジェクトファイル!"objfile.txt" 作る。 ファイル!"point" (得点)書く。 ファイル!"name" (名前)書く。 ファイル!"friends" (友人)書く。

「objfile.txt」 「friends」

、保存

名前

名前

名前

指定

指定

。次 作

。取

、「point」、「name」、

、好

名前

使

。 ファイル=オブジェクトファイル!"objfile.txt" 作る。 点数=ファイル!"point" 読む。 氏名=ファイル!"name" 読む。 友だち=ファイル!"friends" 読む。 リスト!作る(点数)書く(氏名)書く(友だち)書く。

削除 削除 「objfile.txt」 前

、保存 名前

削除 、 「値が存在しない」

名前

。 意味

指定

削除

指定

。次 作

表示

未定義

ファイル=オブジェクトファイル!"objfile.txt" 作る。 ファイル!"point" 消す。 点数=ファイル!"point" 読む。 氏名=ファイル!"name" 読む。 友だち=ファイル!"friends" 読む。 リスト!作る(点数)書く(氏名)書く(友だち)書く。

、「point」

、「point」

「[undef]」

表示

名 値


114 付録 D 標準

操作

D.9 1行

追加書

込 使

「textfile.txt」 セージ 2」

変数

指定

名前 文字列

、文字列

読 作

名 込

、読

指定

。 書 後

使

。次

、「メッセージ 1」

「メッ

メッセージ1="こんにちは"。 メッセージ2="カメ太です"。 ファイル=テキストファイル!"textfile.txt" 作る。 ファイル!(メッセージ1)書く。 ファイル!(メッセージ2)書く。

全体 配列

文字列

「textfile.txt」 書

名前

書 名 指定

。次 作

後 、 「内容」

、 名前 配列

内容=配列!"こんばんは" "カメ吉です" 作る。 ファイル=テキストファイル!"textfile.txt" 作る。 ファイル!(内容)全部書く。

全体

出 内容 、配列 読 込

名前 込

名 指定

使 作

。次 後 、

ファイル=テキストファイル!"textfile.txt" 作る。 内容=ファイル!読む。 ラベル!(内容)作る。

、 「textfile.txt」 内容 「内容」

名前 配列 読


115

付録 E

命令一覧 •

主要

• Part VI

E.1

命令、 命令

MYU

関連

機能

、Activity 14

解説

紹介

情報

基本

数値 • 代入式 右辺 、括弧 囲 • 数式 扱

部分

、数値

数式

中置記法

、数値 変換

• 角度

1周

360 度

• 計算

Java

倍精度実数(double) 行

角度

記述 持

文字列

。 。

、一部 関数演算 単精度実数(float) 行

• 定数

、円周率

π 、PI

用意

• 数値演算子「+, -, *, /, %」 、内部的

「add, sub, mul, div, mod」

。論理演算子「==, !=, >, >=, <, <=」 、内部的 扱

命令

「eq, ne, gt, ge, lt, le」

変換

扱 命令 変換

+ , - , *, ×, /, ÷ : 四則演算 (例) 「3 * 40」

計算

「120」

!(3 * 40)作 足

(add), 引

(sub), 掛

(例) 「3 * 40」

計算

!(3 !

表示

(mul), 割 「120」

40 掛

(div) : 四則演算。命令

表示 )作

使

文字列

場合

。 。

%: 余 (例)8

3

計算

!(8 % 3)作 余

(mod) : 余 (例)8

3

。命令 割 !(8 !

表示

表示

使 余

「2」 。

計算

「2」

3 余 )作 。

== , != , ≠, > , >= , ≦, < , <=, ≧ : 比較演算。両辺 数値 比較

(例) 「4 > 3」

計算

「[true]」

!(4 > 3)作

表示

数値

変換

、数値


116 付録 E

命令一覧 (√)

sqrt:

(例) 「1 +

4」 計算 「3」 表示

!(1 + sqrt(4) )作

sin , cos , tan: 三角関数 (例) 「sin(30)」

計算

「0.5」

!(sin(30))作

表示

asin , acos , atan: 三角関数 逆関数 (例) 「arcsin(0.5)」

計算

「30」

!(asin(0.5) )作

表示

round , ceil , floor: 丸 、切 上 、切 捨 (例) 「0.7」

四捨五入

「1」

表示

!(round(0.7))作

exp: 指数関数 (例) 「e0.5 」

計算

「1.6487212」

!(exp(0.5) )作

log: 底

10

計算

「2」

表示

!(log(100))作

e

対数

(例) 「log 100」

ln: 底

表示

対数

(例) 「ln 100」

計算

「4.6051702」

表示

!(ln(100))作 。 乗。 「2

pow:

3 乗」 「pow(2,3)」

(例) 「23 」

計算

「8」

、「2 ! 3 pow」

表示

注意

!(2 ! 3 pow)作

abs: 絶対値 (例) 「| − 3|」

計算

「3」

表示

!(abs(−3) )作 乱数, random : 正 (例)1

整数

、実行 表示

!(random(10))作

0

整数

10

(例)0

場合

、実行

整数

。0

(例)整数「5」

表示

!(random(0))作 乱数初期化 : 0 以外

以降

生成

変換

(例) 「10」

。n

2 進表現

乱数系列

2∼16

表示

。 整数

「1010」

表示

!(10 ! 2 進数)作

0∼1

乱数

乱数初期化(5) 。 進数: n 進数

実数

!(random(10))作

整数

順序

対応

1∼n

実数

1

異 。

毎回同 。

順序

生成


E.1 基本

117

文字列 • 数値 表 文字列(例:"123.45") 数式 中 使

== , != , ≠, > , >= , ≦, < , <=, ≧ : 比較演算。両辺 数値 比較

以外

(例) 「"b" > "a"」

文字列

計算

比較

「[true]」

!("b" > "a")作

表示

(例)文字列「"カメ太=タートル!作る 太=

! 作

+ : 文字列 連結 (例)2

文字列「"私は"」 連結

(例)3

。 。 歩く。"」

100歩

。複数

連結

太" "

。 「m n 部分」

? : 文字数 返

連結

「"私はカメ太です"」

表示

「"カメ太"」

"! "

!("私

「"です"」

連結

「"私はカメ太です"」

表示

" 連結)作 。 m 文字目

n 文字 取 出

3 文字目

5 文字 切 出 「"カメ太です"」 表示

"! 3 5 部分)作 。

(例)文字列「"はろー"」 !(" ? : 文字列 含

計算

「3」

表示

"! 長 ?)作 。 判定

(例)

文字列 入力

場合

(Enter

「こんにちは!」

,

表示

) 押

、文字列 「山」

文字

! 作 。

f=

f:動作=「「(f ! 読 )! "山" 含 ?」! 何文字目? : 文字列

何文字目

調

「f ! "

! " 書

!("私 文字列

指定

"! "

、分割

」実行」。

(例)文字列「"カメ太"」 「"私はカメ太です"」 何文字目 含 分割: 区切

実行

")作 。

文字列

文字列「"私は"」 切

「"カメ太です"」

(例)文字列「"私はカメ太です"」

、数値

100歩 歩 。" ! 実行。

" + "

!("私 部分: 文字列

場合

!("私 連結: 文字列

文字列

実行

"

変換

実行: 文字列

数値

太" 何文字目?)作

文字列

配列

調 「3」 表示 。 。

(例)文字列「"I/am/kameta"」 区切 文字「"/"」 分割 、 「"I"」 、 「"am"」、 「"kameta"」 要素 配列「結果」

表示

結果="I/am/kameta"! "/" 分割。 !(結果)作


118 付録 E

命令一覧

真偽値 •

「真(

) 」 「偽(

)」

2個

• 論理積(AND) 論理和(OR) 求 「本当」

実行

」[

偽値

指定

場合

。y=

x= 「

両方

真(

必要

複数

。 表示

! "全部本当" 作

真(

偽 )

」実行。

、「"どれか本当"」

表示

!(x)(y)本当」!

反対: 真偽値 反対 値 返

! "

。真偽値 「

本当" 作

」実行。

」 返 、真偽値 「

(例) 「x」

反対

真(

、「"いいえ"」

• 内部

! "

定義

、 受

場合

、最後 中

:

(例)

• 先頭 「|...|」 • 実行

繰 取 値

n 回繰 返

実行

! 作

「出力! "

。 変数

。 。

3 回繰 返

実行 、 「こんにちは」

3 回表示

実行

渡 「n」 ! 作

「|n| 出力!(n)書

」 「 。

利用

" 書 」! 3回 繰 返 。

(例)実行回数 出力=

。 「;」

実行

「出力!"こんにちは" 書く」 出力=

何回目

" 作 」実行。

表示

x=

「x ! 反対」!

、「"全部本当"」

。y=

*1

場合

x=

論理和(OR)

!(x)(y)本当」!

(例)変数「x」、 「y」

、真偽値

、論理積(AND)

場合

(例)変数「x」、 「y」

」 「

*1 。

• 論理否定(NOT) 、真偽値 「反対」 送 本当:「

用意

」 実体 、

。 取

、実行

表示

。 」! 5回 繰

」 「

実行

D.3 節 参照


E.1 基本 : 条件判断 行

, 「

(例)乱数

後 場合

「乱数(10)> 5」! (例)乱数

「乱数(10)> 5」! 間 : 条件

「大吉」

(例)変数「x」

場合

実行

省略可能

」実行。 「まあまあ」

! "大吉" 作 」

間、後

、成 立

表示

! "大吉" 作

場合

」 後

。「

「大吉」

5

実行

5

。条件 成 立

119

表示

! "小吉" 作 」実行。

10 以下 間、「s=s+x。x=x+1」 繰 返 実行

x=1。s=0。 「x <= 10」!

間「s=s+x。x=x+1」実行。

!(s)作 実行 :

(例)

実行

! "

• 一定時間 • 標準

、与

、「0.1 秒」間隔 場合

• 間隔 最小時間

1

• 実行

正確

実行

終了

目安

(例)

実行

時点

並行

。 実行 実行

(例)繰

新 作

作 「時計」 ! 作

動 返

間隔

終了

名前

! 作

設定

時計! 1秒 間隔。 回数 : n 回動

。 返

時計=

回数

「10 回」 ! 作

時計! 10回 回数。

設定

。 時間

指定

、現在

間隔

実行

場合、

長 時間

回数 実行 、 「時間」 。 )実行

使

。 渡

、指定

時間 終了 「待

「1 秒」

10 回繰 返

非同期

時計=

(例)繰

時計= 間隔 : n 秒間隔

使

経過

• 実行 中断 止 : 自分 複製

0.1 秒間隔

、 「回数」 指定

実行中 、

間隔 変更

。「回数」

、何回目

)。間隔

終了

時間 進

• 実行

経過

正確 場合

(約 10 秒間 実行

秒(0.001 秒)

場合 先

返 回数

。大

命令 実行

実行

、指定

時間

1 秒間

指定

「100 回」繰

場合

、指定 間隔

実行

" 作 」! 実行。

• 回数 回数 指定

終了

「ラベル!"こんにちは" 作る」

実行

。 後

実行


120 付録 E

命令一覧

時間 : n 秒間

(例)繰

時間

「5 秒」

時計=

! 作

設定

時計! 5秒 時間。 実行 :

実行

(例)

、「カメ太! 3歩 歩く」

太=

! 作

時計=

! 作

時計!「 何回目

太! 3歩 歩 返

= 時計=

! 作

! 作

! 作

時計!「|n| 待

! 作

時計=

」実行。

「終了!」 表示

。「時計!待つ。」

場合

! 作

時計!「|n| 出力!(n)書

太! 3歩 歩

」実行。

出力! "終了! " 書 中断 : 実行中

実行

(例)中断

中断

実行

太=

! 作 =

:動作=「時計! 中断」 。

! "中断" 作

時計=

場合

、次

実行

中断

! 作

行列

中断

中断 出力=

! 作

時計!「|n| 出力!(n)書

太! 3歩 歩

」実行。

配列 • 中 複数 •

配列

• 長

種類

• 要素 番号

(例)配列

新 作

必要 。最初

配列

。要素

配列1 =配列! 作

要素

1 番目

初期値 。

!(配列1)作

1

: 自分 複製

。 ! 作

出力=

太! 3歩 歩

表示

太=

時計! 待

実行 終 実行中

(例)

実行

!(n)書

:

表示

太=

実行

」実行。 渡

実行

(例)何回目

指定


E.1 基本 (例)文字列「"a"」、 「"b"」

要素

配列1 =配列! "a" "b" 作 !(配列1)作 書

: 配列

要素

配列1 =配列! "a" "b" 作

配列

追加

、文字列「"c"」

追加

要素

最後

!(配列1)作 降

。配列

(例)文字列「"a"」、 「"b"」

挿入 : 配列

追加

配列1 ! "c" 書

配列

121

。 「n obj 挿入」

、n 番目

位置

挿入

obj

。元

n 番目以

(例)文字列「"a"」、 「"b"」

b ]」 表示

要素

配列

、2 番目

位置

文字列「"c"」

追加

。「[ a c

上書

配列1 =配列! "a" "b" 作

配列1 ! 2 "c" 挿入。 !(配列1)作 上書

: 配列

上書

。 「n obj 上書き」

、n 番目

要素

obj

(例)文字列「"a"」 、 「"b"」 、 「"c"」 要素 配列 作 、2 番目 要素 文字列「"d"」 上書 「[ a d c ]」

表示

配列1 =配列! "a" "b" "c" 作 配列1 ! 2 "d" 上書 !(配列1)作 読

: 配列 要素 返

。 。

。要素

整数

1

指定

(例)文字列「"a"」 、 「"b"」 、 「"c"」 要素 配列 作 、2 番目 要素 表示

。「b」 表示

。 配列1 =配列! "a" "b" "c" 作 !(配列1 ! 2 読 要素数? : 配列

要素数

)作

(例)文字列「"a"」、 「"b"」、 「"c"」

要素

配列1 =配列! "a" "b" "c" 作 !(配列1 ! 要素数?)作 消

: 配列 要素 消

配列

、要素数

表示

。「3」

。指定

配列

削除

配列1 ! "b" 消

: 配列 要素 消

。 。要素

(例)文字列「"a"」、 「"b"」、 「"c"」 示

!(配列1)作 消

。「[ a c ]」

配列1 =配列! "a" "b" "c" 作

位置

(例)文字列「"a"」 、 「"b"」 、 「"c"」 要素 配列 作 、値 「"b"」 要素 削除 表示

表示

位置

指定

要素

。 配列1 =配列! "a" "b" "c" 作 配列1 ! 1 位置

!(配列1)作

配列

削除 作

、1 番目

要素

削除

。「[ b c ]」


122 付録 E

命令一覧

: 配列 要素

(例)文字列「"a"」、 「"b"」、 「"c"」

要素

配列

実行

要素

配列

要素

削除

。「[ ]」

表示

。 配列1 =配列! "a" "b" "c" 作 配列1 !

!(配列1)作 実行 : 配列 渡

要素

配列

要素

1個

(例)文字列「"abc"」、 「"d"」、 「"wxyz"」 「|x| 出力!(x !長さ?)書く」 出力=

! 作

。「3」、「1」、「4」

: 配列 各要素 対

?)書

実行

、結果

実行。 「本当」

「| x |(x !長さ?)== 2」

要素

表示

配列

要素

配列

要素

!(配列1 !「| x |(x ! 長

配列

結合

文字列

?)== 2」選

。 「"こんにちは、カメ太です!"」 配列1 =配列! "

、" "

!(配列1 ! 結合)作

、 指定

。「[ 東

。 要素

区切

文字

表示

太" "

! " 作

指定 結合

。 全体 書

参照

変数

、他

値 明示

参照

:」、

省略

「歩幅」

設定

「歩幅」

設定

:歩幅= 30。 (例) :歩幅= 30。

未定義 • 予期

実行

• 存在

変数

参照

• 命令 正 • 値 未定義

結果

文字列

(例)

「:」

要素 表示

)作

(例)文字列「"こんにちは、"」 、 「"カメ太"」 、 「"です!"」 要素 配列 作 、 返

配列1 =配列! "東京" "北海道" "三重" "鹿児島" 作 各要素

(例)文字列「"東京"」、 「"北海道"」、 「"三重"」、 「"鹿児島"」

結合: 配列

表示

配列1 !「|x| 出力!(x ! 長

京 三重 ]」

要素

3 回繰 返 実行

配列1 =配列! "abc" "d" "wxyz" 作 選

場合

返 、未定義 場合

。 返

、未定義

、未定義

。 返

undef

比較

。 判別


E.1 基本

保存

• 保存

、再

。 読

• 数値、文字列、配列 • 作

使

対応

利用

。 作

:

(例) 「file1.txt」

使

記録= 書

書 込 名前

(例)

。 作

名前

読 出

「point」

記録=

指定

、 「記録」

! "file1.txt" 作

: 名前 付 。

123

名前

「30」

! "file1.txt" 作

保存

点数= 30。 記録! "point"(点数)書 読

: 名前 指定 (例)

名前

! "file1.txt" 作

得点=記録! "point" 読

: 名前 指定

記録! "point" 消

文字列 読 書 読

、全体

配列

、 読

、配列 内容

配列

文字列 内容

入 置

、 換

名 使 末尾

文字列

「"こんにちは。"」

!(記録! 読

)作

。 。

1 行追加

追加

! "text1.txt" 作 。" 書

、 「記録」

! "text1.txt" 作 。

指定

書 。

記録= 記録! "

記録= (例)

追加

場合

(例) 「text1.txt」

: 文字列 書 込

。 文字列

利用 作

:

書 。配列

表示

、1 行

名前

! "file1.txt" 作

「point」

記録=

。保存

記録=

(例)

「point」

!(得点)作 消


124 付録 E 全部書

命令一覧

: 配列 書 込

全体

配列

中身

(例)文字列「"カメ太"」 、 「"カメ吉"」 、 「"カメ子"」 要素 配列 作 、 換

。 記録=

! "text1.txt" 作

全員=配列! "

太" "

記録!(全員)全部書

: 配列 読 出

)作

子" 作

全体

記録=

、各行

!(記録! 読

情報

)作

配列

得 表示

!(

利用

。 。

:versionstr)作

複数

。 持

IP

場合

任意

displayHeight 取得

用意

(例)

情報

• displayWidth

要素

表示

! "text1.txt" 作

全体

(例)

• ipaddress

吉" "

!(記録! 読 読

1個 返

E.4

、確認

終了

画面

• versionstr:

文字列

• version:

番号

• javavendor: Java • javaversion: Java • osname: OS 名 • osversion: OS • ipaddress: IP • hostname:

• displayWidth:

実行

• displayHeight: • memory:

実行

名(

• lang: 言語( : (例)

終了 終了 ! 終了

(例)

使用量

• user:

終了

終了 !(

真(

指定

。 。 。確認 ) 終了

表示 。


E.2

125

E.2 •

実行時 「startup.ini」 実行

定義

( 記述

(例)startup.ini

角度(度)

「r2d」

定義

) 実行

。startup.ini

変換

。 命令

使

「d2r」

利用

。 角度(度)

変換

定義

// startup.ini

数値:d2r =「 (自分 * PI / 180) 」 。 数値:r2d =「 (自分 * 180 / PI) 」 。 利用

// 太=

! 作

!(d2r(

(r2d(PI / 6))左回

太! 向

?))作

(startup.ini) 、自分用 命令 揃 便利

使

、作 他

、教室 授業用 命令 用意

特定

環境

依存

実行

場合 。

E.3

起動

間 教室内

、特定

(標準

同一

• 扱

利用

2020) 使

、数値、文字列、論理値、配列 他

書 複製

接続 :

書 接続

、機能 、

(例)

接続

基本

制限

、一般的

。 。

起動 名

通信

、 。 「"localhost"」

指定

IP

自分

! "localhost" 接続。 (例)

接続

IP

! "192.168.1.10" 接続。 書

: 指定

名前

(例)

「kameta」

名前

「カメ太」

! "localhost" 接続。 太=

! 作

! "kameta"( 読

: 指定

名前

。 太)書

(例)

読 「kameta」

名前

! "kameta" 読

。読 読

! "localhost" 接続。 吉=

出 。


126 付録 E

命令一覧

関係

E.4 次

座標

画面

。画面

対応 回

指定

中心

原点

。起動

、画面

位置

X軸

Y軸 表

、横 700 ×縦 500 程度

。向

。座標

右方向

0 度 、左

画面

Y軸 X軸 (0,0)

• 画面 歩 回

。動

• 描

図形

「図形

•「衝突」 定

軌跡

利用

図形

)。 切

定義

使

独立

図形

、他 本体

。描

判定

使

実行 場合

。衝突

、図形

• 衝突

1 個目 、自分

、重

•「衝突」 「

:跳

図形

相手

真偽値 返

代入

、自然

場合、図形

。2 個目

返 方向

定義 衝突

。衝突 際

。 (例)壁

関係

、常

太:衝突=「自分! 150 右回 (例)壁

太:衝突=

•「動作」 作

定義

: 新

(例)

作 太=

: 前 進 太

「カメ太」

100 歩、歩

: 後 (例)

。 太 太=

100 歩、戻

! 作

太! 100歩 戻

名前

! 作

太! 100歩 歩 戻

実行

。 ! 作

太=

角度 、

(例)

」 。

、自然

:跳

角度

相手 扱


関係

E.4 右回

: 右 回 (例)

。 太

90 度、右 回

太=

: 左 回 (例)

90 度、左 回

: 右

x 歩、上 太

! 作

太! 90度 左回 (例)

。 太=

移動

! 作

太! 90度 右回 左回

y 歩動

「右に 0 歩、上に 100 歩」動

太=

! 作

座標 太

移動

。 。画面

「(100, 100)」

太=

太! 0 100 移動 位置 : 指定 (例)

127

! 作

中央

座標

中心(0,0)

位置

。 。

太! 100 100 位置。 向

: 向

指定

(例)

。右向

0度

90 度(上方向) 向

太=

! 作

太! 90度 向

: 動

軌跡

(例)

。 歩

! 作

太!

。 。

。 。

軌跡

場合 、

切 離

。 太

太=

! 作

太!

太! 100歩 歩 太!

画面

! 作

太! 中心 (例)

太! 100歩 歩 点

中心(「(0, 0)」

太=

: 描 始

: 画面 真 中 戻

(例)

後、線 。

太! 100歩 歩

軌跡 残

(例)

太! 100歩 歩

中心

左回

太=

: 動 始

。角度

戻 線

三角形

太= 太! 100 歩

座標

位置)

。 。

。 辺

2 ! 作

後、描

120 右回

100 歩

軌跡 描


128 付録 E 図形

命令一覧

: 軌跡 線 自分

(例)

太=

色 太

太= 太! 100 歩 変身

姿 姿

(png, jpg, gif

! 作 拡大

(例)

画像

「縦横 2 倍」

(例)

3 倍、縦

2 倍 拡大

! 作

(例)

色 太

変 線

: 描 線 太

(例)

(例)

太! 5 線

太! 消 現

: 画面 現 (例)消

整数

。 。

。 。

3

設定

! 作

。 。消 太

太! 現

画面

。m, n

。描 太=

「5」

! 作

拡大 。

設定

太=

: 姿 消

色 100 歩

太! 100 歩 消

「緑」

! 作

太!(緑)線 太

太= 線

整数

太! 3 2 拡大 線

。n

、「横に m 倍、縦に n 倍」

色: 描

n 倍 拡大

太= 線

「m n 拡大する」 横

変更

拡大

! 作

太! 2 拡大

本体(dolittle.jar)

。 「n 拡大する」

太=

「"tonbo.png"」

太! "tonbo.png" 変身

:

名前

。画像

太= 拡大

「三角」

100 歩 。

置 太

図形

120 右回

同 (例)

太!(黄)図形

:

100 歩 。

黄色

! 作

三角=

名前

120 右回

太! 図形

指定

。 「三角」

! 作

三角=

図形

図形

太! 100 歩

(例)

姿 画面

戻 表示

使

。「消える」

実行


関係

E.4 円 : 指定

半径

(例)

*2 。大

半径 100

太=

! 作

場合

右側

、負

場合

129 左側

太! 100 円。 角形 : 正 n 角形

。 「m n 角形」 、1 辺

。図形 (例)

右側

右側

1辺

太=

m

、辺

三角形 、左側

100

! 作

図形(正三角形、正方形、正五角形 負

m 1辺

100

左側 五角形

。 。

太! 100 3 角形。 太! −100 5 角形。 向

? :

(例)上

調

。右向

太=

!( 横

太! 100 歩 !( 縦

(例)

位置?)作

太! 30 左回 !(

。 。 「50」

! 作

太! 100 歩

Y 座標 表示

太=

表示

Y 座標 調 太

太! 横

位置? :

。 。 「50」

! 作

太! 60 左回

表示

?)作 。

X 座標 表示

太=

。「90」

左回

X 座標 調 太

。角度

太! 向

位置? : (例)

表示

! 作

太! 90 左回

0度

表示

。 。

太! 縦

位置?)作

図形 •

図形

独立

図形

• 図形 画面 上 移動

回転

• 他

「衝突」

実行

•「動作」 作

定義

: 自分 複製

(例) 「三角形」 太= 三角形=「

図形

複製

実体

36 角形

、画面上

移動

太! 100 歩

三角形2 ! 150 0 移動

実行

「三角形2」

三角形2 =三角形! 作

*2

! 作

120 左回 」!3 繰 返 (赤)図形 作 。

。 。

) 描


130 付録 E 右回

命令一覧

: 右 回

(例)三角形

10 度、右 回

太=

! 作

三角形=「

: 左 回

10 度、左 回

太= 三角形=「

太! 100 歩

x 歩、上

(例)三角形

! 作

三角形! 10度 左回

: 右

「右に 0 歩、上に 100 歩」動 ! 作

三角形=「 座標

太! 100 歩

120 左回 」!3 繰 返 (赤)図形 作 。

移動

。画面

「(100, 100)」

太=

! 作

三角形=「

三角形! 0 50 移動 (例)三角形

120 左回 」!3 繰 返 (赤)図形 作 。

y 歩動

太=

位置 : 指定

120 左回 」!3 繰 返 (赤)図形 作 。

(例)三角形

移動

太! 100 歩

三角形! 10度 右回 左回

中央

座標

中心(0,0)

位置

。 。

太! 100 歩

120 左回 」!3 繰 返 (赤)図形 作 。

三角形! 100 100 位置。 塗

: 自分 中 色 塗

。色 色

括弧 囲

。色 省略

。 (例)三角形

「青」

太= 三角形=「

! 作

: 自分

n倍

(例)三角形

縦横

「縦横 2 倍」 ! 作

! 作

: 画面

(例)三角形

120 左回 」!3 繰 返 (赤)図形 作 。

2 倍 拡大

太! 100 歩

三角形! 3 2 拡大 消

x倍y倍

3 倍、縦

太= 三角形=「

拡大

太! 100 歩

三角形! 2 拡大 (例)三角形

120 左回 」!3 繰 返 (赤)図形 作 。

太= 三角形=「

太! 100 歩

三角形!(青) 塗 拡大

120 左回 」!3 繰 返 (赤)図形 作 。

。 画面

太= 三角形=「 三角形! 消

消 ! 作

。 。

太! 100 歩 。

120 左回 」!3 繰 返 (赤)図形 作 。

線 色 塗


関係

E.4 現

: 画面 現

。消

(例)消 ? : 向

三角形 画面

三角形! 現 向

姿

調

表示

。「消える」

実行

。 。右向

(例)三角形

使

131

0度

表示

太=

。「90」

! 作

三角形=「

。角度

表示

太! 100 歩

三角形! 90 左回

左回

120 左回 」!3 繰 返 (赤)図形 作 。

!(三角形! 向

?)作 。

画面 • 実行画面 表 塗

: 画面 背景 色 塗 (例)画面

背景

「水色」

画面!(水色)塗 方眼紙: 画面 線

方眼紙

罫線

。 表示

。色

指定

罫線

変数

用意

。色

指定

(例)画面

「緑」

罫線

表示

画面!(緑)方眼紙。 (例)画面

罫線

画面! 方眼紙。 幅? : 画面

(例)画面

横幅

表示

!(画面! 幅?)作 高

? : 画面

(例)画面

返 高

。 表示

!(画面! 高

?)作

色 • 色 表 •

使

8 色 「黒、赤、緑、青、黄色、紫、水色、白」

• 複数 色 混 合 作

: 三原色 指定

、 色

使

。赤緑青

(例) 「赤が 255、緑が 136、青が 255」 =色! 255 136 255 作 画面!( 色

三原色

2 桁 指定

順 明

0∼255 色

値 作

。 指定

)方眼紙。

16 進法 文字列 指定 。1 桁

場合

(例) 「赤が#FF、緑が#88、青が#FF」 =色! "#F8F" 作

。赤、緑、青 文字 色

2 個並 作

2 桁 意味 。

、 。

1桁


132 付録 E

命令一覧

画面!(

)方眼紙。

(例) 「赤が#FF、緑が#88、青が#FF」

=色! "#FF88FF" 作 画面!( 暗

緑色

緑=緑! 暗

緑)方眼紙。

: 色 明 (例)暗

。暗 色

緑=濃

半透明

緑! 明

! 作

30 円(新

色)図形

! 0 2 移動

」実行。

2個

•「光」 、光 重

: 複数 色 混 「緑」

用意

色(加法混色)

•「絵具」 、絵 具 重

「緑」

色)塗 絵具 色)塗

。 。

。 混

。 。

色=絵具!(赤)(緑)混

画面!(新

色(減法混色)

色=光!(赤)(緑)混

画面!(新 新

半透明

「光」 「絵具」

(例) 「赤」

実行

• 色 混 合

色=青! 半透明

! 作

(例) 「赤」

。 例

。 。裏側

緑)方眼紙。

画面!(水色)塗

。「暗くする」

: 色 半透明

(例)青

画面!(明 半透明

画面!(濃 明

)方眼紙。

: 色 暗 (例)暗


E.5 GUI

133

E.5 GUI • 画面 情報 表示 •

、大

• 位置 指定 次

対話的

位置

場合

、直前

実行

共通 。次

位置 : 表示位置

移動

命令

、画面

使

配置

、画面

実行

。 右端 環境

越 異

。 対応

。「ボタン 1」 例

! "ABC" 作

指定

。 指定

Macintosh

1行 続

1=

右隣

「位置」

位置 指定

GUI

左端

背景色(塗

• 以下 、GUI

。 大

「大きさ」

• GUI

操作

GUI

名前

実行

(例)

画面

「(100, 100)」

座標

位置

1 ! 100 100 位置。 移動

: 右

x 歩、上

y 歩動

(例)

画面

。 「右に 0、上に 100」

1 ! 0 100 移動 大

: 大

指定

「横 100、縦 50」

1 ! 100 50 大 調

横幅 !(

? : 高

調

表示

1 ! 高 ?)作 。

文字 大

(例)

: 色 指定

表示

共通

。 !(

: 表示

指定

表示

文字

1 ! 16 文字

。色

。標準 「16」

三原色

設定

1 !(水)塗 。 (例)

設定

1 ! 255 128 255 塗 。 (例)

設定

1 ! "#FF88FF" 塗 。 (例)

24

以外

GUI

。 (例)

1 ! 幅?)作 。

(例) 文字

(例) 高

(例) 幅? : 横幅

設定

1 ! "#F8F" 塗 。

設定

指定

。 。

以外

GUI

共通


134 付録 E

命令一覧

文字色 : 文字

共通

指定

。色

三原色

指定

以外

GUI

(例)

文字色

設定

1 !(緑)文字色。 (例)

文字色

設定

1 ! 0 128 0 文字色。 (例)

文字色

設定

1 ! "#008800" 文字色。 (例)

文字色

設定

1 ! "#080" 文字色。 消

: 画面

(例)

画面

1! 消 現

: 画面 現

。消

姿

(例)消

使

画面

1! 現

• 画面 表示 •

表示

。「消える」

。初期 実行

! "挨拶" 作

1:動作=「

実行

! "

" 作 」。

生成時

指定

• 以下 「作る」以外 例 : 自分 複製

150×45

動作

1=

GUI 部品

(例)

、 「ボタン1」

実行

。1 個目

表示

指定

。 (例) 「実行」

1=

! "実行" 作

1:動作=「

! "

" 作 」。

2 個目 一覧」

指定 参照

(例)上向

。次

: 文字 読 (例)

1=

! "実行" "UP" 作

返 文字列 !(

: 文字 書 (例)

上向

矢印

1:動作=「 読

矢印

実行

! "

" 作 」。

。 表示

1 ! 読 )作 。

。 「あいうえお」

1! "

文字

" 書 。

文字列

E.6 節 「 動作

実行


E.5 GUI

• 画面 表示 •

GUI 部品 (Enter

。文字 )

,

• 以下 「作る」以外 例 作

: 自分 複製

作 作

表示

!(

文字

使

。中

。 。

GUI 部品

、表示

: 自分 複製

(例)

実行

! "

" 作 。

「かきくけこ」

文字

GUI 部品

。行単位 、 「リスト1」

新 作

1= 。新

複数

文字列

作 ! 作

追加

。 文字列

" 書 。

。初期 例

「"あいうえお"」

1! "

" 書 。

• 以下 「作る」以外 例

: 文字 書

設定

文字列 入

1

• 画面 表示

(例)

自動的

1! "

: 自分 複製

表示

、 「ラベル1」

1= : 文字 書

。文字

文字列

(例) 「あいうえお」

(例)

文字

" 書 。

• 以下 「作る」以外 例

• 画面 表示

指定

「あいうえお」

1!

(例)

実行

1! "

• 大

1 ! 読 )作 。

(例)

: 空

150×45

実行

初期値 ! 作

文字

: 文字 書

。初期

(例) 書

使

1= : 文字 読

入力 動作

「フィールド1」 、

(例) 読

表示

135

追加

実行

150×90 。


136 付録 E 読

命令一覧

: 文字 読

(例)

。行

1

整数

1 個目 要素 読 !(

: 空

指定

1 ! 1 読 )作 。

(例)

要素

1!

削除

選択 • 画面 表示

GUI 部品

。選択肢 表示 、

• 以下 「作る」以外 例 作

: 自分 複製

、 「メニュー1」

(例)選択

作 文字列

:

! 作

(例)選択

。新

「+」 番号

(例)選択 読

文字列

(例)

整数

0∼100

返 「

番号

。値 変

実行

指定

実行

! 作

実行

増加

指定 参照

! "LEFT" "RIGHT" 作 。0∼100 表示 ! 作

1:動作=「

。次

操作

1= 得

一覧」 動

矢印

実行

。 値

動作

E.6 節 「

1=

減少

(例)

実行

」実行。

整数

指定

1=

300×45

、 「スライダー1」

(例)左右

1

範囲 値 変

文字列

太! 100 歩

。「書く」

生成時

値? :

。「書く」

。初期

• 以下 「作る」以外 例

(例)

1 ! 1 読 )作 。

GUI 部品

: 自分 複製

追加

、「カメ太! 100 歩く」

• 画面 表示

追加

選択肢

1 個目 選択肢 文字 読

"−" 書 。

1

!(

選択肢

1 ! 何番目?) == 1」!

:

150×45

1 個目 選択肢 選

「 (

実行

「-」

1 ! "+" 書 何番目? : 選

。初期 例

1 =選択 書

選択

。 。

1 !(

1 ! 値?)書 」。

。 左右

矢印


E.6 値:

設定

(例)

「50」

。0∼100 設定

指定

一覧

137

1 ! 50 値。 横向

: 横長

(例)

横向

1 ! 横向 。 縦向

: 縦長

(例)

縦向

1 ! 縦向 。 文字出

: 目盛

表示

(例)

。10

目盛

目盛

表示

表示

1 ! 文字出 。 文字消

: 目盛

表示

(例)

目盛

1 ! 文字消 。

一覧

E.6 •

GUI 部品

文字

、各種

操作 共通

英字

"A", "B", ..., "Z"

数字

"1", "2", ..., "0"

使

"F1", "F2", ..., "F12" (ESC) (−)

"ESCAPE" "MINUS"

(¥)

"BACK_SLASH"

括弧([)

"OPEN_BRACKET"

括弧(])

"CLOSE_BRACKET"

(;) (,)

"SEMICOLON" "COMMA"

(.) (/) (ENTER)

"PERIOD" "SLASH" "ENTER"

(HOME)

"HOME"

(END)

"END"

(PageUp)

"PAGE_UP"

(PageDown) "PAGE_DOWN" 上(↑)

"UP"

下(↓)

"DOWN"

左(←)

"LEFT"

右(→)

"RIGHT"

一覧


138 付録 E

命令一覧

音楽

E.7

• 音階

旋律

。"

• 以下 「作る」以外 例 作

: 自分 複製

名前

∼" 作

「オルガン」

追加

。音符

音符

楽器

設定

(例)

文字列

指定 音符

1! "

∼" 追加。

2

1

音符

2 !( 追加

" 作 )設定。

「"ドレミ∼"」

1

追加

追加

1)追加。

(例)

4 拍 休符

2

(例)

1

2 回繰 返

2 !(

2= 音階

(例)

追加

。 下

1 ! −12 音上

2= 演奏

(例)

音符

1 ! 2 繰 返 )追加。

n 音上

音程

1

1)追加。

2

:

追加

1

2 ! 4 無音( : 繰 返

演奏 :

「"ドレミ∼"」

! "

1

(例)

音上

1 !(楽器! "

実行

(例)

表現 例

! 作

1=

無音 : 休符

(例) 「メロディ1」

追加 : 音符

文字列

名前

1=

設定

、分

「メロディ1」 、

(例) 「メロディ1」

設定 : 楽器

∼"

。 演奏

1

1 ! 演奏。 待

: 演奏 終

(例)

。 演奏

1

1! 待 。 音符

: (例)

1! • ,

,

,

(例) #: 半音上 (例)

,

,

,

、次

,

1! " 。直前

文字列

,

音符

1

,

表記

,

使

,

,

" 追加。 音階

1! " #

半音上

" 追加。

,

,

,

, C, D, E, F, G, A, B: 音階 表


E.7 音楽 ♭ (%): 半音下

。直前

(例)

音階

1! "

↑, ^ :

(例)

♭" 追加。

以降

音階

1

「"ドレミファソラシ^ドレミ"」

1

音階

半音下

139

追加

。最後

「"ドレミ"」

1! " ↓ , _:

(例)

" 追加。

^

以降

音階

1

「"ド_シラソファミレド"」

1

追加

。最後

「"ド"」以降

音階

1! " _

" 追加。

・: 休符 (例)

1 ! " ・ ・ " 追加。

∼ (-): 長音。前

(例)

1 拍延

1! "

∼" 追加。

. : 長音。前 音 半拍延 (例)

1! "

&,1,2,4,8,16: 長

." 追加。

指定

音符

。"

4

1! "

{...}: 三連符。3 個 音 (例)

4

2 拍 演奏

1 ! "{

• 和音 表

文字列

指定

記述

、 「コード1」

名前

1=

付点 4 分

。 例

追加

作 「"CCD"」

! "CCD" 作 「オルガン」 。音符

(例)

1

(例)

2

音符

楽器

設定 指定

音符

追加

1 ! "CCD∼" 追加。 2 !( 追加

音符

追加

1)追加。

2

4 拍 休符

2 ! 4 無音(

" 作 )設定。

文字列

「"CCD∼"」

1

1

実行

1 !(楽器! "

(例)

8 分音符、

名前 ! 作

(例) 「コード1」 設定

1=

無音 : 休符

4 分音符、

}8" 追加。

(例) 「コード1」

(例)

。全体

。"CCD∼"

: 自分 複製

追加 : 音符

4&8" 追加。

8

• 以下 「作る」以外 例

設定 : 楽器

4&8"

(例)

8

1

追加

1)追加。


140 付録 E 繰

命令一覧

: 繰 返

(例)

2

2 !(

音階

: (例)

。 下

1 ! −12 音上

2= 演奏

(例)

追加

1 ! 2 繰 返 )追加。

n 音上

音程

1

演奏 :

2 回繰 返

1

2= 音上

。 演奏

1

1 ! 演奏。 待

: 演奏 終

(例)

演奏

1

1! 待 。 : 追加

(例)

1 1!

文字列

(例)

。 、次

表記

A , B , C , D , E , F , G:

使

1 ! "CCG" 追加。 修飾

m, 7:

(例)

使

1 ! "CCmC7Cm7" 追加。

#: 半音上

。直前

(例)

音階

半音上

1 ! "C # CD" 追加。

♭ (%): 半音下

。直前

(例)

音階

半音下

1 ! "CCD ♭" 追加。

↑, ^ :

1

「"C^CD"」

(例)

以降

音階

追加

1

。最後 「"CD"」

音階

1 ! "C^CD" 追加。 ↓ , _:

(例)

1

以降

「"C_CD"」

音階 追加

1 。最後

「"CD"」

音階

1 ! "C_CD" 追加。p ・: 休符 (例)

1 ! "C・C・D" 追加。

∼ (-): 長音。前 (例)

1 拍延

1 ! "CCD∼" 追加。

.: 長音。前 音 半拍延 (例)

1 ! "CCD." 追加。

&,1,2,4,8,16: 長

指定

。"C4D8E4&8"

、C

。 (例)

1 ! "C4D8E4&8" 追加。

{...}: 三連符。3 個 音 (例)

2 拍 演奏

1 ! "{CDE}8" 追加。

。全体

指定

4 分音符、D

8 分音符、E

付点 4 分音符


E.7 音楽

楽器

演奏

• 楽器 設定

。"

楽器

同時

• 以下 「作る」以外 例 作

: 自分 複製

、 「ドラム1」

1

(例)

1

。 指定

音符

追加

" 追加。 音符

1

追加

実行

「"ドツタツ"」

2 !( (例)

文字列

1! "

無音 : 休符

! 作 。音符

(例)

1=

表現

演奏

名前

追加

文字列 。単独

演奏

(例) 「ドラム1」 追加 : 音符

、分

" 演奏

141

追加

1)追加。

4 拍 休符 追加

2

1 ! 4 無音。 繰

: 繰 返

(例)

2

2 !(

2= 演奏 :

演奏

(例)

2 回繰 返

1

音符

追加

1 ! 2 繰 返 )追加。

。 演奏

1

1 ! 演奏。 待

: 演奏 終 (例)

待 演奏

1

。 終

1! 待 。 : 追加

(例)

音符

1

。 消

1!

楽器設定 : 音符 楽器 対応 設定 設定

。楽器 楽器名 文字列

楽器番号 指定

。複数 楽器

(例)

1

「"ド"」

「"手拍子"」

楽器

設定

1 ! " " "手拍子" 楽器設定。 (例)

1

「"ド"」

「36」番

楽器

設定

1 ! " " 36 楽器設定。 (例)

1

「"ドタツクチパ"」 、

1! " •

(例)

, ( ):

" 35 38 42 44 46 49 楽器設定。

文字列 ! 作

「35, 38, 42, 44, 46, 49」番 楽器 設定

、次

表記

使

。楽器

割当

「楽器設定」

・" 追加 演奏。

" 半拍

, ( ):

半拍

, ( ):

。 )

半拍

変更


142 付録 E

命令一覧

, ( ):

, ( ):

) )

, ( ): (

・: 休符。1 拍休 示

。 。

4

8

「楽器設定」

2 拍 演奏 使

番号

2 1

。全体

1 2 2 1 2 1 2 1 1

指定

、次

使

名前

番号

51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

手拍子

、最初

4 分音符、次

楽器名 楽器番号

名前

4&8"

付点 4 分音符

{...}: 三連符。3 個 音

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

。"

8 分音符、最後

番号

半拍長

&,1,2,4,8,16: 長

半拍

半拍

): 長音。前

半拍

1

名前

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81

2 2

楽器 •

演奏

楽器

• 以下 「作る」以外 例 作

: 自分 複製

、 「ピアノ1」

(例) 「ピアノ1」

名前

設定

(例) 「ピアノ1」

「メロディ1」

1 !(

設定

1)設定。 「コード1」

1 !( 演奏

" 作 。

設定 : 演奏 (例) 「ピアノ1」

楽器

1 =楽器! "

演奏 : 楽器

設定

1)設定。

(例) 「ピアノ1」

演奏

1 ! 演奏。 待

: 演奏 終

(例) 「ピアノ1」

。 演奏

。値

0∼127

1! 待 。 音量 : 音

設定

(例) 「ピアノ1」

「127」

、標準 設定

95 。

実行


E.7 音楽 1 ! 127 大 • 楽器名 楽器番号 番号

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

、次

使

名前

。 番号

1 2

1 2 1 2

44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

名前

番号

1 2

1 2

尺八

87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128

名前

三味線 琴

太鼓

143


144 付録 E

命令一覧

• 複数 楽器

/

: 自分 複製

/

(例) 「マイバンド」

。 設定

/

「ピアノ1」

!(

実行

。 作

! 作

楽器/

演奏

名前

演奏 :

、 「マイバンド」

(例) 「マイバンド」 追加 : 演奏

演奏

/

• 以下 「作る」以外 例

楽器

。 追加

1)追加。

(例) 「マイバンド」

演奏

! 演奏。 待

: 演奏 終

(例) 「マイバンド」

演奏

! 待

(楽器/

: (例) 「マイバンド」

追加

: 演奏

速度

/

/

楽器/

/

演奏

! 100

。標準 速度 。

88 「100」

。 設定

。 取

/

指定

(例) 「マイバンド」


145

索引

!, 3, 77, 90 !=, 92, 107, 115, 117 ≠, 115, 117 *, 92, 107, 115 ×, 107, 115 +, 92, 107, 108, 115, 117 -, 92, 107, 115, 139, 140 ∼, 139, 140 ., 139, 140 ・, 139, 140 /, 92, 107, 115 ÷, 107, 115 :, 90 <, 92, 107, 115, 117 <=, 92, 107, 115, 117 ≦, 115, 117 =, 3, 89 ==, 92, 107, 115, 117 >, 92, 107, 115, 117 >=, 92, 107, 115, 117 ≧, 115, 117 #, 138, 140 ♭, 139, 140 %, 92, 107, 115, 139, 140 &, 139, 140 _, 139, 140 ^, 139, 140 ↑, 139, 140 ↓, 139, 140 2 軸制御, 69 3 軸制御, 69 4 分音符, 139, 140, 142 8 分音符, 139, 140, 142 abs, 107, 116 acos, 116 add, 115 AND, 109, 118 asin, 116 atan, 116 ceil, 116 cos, 107, 116 CPU, 88 displayHeight, 124 displayWidth, 124 div, 115 DOWN, 26, 137 exp, 116 floor, 116 GUI 部品, 10, 14, 111 hostname, 124

ipaddress, 124 IP , 50 Java, v javavendor, 124 javaversion, 124 lang, 124 LEFT, 22, 137 ln, 116 localhost, 50 log, 116 Macintosh, iv, 133 Macintosh 版, v memory, 124 MIDI 音源, 36 mod, 115 MYU , 71 MYU 構造化命令, 69 MYU , 69, 115 NOT, 109, 118 OR, 109, 118 osname, 124 osversion, 124

π , 115 PI, 115 PIC, 69 pow, 116

明 , 12, 132 値, 137 値? , 112, 136 余 , 115 現 , 128, 131, 134 歩 , 3, 126

, 27, 109, 118 位置, 10, 11, 14, 127, 130, 133 位置 消 , 99, 121 移動 , 11, 14, 96, 127, 130, 133 色, 12, 109, 131 変数, 103 版, iii

, 89 上書

, 99, 121

絵具, 12, 132 選 , 122 円, 129 円周率, 115 演奏, 36, 138, 140–142, 144 大

, 14, 133 , 139, 140 音上 , 138, 140 , 2, 89 指向言語, 89

, 112, 123 親子関係, 101

, 40 , 71, 72

random, 116 RIGHT, 22, 137 round, 107, 116

音階, 138

server, 65 sin, 107, 116 sqrt, 107, 116 startup.ini, 125 sub, 115

改行, 104 回数, 18, 96, 119 外部 , 69 書 , 51, 99, 112, 113, 121, 123, 125,

tan, 107, 116 undef, 57, 113, 122 UP, 26, 137 user, 124 version, 124 versionstr, 124 Web , iv Windows, iv Windows 版, v 青, 12, 109, 131 赤, 12, 109, 131

版, iii 音量, 142

134–136 拡大 , 128, 130 拡張 BNF, 104 掛 , 115

, 4, 30, 91 楽器, 40, 142 楽器設定, 141 角形, 129 加法混色, 12, 132 画面, 124, 131 画面 座標, 126 間隔, 18, 96, 119 偽, 109, 118 黄色, 12, 109, 131 消 , 24, 128, 130, 134 休符, 139, 140


146 索引 曲

構造, 38

空白, 3, 7, 8, 104 暗 , 12, 132

, 122, 135, 136, 138, 140, 141, 144 繰 返 , 6, 17, 38, 73 繰 返 脱出, 72, 73, 75 繰 返 , 72, 75, 93, 118, 138, 140, 141 黒, 12, 109, 131 変数, 102 消 , 121, 123 結合, 122 減法混色, 12, 132

, 115

, 69 縦 位置? , 129 縦向 , 137 , iv

, 36, 139 & , iv , 86, 106 , 89 名, 50

, 26, 127 方眼紙, 26, 131

, 10, 14, 17, 37, 90, 111, 134 本当, 109, 118

混 待

停止, 72, 75

, 140 , 132 , 18, 19, 98, 120, 138, 140–142, 144

, 114, 123 , 8, 86 電子音, 75 , 144 同期, 19 動作, 14, 111, 126, 129, 134–136 時計, 17 閉 , 127

時間, 18, 96, 119, 120 識別子, 105 字句, 104

, 124 実行, 18, 92, 94–96, 117, 119, 120 実行画面, iv 実行時 ,8 実行脱出, 75 実行 , iv, 2 終了 , 124 条件式, 39 衝突, 24, 26, 126, 129

, 22, 134, 136, 137 白, 12, 109, 131 真, 109, 118 真偽値, 109, 118 進数, 116

& , iv , 36, 43, 141 言語, 89 Web , iv , 109, 118 長 ? , 117 名前, 3, 89, 105

, 95, 119 何番目? , 112, 136 何文字目? , 117 入力 塗

数値, 105, 107, 112, 115 図形, 10, 110, 126, 129 図形 作 , 10, 128

, 72, 75, 76 , 11, 14, 130, 131, 133

間, 75, 94, 119

, 125

, 27, 109, 118 配列, 44, 99, 112, 120

, 69 , 112, 136 , 19, 97 接続, 51, 125 設定, 40, 138, 139, 142 前進, 72 選択 , 37, 112, 136 線 色, 128 線 太 , 25, 60, 128

, 109, 118 全部書 , 124 旋律, 36

, 71, 72 跳 返 , 26, 126 幅? , 131, 133 , 3, 39, 90 , 12, 132 , 72 半音, 138, 140 反対, 109, 118 , 36, 141, 144 半透明 , 132 半拍, 141 , 36

, 95, 119 挿入, 121 束縛, 102 実行, 100, 122

, 2, 3, 109, 110, 126 ,2 代入, 89

, 96, 119 , 17 逐次実行, 31 ? , 131, 133

, 127 編集画面, iv, 2 変身 , 23, 128 変数, 3, 38, 89

120, 123, 126, 129, 131, 134–136, 138, 139, 141, 142, 144

, 50, 125 三原色, 12 三連符, 139, 140, 142

文, 2, 90 分割, 117 文法 ,8

, 52 注釈, 106 中心 戻 , 127 中断, 119, 120 中置記法, 91, 115 長音, 139, 140, 142 追加, 36, 138, 139, 141, 144 次 行, 133 作 , 2, 3, 11, 14, 101, 111, 112, 114, 119,

後退, 72

, 5, 6, 39, 44, 75, 76, 92, 106, 118 , 2, 101 , 89

光, 12, 132 引 , 115 左回 , 3, 11, 72, 127, 130

右回 , 3, 11, 72, 127, 130 水色, 12, 109, 131 未定義, 57, 101, 113, 122 緑, 12, 109, 131 無音, 39, 138, 139, 141 向 , 127 向 ? , 129, 131 無限 , 73 紫, 12, 109, 131 命令, 2, 6

, 97 , 3, 6, 14, 90 送信, 90 , 69 , 36, 138 , 36 文字消 , 137 文字 , 133 文字色, 14, 134 文字出 , 137 文字列, 90, 105, 108, 112, 117 戻 , 126 定義命令, 77, 79 要素数? , 99, 121 横 位置? , 129 横向 , 137 読 , 51, 99, 121, 123–125, 134–136

, 111, 135 乱数, 23, 26, 40, 107, 116 乱数初期化, 116

, 112, 135 , 52, 56, 111, 135 , 75, 76 , 15, 101, 122 連結, 117

, 32, 37, 111, 135 含 ? , 108, 117 付点 4 分音符, 139, 140, 142 部分, 108, 117 , 88 言語, 88 言語処理系, 89 , 88

変数, 92, 103 論理積, 118 論理否定, 118 論理和, 118 和音, 139 割 , 115


147


【著者紹介】 兼宗 進 1963 年東京生まれ。87 年千葉大学工学部電子工学科卒業、89 年筑波大学 大学院理工学研究科修士課程修了。企業勤務ののち、2004 年筑波大学大学 院ビジネス科学研究科博士課程修了、博士 ( システムズ・マネジメント ) 。 2004 年より一橋大学総合情報処理センター准教授。 主な研究対象分野はコンピューター教育。教育用プログラミング言語「ドリ トル」の開発も手がける。 久野 靖 1956 年生まれ。81 年東京工業大学理工学研究科情報科学専攻修士課程修了。 84 年同博士課程単位取得退学。同年同大学理学部情報科学科助手。89 年筑 波大学講師。助教授を経て、2000 年より筑波大学大学院ビジネス科学研究 科教授。理学博士 ( 東京工業大学 )。 主な研究分野はプログラミング言語、ユーザインタフェース、情報教育。著 書に「言語プロセッサ」「UNIX の基礎概念」「入門 JavaScript」などがある。

ドリトルで学ぶプログラミング  ーグラフィックス、音楽、ネットワーク、ロボット制御ー 2008 年 9 月 20 日 初版第 1 刷 発行 著 者

兼宗 進、久野 靖

発行人

原 久太郎

発行所

株式会社イーテキスト研究所 〒113-0033 東京都文京区本郷 5-1-16 Tel 03-3815-3037 Fax 03-3818-1219 http://www.etext.jp

印刷所

株式会社加藤文明社 ISBN 978-4-904013-02-1 装丁 林 健造


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.