0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

プロデルが、CLRらしいので、調べて見た。
練習問題、やってみた。

練習問題

csvをプロットせよ。

写真

image.png

サンプルコード


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。
			もし終わり
		繰り返し終わり
	終わり
終わり


以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?