mindの研究 その62

# 概要
mindが、謎なので調べてみた。
練習問題やってみた。

# 練習問題
データーベースにソートを実装せよ。

# サンプルコード

```

txtファイルは　ファイル。

dbは　構造体
　セルは　文字列実体
　列は
　　4個の　セル
　全体は
　　100個の　列
。

メインとは
　文字列1は　文字列
　文字列2は　文字列
　単語1は　文字列
　単語2は　文字列
　単語3は　文字列
　単語4は　文字列
　数1は　変数
　数2は　変数
　数3は　変数
　数4は　変数
　数5は　変数
　数6は　変数
　数7は　変数
　合否は　変数
　数1に　0を　入れ
　"test.txt"で　txtファイルを　オープンして
　エラー?
　ならば
　　「ファイルのオープンに失敗しました」で　重大エラーする
　つぎに
　ここから
　　数1に　1を　加え　数1に　入れ
　　txtファイルから　一行読み出し　文字列1に　入れ
　　文字列1から　単語切り出し　単語1に　入れ
　　文字列1から　単語切り出し　単語2に　入れ
　　文字列1から　単語切り出し　単語3に　入れ
　　文字列1から　単語切り出し　単語4に　入れ
　　セル(数1，1)に　単語1を　入れ
　　セル(数1，2)に　単語2を　入れ
　　セル(数1，3)に　単語3を　入れ
　　セル(数1，4)に　単語4を　入れ
　　セル(数1，1)を　表示し　「 」を　表示し
　　セル(数1，2)を　表示し　「 」を　表示し
　　セル(数1，3)を　表示し　「 」を　表示し
　　セル(数1，4)を　表示し　改行し
　　データ終わり?
　　ならば
　　　打ち切り
　　つぎに
　繰り返し
　数1から　1を　引き　数1に　入れ
　「ロードしました。」を　一行表示し
　txtファイルを　クローズする
　ここから
　　「データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了　7,ageソート >」を　表示する
　　文字列入力し　文字列1に　入れ

　　文字列1が　「7」に
　　等しい文字列
　　ならば
　　　数1から　1を　引いて　数3に　入れ
　　　数3で　回数指定して
　　　　数2に　回数を　入れ
　　　　数2を　数値表示し
　　　　数1から　数2を　引き　数5に　入れ
　　　　数5で　回数指定して
　　　　　数4に　回数を　入れ
　　　　　数4に　数2を　加え　数4に　入れ
　　　　　数4を　数値表示し
　　　　　セル(数2，3)を　数値変換し　数6と　合否に　入れ
　　　　　セル(数4，3)を　数値変換し　数7と　合否に　入れ
　　　　　もし　数6が　数7より　大きい
　　　　　ならば
　　　　　　セル(99，1)に　セル(数2，1)を　入れ
　　　　　　セル(99，2)に　セル(数2，2)を　入れ
　　　　　　セル(99，3)に　セル(数2，3)を　入れ
　　　　　　セル(99，4)に　セル(数2，4)を　入れ
　　　　　　セル(数2，1)に　セル(数4，1)を　入れ
　　　　　　セル(数2，2)に　セル(数4，2)を　入れ
　　　　　　セル(数2，3)に　セル(数4，3)を　入れ
　　　　　　セル(数2，4)に　セル(数4，4)を　入れ
　　　　　　セル(数4，1)に　セル(99，1)を　入れ
　　　　　　セル(数4，2)に　セル(99，2)を　入れ
　　　　　　セル(数4，3)に　セル(99，3)を　入れ
　　　　　　セル(数4，4)に　セル(99，4)を　入れ
　　　　　つぎに
　　　　繰り返し
　　　　改行し
　　　繰り返し
　　つぎに

　　文字列1が　「0」に
　　等しい文字列
　　ならば
　　　「id name age gaku」を　一行表示し
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)を　表示し　「 」を　表示し
　　　　セル(数2，2)を　表示し　「 」を　表示し
　　　　セル(数2，3)を　表示し　「 」を　表示し
　　　　セル(数2，4)を　表示し　改行し
　　　繰り返し
　　つぎに

　　文字列1が　「1」に
　　等しい文字列
　　ならば
　　　数1に　1を　加え　数1に　入れ
　　　「1>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，1)に　文字列2を　入れ
　　　「name: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，2)に　文字列2を　入れ
　　　「age: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，3)に　文字列2を　入れ
　　　「gaku: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　セル(数1，4)に　文字列2を　入れ
　　つぎに

　　文字列1が　「2」に
　　等しい文字列
　　ならば
　　　「2>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)が　文字列2に　等しい文字列
　　　　ならば
　　　　　「name: 」を　表示し　セル(数2，2)を　一行表示し
　　　　　「age: 」を　表示し　セル(数2，3)を　一行表示し
　　　　　「gaku: 」を　表示し　セル(数2，4)を　一行表示し
　　　　つぎに
　　　繰り返し
　　　文字列1に　「」を　入れ
　　つぎに

　　文字列1が　「3」に
　　等しい文字列
　　ならば
　　　「3>name: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，2)が　文字列2に　等しい文字列
　　　　ならば
　　　　　「id: 」を　表示し　セル(数2，1)を　一行表示し
　　　　　「age: 」を　表示し　セル(数2，3)を　一行表示し
　　　　　「gaku: 」を　表示し　セル(数2，4)を　一行表示し
　　　　つぎに
　　　繰り返し
　　つぎに

　　文字列1が　「4」に
　　等しい文字列
　　ならば
　　　「4>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)が　文字列2に　等しい文字列
　　　　ならば
　　　　　「name: 」を　表示し
　　　　　文字列入力し　文字列2に　入れ
　　　　　セル(数2，2)に　文字列2を　入れ
　　　　　「age: 」を　表示し
　　　　　文字列入力し　文字列2に　入れ
　　　　　セル(数2，3)に　文字列2を　入れ
　　　　　「gaku: 」を　表示し
　　　　　文字列入力し　文字列2に　入れ
　　　　　セル(数2，4)に　文字列2を　入れ
　　　　つぎに
　　　繰り返し
　　つぎに

　　文字列1が　「5」に
　　等しい文字列
　　ならば
　　　「5>id: 」を　表示し
　　　文字列入力し　文字列2に　入れ
　　　数1で　回数指定して
　　　　セル(回数，1)が　文字列2に　等しい文字列
　　　　ならば
　　　　　数2に　回数を　入れ
　　　　つぎに
　　　繰り返し
　　　数1から　数2を　引き　数3に　入れる
　　　数3で　回数指定して
　　　　回数に　数2を　加え　数4に　入れ
　　　　数4から　1を　引き　数4に　入れ
　　　　数4に　1を　加え　数5に　入れ
　　　　セル(数4，1)に　セル(数5，1)を　入れ
　　　　セル(数4，2)に　セル(数5，2)を　入れ
　　　　セル(数4，3)に　セル(数5，3)を　入れ
　　　　セル(数4，4)に　セル(数5，4)を　入れ
　　　繰り返し
　　　数1から　1を　引き　数1に　入れ
　　つぎに

　　文字列1が　「6」に
　　等しい文字列
　　ならば
　　　"test.txt"で　txtファイルを　新規オープンして
　　　エラー?
　　　ならば
　　　　「ファイルのオープンに失敗しました」で　重大エラーする
　　　つぎに
　　　数1で　回数指定して
　　　　数2に　回数を　入れ
　　　　セル(数2，1)を　txtファイルに　書き込み
　　　　「 」を　txtファイルに　書き込み
　　　　セル(数2，2)を　txtファイルに　書き込み
　　　　「 」を　txtファイルに　書き込み
　　　　セル(数2，3)を　txtファイルに　書き込み
　　　　「 」を　txtファイルに　書き込み
　　　　セル(数2，4)を　txtファイルに　一行書き込み
　　　繰り返し
　　　「セーブしました。」を　一行表示し
　　　txtファイルを　クローズする
　　　終り
　　つぎに
　繰り返し。
。






```


# 実行結果

```
>db1
1 kuku 55 d
2 alice 14 s
3 kent 30 d
4 dend 47 d
5 yuki 22 d

ロードしました。
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了　7,ageソート >7
12345
2345
345
45
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了　7,ageソート >0
id name age gaku
2 alice 14 s
5 yuki 22 d
3 kent 30 d
4 dend 47 d
1 kuku 55 d
データベース　0,一覧　1,新規入力　2,id検索　3,name検索　4,更新　5,削除　6,終了　7,ageソート >



```


以上。