ざざ虫ロゴ


なでしこ入門

日本語プログラミング言語

なでしこ


 配列を作くる

○ 配列

例5-1 配列を使って平均値を求める
5人の身長、160.0、170.0、146.7、180.5、180.0を、配列に代入し、平均値を求めて表示する。
なでしこ
# 平均値を求める 身長は「160.0 170.0 146.7 180.5 180.0」 身長の配列平均。 「平均身長={それ}」と表示。
C言語
'平均値を求める #include <stdio.h> main() { float height={160.0, 170.0, 146.7, 180.5, 180.0}; float total; int i; for (i = 0; i < 5; i++) { total += height[i]; } printf("average = %f\n", total / 5); }
なでしこ関連
『(変数名)とは配列』で変数を宣言する
変数:1次元配列        2次元配列
(変数名)【番号】     (変数名)【行番号,列番号】
注)番号は0から始まる
表示:(配列)を表示
反復:配列の全ての要素を繰り返すことができる
「配列名」を反復
   …
注)なでしこの配列は文字列配列
なでしこの1次元配列に関する命令
配列要素数    :(配列)の配列要素数
配列ソート    :(配列)を配列ソート
配列数値ソート  :(配列)を配列数値ソート
配列逆順     :(配列)を配列逆順する
配列シャッフル  :(配列)を配列シャッフル
配列挿入     :(配列)の(番号)行目へ(データ)を配列挿入
配列削除     :(配列)の(番号)行目の要素を配列削除
配列合計     :(配列)の配列合計
配列平均     :(配列)の配列平均
配列分散     :(配列)の配列分散
配列標準偏差   :(配列)の配列標準偏差
配列最大値    :(配列)の配列最大値
配列最小値    :(配列)の配列最小値
なでしこの2次元配列に関する命令
表行数、表列数  :(配列)の表行数。 (配列)の表列数。
表列合計     :(配列)の(列)列目を表列合計
表ソート     :(配列)の(列)列目を表ソート
表数値ソート   :(配列)の(列)列目を表数値ソート
表ピックアップ  :(配列)の(列)列目から(文字)を含むセルをピックアップ、列が-1の場合全フィールド対象
表検索      :(配列)の(列)列目から(文字)を含むセルを検索し、見つかれば行数、見つからなければ-1を返す。ピックアップ、列が-1の場合全フィールド対象
表列取得     :(配列)の(列)列目だけ取り出して配列変数として返す
表列挿入     :(配列)の(列)列目へ表列挿入
表列削除     :(配列)の(列)列目を表列削除
表行列反転    :(配列)の表行列交換 ← 表の作業は列に対して行われるため、行列入替の必要発生
表CSV変換     :(配列)をCSV形式(カンマ区切りテキスト)に変換
表TSV変換     :(配列)をTSV形式(タブ区切りテキスト)に変換
CSV取得      :CSV形式のデータを二次元配列に変換
TSV取得      :TSV形式のデータを二次元配列に変換


 構造体(C言語的呼び方)を作る

○ 構造体(C言語)

例5-2 構造体を使って住所録を作成、表示する
住所録は
    "名前","フリガナ","住所"
    "鈴木太郎","スズキタロウ", "東京都目黒区"
    "佐藤一郎","サトウイチロウ","川崎市"
    "足立次郎","アダチジロウ","名古屋市中区"
    "石田三郎","イシダサブロウ","大分県大分市"
なでしこ
# 造体を使って住所録を作成、表示する 住所録は「 名前, フリガナ, 住所 鈴木太郎,スズキタロウ, 東京都目黒区 佐藤一郎,サトウイチロウ, 川崎市 足立次郎,アダチジロウ, 名古屋市中区 石田三郎,イシダサブロウ,大分県大分市 」 住所グリッドとはグリッド。 住所グリッドのアイテムは住所録。
C言語
#include <stdio.h> main() { struct data { char namae[20]; char furigana[20]; char jusho[20]; }; struct data jushoroku[5] = { {"名前","フリガナ","住所"}, {"鈴木太郎","スズキタロウ", "東京都目黒区"}, {"佐藤一郎","サトウイチロウ","川崎市"}, {"足立次郎","アダチジロウ","名古屋市中区"}, {"石田三郎","イシダサブロウ","大分県大分市"} }; int i; for (i = 0; i < 5; i++) { printf("%20s %20s %20s\n", jushoroku[i].namae, jushoroku[i].furigana, jushoroku[i].jusho); } }
なでしこ関連
なでしこの配列は文字列変数であり、2次元配列はC言語の構造体として機能する。

配列変数の内容を表示、種々の処理を行う。
・配列変数をリストで表示。
○○リストとはリスト。
そのアイテムは○○。
・2次元配列変数をグリッドで表示。
○○グリッドとはグリッド。
そのアイテムは○○。
注)グリッドの内容を配列変数に代入 → △△(配列変数)は○○グリッドのアイテム。
・ボタンを作って種々の処理を行う。
○○ボタンとはボタン。
そのテキストは「●●●」←ボタンに表示させるテキストが○○でない時
そのクリックした時は〜
  処理
注)グリッドの設定項目に、以下の項目のオン、オフがある。
行選択はオフ   :任意のセルを取得設定にする。
編集はオン    :グリッドを直接編集出来るようにする。
自動ソートはオン :ヘッダをクリックした時、自動的に文字コード順に並び変わるようにする。


 練習問題 5
成績評価プログラムの作成
生徒の名前、(たとえば国語の)成績を入力し、最大値、最小値、平均値を求める。
なお、生徒数は4人、名前は鈴木太郎、佐藤一郎、足立次郎、石田三郎とする。
回答
# 成績評価プログラム 成績表は「名前,点数 鈴木太郎, 佐藤一郎, 足立次郎, 石田三郎,」 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 その編集はオン。 成績ボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   番号で1から4まで繰り返す     点数【番号-1】は成績表【番号,1】   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}    最高点は{最高点}点{改行}    最低点は{最低点}点です。」と言う。 回答2
# 成績評価プログラム 成績表は「名前,点数 鈴木太郎, 佐藤一郎, 足立次郎, 石田三郎,」 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 その編集はオン。 成績ボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の1を表列取得   それの0を配列削除   点数はそれ   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}   最高点は{最高点}点{改行}   最低点は{最低点}点です。」と言う。


 課題 5
 成績表を表示し、フリガナによるソート、点数による(正順・逆順)ソート、 平均・最高・最低表示などの処理を行うプログラムを考えなさい。各種の処理は ボタンを押すことより、行うようにすること。
 なお、成績表は左の枠内のデータを使う。

自動ソート機能は使用しない。
成績表
名前,フリガナ,点数
鬼太郎,オニタロウ,88
のび太,ノビタ,39
花環,ハナワ,93
花子,ハナコ,64
丸子,マルコ,57
知子,トモコ,50
回答
# 成績評価・ソートプログラム 成績表は「名前,フリガナ,点数 鬼太郎,キタロウ,88 のび太,ノビタ,39 花環,ハナワ,93 花子,ハナコ,64 丸子,マルコ,57 知子,トモコ,50」 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 成績ボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の表列数。   列数はそれ-1。   番号で1から列数まで繰り返す     点数【番号-1】は成績表【番号,2】 #  成績表を表行列交換。 #  行列交換成績表はそれ。 #  行列交換成績表の0を表列削除 #  それを表行列交換。 #  それの2を表列取得 #  点数はそれ。   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}    最高点は{最高点}点{改行}    最低点は{最低点}点です。」と言う。 名前ソートボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表を表行列交換。   行列交換成績表はそれ。   行列交換成績表の表列数。   列数はそれ-1。     列番1で列数から2まで繰り返す     列番2で1から列番1-1まで繰り返す       もし行列交換成績表【1,列番2】>行列交換成績表【1,列番2+1】ならば         行列交換成績表の列番2を表列取得。         成績表列はそれ。         行列交換成績表の列番2を表列削除。         行列交換成績表はそれ。         行列交換成績表の列番2+1に成績表列を表列挿入。         行列交換成績表はそれ。   行列交換成績表を表行列交換。   成績表はそれ。   成績表グリッドのアイテムは成績表。 正順ソートボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表を表行列交換。   行列交換成績表はそれ。   行列交換成績表の表列数。   列数はそれ-1。     列番1で列数から2まで繰り返す     列番2で1から列番1-1まで繰り返す       もし行列交換成績表【2,列番2】>行列交換成績表【2,列番2+1】ならば         行列交換成績表の列番2を表列取得。         成績表列はそれ。         行列交換成績表の列番2を表列削除。         行列交換成績表はそれ。         行列交換成績表の列番2+1に成績表列を表列挿入。         行列交換成績表はそれ。   行列交換成績表を表行列交換。   成績表はそれ。   成績表グリッドのアイテムは成績表。 逆順ソートボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表を表行列交換。   行列交換成績表はそれ。   行列交換成績表の表列数。   列数はそれ-1。   列番1で列数から2まで繰り返す     列番2で1から列番1-1まで繰り返す       もし行列交換成績表【2,列番2】<行列交換成績表【2,列番2+1】ならば         行列交換成績表の列番2を表列取得。         成績表列はそれ。         行列交換成績表の列番2を表列削除。         行列交換成績表はそれ。         行列交換成績表の列番2+1に成績表列を表列挿入。         行列交換成績表はそれ。   行列交換成績表を表行列交換。   成績表はそれ。   成績表グリッドのアイテムは成績表。 回答2
# 成績評価プログラムボタン付き(成績評価、ソート) 成績表は「名前,フリガナ,点数 鬼太郎,キタロウ,88 のび太,ノビタ,39 花環,ハナワ,93 花子,ハナコ,64 丸子,マルコ,57 知子,トモコ,50」 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 その編集はオン。 成績ボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の2を表列取得 // 平均、最大、最小表示のため列取り出し   それの0を配列削除 // 項目切り取り   点数はそれ   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}   最高点は{最高点}点{改行}   最低点は{最低点}点です。」と言う。 フリガナソートボタンとはボタン。 その幅は15*7 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の表行列交換 // 項目行削除のため行列入れ替え   成績表はそれ   成績表の0を表列取得 // 項目列、後で挿入のため列取り出し   項目列はそれ   成績表の0を表列削除 // 項目列切り取り(挿入・削除は列のみ)   成績表はそれ   成績表の表行列交換 // ソートのため行列入れ替え   成績表はそれ   成績表の1を表ソート // ソートは列方向のみ   成績表はそれ   成績表の表行列交換 // 項目行挿入のため行列入れ替え   成績表はそれ   成績表の0に項目列を表列挿入   成績表はそれ   成績表の表行列交換 // 元の表に戻すため行列入れ替   成績表はそれ   成績表グリッドのアイテムは成績表。 昇順ソートボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の表行列交換 // 項目行削除のため行列入れ替え   成績表はそれ   成績表の0を表列取得 // 項目列、後で挿入のため列取り出し   項目列はそれ   成績表の0を表列削除 // 項目列切り取り(挿入・削除は列のみ)   成績表はそれ   成績表の表行列交換 // ソートのため行列入れ替え   成績表はそれ   成績表の2を表数値ソート // ソートは列方向のみ   成績表はそれ   成績表の表行列交換 // 項目行挿入のため行列入れ替え   成績表はそれ   成績表の0に項目列を表列挿入   成績表はそれ   成績表の表行列交換 // 元の表に戻すため行列入れ替   成績表はそれ   成績表グリッドのアイテムは成績表。 降順ソートボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の表行列交換 // 項目行削除のため行列入れ替え   成績表はそれ   成績表の0を表列取得 // 項目列、後で挿入のため列取り出し   項目列はそれ   成績表の0を表列削除 // 項目列切り取り(挿入・削除は列のみ)   成績表はそれ   成績表の表右回転 // 逆ソートのため表を右回転(前後反転)   成績表はそれ   成績表の0を表数値ソート // ソートは順方向のみ   成績表はそれ   成績表の表右回転 // 表を前後反転のため2回右回転   成績表はそれ   成績表の表右回転   成績表はそれ   成績表の表行列交換 // 項目行挿入のため行列入れ替え   成績表はそれ   成績表の0に項目列を表列挿入   成績表はそれ   成績表の表行列交換 // 元の表に戻すため行列入れ替   成績表はそれ   成績表グリッドのアイテムは成績表。


 ファイルの入出力をする

○ ファイル入出力

例5-3 ファイルのコピーを作る
入力ファイル名、出力ファイル名を入力し、ファイルのコピーを作る。
なお、ファイルはテキストファイルとし、入・出力ファイルのオープンが出来なかった場合は、 「〇〇がオープンできません」というエラーメッセージを出して、処理を中断する。
なでしこ
# ファイルのコピーを作る # メニューの作成(コピーメニュー後の改行取る) 「なし,ファイルメニュー,ファイル ファイルメニュー,コピーメニュー ,ファイルコピー,,,ファイルコピー処理 」をメニュー一括作成。 # メニューをクリックした時のイベント ●ファイルコピー処理   「.txt」のファイル選択   元ファイル名はそれ   もし元ファイル名が「」ならば戻る。      「.txt」の保存ファイル選択   先ファイル名はそれ   もし先ファイル名が「」ならば戻る。                           回数=1   元ファイル名を毎行読む。   出力先ファイルは先ファイル名   反復     テキストはそれ。     テキストを一行出力。     もし(回数%300)=0ならば       母艦のタイトル=回数     回数に1を足す。     回数はそれ。      「コピーは終了しました。」と、言う。
C言語
'ファイルのコピーを作る #include <stdio.h> #include <stdlib.h> main() { FILE *fin, *fout; char buf[256]; char filename1[20], filename2[20]; printf("入力ファイル名="); gets(filename1); printf("出力ファイル名="); gets(filename2); fin=fopen(filename1,"r"); if (fin == NULL) { printf("%sがオープンできません。\n); exit(1); } fout=fopen(filename2,"w"); if (fout == NULL) { printf("%sがオープンできません。\n); exit(1); } while (fgets(buf,256,fin) != NULL) { fputs(buf, fout); } fclose(fin); fclose(fout); }
なでしこ関連
・メニューの作成
メニュー一括作成:メニュー・サブメニュー・表示名・ショートカット・オプション・処理名等一括定義
「なし,ファイルメニュー,ファイル
ファイルメニュー,コピーメニュー,ファイルコピー,,,ファイルコピー処理」をメニュー一括作成。
・ファイル名選択
ファイル処理
ファイル選択:○○形式のファイルを、選択ダイアログを出し、ファイル名を「それ」に返す。
保存ファイル選択:○○形式のファイルを、選択ダイアログを出し、ファイル名を「それ」に返す。
・1行ずつの読み書き
 普通、ファイルの読み書きで、ファイルを開くと、ファイルの内容が全て読み込まれてします。  その為巨大ファイルには不向きで、その様な大きなファイルを扱うときはストリーム(省略)や行単位の読み書きをする。
読込ファイルを開く:ファイル名○○を毎行読む。
書込ファイルを開く:出力ファイルはファイル名○○。
ファイルを一行読む:反復  ←ループ構造にて自動的に読み込む
ファイルへ一行書く:○○を一行出力。


 練習問題 6
成績評価プログラムからファイル出力
練習問題 5 のプログラムを改良し、入力データをファイル出力させる。
回答
# 成績評価プログラム 成績表は「名前,点数 鈴木太郎, 佐藤一郎, 足立次郎, 石田三郎,」 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 その編集はオン。 成績ボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の1を表列取得   それの0を配列削除   点数はそれ   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}   最高点は{最高点}点{改行}   最低点は{最低点}点です。」と言う。 保存ボタンとはボタン。 これをクリックした時は〜   「.csv」の保存ファイル選択。   保存ファイル名はそれ   もし保存ファイル名が「」ならば戻る。   成績表は成績表グリッドのアイテム。   成績表を保存ファイル名へ保存。 回答2 入力機能付き
# 成績評価プログラム(成績評価、ファイル入出力) 成績表は「名前,点数 鈴木太郎, 佐藤一郎, 足立次郎, 石田三郎,」 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 その編集はオン。 成績ボタンとはボタン。 これをクリックした時は〜   成績表は成績表グリッドのアイテム。   成績表の1を表列取得   それの0を配列削除   点数はそれ   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}   最高点は{最高点}点{改行}   最低点は{最低点}点です。」と言う。 保存ボタンとはボタン。 これをクリックした時は〜   「.csv」の保存ファイル選択。   保存ファイル名はそれ   もし保存ファイル名が「」ならば戻る。   成績表は成績表グリッドのアイテム。   成績表を保存ファイル名へ保存。 読込ボタンとはボタン。 これをクリックした時は〜   「.csv」のファイル選択。   読込ファイル名はそれ   もし読込ファイル名が「」ならば戻る。   読込ファイル名を読む。   成績表はそれ。   成績表グリッドのアイテムは成績表。


 課題 6 ファイル入出力機能付き
 成績表を表示し、フリガナによるソート、点数による(正順・逆順)ソート、 平均・最高・最低表示などの処理を行うプログラムを考えなさい。各種の処理は ボタンを押すことより、行うようにすること。
 なお、成績表は左の枠内のデータを使う。

追加機能
1 ファイル入出力機能を付ける。
2 各種の処理はメニューから実行する。
自動ソート機能は使用しない。
成績表
名前,フリガナ,点数
鬼太郎,キタロウ,88
のび太,ノビタ,39
花環,ハナワ,93
花子,ハナコ,64
丸子,マルコ,57
知子,トモコ,50
回答
# 成績評価プログラムメニュー付き(成績評価、ソート) # メニューの作成 『#親部品名,部品名,テキスト,ショートカット,チェック,イベント なし,ファイルメニュー,ファイル -,読込メニュー,読込,,,読込処理 -,保存メニュー,保存,,,保存処理 -,- -,終了メニュー,終了,,,終了処理 なし,表示メニュー,表示 -,成績メニュー,成績,,,成績処理 -,- -,ソートメニュー ソートメニュー,フリガナソートメニュー,フリガナソート,,,フリガナソート処理 ソートメニュー,昇順ソートメニュー,昇順ソート,,,昇順ソート処理 ソートメニュー,降順ソートメニュー,降順ソート,,,降順ソート処理 』を、メニュー一括作成。 成績表は「名前,フリガナ,点数 鬼太郎,キタロウ,88 のび太,ノビタ,39 花環,ハナワ,93 花子,ハナコ,64 丸子,マルコ,57 知子,トモコ,50」 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 その編集はオン。 ●成績処理   成績表は成績表グリッドのアイテム。   成績表の2を表列取得 // 平均、最大、最小表示のため列取り出し   それの0を配列削除 // 項目切り取り   点数はそれ   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}   最高点は{最高点}点{改行}   最低点は{最低点}点です。」と言う。 ●フリガナソート処理   成績表は成績表グリッドのアイテム。   成績表の表行列交換 // 項目行削除のため行列入れ替え   成績表はそれ   成績表の0を表列取得 // 項目列、後で挿入のため列取り出し   項目列はそれ   成績表の0を表列削除 // 項目列切り取り(挿入・削除は列のみ)   成績表はそれ   成績表の表行列交換 // ソートのため行列入れ替え   成績表はそれ   成績表の1を表ソート // ソートは列方向のみ   成績表はそれ   成績表の表行列交換 // 項目行挿入のため行列入れ替え   成績表はそれ   成績表の0に項目列を表列挿入   成績表はそれ   成績表の表行列交換 // 元の表に戻すため行列入れ替   成績表はそれ   成績表グリッドのアイテムは成績表。 ●昇順ソート処理   成績表は成績表グリッドのアイテム。   成績表の表行列交換 // 項目行削除のため行列入れ替え   成績表はそれ   成績表の0を表列取得 // 項目列、後で挿入のため列取り出し   項目列はそれ   成績表の0を表列削除 // 項目列切り取り(挿入・削除は列のみ)   成績表はそれ   成績表の表行列交換 // ソートのため行列入れ替え   成績表はそれ   成績表の2を表数値ソート // ソートは列方向のみ   成績表はそれ   成績表の表行列交換 // 項目行挿入のため行列入れ替え   成績表はそれ   成績表の0に項目列を表列挿入   成績表はそれ   成績表の表行列交換 // 元の表に戻すため行列入れ替   成績表はそれ   成績表グリッドのアイテムは成績表。 ●降順ソート処理   成績表は成績表グリッドのアイテム。   成績表の表行列交換 // 項目行削除のため行列入れ替え   成績表はそれ   成績表の0を表列取得 // 項目列、後で挿入のため列取り出し   項目列はそれ   成績表の0を表列削除 // 項目列切り取り(挿入・削除は列のみ)   成績表はそれ   成績表の表右回転 // 逆ソートのため表を右回転(前後反転)   成績表はそれ   成績表の0を表数値ソート // ソートは順方向のみ   成績表はそれ   成績表の表右回転 // 表を前後反転のため2回右回転   成績表はそれ   成績表の表右回転   成績表はそれ   成績表の表行列交換 // 項目行挿入のため行列入れ替え   成績表はそれ   成績表の0に項目列を表列挿入   成績表はそれ   成績表の表行列交換 // 元の表に戻すため行列入れ替   成績表はそれ   成績表グリッドのアイテムは成績表。 ●保存処理   「.csv」の保存ファイル選択。 // csv形式の保存ファイル名選択   保存ファイル名はそれ   もし保存ファイル名が「」ならば戻る。   成績表は成績表グリッドのアイテム。   成績表を保存ファイル名へ保存。 // ファイルへ保存 ●読込処理   「.csv」のファイル選択。 // csv形式の読み込みファイル名選択   読込ファイル名はそれ   もし読込ファイル名が「」ならば戻る。   読込ファイル名を読む。 // ファイルの読み込み   成績表はそれ。   成績表グリッドのアイテムは成績表。 ●終了処理   終了。 回答2 メニュー機能付き
# 成績評価・ソートプログラム(読込保存機能付き) 『#親部品名,部品名,テキスト,ショートカット,チェック,イベント なし,ファイルメニュー,ファイル ファイルメニュー,新規メニュー,新規,,,新規処理 ファイルメニュー,- ファイルメニュー,開くメニュー,開く,,,読込処理 ファイルメニュー,保存メニュー,保存,,, 保存メニュー,上書き保存メニュー,上書き保存,,,上書き保存処理 保存メニュー,別名保存メニュー,別名保存,,,別名保存処理 ファイルメニュー,- ファイルメニュー,終了メニュー,終了,,,終了処理 なし,成績メニュー,成績 成績メニュー,集計メニュー,集計,,,集計処理 成績メニュー,- 成績メニュー,ソートメニュー,ソート ソートメニュー,名前ソートメニュー,名前ソート,,,名前ソート処理 ソートメニュー,正順ソートメニュー,正順ソート,,,正順ソート処理 ソートメニュー,逆順ソートメニュー,逆順ソート,,,逆順ソート処理 』を、メニュー一括作成。 白表は「名前,フリガナ,点数 鬼太郎,キタロウ, のび太,ノビタ, 花環,ハナワ, 花子,ハナコ, 丸子,マルコ, 知子,トモコ,」 成績表は「名前,フリガナ,点数 鬼太郎,キタロウ,88 のび太,ノビタ,39 花環,ハナワ,93 花子,ハナコ,64 丸子,マルコ,57 知子,トモコ,50」。 保存ファイル名は「」。 書式は「%.1f」 成績表グリッドとはグリッド。 そのアイテムは成績表。 その編集はオン。 ●集計処理   成績表は成績表グリッドのアイテム。   成績表の2を表列取得   それの0を配列削除   点数はそれ。   平均点は点数の配列平均   平均点を書式で形式指定。   平均点はそれ。   最高点は点数の配列最大値   最低点は点数の配列最小値   「成績の平均点は{平均点}点{改行}    最高点は{最高点}点{改行}    最低点は{最低点}点です。」と言う。 ●名前ソート処理   成績表は成績表グリッドのアイテム。   成績表を表行列交換。   行列交換成績表はそれ。   行列交換成績表の0を表列取得。   項目行はそれ。   行列交換成績表の0を表列削除。   それを表行列交換。   それの1を表ソート。   それを表行列交換。   それの0へ項目行を表列挿入。   それを表行列交換。   成績表はそれ。   成績表グリッドのアイテムは成績表。 ●正順ソート処理   成績表は成績表グリッドのアイテム。   成績表を表行列交換。   行列交換成績表はそれ。   行列交換成績表の0を表列取得。   項目行はそれ。   行列交換成績表の0を表列削除。   それを表行列交換。   それの2を表ソート。   それを表行列交換。   それの0へ項目行を表列挿入。   それを表行列交換。   成績表はそれ。   成績表グリッドのアイテムは成績表。 ●逆順ソート処理   成績表は成績表グリッドのアイテム。   成績表を表行列交換。   行列交換成績表はそれ。   行列交換成績表の0を表列取得。   項目行はそれ。   行列交換成績表の0を表列削除。   それを表行列交換。   それの2を表ソート。   それを配列逆順。   それを表行列交換。   それの0へ項目行を表列挿入。   それを表行列交換。   成績表はそれ。   成績表グリッドのアイテムは成績表。 ●新規処理   「点数をクリアしてよろしいか?」を「はい{〜}いいえ」でボタン選択。   もし、それが「はい」ならば     成績表は白表。     成績表グリッドのアイテムは成績表。 ●読込処理   「.csv」のファイル選択。   読込ファイル名はそれ   もし読込ファイル名が「」ならば戻る。   読込ファイル名を読む。   成績表はそれ。   成績表グリッドのアイテムは成績表。  ●上書き保存処理   もし保存ファイル名が「」ならば     「.csv」の保存ファイル選択。   保存ファイル名はそれ。   もし保存ファイル名が「」ならば戻る。   成績表は成績表グリッドのアイテム。   成績表を保存ファイル名へ保存。 ●別名保存処理   「.csv」の保存ファイル選択。   保存ファイル名はそれ   もし保存ファイル名が「」ならば戻る。   成績表は成績表グリッドのアイテム。   成績表を保存ファイル名へ保存。 ●終了処理   「終了してよろしいか?」を「はい{〜}いいえ」でボタン選択。   もし、それが「はい」ならば終了。 回答3 データベース風入力機能付き
母艦の幅は760 母艦の高さは250 # メニューの作成 『#親部品名,部品名,テキスト,ショートカット,チェック,イベント なし,ファイルメニュー,ファイル -,新規メニュー,新規,,,新規処理 -,- -,読込メニュー,読込,,,読込処理 -,保存メニュー,保存,,,保存処理 -,- -,終了メニュー,終了,,,終了処理 なし,編集メニュー,編集 -,入力クリアメニュー,入力クリア,,,入力クリア処理 -,成績クリアメニュー,成績クリア,,,成績クリア処理 -,- -,登録メニュー,登録,,,登録処理 -,表示メニュー,表示,,,表示処理 』を、メニュー一括作成。 新規成績表は「番号,  名前  ,  フリガナ  ,国語,英語,社会,理科,数学 ,,,,,,,」 新規入力表は「項目,内容(氏名点数) 番号, 名前, フリガナ, 国語, 英語, 社会, 理科, 数学,」 入力グリッドとはグリッド。 // 入力グリッドの配置と大きさ設定 そのXは、10 // 母艦の左側に配置 そのYは、10 そのHは、170 そのWは、220 そのアイテムは新規入力表。 その編集はオン。 // 入力・編集を可能にする 成績グリッドとはグリッド。 // 成績グリッドの配置と大きさ設定 そのXは、250 // 母艦の右側に配置 そのYは、10 そのHは、170 そのWは、460 そのアイテムは新規成績表。 ●登録処理   入力表は入力グリッドのアイテム // 入力グリッドのデータを入力表に移す   入力表の1を表列取得 // 入力表の1列目を取得   それの0を配列削除 // その項目行を削除し   登録データはそれ // 登録データとする   番号は登録データ【0】 // 登録データの0行目から番号を取得   成績表は成績グリッドのアイテム // 成績グリッドのデータを成績表に移す   成績表の表行列交換 // 行データを入れ替えるため、行列入れ替える   成績表はそれ   成績表の番号を表列削除 // 入れ替え番号の列を削除   成績表はそれ   成績表の番号に登録データを表列挿入 // 入れ替え番号の列に、登録データを挿入   成績表はそれ   成績表の表行列交換 // 成績表に戻すため、行列入れ替える   成績表はそれ   成績グリッドのアイテムは成績表。// 成績表のデータを成績グリッドに移す ●表示処理   「表示番号は」と尋ねる。 // 入力グリッドに表示したい番号を入力する   番号はそれ   成績表は成績グリッドのアイテム // 成績グリッドのデータを成績表に移す   成績表の表行列交換 // 行データを取得するため、行列入れ替える   成績表はそれ   成績表の番号を表列取得 // 番号の行データを取得し、登録データとする   登録データはそれ   入力表は入力グリッドのアイテム // 入力グリッドのデータを入力表に移す     入力表の1を表列取得 // 入力表の1列目を取得   登録データの0にそれ【0】を配列挿入 // 項目行を登録データの先頭に付ける   入力表の1を表列削除 // 入力表の1列目を削除   入力表はそれ     入力表の1に登録データを表列挿入 // 入力表の1列目に登録データを挿入   入力表はそれ   入力グリッドのアイテムは入力表。// 入力表のデータを入力グリッドに移す   ●新規処理   入力クリア処理する   成績クリア処理する ●入力クリア処理   入力グリッドのアイテムは新規入力表。 // 入力グリッドのデータをクリア   ●成績クリア処理   成績グリッドのアイテムは新規成績表。 // 成績グリッドのデータをクリア ●保存処理   「.csv」の保存ファイル選択。 // csv形式の保存ファイル名選択   保存ファイル名はそれ   もし保存ファイル名が「」ならば戻る。   成績表は成績グリッドのアイテム。   成績表を保存ファイル名へ保存。 // ファイルへ保存 ●読込処理   「.csv」のファイル選択。 // csv形式の読み込みファイル名選択   読込ファイル名はそれ   もし読込ファイル名が「」ならば戻る。   読込ファイル名を読む。 // ファイルの読み込み   成績表はそれ。   成績グリッドのアイテムは成績表。 ●終了処理   終了。



このホームページはLightiningHTMLで作成しました。


Copyrights(c) 2000 ザザ虫. All rights reserved.