JPH0586580B2 - - Google Patents

Info

Publication number
JPH0586580B2
JPH0586580B2 JP61181702A JP18170286A JPH0586580B2 JP H0586580 B2 JPH0586580 B2 JP H0586580B2 JP 61181702 A JP61181702 A JP 61181702A JP 18170286 A JP18170286 A JP 18170286A JP H0586580 B2 JPH0586580 B2 JP H0586580B2
Authority
JP
Japan
Prior art keywords
data
matrix
stored
column
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP61181702A
Other languages
English (en)
Other versions
JPS6336476A (ja
Inventor
Shoichi Kawai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP61181702A priority Critical patent/JPS6336476A/ja
Priority to DE8787108562T priority patent/DE3776598D1/de
Priority to EP87108562A priority patent/EP0253138B1/en
Publication of JPS6336476A publication Critical patent/JPS6336476A/ja
Priority to US07/464,702 priority patent/US5043916A/en
Publication of JPH0586580B2 publication Critical patent/JPH0586580B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Calculators And Similar Devices (AREA)

Description

【発明の詳細な説明】
産業上の利用分野 本発明は、行列の列方向の行列要素を挿入/削
除して編集するための新規な装置に関する。 従来技術 従来より、2次元の行列状の表データを作成す
るなどの統計処理機能を有する、いわゆるポケツ
トコンピユータと称される小型電子計算機が用い
られている。このような従来技術の小型電子計算
機では、表の題名と当該表の列項目名および行項
目名を入力し、引続いてデータを順次的に入力し
て所望の表を作成するようにしている。 一方、このように作成された表において、デー
タの挿入/削除などの編集を行なう場合がある。
前記、入力されたデータは、下記の第1表の丸括
弧中の数字の順序に従つて、たとえばRAM(ラ
ンダムアクセスメモリ)などの記憶素子中に、順
次的に記憶されている。
【表】 このデータ列のRAM中の記憶順を示す丸括弧
中の数字は、各データが記憶されているデータ領
域に関してアドレス順となつており、したがつて
上記第1表において、データ列の行方向のデータ
列に関する編集作業は、RAM中のアドレス順に
行なえばよい。 発明が解決しようとする問題点 一方、上記第1表について、列方向にデータ列
の編集を行なおうとするとき、たとえば第1表の
「スウガク」のデータ内容のみを訂正しようとす
る場合など、データが格納されているデータ領域
のアドレスを、「1」、「4」、「7」,…のように不
連続に抽出せねばならず、このような操作を行な
うためのプログラムが非常に繁雑であるととも
に、処理時間もむやみに長くかかつていた。一
方、表データの記憶態様が、列方向をアドレス順
に記憶しているならば、たとえば第1表におい
て、行方向の編集が同様に困難となつていた。 本発明の目的は、行列の列方向の行列要素を挿
入/削除して編集することを容易に行うことがで
きるようにした装置を提供することである。 問題点を解決するための手段 本発明は、(a) 最大列数C0、最大行数L0であ
る元の行列を構成する各行列要素を、各行を順
次的にかつ行方向に順次的に1次元データとし
て記憶する記憶手段と、 (b) 前記記憶手段に記憶されている行列要素によ
つて構成される行列を表示する表示手段と、 (c) レジスタ31と、 (d) 第m行第n列の行列要素をレジスタ31に記
憶し、その第m行第n列の行列要素に対応する
第1の値aを、 a=(m−1)C0+n として求め、 次に第2の値a′を、 a′={(a−1)−〔a−1/C0〕C0}L0 +{〔a−1/C0〕+1} として求め、 第2の値a′に対応する記憶手段に記憶されてい
る行列要素と、レジスタ31に記憶してある行
列要素とを入れ替え、 その入れ替え後に、レジスタ31に記憶され
た行列要素に関して、第2の値a′を求めて記憶
手段に記憶されている第1の値aに対応する行
列要素とを入れ替え、このような入れ替える動
作を繰り返して転置行列を構成する行列要素を
1次元データとして作成する転置行列作成手段
と、 (e) 転置行列作成手段によつて作成されて記憶手
段に記憶されている1次元データのうち、前記
元の行列の列方向の行列要素を挿入/削除する
手段とを含むことを特徴とする行列の挿入/削
除の編集装置である。 作 用 本発明に従えば、元の行列を最大列数C0、最
大行数L0であり、記憶手段に、その各行列要素
を、1次元データとして、各行毎に順次的に、行
方向(すなわち横方向)に順次的に記憶してお
き、レジスタ31は、元の行列の第m行(すなわ
ち上から第m番目)、第n列(すなわち左から第
n番目)の行列要素をレジスタ31に記憶し、そ
の第1の値aを求め、次にその第1の値aに基づ
いて第2の値a′を求め、この第2の値a′に対応す
る記憶手段に記憶されている行列要素と、レジス
タ31に記憶してある行列要素とを入れ替え、 その入れ替えた後に、レジスタ31に記憶され
ている行列要素に関して、第1の値aを求めて第
2の値a′を求め、その第2の値a′に等しい元の行
列の第1の値aに対応する行列要素とを入れ替
え、このような入れ替える動作を繰返すことによ
つて転置行列を構成する行列要素を、1次元デー
タとして作成して記憶手段に記憶することができ
る。 こうして記憶手段に記憶されている転置行列作
成手段によつて作成された1次元データは、各列
を順次的にかつ列方向(元の行列の上から下)に
順次的に行列要素が記憶されており、したがつて
元の行列の列方向の行列要素を容易に挿入/削除
することが可能になる。 実施例 第1図は本発明の一実施例のデータ処理装置で
ある、いわゆるポケツトコンピユータ(以下、計
算機と略称する)1の正面図であり、第2図は計
算機1の電気的構成を示すブロツク図である。第
1図および第2図を参照して、計算機1の構成に
ついて説明する。計算機1の前面板2の一隅に
は、表示手段であり、たとえば液晶表示素子
(LCD)などによつて実現される表示部4が設け
られる。表示部4は、たとえばマトリツクス駆動
形であつて、たとえば24桁の1行分の表示容量を
有している。 上記表示部4の近傍には、後述するような表の
作成時において項目名などの文字を入力する際に
用いられ、またいわゆる関数キーを兼ねる文字入
力キー群5と、いわゆるテンキーである数値入力
キー群6と、演算子(たとえば「÷」や「+」な
ど)指示キー群と、カーソルキー群8などが配置
される。また表機能キー9は、後述するような表
データの作成機能を実現し、行指示キー10は、
後述するような2次元表データの作成時におい
て、当該データ行列の入力すべき各行を選択する
機能を有する。また列指示キー11は、同様にデ
ータ行列の入力すべき列を指示する機能を有す
る。。また入替キー12は、後述するように作成
された表データに関して、当該データ行列の転置
行列に対応する配列列態様のデータ行列を発生さ
せる機能を有する。 計算機1は、計算機1の各種データ処理を制御
する中央処理装置(以下、CPUと略称する)1
3を備える。CPU13には、前述の文字入力キ
ー群5などを含むキー入力部14が接続され、ま
た表示制御部15を介して前記表示部4が接続さ
れる。表示制御部15には、表示バツフア16が
設けられており、表示部4に表示すべきデータを
一時的に記憶する。 またCPU13には、たとえばROM(リードオ
ンリメモリ)などによつて構成される固定記憶部
17と、たとえばRAM(ランダムアクセスメモ
リ)などによつて構成される記憶部18とが接続
される。固定記憶部17および記憶部18が、記
憶手段を構成する。 固定記憶部17は、計算機1が起動されたとき
に設定処理を制御するイニシヤルプログラムを記
憶するイニシヤルプログラム領域19と、計算機
1において用いられるたとえばBASICなどの高
級言語に関するインタプリタプログラムが記憶さ
れるインタプリタ領域20と、後述するような表
処理を行なうプログラムが記憶された表処理プロ
グラム領域21と、キー入力部14のキー操作に
伴つてCPU13に入力されるキヤラクタコード
データから、当該コードに対応する表示キヤラク
タのドツトパターンを発生するプログラム(以
下、CGプログラムと略称する)が、記憶される
CGプログラム領域22と、その他各種のシステ
ムプログラムが記憶されるシステムプログラム領
域23とを含む。 また記憶部18には、計算機1の操作者が任意
に作成したBASICプログラムや、各種データな
どを記憶するユーザプログラム領域24と、後述
する表データを記憶する表データ領域25と、各
種のバツフア、カウンタまたはレジスタなどが割
付けられるシステム領域26とを含む。システム
領域26には、複数の表を識別する表題目に対応
するパラメータであるhカウンタ27と、各表の
列方向(縦方向)の位置すなわち、各行を識別す
るパラメータであるmカウンタ31と、行方向
(横方向)の各位置である各列を識別するパラメ
ータであるnカウンタ29とを含む。さらに表の
各データごとに設定される行/列の入替完了フラ
グの集合であるFレジスタ30と、この行/列の
入替処理に用いられるXレジスタ31と、C,
M,N,A,Bレジスタ33,34,35,3
6,37とがそれぞれ設定される。 第3図は表データ領域20の各種データの割付
態様を示す図である。表データ領域25は、ユー
ザプログラム領域24の一部分に割付けられ、そ
の各データは、後述の入力処理ごとに、または
BASICプログラムの変数データの割付け命令な
どによつて記憶され、表データが作成される。第
3図に示す表データ領域25のデータ例は、上記
の第1表に対応し、表データの各項目は、たとえ
ば16バイトの固定長で形成される。 表データ領域25の最先頭アドレス側からは、
表の表題と各表の列項目名とが割付けられるスト
リング関数Th$(C)と、列項目数(実際には列項
目数+1)の数値とが定義されて割付けられる定
義領域38が設定される。以下、Cレジスタ33
のカウント値Cをパラメータに、第1表に示す列
項目名が、 T0$(0)=“スウガク” …(1) のように記憶される列項目名領域39a〜39e
が設定される。 引続き定義領域40が設定され、第1表の“ア
オキ”などの行項目名データが割付けられるスト
リング関数Dh$(L)が格納される。以下、カウン
ト値Lをパラメータとして行項目名領域41a,
41b,41C,…が設定され、それぞれたとえ
ば D0$(0)=“アオキ” …(2) のように行項目名が記憶される。 引続き第1表の場合の点数に相当する入力デー
タが割当てられる数値関数Dh(m,n)が定義さ
れる定義領域42が設定され、引続きデータ領域
43a,43b,…が設定され、入力された各デ
ータがたとえば、 D0(0,0)=30 …(3) のように記憶される。これらのデータは入力処理
ごとに自動的に表データ領域25に割付けられ、
またBASIC言語の変数命令によつても割付けら
れる。またこれらの各データを読出すためのアク
セスは、前記定義領域38,40,42などに変
数名とともに、格納されている項目数によつて、
データ位置のアドレス値が演算される。 表データ領域25の領域44に示すデータは、
定義領域42において定義されるデータ行列の最
大列数C0(行方、すなわち横方向の行列要素の最
大数)と、最大行数L0(列方向、すなわち縦方向
の行列要素の最大数)とによつて想定される領域
に、計算機1の操作による入力が行なわれていな
い場合に割付けられるデータであり、表データ領
域25の当該領域にこのデータがすべて格納され
る。また領域45に示すデータは、データの不存
在を示すデータであり、第1図に示す欠測値キー
46を操作した際に格納される。 これらの数値データは、計算機1において用い
得る最小値/最大値の数値データであり、このよ
うな数値データタを前記データの未入力/不存在
を示すために用いるのは以下の理由による。すな
わち、計算機1は、BASIC言語などに基づく特
殊コードを前記目的のために用いることもできる
けれども、計算機1はBASIC言語などのプログ
ラム処理を可能にしており、そのため種々のコー
ド系を利用する。したがつてこのようなコード系
に可及的に制約を与えないようにするためであ
る。またデータ処理において、計算機1のデータ
処理能力の最大値/最小値が発生することは殆ど
ないことも挙げられる。 第4図は第1図示の計算機1の表の題名の入力
および列項目名の入力の手順を説明するフローチ
ヤートである。第1図〜第4図を参照して、本実
施例の動作について説明する。第4図ステツプa
1で、計算機1の表機能キー9を操作する。この
操作によつてステツプa2で、入力される複数の
表にそれぞれ付される番号を記憶するhレジスタ
27のカウント値hを、たとえば「0」に書記化
する。ステツプa3では、CPU13は、 「表タイトル」;h+1;「=?」 のデータを、表示制御部15の表示バツフア16
に記憶し、表示部4に表示させる。 ステツプa4では、計算機1のキー入力部14
からのキー入力を読込み、ステツプa5では、操
作されたキーがアルフアベツトや、カナなどを入
力する文字入力キー群5であるかどうかの判断を
行ない、否定であればステツプa6に移る。ステ
ツプa5の判断が肯定であれば、ステツプa7に
移り、前記キー入力されたキヤラクタコードがキ
ー入力バツフア47に取込まれ、さらにCGプロ
グラム領域22を用いて、当該コードをキヤラク
タパターンに展開し、ステツプa8で表示制御部
15に与え、表示部4に表示する。この後、再び
ステツプa4に処理は戻り、前述したステツプa
4〜a8を1サイクルとする処理を繰返し行な
う。このようにして、以降の処理で作成しようと
する表の題名「セイセキヒヨウ」が、キー入力バ
ツフア47に格納される。 前記ステツプa5で判断結果が否定であると
き、ステツプa6に移り、操作されたキーが列指
示キー11であるかどうかの判断を行なう。判断
結果が否定であれば、処理はステツプa9に移
り、肯定であればステツプa10に移る。ステツ
プa10では、前記ステツプa7においてデータ
が格納されたキー入力バツフア47の記憶内容
を、前記ストリング関数Th$(C)(実際には、h
=0,C=0)に割付け格納させる。このステツ
プa10以降の処理は、列項目名の入力に移る。 前記ステツプa6における判断が否定であれ
ば、ステツプa9に移り、操作されたキーが表機
能キー9であるかどうかの判断を行なう。判断結
果が否定であれば処理はステツプa3に戻り、前
述したような処理を行なう。ステツプa9におけ
る判断が肯定であれば、処理はステツプa11に
移り、カウント値hがたとえば9であるかどうか
の判断が行なわれる。すなわち、本実施例の計算
機1では、たとえば9個の表を作成できる機能を
有する。この表の個数は、勿論9個以上であつて
もよいし、以下であつてもよい。 ステツプa11における判断が否定であれば、
計算機1はさらに表を作成できることになり、ス
テツプa12でカウント値hを+1インクリメン
トし、処理をステツプa3に戻す。ステツプa1
1における判断結果が肯定であれば、これ以上の
表の作成は不可能であり、ステツプa13でカウ
ント値hを「0」に書記化し、表示部4に第1番
目の表の題名を表示させ、処理はステツプa3に
戻る。 前記ステツプa10に引続く処理は、列項目名
の入力であり、ステツプa14で列項目番号を表
わすCレジスタ33のカウント値Cを、たとえば
「0」に書記化する。ステツプa15では、上記
ステツプa3と類似のフオーマツトで、列項目名
を問う表示を表示部4に表示させる。ステツプa
16では、計算機1のキー入力部14からのキー
入力を読込む。ステツプa17では、文字入力キ
ー群5が操作されたかどうかの判断を行ない、否
定であればステツプa18に移り、肯定であれば
ステツプa19,a20に移り、前記ステツプa
7,a8と同様に、入力されたキヤラクタコード
をキー入力バツフア47に記憶した後、表示部4
に表示する。これ以降の処理はステツプa16に
移る。 ステツプa17で判断が否定のとき、ステツプ
a18で列指示キー11が操作されたかどうかの
判断を行ない、否定であればステツプa16に戻
り、前述の処理を繰返し行なう。肯定であれば、
ステツプa20に移り、キー入力バツフア47の
記憶内容が空白であるかどうかの判断を行なう。
判断結果が否定であれば、処理はステツプa22
に移り、ストリング関数Th$(C+1)に、ス
トリング関数Th$(C)の割付内容を割付ける。そ
の後、ステツプa23では現在のキー入力バツフ
ア47の記憶内容を、ストリング関数Th$(C)に
割付け記憶させる。この後、ステツプa24でカ
ウント値Cは+1インクリメントされ、処理は再
びステツプa15に戻る。 前記ステツプa22〜a24の処理を要約すれ
ば、列項目名の入力を行なうたびごとに、それま
で前記ストリング関数ごとに記憶されている表の
題名は、順次アドレスの増加する方に隣接するス
トリング関数に順送りに転送され、C=0に相当
するストリング関数Th$(0)に、最新の列項
目名が割当てられる。 前記ステツプa21の判断が肯定であれば、文
字入力キー群5を操作することなしに、列指示キ
ー11を操作したことになり、すなわち列項目名
の入力が当該表においては終了したことを示し、
この後、処理は第5図に示す行項目名入力を行な
う処理にに移る。 第5図は第4図のフローチヤートの処理に引続
き行なわれる行項目名入力の処理を説明するフロ
ーチヤートである。第1図〜第5図を参照して、
行項目名入力の手順について説明する。第5図ス
テツプb1では、行項目名に付される番号を表す
Cカウンタ33のカウント値Lがたとえば「0」
に初期化され、ステツプb2では、 「ギヨウコウモク」;L;「=?」 のデータが表示部4に表示される。 引続くステツプb3では、キー入力部14から
のキー入力が読取られ、ステツプb4,b5では
文字入力キー群5が操作されたか、または行指示
キー10が操作されたかの判断をそれぞれ行な
う。共に操作されていなければ、ステツプb3に
戻つて再びキー入力の読取り動作を行なう。ステ
ツプb4で判断結果が肯定であれば、ステツプb
6,b7に順次移り、第4図示のステツプa7,
a8で説明した手順と同一の手順で、取込まれた
キヤラクタコードに対応するキヤラクタが表示部
4に表示される。 ステツプb4の判断が否定であれば、ステツプ
b5に移り、ステツプb5の判断が肯定であれ
ば、入力すべき表の一行項目名の入力は終了して
次行の行項目名の入力を要求していることにな
る。このとき処理はステツプb6に移り、キー入
力バツフア47の記憶内容が空白であるかどうか
の判断を行なう。判断が否定であれば、行項目名
の入力は終了しており、後述する第6図に示す表
データの入力処理に移る。ステツプb8の判断が
肯定であれば、処理はステツプb9に移り、現在
キー入力バツフア47の記憶内容をストリング関
数Th$(L)に記憶し、続くステツプb10でカウ
ント値Lを+1インクリメントする。 続いて処理はステツプb2に戻り、新たな行項
目の入力を行なうかどうかの表示を表示部4に表
示する。ここで所望の行項目名の入力が終了して
いれば、再び行指定キー10を操作し、このとき
処理はステツプb4,b5を経てステツプb8に
移り、キー入力バツフア47の記憶内容が空白で
あることが判断される。第6図を参照して後述す
る表データ入力の処理モードに移る。 第6図は上記第1表に示す題名「セイセキヒヨ
ウ」の点数でる数値データを入力する手順を説明
するフローチヤートである。第1図〜第6図を参
照して、データ入力手順について説明する。第6
図ステツプd1で、入力されるデータの列方向位
置と行方向位置とを示すmカウンタ28およびn
カウンタ29のカウント値m,nおよび、表番号
を示すhレジスタのカウント値hをたとえば
「0」にそれぞれ初期化する。ステツプd2では、
第3図の定義領域42において定義される数値関
数Dh(m,n)(実際にはh=m=n=0)の第
3図に示すデータ領域43を行方向最大値C0お
よび列方向最大値L0についてL0×C0だけ確保
し、領域44に示すデータ未入力状態を表す数値
データを格納する。 次にステツプd3では、前述した列項目名およ
び行項目名をそれぞれ表すストリング関数Th
$(C),Dh$(L)について、 Dh$(m);TH$(n);「=?」 を表示部4に表示し、ステツプd4でキー入力部
14で操作されたキーを読込む。 ステツプd5,d6,d33,d7では、得ら
れたキー入力が数値入力キー群6であるか、また
は入替キー12であるか、または削除/挿入キー
52であるか、または列指示キー11であるかの
判断をそれぞれ行なう。ステツプd5で判断が肯
定であれば、ステツプd8で入力された数値をキ
ー入力バツフア47に格納し、ステツプd9でこ
の数値を表示部4で表示する。このような数値デ
ータの入力が終了すると、表示部4に表示されて
いる表の第m行第n列に、たとえば“63”の表示
がなされることになる。 ステツプd5の判断が否定であり、ステツプd
6の判断が肯定であれば、当該表の数値データの
入力が終了し、後述するような行列入替処理を行
なうことを要求していることになり、ステツプd
10でこの処理を行ない、ステツプd4に戻る。 ステツプd6の判断が否定であり、ステツプd
33の判断が肯定であれば、処理はステツプd3
4に移り、当該データの削除/挿入処理が行なわ
れ、処理はステツプd4に戻る。前記ステツプd
34の削除/挿入処理は、以下のように行なう。
すなわち所定のデータの配置位置(m,n)に対
応するデータ関数Dh(m,n)に割り付けられて
いるデータを削除するか、または新たなデータに
更新する。 ステツプd33の判断が否定であり、ステツプ
d7の判断が肯定であれば、当該行のデータ入力
において、一列データの入力が終了し、次列目の
入力を要求していることになり、処理はステツプ
d11に移る。ステツプd11ではキー入力バツ
フア47の記憶内容が数、データ関数Dh(m,
n)(現時点ではh=m=n=0)に割付けられ、
ステツプd12では、データが入力された表の列
数nが、前記ステツプd2で定めた最大列数(行
方向、すなわち横方向の行列要素の最大数であ
り、後述の第2表の行列では、C0=3)になつ
ているかどうかを判断する。すなわち該行の全列
に亘るデータ入力が終了したかどうかを判断す
る。判断結果が否定であれば、さらに次列目のデ
ータ入力が可能となり、ステツプd13で列数を
示すカウント値nを+1インクリメントし、処理
をステツプd3に戻す。 前記ステツプd12で判断結果が肯定であれ
ば、当該行の全列に亘るデータ入力が終了したこ
とになり、処理はステツプd14に移り、現在デ
ータ入力作業中の表の行数を表すカウント値m
が、前記ステツプd2で定めた最大行数L0(列方
向、すなわち縦方向の行列要素の最大数であり、
後述の第2表の行列では、L0=6)と等しいか
どうかを判断する。等しければデータ入力処理
は、終了する。等しくなければさらに次行目の入
力が可能であり、ステツプd15でカウント値m
を+1インクリメントし、処理を次行に進め、ス
テツプd16でカウント値nをたとえば「0」に
初期化し、当該行の第1列列目の入力ができる状
態とする。このようにしたのち、処理はステツプ
d3に戻される。 前記ステツプd7において、判断結果で否定で
あれば、操作者はデータの入力操作ではない操作
を行なつていることになり、処理はステツプd1
7,d18,d19,d20に順次的に移り、そ
れぞれ操作されたキーがカーソルキー群8のう
ち、右方キー48であるか、または下方キー49
であるか、または上方キー50であるか、または
左方キー51であるかをそれぞれ順次的に判断す
る。操作されたキーがカーソルキー群8でもない
場合、処理はステツプd4に戻される。 これらの判断処理ステツプd17〜d20にお
いて、それぞれ判断結果が肯定であれば、処理は
それぞれステツプd21,d22,d23,d2
4に移り、行方向(すなわち横方向)の列の位置
を示すカウント値nを+1インクリメントし、ま
た列方向(すなわち縦方向の行の位置)を示すカ
ウント値mを+1インクリメントし、またこのカ
ウント値mを−1デクリメントし、前記カウント
値nを−1デクリメントする。これらステツプd
21〜d24の処理は表示部4においてカーソル
52を、カーソルキー群8によつて示される任意
の方向に移動させた表示を得るために行なわれ
る。 前記ステツプd21〜d24以降の処理は、共
通にステツプd25に移り、まず列数を表すカウ
ント値nが(C0+1)に等しいかどうかの判断
を行なう。これは表示部4におけるカーソル52
が、現時点で表示される表を行方向に超えたかど
うかの判断である。この判断が成立すれば、ステ
ツプd26でカウント値nを−1デクリメント
し、カーソル52を表外に出さずステツプd27
に移る。前記ステツプd25の判断結果が否定で
あれば、ステツプd26の処理を行なうことな
く、ステツプd27に移る。 ステツプd27では、入力中の表で表示部4の
カーソル52がこの表を列方向に超えた位置に表
示されるかどうかを判断する判断結果が肯定であ
れば、ステツプd28でカウント値mを−1デク
リメントし、カーソル52を表外に出さずステツ
プd29に移る。前記判断が否定であれば、ステ
ツプd28の処理を行なうことなく、ステツプd
29に移る。 ステツプd29では、カウント値nが負である
かどうかの判断を行なう。これは、表示部4にお
けるカーソルが、前記表を左方に越える位置に表
示されるかどうかの判断である。判断結果が肯定
であればステツプd30でカウント値nを0と
し、ステツプd31に移る。前記判断が否定であ
れば、ステツプd30を行なうことなく、ステツ
プd31に移る。 ステツプd31ではカウント値nが負であるか
どうかの判断を行なう。これは前記表示部4のカ
ーソルが表を上方に超えて表示されるかどうかの
判断である。判断結果が肯定であれば、ステツプ
d32でカウント値mを0とし、処理がステツプ
d4に移る。上記判断が否定であれば、ステツプ
d32の処理を行なうことなく、処理はステツプ
d4に移される。 このようにして上記第4図〜第6図の処理を行
なうことによつて、作成すべき表の題名、列項目
名、行項目名、および各データを入力することが
できる。このようにして、上記第1表を作成する
ことができる。 このように作成された表中のデータに関して、
各データは、第3図に示すように記憶部18に記
憶されている。したがつて本実施例のように基本
的に行方向に沿つてデータの入力を行なう場合、
行方向に沿うデータの修正は、記憶部18のアド
レス順に行なえばよく、容易に行なうことができ
る。一方、列方向の修正は各データが記憶されて
いるアドレスを不連続に指定しなければならな
い。したがつて本実施例では、列方向に沿うデー
タの修正を行うに当たつて、データ行列の後述す
る入替え処理をおこない、列方向に沿う修正処理
と等価な処理を行方向に行なうようにする。 第7図は本発明の一実施例の作成された表の
行・列を入替える処理手順を示すフローチヤート
である。第1図〜第7図を参照して、前記ステツ
プd10の入替え処理について説明する。前記第
6図を参照して説明したデータ関数Dh(m,n)
は、カウント値m,nによる2変数のデータ関数
であつたが、第1表の数値データ部分のみを各行
列要素毎に、最上行において最左列から右方へ、
引続き第2行について最左列から右方に、順次行
列要素を計数して一連の番号を与え、この番号を
変数とする1変数のデータ関数Dh(a)を、下記の
ように定義する。 Dh(a)≡Dh(m,n) …(4) ここで、 a=(m−1)C0+n このようにして、前記データ関数Dh(m,n)に
1変数のデータ関数Dh(a)が1:1に対応する。
このような1変数のデータ関数Dh(a)を用いて、
上記第1表の数値データ部分のみを表示すると、
下記の第2表が得られる。
【表】 本実施例の目的は、上記第2表の行・列を入替
え、下記第3表のデータ行列を生成させることで
ある。
【表】 第7図ステツプe1で第1図示の入替えキー1
2を操作し、この操作によつてステツプe2でカ
ウント値aを「1」に初期化する。 ステツプe3では、Dh(1)に割当てられている
数値データ(第1表の例に従えば「63」)を記憶
部18のXレジスタ31に格納する。ここで前記
データ関数Dh(a)は、前記第1表に示される対応
する数値データとともに、後述する入替え処理が
終了した場合に論理値「1」となり、完了してい
ない場合には論理値「0」となる入替え完了フラ
グも割付けられている。すなわち現時点では入替
え処理は起動されたばかりであり、すべてのカウ
ント値aのデータ関数Dh(a)に関する前記入替え
完了フラグは、すべての論理値「0」であり、前
記第1表に示す数値データとともに、このフラグ
の内容がこのステツプe3において、Xレジスタ
31に格納される。 ステツプe4では、前記データ関数Dh(a)に割
当てられている切替え完了フラグが、論理値
「1」であるかどうかの判断を行なう。現時点で
はこのフラグは論理値「0」であり、処理はステ
ツプe5に移り、このデータ関数Dh(1)の入替え
完了フラグを論理値「1」にセツトする。ステツ
プe6では、論理値「1」の入替え完了フラグを
含むデータをXレジスタ31に再び記憶する。 ステツプe7では前記ステツプカウント値aに
関して上記第2表から第3表への入替え処理を実
現できる新たなカウント値a′を下式に基づいて算
出する。 a′={(a−1)−〔a−1/C0〕C0}L0 +{〔a−1/C0〕+1}…(5) 第5式によつてカウント値a(本実施例ではa
=1,2,…,18)に対応するデータ関数Dh(a)
のデータを、第5式によつて算出されるa′(第3
表中の数値1,2,…,18にその数値を示す)
を、対応させるものである。この対応関係は下記
の第4表に示される。
【表】 前記ステツプe2で示したように、a=1と設
定されているとき、上記第5式および第4表か
ら、a′=1が演算される。したがつてステツプe
8でDh(a′)(a′=1)の入替え完了フラグは、す
でにステツプe5において「1」に設定されてお
り、したがつてDh(1)は、第3表にいうa′=1の
位置に固定されたままの状態で、処理はステツプ
e9に移る。 ステツプe9では、前記カウント値aが+1イ
ンクリメントされ、ステツプe10でこのカウン
ト値aが第1表の数値データの要素数18を越え
ているかどうかが判断される。現時点ではこの判
断は否定となり、処理はステツプe3に戻る。 ステツプe3では、Dh(2)のデータがXレジス
タ31に記憶され、ステツプe5でデータ関係
Dh(2)の入替え完了フラグが「1」にセツトされ
る。以下、前述の説明と同様にステツプe6,e
7の処理がなされ、上記第5式および第4表か
ら、a=5からはa′=8が演算される。したがつ
てステツプe8でデータ関数Dh(a′)(a′=8)の
入替え完了フラグが「1」であるかどうかの判断
が行なわれ、現時点は定となり、処理はステツプ
e11に移り、データ関数Dh(a′)の入替え完了
フラグを「1」にセツトする。 ステツプe12では、データ関数Dh(a′)(a′=
8)の入替え完了フラグの内容もデータと、前記
ステツプe6においてデータ関数Dh(2)の入替え
完了フラグを含むデータが転送されているXレジ
スタのデータと、相互にデータの交換を行なう。
したがつてデータ関数Dh(a′)(a′=7)には、デ
ータ関数Dh(2)のデータが与えられる。すなわち
データ関数Dh(2)は、第3表のa′=7の配置位置
に割付けられる。またここでXレジスタ31に
は、転置行列のデータ関数Dh(7)のデータが記憶
されていることになる。そこで転置行列の配列態
様におけるデータ関数Dh(a′)の行列要素に、前
記レジスタの数値データを設定することによつ
て、転置行列のデータ行列を発生させることがで
きる。 この後、処理はステツプe7に戻り、データ関
数Dh(7)に対して上記第5式および第4表から明
らかなようにデータ関数Dh(a′)(a′=3)が対応
づけられる。すなわち第3表に示すようにデータ
関数Dh(7)は、a′=3で示す配置位置に割当てら
れる。以下、ステツプe7,e8,e11,e1
2を1サイクルとする処理を繰返し行なうことに
よつて、上記第4表の「4→2」の処理が行なわ
れる段階に到達する。すなわちこのときステツプ
e7においてa′=2が演算される。この時点では
上記第2表において第3表のように入替え処理が
行なわれていないのは、データ関数Dh(18)のみ
となる。 ステツプe8ではデータ関数Dh(a′)(a′=2)
の入替え完了フラグが、「1」であるかどうかの
判断が行なわれる。このときa=1に関する処理
ですでにデータ関数Dh(1)の入替え完了フラグは、
ステツプe5において「1」にセツトされてお
り、したがつてステツプe8の判断は肯定とな
り、処理はステツプe9に移る。ステツプe9で
はカウント値の値が+1インクリメントされ、a
=3となつて、ステツプe12に移り、この判断
は否定となり、処理はステツプe3に移る。 ステツプe3ではデータ関数Dh(3)の内容が、
既に「1」にセツトされている入替え完了フラグ
の内容とともに、Xレジスタ31に転送される。
ステツプe4では判断結果が肯定となり、処理は
ステツプe9に移る。以下同様に、ステツプe
9,e10,e3,e4を1サイクルとする処理
が繰返し行なれ、カウント値aは順次+1インク
リメントされつつ、ステツプe9においてインク
リメントされた結果がa=19となる場合に到達す
る。このときステツプe10の判断は肯定とな
り、処理はステツプe13に移つて、任意のカウ
ント値aの入替え完了フラグが、すべて「0」に
リセツトされる。このようにして、第2表のデー
タ行列から第3表にデータ行列への行・列の入替
え処理が完了する。 このように入替えられたデータ行列に対して、
行方向に沿つて修正処理を行なえば、入替え処理
前のデータ行列に対する列方向に沿う修正処理と
等価な結果が得られる。 また実施例によれば、第7図のフローチヤート
に示す処理プログラムを用い、かつ行・列の入替
え用ワーキングレジスタであるXレジスタ31の
みを用いることによつて、前記行・列の入替え処
理を実現できる。すなわちこのような入替えプロ
グラムを用いる電子計算機1における入替えプロ
グラムは格段に簡素化され、また従来技術で述べ
たようにむやみに大きな記憶容量のメモリを準備
する必要がなく、構成を格段に簡略化することが
できる。 効 果 以上のように本発明によれば、元の行列からそ
の転置行列を、第1の値aおよび第2の値a′を演
算して求めるとともに、1つの行列要素を記憶す
るレジスタ31を用いることによつて、容易に転
置行列を得ることが可能であり、この転置行列
を、記憶手段に記憶した状態で、元の行列の列方
向の行列要素、すなわち転置行列の行方向の行列
要素を挿入/削除して編集することができ、換言
すると、元の行列の行方向の行列要素の挿入/削
除と同様な手法で、転置行列の行方向の行列要素
の挿入/削除を行うことによつて、元の行列の列
方向の行列要素の挿入/削除を等価的に行うこと
ができるようになる。こうして元の行列の列方向
の行列要素の編集を、大きな記憶容量を必要とす
ることなく、簡単な演算によつて達成することが
可能になる。
【図面の簡単な説明】
第1図は本発明の一実施例の計算機1の平面
図、第2図は計算機1の電気的構成を示すブロツ
ク図、第3図は表データ領域25のデータ割当て
状態を示す図、第4図は計算機1における表の題
名と列項目名入力の手順を示すフローチヤート、
第5図は行項目名入力の手順を示すフローチヤー
ト、第6図は表のデータ入力処理を示すフローチ
ヤート、第7図は表の行・列の入替え処理を示す
フローチヤートである。 1…計算機、4…表示部、5…文字入力キー
群、6…数値入力キー群、9…表機能キー、10
…行指示キー、11…列指示キー、12…入替え
キー、14…キー入力部、25…表データ領域、
31…Xレジスタ、39…列項目名領域、41…
行項目名領域、43…データ領域、47…キー入
力バツフア、52…挿入/削除キー。

Claims (1)

  1. 【特許請求の範囲】 1 (a) 最大列数C0、最大行数L0である元の行
    列を構成する各行列要素を、各行を順次的にか
    つ行方向に順次的に1次元データとして記憶す
    る記憶手段と、 (b) 前記記憶手段に記憶されている行列要素によ
    つて構成される行列を表示する表示手段と、 (c) レジスタ31と、 (d) 第m行第n列の行列要素をレジスタ31に記
    憶し、その第m行第n列の行列要素に対応する
    第1の値aを、 a=(m−1)C0+n として求め、 次に第2の値a′を、 a′={(a−1)−〔a−1/C0〕C0}L0 +{〔a−1/C0}+1} として求め、 第2の値a′に対応する記憶手段に記憶されて
    いる行列要素と、レジスタ31に記憶してある
    行列要素とを入れ替え、 その入れ替え後に、レジスタ31に記憶され
    た行列要素に関して、第2の値a′を求めて記憶
    手段に記憶されている第1値aに対応する行列
    要素とを入れ替え、このような入れ替える動作
    を繰り返して転置行列を構成する行列要素を1
    次元データとして作成する転置行列作成手段
    と、 (e) 転置行列作成手段によつて作成されて記憶手
    段に記憶されている1次元データのうち、前記
    元の行列の列方向の行列要素を挿入/削除する
    手段とを含むことを特徴とする行列の挿入/削
    除の編集装置。
JP61181702A 1986-06-17 1986-07-31 行列の挿入/削除の編集装置 Granted JPS6336476A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP61181702A JPS6336476A (ja) 1986-07-31 1986-07-31 行列の挿入/削除の編集装置
DE8787108562T DE3776598D1 (de) 1986-06-17 1987-06-13 Datenverarbeitungsanlage.
EP87108562A EP0253138B1 (en) 1986-06-17 1987-06-13 Data processing device
US07/464,702 US5043916A (en) 1986-06-17 1990-01-16 Data processing device for processing and displaying table data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61181702A JPS6336476A (ja) 1986-07-31 1986-07-31 行列の挿入/削除の編集装置

Publications (2)

Publication Number Publication Date
JPS6336476A JPS6336476A (ja) 1988-02-17
JPH0586580B2 true JPH0586580B2 (ja) 1993-12-13

Family

ID=16105362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61181702A Granted JPS6336476A (ja) 1986-06-17 1986-07-31 行列の挿入/削除の編集装置

Country Status (1)

Country Link
JP (1) JPS6336476A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02155033A (ja) * 1988-12-07 1990-06-14 Hitachi Ltd 帳票ソート制御方法およびデータ処理装置
JP3138289B2 (ja) * 1991-07-08 2001-02-26 シャープ株式会社 行列の演算・表示機能を備えた電子機器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4650257A (en) * 1984-10-29 1987-03-17 Woods Luther L Heavy equipment tire rim

Also Published As

Publication number Publication date
JPS6336476A (ja) 1988-02-17

Similar Documents

Publication Publication Date Title
JPH0814822B2 (ja) 命令入力装置
JPH0586580B2 (ja)
EP0253138B1 (en) Data processing device
JPH0586579B2 (ja)
JP3533758B2 (ja) スクロール制御装置および表示装置
JPH0376491B2 (ja)
JPH08180118A (ja) 表処理装置
JP2760755B2 (ja) コンピュータ処理用操作ボタン履歴を記憶し再表示する方法
JPS605955B2 (ja) ディスプレイ制御方式
JPH0445875B2 (ja)
JP2645174B2 (ja) フィールド表示機能を有する電子計算機
JP3006988B2 (ja) 表計算装置および表計算装置のデータ管理方法
JP3029123B2 (ja) 文字処理装置及びその方法
JPS6336477A (ja) デ−タ処理装置
JPH0496097A (ja) スクロール制御方式
JPS6132676B2 (ja)
JP2723236B2 (ja) 文字読取装置
JP2839306B2 (ja) 会話型図形処理における属性設定方式
JPS61147371A (ja) 会話形図形処理システム
JPH03176716A (ja) 電子機器
JPS5897738A (ja) 表示装置
JPH02160287A (ja) カーソル表示回路
JPH0743706B2 (ja) 表データ作成方法および表の表示方法
JPS63317818A (ja) フイ−ルド内文書編集装置
JPH0743750B2 (ja) 情報処理装置における複数表の連結方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees