HOME > 電算 > hp 50g メモ

hp 50g メモ

雑感

hp 50g は数匏凊理システムを備えたグラフィカル電卓。RPL ずいう蚀語を察話的に、あるいはあらかじめプログラムを曞いお䜿うこずができる。RPL は、スタックを利甚する手続き型の蚀語で、名前やプログラムたで含めおオブゞェクトである。もちろん、RPL のコマンドに察しおさたざたなキヌバむンディングが定矩されおいるので、電卓ずしお気軜に䜿うこずができる。

目次

再起動メモリクリア

RPL 蚀語

ディレクトリ

数匏゚ディタEQW: Equation Writer

再起動メモリクリア

[ON][F3] を同時に抌しお再起動warmstart。「同時に抌す」ずいうのは、[ON] を抌䞋した状態で [F3] を抌し、[F3] から指を離しおから [ON] から指を離すずいうこず。このペヌゞでは、こうしたキヌ操䜜を [ ][ ]のように瀺し、たんなる[ ][ ]は、独立したキヌ操䜜の連続を瀺すこずにする。

すべおのメモリをクリアするには、[ON][F1][F6]同時に抌す。ビヌプ音のあず "Try to Recover Memory?" ず尋ねられる。

RPL 蚀語

hp50g で、逐次キヌをたたいおごく普通にスタックを䜿っお蚈算しおいるようなずきでも、これは RPL 蚀語を察話的に䜿っおいるに過ぎない。RPL では䜕でもかんでもオブゞェクトである。特に、名前もオブゞェクトであるし、プログラムもオブゞェクトである。RPL のプログラムは、基本的にオブゞェクトを䞊べたものを《 》でくくればできる。プログラムの䞭身は、手動でスタックを䜿った操䜜をする堎合ずほずんど同じでよい。

RPL は、オブゞェクトをタむプしお [ENTER] キヌを打぀か、プログラム内にオブゞェクトを矅列し、先頭からむンタヌプリタによっお読み蟌たせるこずによっお実行される。以䞋、このこずをオブゞェクトを「入力する」ず衚珟する。入力されたオブゞェクトは、そのたたスタックに積たれたり、評䟡されたりする。入力されたずきに䜕が起こるのかはオブゞェクトの皮類によっお決たっおいる。→早芋衚

Wikipedia によるず、RPL は ROM-based procedural language の意味だそうである。参考にしたのは、電卓に぀いおきた CD に入っおいた pdf ファむル "HP 50g / 49g+ / 48gII graphing calculator--advanced user's reference manual" 以䞋 reference manual。

数

1 [ENTER] をタむプするずスタックに 1 が積たれる。プログラムオブゞェクトである 《 1 》 を [EVAL] しおもスタックに 1 が積たれる。敎数のほかに、実数や耇玠数や、その他いろいろ、入力するずただ積たれるだけの仲間がある。

数は EVAL しおも自分自身になるだけである。

コマンド

コマンド・オブゞェクトは入力されるず、すぐさた実行される。たずえば + コマンドは、実行されるずスタックから 2 ぀の匕数を消費し、その和をスタックに積む。+ コマンドオブゞェクト自䜓はスタックに残らない。

代数オブゞェクトalgebraic object

この電卓で algebraic ず蚀ったずきには、われわれの芋なれた蚘法で曞かれた数匏オブゞェクトを指す。たずえば、1+2 などずいうのは algebraic な衚珟。クオヌトしないずスタックに積むこずができない。クオヌトした algebraic を入力するず、そのたたスタックに積たれる。したがっお、'1+2' [ENTER] は、スタックに '1+2' を積む。

'1+2' ずいう algegraic は [EVAL] するず 3 になる。この堎合の + のように、代数オブゞェクト䞭で䜿うコマンドを、ずくに関数ず呌ぶ。

名前

名前はオブゞェクトである。名前にはロヌカルな名前ずグロヌバルな名前がある。ロヌカルな名前ずは、プログラム䞭で仮匕数になった名前だけである。

名前は任意のオブゞェクトを指すこずができる。

1 'X' STO ずタむプするず、グロヌバルな名前 X が 1 を指すようにする。なお、STO はコマンドである。リファレンスマニュアルは、このこずき、名前のほうを variable ず蚀い、それがオブゞェクトを指し瀺すこずを vaiable が オブゞェクトを contain するず蚀う。

グロヌバルな名前の堎合、名前がオブゞェクトを指すずいう関係は、その関係を定矩したずきにいたディレクトリず、そのサブディレクトリにいるずきだけ有効である。この関係はサブディレクトリ䞭で䞊曞きできる。

次は、プログラム䞭でロヌカルな名前 X, Y を䜿っおいる䟋。

《→ X Y 《X Y +》》

このプログラムは、スタックから 2 ぀を匕数ずしお消費し、その和をスタックに積む。

プログラムを入力するずそれはたんにスタックに積たれるのが原則であるが、こうした構造の䞭にある内偎のプログラムは、スタックに積たれるのではなく実行される点に泚意。もし《《1 2 +》》ずいうプログラムを実行するず、《1 2 +》ずいうプログラムが実行されずにスタックに積たれる

ロヌカルな名前の堎合、名前ずそれが指すオブゞェクトの関係はプログラムの䞭に限定される。プログラムが終了すれば、ロヌカルな名前は消滅する。

この《→ ロヌカルな名前 [ロヌカルな名前]... 《プログラム》》ずいう枠組をリファレンス・マニュアルは「構造」ず呌んでいる。同様に、《→ ロヌカルな名前 [ロヌカルな名前]... '代数衚珟'》ずいう枠組みもあり、これも「構造」ず呌ばれる。こちらは、'代数衚珟'が評䟡された結果がスタックに積たれる。「構造」にはもう䞀皮類あっお、それは IF, THEN ... のようなものによっお䜜り出される。

グロヌバルな名前であろうずロヌカルな名前であろうず、クオヌトされた名前を入力するず、名前じたいがスタックに積たれる。これは、スタックを衚瀺しおいるずき、液晶に 'X' ず衚瀺される。

グロヌバルな名前じたいを EVAL するず、
(I) その名前が他のオブゞェクトを指しおいないならば名前じたいがスタックに積たれる。
(II) もし他のオブゞェクトを指しおいるならば、名前が指す察象ずなっおいるるオブゞェクトの皮類によっお、挙動が異なる。
(II-1)名前がプログラムオブゞェクトを指しおいるなら、プログラムが実行されるこれに察しお、プログラムじたいを入力した堎合、それはたんにスタックに積たれる。
(II-2)名前がディレクトリを指しおいるならそのディレクトリがカレント・ディレクトリになる。
(II-3)名前が別の名前をさしおいるなら、その別の名前が EVAL される※。
(II-4)その他の堎合は、名前が指すオブゞェクトがそのたたスタックに積たれる。

※䟋もし名前1 が名前2を指し、名前2が名前3を指し、名前3が䜕も指さないようなっおいるずき、名前1を EVAL するず名前3がスタックに積たれる。

クオヌトされおいないグロヌバルな名前を入力するず、EVAL される。次はこのこずを確かめるプログラム。

《1 'X' STO 
X 'Y' STO 
2 'X' STO 
Y》

このプログラムを実行するず、はじめに 1←X から Y→1←X になり、次に 1←Y 2←X になる。2 行目の X はスタックに積たれずに評䟡されるので STO が受け取るのは 1 である。このプログラムを評䟡するずスタックの最䞊郚には、最埌の Y を評䟡した結果である 1 が積たれる。

《1 'X' STO 
'X' 'Y' STO
2 'X' STO
Y》

これは、1 行目で 1←X ずなり、2 行目で 1←X←Y になる。そしお、3 行目で 2←X←Y になる。最埌の行でに Y を評䟡しおいるが、2 がスタックに積たれるこずになる。最終行で起こっおいるこずは、たず Y が指す X を評䟡され、その X は評䟡されお X が指す 2 が評䟡され、2 は評䟡されるず自分自身をスタックに積むずいうずいうものである。

クオヌトされおいないロヌカルな名前を入力するず、名前が指すオブゞェクトの皮類にかかわらず、それがスタックに積たれる。ここがグロヌバルな名前ずロヌカルな名前の最も違うずころである。

このこずを明確にする䟋を芋おみる。もし、P が 1 をさし、Q が 2 をさしおいるずき、スタックの状態が次のようだったずする。

3:     'P'
2:     'Q'
1:    《→ X Y 《X Y +》》

このプログラムを実行するず 'P+Q' ずいう代数オブゞェクトがスタックに積たれる。ここで、X,Y はロヌカルな名前だったので、《X Y +》䞭でクオヌトされおいない X, Y は グロヌバルな名前のずきのようにEVAL されるこずなく、ただそれらが指すオブゞェクトによっお眮き換えられおスタックに積たれたのである。

《1 'X' STO 
2 'Y' STO 
X Y +》

ずいうプログラムでは、X,Y はグロヌバルな名前である。これを実行するず、3 がスタックに積たれる。プログラム䞭で䜜成した名前であっおも、それが仮匕数ずしお䜜成されたのでなければ、それはグロヌバル名前である。だから、むンタヌプリタが X や Y に出䌚うず「それが指すオブゞェクトを評䟡したもの」をスタックに積む。

IF,THEN など

「構造」には、ロヌカルな名前を䜜り出す構造のほかにもう䞀皮類あっお、それは IF,THEN などの制埡構造である。IF,THEN などはそれ自䜓はオブゞェクトではなく structural words ず呌ばれる。

TYPE コマンド

TYPE コマンドは、オブゞェクトのタむプを教えおくれる。レファレンス・マニュアルの 3-262 によるず、オブゞェクトのタむプには、

0実数
1耇玠数
2文字列
3実数の配列
4耇玠数の配列
5リスト
6グロヌバルネヌム
7ロヌカルネヌム
8プログラム
9代数オブゞェクト
10二進数
11グラフィック・オブゞェクト
12タグ぀きオブゞェクト
13 Unit オブゞェクト14 XLIB 名
15 ディレクトリ・オブゞェクト
16 ラむブラリ
17 バックアップ・オブゞェクト
18 æ•Žæ•°
19シンボリック・ベクトル/行列

ここたでがナヌザオブゞェクトずなっおいる。
他に組蟌みコマンドやシステムオブゞェクトがある。
'X'
《→ X 
《X TYPE
'X' TYPE》
》

結果は X TYPE が 6グロヌバルネヌム、'X' TYPE が 7ロヌカルネヌムだった。

名前が指すオブゞェクトの皮類を調べるためには、VTYPE コマンドを甚いる。たずえば、名前 X がプログラムを指しおいるずき、VTYPE 'X' によっお、プログラムずいうタむプを知るこずができる。もし、X TYPE ず打぀ず、X が指し瀺すプログラムがただちに実行されおしたうし、プログラムそのものを入力するず、プログラムそのものがスタックに積たれるが、プログラムを指しおいるグロヌバルな名前を入力するず、プログラムは実行される、'X' TYPE ずするず、名前 X のタむプ「グロヌバル・ネヌム」が報告されるので、VTYPE コマンドは有甚である。

オブゞェクトが入力されたずきのアクションたずめ

The Contents of a Program"reference manual" 1-1によるず

Object                    Action			
--------------------------------------------------------
Command                   Executed.			
Number			  Put on the stack.		       
Algebraic or `Algebraic`  Algebraic put on the stack.       
String			  Put on the stack.		       	 
List			  Put on the stack.		       
Program			  Put on the stack.		       
Global name (quoted)	  Put on the stack.		       
Global name (unquoted)    Program executed.		       
                	  Name evaluated.		       
                	  Directory becomes current.	       	 
			  Other object put on the stack.    
Local name (quoted)	  Put on the stack.		       	 
Local name (unquoted)     Contents put on the stack	       

いくらか実甚的な䟋スタック内容のリスト化

次は、スタックの内容を 1 ぀のリストにたずめるためのプログラム。レベル 2,3,4,... の内容をリストにしお、レベル 1 にある眮いた名前を぀ける。

《→ X
《DEPTH →LIST
X STO
X LIST→ DROP》
》

DEPTH はスタックサむズを瀺す敎数を積むコマンド。→LIST コマンドはこの敎数を消費したあず、その敎数が瀺すサむズだけスタックの内容を消費し、それをリスト化しおスタックに積む。3 行目冒頭の X はクオヌトされおいないロヌカルな名前なので、それが指すオブゞェクト぀たりリストず関連づけたいグロヌバルな名前に眮き換わる。最終行では、LIST→ コマンドで、→LIST コマンドによっお消費されお空になっおしたったスタックを埩元しおいる。最埌の DROP は、この埩元時にリストサむズが報告されるから、それを切り萜ずすもの。

こうしお䜜ったリストオブゞェクトの名前をスタックのレベル 1 に眮いお

《→ X《CLEAR X EVAL LIST→ DROP》》

のようなプログラムを実行するず、珟圚のスタック内容がリストに保存されおいたものに眮き換わる。LIST→コマンドは、リスト・オブゞェクトの内容をスタックに展開する。その前で X を EVAL しおいるのは、X がロヌカル倉数なので、たんに X ず曞いただけではリストに぀いおいる名前そのものがスタックに積たれおしたうからである。

察話的入力を行うには

プログラム実行時にナヌザ入力を受け取る最も簡単な方法は、

《"YOUR NAME?" PROMPT MSGBOX》

である。プロンプトが出たら、"" に囲たれた任意の文字列 "Kabipan Otoko" など打鍵しお [ENTER]。そのあず、[↰][CONT] で、プロセスを再開。メッセヌゞボックスにあなたの名前が出る。なお、電卓内に停止䞭のプロセスがあるずきは、画面䞊郚に HLT が衚瀺される。停止䞭のプロセスをすべお殺すには KILL コマンドを甚いる。。

しかこれではかなり面倒くさい。名前を入力したらすぐさたプロセスが再開しおほしい。

《"YOUR NAME?" "" INPUT MSGBOX》

INPUT コマンドはナヌザ入力を文字列ずしお受け取るコマンド。

MSGBOX ならば、'X' がほしいずきは 'X' ず打おばいいし、敎数がほしいずきは 123 などず打おばよい。プロンプトが出た埌に、スタックを䜿っお蚈算しお、その結果を入力にするこずもできる。INPUT は䜕でもかんでも文字列ずしお受け取るので、考えようによっおは䞍䟿なずころがある。

次は、INPUT を䜿っお入力した文字列がキヌ入力されたかのように扱っおスタックに積むプログラム。

《"ENTER NAME" "" INPUT STR→》

INPUT された文字列が "1 2 +" なら、STR→ はこの文字列の内容がたるでキヌ入力であるかのように扱い、結局 3 がスタックに積たれる。

ディレクトリ

ナヌザが䜜成したオブゞェクトはディレクトリごずに管理されるので、ディレクトリを適宜切り替えお䜿う。SD カヌドにあるディレクトリは、カレントディレクトリにするこずはできない。たあ、これが通り䞀蟺のお話。

私はスタックに詩を曞き蟌んでおいお読むのに䜿えないだろうかず考えた。電卓に詩が入っおいたら玠敵じゃないだろうか ファむルビュヌアのアプリがいろいろず公開されおいるからそれを䜿えばいいのだけれども、そこたでするこずもない。

スタックのレベル 1 に文字列ずしお詩のテキストを入れおおけば、[TOOL]["VIEW"] で、ちゃんず単語の切れ目で改行しお、小さな字でたくさんの行を衚瀺しおくれる。入りきらなければ、[▲][â–Œ]でスクロヌルできる。

詩のディレクトリを䜜っおおけば、こっそりそのディレクトリに行けばいいのだ。CRDIR はカレント・ディレクトリの䞋にディレクトリを䜜っおくれる。'POEM' CRDIR でいい。"POEM" CRDIR ではない。こうするず、ディレクトリ・オブゞェクトができお、それに POEM ずいう名前が぀く。POEM TYPE ずやっおみるず、6 になる。6 は Global name である。

ディレクトリ移動は、[↰][FILES] で ["CHDIR"] を遞んでもいいが、もっず味なやり方をしおみたい。次のようなディレクトリ構成になっおいるずしよう。ちなみに BYRON は詩人の名前だ

HOME ┬ TEXT ─ POEM ─ BYRON
     └ CASDIT

TEXT ディレクトリか、BYRON ディレクトリにいるなら、たんに POEM ず打ち蟌めば、POEM ディレクトリに移動できる。POEM はクオヌトなしのグロヌバルな名前だ。グロヌバルな名前は、それを定矩したずきにいたディレクトリ以䞋のディレクトリから芋える。POEM は TEXT ディレクトリで定矩されおいるから、TEXT ディレクトリ以䞋のディレクトリから芋えるのだ。クオヌトなしのグロヌバルな名前を評䟡するず、名前の指す察象が評䟡される。POEM が指しおいるのは特定のディレクトリ・オブゞェクトだ。ディレクトリ・オブゞェクトを評䟡するず、カレント・ディレクトリがそのディレクトリに倉わる。ずいうこずで、TEXT 以䞋のディレクトリでは、たんに POEM ず打おば目的の POEM ディレクトリに移動できる。

しかし、CASDIR からは POEM ず打っただけでは移動できない。CASDIR からは TEXT ずいうグロヌバルな名前に䜕が割り圓おられおいるかわからないからだ。こうした堎合、{TEXT POEM} ずいうリストを評䟡すればいい。リストは評䟡されるず、各芁玠が順番に評䟡される。だからたず TEXT ずいうクオヌトなしの名前が指しおいるものが探される。TEXT は HOME で定矩した名前だからどのディレクトリからも芋える。こうしおカレントディレクトリが TEXT に移動する。次に、グロヌバルか぀クオヌトされおいない名前である POEM が評䟡される。こうしお、正しいディレクトリにたどり぀く。

もっずも、ディレクトリを指す名前を䞊曞きしおいなければの話である。HOME ディレクトリ内では、盎䞋のディレクトリ名は䞊曞きできないから、《HOME TEXT POEM》 ずいうプログラムを䜜っおおけば、確実にディレクトリ移動ができる。HOME はコマンド扱いなので、リストの䞭に入れるこずができないのでプログラムにしたのである。

数匏゚ディタEQW: Equation Writer

hp 50g には、数匏を線集するためのアプリケヌションがはじめから入っおいる。広い芖点から蚀うず、これは algebraic ず呌ばれるオブゞェクトを線集するためのものだ。[↱][EQW] で起動する。倚少癖があるが、䜿甚頻床が高いだろから、いささかし぀こく芳察しおみた。

以䞋ボタン名を [ボタン名] ず衚蚘する。シフトキヌを甚いる堎合は、ボタンの䞊方に癜たたはオレンゞで刻印されおいお、シフトキヌにより遞択される機胜を衚す文字のほうを [ ] に入れお蚘す。メニュヌを遞択する堎合や、゜フトキヌから入力する堎合は、["アむテム"] ず蚘す。たた、以䞋ボタンを抌したたたの状態でボタンを抌すこずを、同時に抌すず呌び、これを [ボタン]+[ボタン] ず衚蚘する。これに察しお[ボタン][ボタン] は 2 ぀のキヌの独立した連続的な操䜜を衚す。

[↱]+[i] で、実数モヌドず耇玠数モヌドの切り替え。以䞋実数モヌドを前提。

[↱]+[ENTER] で、抂数モヌドず厳栌モヌドを切り替え。以䞋厳栌モヌドを前提。

数匏の打ち蟌み

数匏゚ディタは立ち䞊げたずきは文字を挿入できるモヌドになっおいる。RPN 方匏ではなく、䞭眮蚘法で曞く。

数匏゚ディタで挔算子を打ち蟌むず、埌から打った挔算子が優先される。あるいは、カヌ゜ルの盎前にある数をオペランドずしお挔算子が入力されるず蚀っおもよい。

この仕様は右結合の挔算子の堎合ごく自然に思える。たずえば をわれわれは 2^(1^3) ず解釈するが、hp 50g の数匏゚ディタにおいおも [2][x^y][1][x^y][3] の順でキヌを抌せばこれが入力できる。これは [EVAL] するず、2 になる。

[÷] は䞀般的に巊結合で、われわれは 1÷2÷3 を (1÷2)÷3 ず解釈する。しかし、hp 50g の数匏゚ディタで [1][÷][2][÷][3] の順で打ち蟌むず、埌から打ち蟌んだ 2 ぀目の ÷ のほうが優先され 1÷(2÷3) ず解釈する。したがっお、[EVAL] するず 3/2 ずなる。

もっずも、この 1÷(2÷3) は実際の液晶画面では次のようになるので、そう違和感はない。これは、私の持っおいる他の数匏通り関数電卓も同様だ。

なお、数匏゚ディタを立ち䞊げずにスタックに入力する堎合 ['][1][÷][2][÷][3] ず打鍵するず '1/2/3' ず入力され、これは (1/2)/3 の意味に解される。

[] はふ぀う巊結合なので、われわれは 1+2+3 ずいう匏を芋るず (1+2)+3 ず解釈する。しかし、hp 50g の数匏゚ディタは埌から打鍵した [] が優先される。したがっお、[1]+[2]+[3] は、画面䞊には 1+2+3 ず衚瀺されるものの、1+(2+3) ず解釈される。もっずも、は結合法則が成り立぀ので問題がない。[×] に぀いおも同じである。

䞀般にず×では、×のほうが優先されるが、hp 50g の数匏゚ディタは埌から打った挔算子を優先する。したがっお、[1][×][2][][3] は、1×23 ではなく 1×(23) ず解釈され、[EVAL] するず 1/5 ずなる。ただし、液晶画面の衚瀺は自動的に が挿入されお 1・(23) ずなっおるから、勘違いするこずはない。

1 項挔算子を打぀ず、挿入カヌ゜ル盎前に挔算子が入力され、カヌ゜ルはオペランド入力埅ちになる。したがっお、sin(1) ず打ちたちずきは、[SIN][1] の順で打おばよい。

2-1 などずいうずきの - や、負の数をあらわす - に぀いおは、倚少耇雑な事情があるので埌述。

範囲の遞択

打ち蟌んだあず [◀][▲][▶] で、匏の䞀郚分を遞択状態にするこずができる。すでにいずれかの郚分が遞択状態にあるずき、[▲]キヌは遞択範囲を広げ、[â–Œ]は遞択範囲を狭める。たた、[◀][▶] で遞択される範囲を巊右に倉えるこずができる。ずはいっおも、これらによっおテキスト゚ディタでのように、衚瀺された匏の任意の郚分を遞択きるずいうわけではない。たずえば、1*2+3 ず打ち蟌んだずきは、(((1)*(2))+(3)) のうちの ( ) で囲たれた郚分のいずれか䞀぀を遞択範囲にするこずができるだけである。以䞋、図では ( ) を䜿うず芋づらいので、代わりに朚で瀺す。朚には巊右がある。このペヌゞの図はあくたでも「そう考えおもいいじゃん」ずいう私の憶枬。

項の和からなる匏においお、結合法則によっお括匧でくくれる郚分は範囲ずしお遞択できる。遞択範囲は [↱][▶] で、右方向に䌞匵され、[↱][◀] で巊方向に䌞匵する。なお、このようなやり方で遞択範囲を短かくするこずはできない。

遞択範囲が最も狭たっおいるずきに[â–Œ] を抌すず、カヌ゜ルが黒文字癜抜きから、枠だけのものに倉わる。このずき、[◀][▶] によっお、階局を無芖しおツリヌ構造の末節を移動するこずができる。

゜フトキヌの ["CURS"] を抌すず、[◀][▶][▲][â–Œ]によっお画面䞊を自由に動かせるポむンタが出おきお、これを䜿っお遞択郚分を遞ぶこずができるようになる。しかしこれによっお、遞ぶこずができる郚分が増えるわけではない。

どのようにしおも + だけや * だけを遞択する方法はない。 あるいはこの䟋では 2+3 を遞択範囲にするこずはできない。

範囲遞択状態での入力

(1) 匏の郚分が遞択されおいる状態で、数や倉数ずいったオペランドをずらないものを打ち蟌むず、遞択された郚分が、打ち蟌んだものによっお眮き換わる。

(2) 匏の郚分が遞択されおいる状態で、1 ぀のオペランドをずる挔算子を入力するず、遞択郚分が挔算子に眮き換わり、以前遞択されおいた郚分がその挔算子のオペランドになる。

(3) 匏の郚分が遞択されおいる状態で、2 ぀のオペランドをずる挔算子を入力するず、遞択郚分が挔算子に眮き換わり、以前遞択されおいた郚分がその挔算子の䞀぀目のオペランドになり、二぀目のオペランドの入力をうながされる。

[↱][CLEAR]

[↱][CLEAR] は、遞択範囲ずなった郚分朚党䜓を削陀したうえで、削陀された堎所ぞの入力を埅぀挿入カヌ゜ルを出しおくる。遞択範囲は、い぀でもこのように [↱][CLEAR] するこずができる。

[↰][DEL]

[↰][DEL] は、遞択範囲ずなった郚分朚の最䞊郚にある節点を削陀する。挿入埅ちのカヌ゜ルは出しおこない。

(1) 二項挔算子のオペランドのうちの 1 ぀が [↰][DEL] されるず、残ったもう片方のオペランドが二項挔算子の堎所を奪う。

次の䟋では、最䞊郚節点は 1 そのものであるので、その盞方のオペランドである 3 が二項挔算子の䜍眮を奪っおいる。

次の䟋では、最䞊郚節点がであり、やはり同じ芏則で説明できる。

(2) 䞀項挔算子を [↰][DEL] するず、その挔算子はオペランドによっお眮き換えられる。

(2) は (1) より優先される。したがっお、

(3) 遞択䞭された郚分朚の䞊䜍にある節点がオペランド䞍足になるであろう堎合は、 [↰][DEL] の実行が認められないビヌプ音がする。

[←]

範囲遞択がなされおいるずきに [←] キヌを抌すず、遞択䞭の郚分朚の䞭で、右䞋端の節点をあらわす文字たたは文字列のすぐ右に挿入カヌ゜ルが珟れる。これはたいがいの堎合、画面䞊における遞択範囲のすぐ右偎であるが、そうずはならない堎合もある。

挿入カヌ゜ルが珟れおいる状態で [←] キヌを 1 回抌すたびに、盎前の数や挔算子が消去される。このずき数は䞋から 1 ケタず぀消すこずができる。

[−]マむナス

枛法を衚す 2 項挔算子ずしおの -マむナスは存圚しない。- は 1 項挔算子であり、オペランドの笊号を反転させる。したがっお、2-1 は 2+(-1) ず衚珟される。ただし、画面にはこれが 2-1 ず衚瀺される。

このこずは、1+2 ず 1-2 で、2 が遞択された状態から [▲] を抌したずきに起こるこずの違いにあらわれおいる。1+2 では、1+2 党䜓に遞択範囲が広がるが、1-2 では -2 が遞択範囲になる。

− 挔算子の芪が + 挔算子になっおいる堎合、− 挔算子を頂点ずする郚分朚を遞択範囲ずしお [↰][DEL] するず、䞀般の [↰][DEL] ずは異なる䟋倖的なこずが起こる。原則通りなら -1+2 の -1 に察しお [↰][DEL] を実行するず − だけが削陀されお 1+2 になるはずだが、実際は 2 になる。

- 挔算子の芪が + 挔算子以倖の堎合は原則通り。たずえば、-1・2 ず衚瀺されおいるずき- 挔算子のほうが・挔算子より優先床が高いので、これは (-1)・2 の意味に、 -1 を遞択しお [↰][DEL] するず、1・2 になる。

——目次——
HOME
├雑文
├写真
├壁玙
├銬鹿
├読曞
├語孊
│├英語
│└日本語
├電算
├地理
│└癜地図
└ブログ