概要
プロデルが、CLRらしいので、調べて見た。
練習問題、やってみた。
練習問題
csvをプロットせよ。
写真
サンプルコード
csvは、「 0, 255, 64, 255, 0
1, 255, 64, 250, 487
2, 255, 64, 236, 463
3, 255, 64, 212, 441
4, 255, 64, 180, 422
5, 255, 64, 142, 406
6, 255, 64, 98, 395
7, 255, 64, 50, 387
8, 255, 64, 0, 385
9, 255, 64, 462, 387
10, 255, 64, 414, 395
11, 255, 64, 370, 406
12, 255, 64, 332, 422
13, 255, 64, 300, 441
14, 255, 64, 276, 463
15, 255, 64, 262, 487
16, 255, 64, 257, 0
17, 255, 64, 262, 25
18, 255, 64, 276, 49
19, 255, 64, 300, 71
20, 255, 64, 332, 90
21, 255, 64, 370, 106
22, 255, 64, 414, 117
23, 255, 64, 462, 125
24, 255, 64, 0, 127
25, 255, 64, 50, 125
26, 255, 64, 98, 117
27, 255, 64, 142, 106
28, 255, 64, 180, 90
29, 255, 64, 212, 71
30, 255, 64, 236, 49
31, 255, 64, 250, 25
0, 255, 64, 255, 0
1, 254, 64, 248, 487
2, 254, 64, 234, 463
3, 254, 64, 210, 441
4, 254, 64, 179, 422
5, 254, 64, 141, 406
6, 254, 64, 97, 395
7, 254, 64, 49, 387
8, 254, 64, 0, 385
9, 254, 64, 463, 387
10, 254, 64, 415, 395
11, 254, 64, 371, 406
12, 254, 64, 333, 422
13, 254, 64, 302, 441
14, 254, 64, 278, 463
15, 254, 64, 264, 487
16, 254, 64, 259, 0
17, 254, 64, 264, 25
18, 254, 64, 278, 49
19, 254, 64, 302, 71
20, 254, 64, 333, 90
21, 254, 64, 371, 106
22, 254, 64, 415, 117
23, 254, 64, 463, 125
24, 254, 64, 0, 127
25, 254, 64, 49, 125
26, 254, 64, 97, 117
27, 254, 64, 141, 106
28, 254, 64, 179, 90
29, 254, 64, 210, 71
30, 254, 64, 234, 49
31, 254, 64, 248, 25」の行区切り
//csvの個数を報告する
A列は、{}
B列は、{}
C列は、{}
D列は、{}
E列は、{}
csvの個数回,数1に1からカウントしながら繰り返す
一行は、csvの(数1)を、「,」で分割したもの
//一行を報告する
A列に、一行の(1)を加える
B列に、一行の(2)を加える
C列に、一行の(3)を加える
D列に、一行の(4)を加える
E列に、一行の(5)を加える
繰り返し終わり
//E列を報告する
窓というウィンドウを、作る
その内容は、「csv2かめ」
その大きさは、{900, 700}
窓を、表示する
かめというカメを、作る
その位置は、{20, 60}
かめを窓に、表示する
D列を、ピンクで描画する
E列を、青で描画する
待機する
[A]を、ピンクで描画する手順
かめの太さは5
かめの色は、ピンク
かめの速さは0
初期位置は{10, 130}
かめの位置は、初期位置
角度は1
角度が60未満の間、繰り返す
横は、3 × 角度 + 初期位置(1)
縦は、Aの(角度)/ 5 + 初期位置(2)
かめを{横、 縦}へ移動する
角度は、角度 + 1
そして
終り
[A]を、青で描画する手順
かめの太さは5
かめの色は、青
かめの速さは0
初期位置は{10, 330}
かめの位置は、初期位置
角度は1
角度が60未満の間、繰り返す
横は、3 × 角度 + 初期位置(1)
縦は、Aの(角度)/ 5 + 初期位置(2)
かめを{横、 縦}へ移動する
角度は、角度 + 1
そして
終り
[文字列:文字列]を[区切り文字:文字列]で分割する手順:配列
【配列】は,{}。
【現在位置】は,1。
【次の位置】。
繰り返す
次の位置は,文字列の現在位置文字目から区切り文字を探したもの。
もし次の位置が0なら
文字列の現在位置文字目以降を配列に加える。
繰り返しから抜ける
でないなら
文字列の現在位置文字目から次の位置-現在位置文字,取り出したものを配列に加える。
現在位置は,次の位置+1。
もし終わり
もし現在位置が文字列の文字数より大きいなら,
繰り返しから抜ける
もし終わり
繰り返し終わり
配列を返す。
終わり
文字列分割器とは
【分割対象:文字列】は,「」。
【前回位置:整数】は,0。
【今回位置:整数】は,1。
はじめ(対象)の手順
分割対象は,対象。
終わり
自分を【区切り文字:文字列】で分割する手順
繰り返す
もし今回位置が分割対象の文字数より大きいなら
「」を返す
もし終わり
もし今回位置が分割対象の文字数なら
今回位置は,今回位置+1。
分割対象の[前回位置+1]文字目以降を返す。
もし終わり
もし分割対象の[今回位置]文字目が区切り文字なら
【結果】は,分割対象の[前回位置+1]文字目から[今回位置-前回位置-1]文字取り出したもの。
前回位置は,今回位置。
今回位置は,今回位置+1。
結果を返す。
でないなら
今回位置は,今回位置+1。
もし終わり
繰り返し終わり
終わり
終わり
以上。