(57)【要約】【課題】表示画面が比較的小さい表示部を備える電子機器において、数式、構造式、分子式、ブロック線図、調理式などの電子情報コンテンツを有効に表示する電子機器を提供する。【解決手段】表示部に表示される電子情報コンテンツの表示高さの中央位置を検出する中央位置検出部と、前記中央位置検出部により検出された中央位置から、前記電子情報コンテンツの上部高さまたは下部高さを算出するコンテンツ高さ算出部と、前記表示部の表示画面高さを取得する表示画面高さ取得部と、前記コンテンツ高さ算出部により算出されたコンテンツ高さと、前記表示画面高さ取得部により取得された表示画面高さとを比較する比較部と、前記比較部の結果に基づいて、前記電子情報コンテンツの前記表示部における表示を決定する表示決定部とを備える。【選択図】図１
2008287603.tif 000002
【特許請求の範囲】
【請求項１】
電子情報コンテンツを表示する表示部を有する電子機器において、
前記表示部に表示される前記電子情報コンテンツの表示高さの中央位置を検出する中央位置検出部と、
前記中央位置検出部により検出された中央位置から、前記電子情報コンテンツの上部高さまたは下部高さを算出するコンテンツ高さ算出部と、
前記表示部の表示画面高さを取得する表示画面高さ取得部と、
前記コンテンツ高さ算出部により算出されたコンテンツ高さと、前記表示画面高さ取得部により取得された表示画面高さとを比較する比較部と、
前記比較部の結果に基づいて、前記電子情報コンテンツの表示を決定する表示決定部と
を備えることを特徴とする電子機器。
【請求項２】
前記電子情報コンテンツは、数式、構造式、分子式、ブロック線図、調理式の少なくとも１つを含むことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記中央位置検出部は、前記電子情報コンテンツの表示高さの略半分の位置を算出することにより前記電子情報コンテンツの中央位置を検出することを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記中央位置検出部は、前記電子情報コンテンツ中の各項目を結ぶ要素を検出することにより前記電子情報コンテンツの中央位置を検出することを特徴とする請求項１または２に記載の電子機器。
【請求項５】
前記中央位置検出部は、前記電子情報コンテンツ中の各項目を結ぶ要素の数を検出し、前記要素の数が多い位置を前記電子情報コンテンツの中央位置とすることを特徴とする請求項４に記載の電子機器。
【請求項６】
前記表示決定部は、前記電子情報コンテンツを上詰め、下詰め、センタリングのいずれかを判断して前記表示部における表示位置を決定することを特徴とする請求項１に記載の電子機器。
【請求項７】
前記表示決定部は、前記表示画面高さの半分の高さが前記電子情報コンテンツの上部高さより高い場合に、前記表示部における前記電子情報コンテンツの表示位置を上詰めに決定することを特徴とする請求項６に記載の電子機器。
【請求項８】
前記表示決定部は、前記表示画面高さの半分の高さが前記電子情報コンテンツの下部高さより高い場合に、前記表示部における前記電子情報コンテンツの表示位置を下詰めに決定することを特徴とする請求項６に記載の電子機器。
【請求項９】
前記表示決定部は、前記表示部における前記電子情報コンテンツの表示位置を前記上詰めおよび前記下詰めに決定できない場合に、センタリングに決定することを特徴とする請求項６に記載の電子機器。
【請求項１０】
前記表示画面高さ取得部は、前記表示部に演算結果、解析結果また処理結果を表示する結果表示領域を除いた残りの表示画面高さを取得することを特徴とする請求項１に記載の電子機器。
【請求項１１】
更に、前記電子情報コンテンツを表示するためのフォントを複数蓄積するフォント記憶部を備え、前記比較部の結果に基づいて、前記表示決定部は前記電子情報コンテンツを表示するためのフォントを決定することを特徴とする請求項１から７までのいずれか１項に記載の電子機器。
【請求項１２】
前記表示決定部は、前記比較部の結果に基づいて、前記フォントの表示位置を決定することを特徴とする請求項１１に記載の電子機器。
【請求項１３】
更に、前記電子情報コンテンツの一部を演算、解析または処理する検算部を備え、前記検算部の検算結果を前記電子情報コンテンツとともに表示することを特徴とする請求項１から１２までのいずれか１項に記載の電子機器。
【請求項１４】
前記検算部の検算結果を、前記検算部が演算、解析または処理した前記電子情報コンテンツの一部に置き換えて表示することを特徴とする請求項１３に記載の電子機器。
【請求項１５】
更に、ホストコンピュータと通信する通信部を備え、前記ホストコンピュータに画面キャプチャしたデータを送信することことを特徴とする請求項１から１４までのいずれか１項に記載の電子機器。
【請求項１６】
電子機器の表示部に電子情報コンテンツを表示する電子情報コンテンツ表示方法であって、
前記電子情報コンテンツの表示高さの中央位置を検出する中央位置検出ステップと、
前記中央位置から、前記電子情報コンテンツの上部高さまたは下部高さを算出するコンテンツ高さ算出ステップと、
前記表示部の表示画面高さを取得する表示画面高さ取得ステップと、
前記電子情報コンテンツの上部高さまたは下部高さと、前記表示画面高さとを比較する比較ステップと、
前記比較ステップの結果に基づいて、前記電子情報コンテンツの表示を決定する表示決定ステップと
を備えることを特徴とする電子情報コンテンツ表示方法。
【請求項１７】
コンピュータに、
電子情報コンテンツの表示高さの中央位置を検出する中央位置検出ステップと、
前記中央位置から、前記電子情報コンテンツの上部高さまたは下部高さを算出するコンテンツ高さ算出ステップと、
表示部の表示画面高さを取得する表示画面高さ取得ステップと、
前記電子情報コンテンツの上部高さまたは下部高さと、前記表示画面高さとを比較する比較ステップと、
前記比較ステップの結果に基づいて、前記電子情報コンテンツの表示を決定する表示決定ステップと
を実行させるための電子情報コンテンツ表示プログラム。
【請求項１８】
請求項１７に記載の電子情報コンテンツ表示プログラムを記録したコンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子情報コンテンツを表示する表示部を備える電子機器及び電子情報コンテンツ表示方法並びに電子情報コンテンツ表示プログラムに関し、特に電子情報コンテンツに応じて表示部における表示を決定する電子機器及び電子情報コンテンツ表示方法並びに電子情報コンテンツ表示プログラムに関する。
【背景技術】
【０００２】
近年、関数電卓、携帯電話、電子辞書などの電子機器は、小型化、携帯性とともに高機能化が推進されている。小型・携帯型で、かつ高機能な電子機器、中でも特に関数電卓は、表示部が小さいので、小さい表示領域にユーザに分かりやすい表示をすることが要求される。このような要求に対応する特許出願として、例えば特許文献１および２がある。
【０００３】
特許文献１は、入力された数式データを記憶し、数式データに基づいて演算順序に従って演算を実行し、数式と演算結果を表示装置に表示する電子式計算機であって、数式の演算を行った部分を他の部分と区別して表示し、同時にその演算を行った部分の結果を表示するものである。この特許文献１によれば、複雑な数式でも、数式のどの部分を演算したかが視覚的に判断でき、入力ミスであるのか又は数式（数値）の誤りであるのか判断できる。
また、特許文献２は、入力された数式を処理し、この数式の処理結果を出力するとき、処理の進行に従って進行過程を示す式を順次出力する電子計算機である。この特許文献２によれば、入力式の処理を段階を追って確認することができる。
【特許文献１】特開昭６２−１０２３５１号公報
【特許文献２】特開平０７−２００４８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１及び２は、入力された数式の処理進行に従って進行過程を示す式及び処理結果を出力する電子計算機であるが、関数電卓は複雑な数式が入力可能であるのに対して、表示装置は表示領域が小さいため、数式を全部表示できない場合がある。
例えば、入力された数式の項数または数字の桁数が表示部の表示幅より大きい場合、または分数の分母または分子に更に分数が代入された、いわゆる繁分数のように数式の高さが表示部の高さよりも高い場合、表示部の幅または高さからはみ出た部分は表示部に表示されない。特に関数電卓では、長い数式、分母・分子に更に分数が代入された繁分数や複雑な数式を演算することがあり、これを演算処理後に、入力された数式と、演算結果を同時に表示するが、演算結果を表示すると、数式が全く表示されないことがある。
【０００５】
例えば、図２１（ａ）に示す式１が入力された場合を説明する。
【数１】
2008287603.tif 000003
【０００６】
上記式１において、「１−２＋３−４＋５−６＋７−８＋」の式Ａ部分の幅Ａ１は、表示部の表示画面６００の幅Ｓと等しいか、それ以下であるので、表示画面６００に表示されるが、これ以降の分母部分に更に分数が代入された繁分数Ｂ部分は表示画面６００の幅Ｓを越える長さであるので、表示されない。
しかし、通常関数電卓では数式の入力時は、エディタがカーソルを表示し、このカーソル位置に数式を入力するので、エディタが数式の表示位置をスクロールすることにより、数式が表示される。即ち、式Ａ部分に続いて分数Ｂ部分を入力する場合、エディタが「１−２＋３−４＋５−６＋７−８＋」の式Ａ部分を表示画面上で横方向にスクロールするので、分数表示に切り替えて分数Ｂ部分を入力すると、分数を表示することができる。
この式１の例では、繁分数である分数Ｂ部分の高さＢ１が表示画面６００の高さＲよりも高いので、エディタは、分数Ｂ部分の高さが表示画面Ｒの高さを越えたとき、式１を縦方向にスクロールして分数の入力を可能にする。
【０００７】
このようにして、式１を入力して最後に「＝」キーを押すと、演算処理が実行され、演算結果Ｃとして「−３」が表示される。
一般に、関数電卓は、演算結果Ｃを表示画面に下詰めで表示する場合、演算結果を表示する行方向の表示領域Ｒ１には数式を表示せずに、その残りの表示領域Ｒ２に数式を表示するので、数式の表示領域Ｒ２は演算結果Ｃの表示領域Ｒ１の分だけ小さくなる。このため、「１−２＋３−４＋５−６＋７−８＋」の式Ａ部分および分数Ｂ部分からなる式１とともに、「−３」の演算結果Ｃを表示画面６００に左上詰めにして表示しようとすると、図２１（ｂ）に示すように、式１は表示画面の外になり、表示画面６００には演算結果「−３」だけが表示される。このように演算結果だけが表示され式１が表示されないので、ユーザは式１を確認することができない。
【０００８】
また、別の例では、下記式２が入力され、演算結果が表示されると、式２の一部が表示されなくなる。
【数２】
2008287603.tif 000004
【０００９】
即ち、図２２（ａ）に示すように、式２の「１−・・・９＋」の式Ｄ部分の幅Ｄ１は、表示画面６００の幅Ｓと等しいか、それ以下であるので、表示画面６００に表示される。しかし分数Ｅ部分は、表示画面外になるので、エディタが「１−・・・９＋」の式Ｄ部分を横方向にスクロールして、分数表示に切り替えて、分数Ｅ部分を入力する。そして最後に「＝」キーを押すと、演算処理が実行され、演算結果が表示される。
関数電卓は、演算結果を表示する場合、演算結果を表示する行部分に数式を表示しないので、この演算結果Ｆを帯分数で表示する画面では、図２２（ｂ）に示すように、演算結果Ｆを表示する行方向の表示領域Ｒ１が割当てられ、残りの表示領域Ｒ２に式２が表示される。しかし、式２は、表示画面６００よりも長いため、分数Ｅ部分が表示されない。また式２の最大高さは分数Ｅの高さＥ１であり、この高さＥ１は表示画面６００の高さＲより小さい。しかし、演算結果表示画面では、演算結果Ｆが帯分数で表示され、演算結果Ｆを表示する行方向の表示領域Ｒ１が占有されるため、残りの表示領域Ｒ２の高さは、式２の分数Ｅ部分の高さＥ１より小さくなっている。そのため、図２２（ｂ）に示すように、式２を表示画面に左上詰めにして表示する場合、３項目の分母「４」の上半分だけが表示され、下半分は表示されなくなる。
【００１０】
上記のような問題は、上記式１、式２に示したような長い数式、分子、分母に分数が代入された繁分数を有する数式だけでなく、積分計算、総和（シグマ）計算、順列計算、行列計算の場合にも表示画面より大きい数式である場合があり、同様に表示画面に表示できないという問題が生じることがある。
また、関数電卓以外にも、表示領域の小さい表示部に構造式や分子式を表示する電子機器でも、表示画面より構造式や分子式が大きいときは、表示画面に構造式や分子式を全部表示できないという問題が生じる。同様にブロック線図や調理式の場合も表示画面に表示できないことがある。
本発明は、上記のように表示画面が比較的小さい表示部を備える電子機器において、数式、構造式、分子式、ブロック線図、調理式などの電子情報コンテンツを有効に表示する電子機器及び電子情報コンテンツ表示方法並びに電子情報コンテンツ表示プログラム、さらに電子情報コンテンツ表示プログラムを記録した媒体を提供するものである。
【課題を解決するための手段】
【００１１】
本発明の電子機器は、上記課題を解決するために、電子情報コンテンツを表示する表示部を有する電子機器において、前記表示部に表示される前記電子情報コンテンツの表示高さの中央位置を検出する中央位置検出部と、前記中央位置検出部により検出された中央位置から、前記電子情報コンテンツの上部高さまたは下部高さを算出するコンテンツ高さ算出部と、前記表示部の表示画面高さを取得する表示画面高さ取得部と、前記コンテンツ高さ算出部により算出されたコンテンツ高さと、前記表示画面高さ取得部により取得された表示画面高さとを比較する比較部と、前記比較部の結果に基づいて、前記電子情報コンテンツの前記表示部における表示を決定する表示決定部とを備える。
この構成により、表示画面が比較的小さい表示部を備える電子機器において、電子情報コンテンツを有効に表示する表示することができる。
【００１２】
また、本発明の電子機器は実施形態において、電子情報コンテンツが、数式、構造式、分子式、ブロック線図、調理式の少なくとも１つを含むとよい。
この構成より、数式、構造式、分子式、ブロック線図、調理式の少なくとも１つを表示画面が比較的小さい表示部に有効に表示する表示することができる。
【００１３】
また本発明の電子機器は実施形態において、中央位置検出部が、電子情報コンテンツの表示高さの略半分の位置を算出することにより前記電子情報コンテンツの中央位置を検出することが好ましい。
この構成により、電子情報コンテンツの重要部分がある中央部分を表示することができる。
【００１４】
また本発明の電子機器は実施形態において、中央位置検出部が、電子情報コンテンツ中の各項目を結ぶ要素を検出することにより前記電子情報コンテンツの中央位置を検出することが好ましい。
この構成により、電子情報コンテンツの重要部分が表示され、ユーザは重要部分から電子情報コンテンツの全部分を推測することが可能になる。
【００１５】
また本発明の電子機器は実施形態において、前中央位置検出部が、前記電子情報コンテンツ中の各項目を結ぶ要素の数を検出し、前記要素の数が多い位置を前記電子情報コンテンツの中央位置とすることが好ましい。
この構成により、重要部分が複数ある電子情報コンテンツの場合でも、最も重要部分を表示することができる。
【００１６】
また本発明の電子機器は実施形態において、表示決定部が、電子情報コンテンツの上詰め、下詰め、センタリングのいずれかを判断して前記表示部における表示位置を決定することが好ましい。
この構成により、表示部を有効に使用して電子情報コンテンツを表示することができる。
本発明の実施形態において、前記表示決定部は、前記表示画面高さの半分の高さが前記電子情報コンテンツの上部高さより高い場合に、前記表示部における前記電子情報コンテンツの表示位置を上詰めに決定するとよい。
本発明の実施形態において、前記表示決定部は、前記表示画面高さの半分の高さが前記電子情報コンテンツの下部高さより高い場合に、前記表示部における前記電子情報コンテンツの表示位置を下詰めに決定するとよい。
本発明の実施形態において、前記表示決定部は、前記表示部における前記電子情報コンテンツの表示位置を前記上詰めおよび前記下詰めに決定できない場合に、センタリングに決定するとよい。
【００１７】
また本発明の電子機器は実施形態において、前記表示画面高さ取得部が、前記表示部に演算結果、解析結果または処理結果を表示する結果表示領域を除いた残りの表示画面高さを算出することが好ましい。
この構成により、電子情報コンテンツの表示領域が算出され、電子情報コンテンツの中央部分を有効に表示することができる。
【００１８】
また本発明の電子機器は実施形態において、更に、電子情報コンテンツを表示するためのフォントを複数蓄積するフォント記憶部を備え、比較部の結果に基づいて、表示決定部は前記電子情報コンテンツを表示するためのフォントを決定することが好ましい。
この構成により、電子情報コンテンツを表示部に表示することができる。
【００１９】
また本発明の電子機器は実施形態において、表示決定部が、比較部の結果に基づいて、前記フォントの表示位置を決定することが好ましい。
この構成により、表示部に電子情報コンテンツを有効に表示することができる。
【００２０】
また本発明の電子機器は実施形態において、更に、前記電子情報コンテンツの一部を演算、解析または処理する検算部を備え、前記検算部の検算結果を前記電子情報コンテンツとともに表示することが好ましい。
この構成により、検算対象部分と検算結果が同時に表示され、入力ミスを確認することができる。
【００２１】
また本発明の電子機器は実施形態において、前記検算部の検算結果を、前記検算部が演算、解析または処理した前記電子情報コンテンツの一部に置き換えて表示することが好ましい。
この構成により、検算中に数式の高さ、幅を小さくすることができ、電子情報コンテンツをより多く表示することができる。
【００２２】
また本発明の電子機器は実施形態において、更に、ホストコンピュータと通信する通信部を備え、前記ホストコンピュータに画面キャプチャしたデータを送信することが好ましい。
この構成により、教師が生徒を指導することができる。
【００２３】
また、本発明は、別の観点によれば、電子機器の表示部に電子情報コンテンツを表示する電子情報コンテンツ表示方法であって、前記電子情報コンテンツの表示高さの中央位置を検出する中央位置検出ステップと、前記中央位置から、前記電子情報コンテンツの上部高さまたは下部高さを算出するコンテンツ高さ算出ステップと、前記表示部の表示画面高さを取得する表示画面高さ取得ステップと、前記電子情報コンテンツの上部高さまたは下部高さと、前記表示画面高さとを比較する比較ステップと、前記比較ステップの結果に基づいて、前記電子情報コンテンツの表示を決定する表示決定ステップとを備える。
これにより、電子情報コンテンツを表示部に有効に表示することができる。
【００２４】
更に、本発明は、別の観点によれば、電子情報コンテンツ表示プログラムであって、コンピュータに、電子情報コンテンツの表示高さの中央位置を検出する中央位置検出ステップと、  前記中央位置から、前記電子情報コンテンツの上部高さまたは下部高さを算出するコンテンツ高さ算出ステップと、表示部の表示画面高さを取得する表示画面高さ取得ステップと、前記電子情報コンテンツの上部高さまたは下部高さと、前記表示画面高さとを比較する比較ステップと、前記比較ステップの結果に基づいて、前記電子情報コンテンツの表示を決定する表示決定ステップとを実行させる。
【００２５】
また本発明は、電子情報コンテンツ表示プログラムを記録したコンピュータ読取可能な媒体である。
【発明の効果】
【００２６】
本発明によれば、比較的小さい表示画面に電子情報コンテンツを有効に表示することができる。また電子情報コンテンツの重要な部分を表示するので、この重要部分からユーザは電子情報コンテンツ全体を推測することが可能になる。
【発明を実施するための最良の形態】
【００２７】
（実施形態１）
実施形態１は、本発明が関数電卓に実施された場合を説明する。
関数電卓は、周知のように表示部とキー群を備える。
表示部は、ユーザによってキーが押下されたとき、その文字、記号、符号を表示し、また関数電卓を使用するために必要なデータを表示し、また演算の途中経過や演算結果を表示する。表示部は液晶やＰＤＰや有機ＥＬ等の電子情報コンテンツを表示できるものであればよい。
【００２８】
キー群は、０〜９の数字を入力する数字キー、＋キー、−キー、×キー、÷キー、sinキー、cosキー、tanキー、πキー、√キー、logキー、Inキー、Expキー、x２乗キー、x３乗キー、積分キー、微分キー、分数キーなど関数計算に必要な関数キーを備える。この他に、表示部に表示されたカーソルを縦方向、横方向、左方向、右方向の４方向に移動させる方向キー、関数電卓に処理実行、決定を指示するためのEXEキーまたは＝キー、表示部に表示される数値を分数として表示したり、小数として表示したり変換するための分数小数変換キーなどの指示キー、および電源キーを備える。
実施形態１では、検算モ−ドを実現するために、検算用キーも備える。
【００２９】
図１は関数電卓のブロック図を示し、ＣＰＵ（Central Processing Unit）１０、入力部２０、表示部３０、ＲＯＭ（Read only memory）４０、ＲＡＭ（Random Access memory）５０、通信部６０を備え、各部分はバス７０により接続される。ここで、ＲＯＭ４０は、読み書き可能なメモリであるＲＷＭ(Read Write memory)であってもかまわない。
ＣＰＵ１０は、入力部２０から入力された操作信号に応じてＲＯＭ４０に格納されたプログラムを読出し、そのプログラムに従って処理を実行して各部分へデータや指示を転送することにより、関数電卓の演算処理を実行し、また本発明の電子情報コンテンツ表示プログラムを実行する。
入力部２０は、数字キー、関数キー、指示キーなどキーボードからの入力を判定し、入力されたキーに応じた数字情報、演算情報、指示情報を発生する。キーボードの外にマウスやポインタであってもよい。
表示部３０は入力部２０よりキーの押下により入力された数字や文字、記号、指示を表示し、また演算途中経過、演算結果を表示する。
【００３０】
ＲＯＭ４０は、関数表示用パラメータ４０１と、文字フォント４０２と、数式演算プログラム４０３と数式表示プログラム４０４を備える。またＲＯＭ４０は、本発明の電子情報コンテンツ表示プログラムを格納する媒体である。電子情報コンテンツ表示プログラムは、ＲＯＭ４０以外に、フラッシュメモリ、フロッピー(登録商標)ディスク、ＣＤ、ＤＶＤなどに格納してもよい。さらには外部記憶装置に電子情報コンテンツ表示プログラムを格納し、通信部６０を介して、読み出す形式であってもかまわない。
関数表示用パラメータ４０１は、入力部２０から入力された数字、記号を表示部に２次元表示するためのパラメータである。実際にはプログラムに埋め込まれるものも含む。例えば、関数√の表示パラメータは、図２に示すように、√内に書かれる引数は、矩形領域に対して上部ａと左部ｂに各１ドットの余白、引数右への線のはみ出しｃは２ドットの長さ、引数左の返し（左上斜め線）部ｄは２ドットのような情報である。
関数表示用パラメータ４０１は、入力部２０から入力されたキーに応じてＣＰＵ１０が関数表示用パラメータ４０１を読み出して、表示する。または演算途中経過、演算結果を表示するために、関数表示用パラメータ４０１を読み出して表示する。
【００３１】
文字フォント４０２は、入力部２０の０〜９の数字キー、＋キー、−キー、×キー、÷キー、sinキー、cosキー、tanキー、πキー、√キー、logキー、Inキー、Expキー、x２乗キー、x３乗キー、積分キー、微分キー、分数キーなど関数キーに対応する数字または文字、記号など関数電卓が表示のために使用する全ての文字のドットマトリックスデータである。
また、各数字、文字、記号の拡大フォントと縮小フォントを格納する。実施形態１の場合は、例えば拡大フォントは５×７ドット、縮小フォントは５×５ドットをビットマップデータとして格納する。この他に、文字フォントの中央位置座標、文字フォントの幅情報、文字フォントの高さ情報を格納する。この文字フォント４０２は関数電卓が数式通り表示するか否かにかかわらず必要である。
文字フォント４０２に格納された文字フォントは、入力部２０からの指示または関数電卓からの要求に応じて、数字表示プログラム４０４から参照され、表示部３０に表示させる。
【００３２】
数式演算プログラム４０３は、関数電卓で行われる数式演算を実施するプログラムである。入力部２０より数式入力後に、ＥＸＥキーまたは＝キーの押下により実行される。この数式演算プログラム４０３は関数電卓が数式通り表示するか否かにかかわらず必要である。しかし数式通り表示でのみ実施される演算もある。
数式表示プログラム４０４は、関数電卓で行われる数式表示や演算結果表示を実施するプログラムである。表示画面が変化する度に必ず実行される。この数式表示プログラム４０４は関数電卓が数式通り表示するか否かにかかわらず必要である。数式通り表示のため機能拡張がなされ、前記関数表示用パラメータ４０１を利用して、数式通りに表示する。
【００３３】
ＲＡＭ５０は、ＣＰＵ１０が実行するプログラムやプログラムの実行に用いられるデータを一時的に格納する随時書き込み可能なメモリである。ＲＡＭ５０は、入力数式データ５０１と、入力数式管理情報５０２と、演算結果データ５０３と、演算結果管理情報５０４を備える。
入力数式データ５０１は、関数電卓で入力部２０より入力された数式を数字、文字、演算子、関数記号、括弧などの文字単位で格納するＲＡＭ上のデータである。この入力数式データ５０１は関数電卓が数式通り表示するか否かにかかわらず必要である。ただし数式通り表示のためにデータ形式を拡張することもある。この入力数式データ５０１は左から右へ横一列に並ぶ文字列をイメージすればよく、数式の構造を記述するためのものであり、この入力数式データ５０１には数式の高さ等の情報は含まない。
【００３４】
入力数式管理情報５０２は、関数電卓の入力部２０より入力された数式の構造を解析した結果として、ＲＡＭ上に管理された情報を指す。この入力数式管理情報５０２は関数電卓が数式通り表示する場合に必要である。数式通り表示する関数の場合に、入力された数式の数式範囲、引数の個数、および入力された数式のデータ位置等の情報である。また数式通り表示する関数の場合に、関数の幅、高さ、中央位置などを記憶する。数式通り表示する関数の場合に、関数だけでなく、引数についても引数の幅、高さ、中央位置などを記憶する。
演算結果データ５０３は、関数電卓で入力された数式を、数式演算プログラム４０３で処理した結果を格納したＲＡＭ上のデータである。この演算結果データ５０３は関数電卓が数式通り表示する場合に必要である。ただし数式通り表示のためにデータ形式を拡張することもある。演算結果を小数だけでなく、分数や√、πなどの無理数を用いて表示する場合はそれらを区別できるようなデータ形式とする。
演算結果管理情報５０４は、関数電卓で演算された演算結果のデータ形式を解析した結果をＲＡＭ上に管理する情報である。ここでは数式通り表示の場合に必要になる。演算結果の表示形式や表示される各数値等の幅、高さ、表示位置などを記憶する。
【００３５】
通信部６０は、有線または無線の通信部である。通信部６０はBluetooth（登録商標）６１であってもよい。図３に示すように、通信部６０は、無線ＬＡＮ６２を介してホストコンピュータ２００に接続される。Bluetooth６１である場合は、無線ＬＡＮ６２が不要になり、電波によって接続することができる。ホストコンピュータがBluetoothに対応していないときは、ＵＳＢ（登録商標）コネクタにＢｌｕｅｔｏｏｔｈアダプタを接続することにより接続が可能になる。有線の場合は接続ケーブル（図示しない）によって接続する。通信部６０は、端末機器１００として使用されている関数電卓の画面情報をホストコンピュータに送信する。またホストコンピュータ７０からの指示を受ける。
図３は、複数の端末機器１００としての関数電卓とホストコンピュータ２００を接続する場合を示しているが、複数の関数電卓１００−１〜１００−ｎは必ずしも必要でなく、１つの端末機器であってもよい。関数電卓は例えば関数電卓を生徒が使用し、ホストコンピュータは例えば教師が使用する。
【００３６】
次に本発明の関数電卓の動作をフロー図で説明する前に、本発明の関数電卓によって数式を表示する例を説明する。
図４（ａ）は関数電卓に入力された数式Ｇと、この数式Ｇの演算結果Ｈからなる表示元イメージを示す。この表示元イメージは、例えばＲＡＭ５０の入力数式データ５０１と、演算結果データ５０３に記憶されたデータを仮想的に表示したものである。数式Ｇはキー群を使用して入力部２０より入力された数式が数式データ５０１に格納された数式イメージであり、演算結果Ｈは演算結果データ５０４に格納された演算結果イメージである。図４（ｂ）は、図４（ａ）に示した表示元イメージが表示部３０に表示された状態を示す。
【００３７】
上述のように、関数電卓は数式と演算結果を表示部に表示する場合、演算結果は表示画面の下方に下詰めで表示し、演算結果が表示される行には数式を表示しない。このため図４（ｂ）に示すように、数式Ｇの表示領域Ｒ３の高さは、演算結果Ｈを表示する高さＨ１を除いた高さになる。この表示領域Ｒ３の高さは、数式Ｇの高さＧ１より小さい。
この場合、数式Ｇは「＝」及び分母分子境界線を結ぶ位置を中央位置とすると、中央位置より、上部高さの方が小さく、下部高さの方が大きい。そのため数式Ｇは、数式Ｇの数式イメージを左上詰めで表示する方が、上部を全部表示することができ、望ましいが、数式Ｇの下部が一部表示されなくなる。図４（ｂ）では、分母の「２」の下方部分が表示されないことを表している。ここで、図４の例では、中央位置は、「＝」及び分母分子境界線とが一致している場合を挙げているが、「＝」の位置と分母分子境界線の位置とが一致していない場合は、「＝」を中央位置として、表示画面の数式を適切な位置に移動させても構わない。
図４（ａ）と図４（ｂ）の間を結ぶ点線は、図４（ａ）の表示元イメージの数式Ｇの高さＧ１および演算結果Ｈの表示高さＨ１が図４（ｂ）に示すように、表示画面に表示されることを表している。ここでは領域Ｑ１が表示されないことを表している。
【００３８】
図５および図６も、図４と同様に表示元イメージと演算結果の表示画面を示す図である。ただし、数式内容が異なり、図５（ｂ）は、数式をセンタリングして表示する場合、図６（ｂ）は下詰めで表示する場合を示している。
センタリングとは、数式の最大高さの半分を中央位置とする場合である。しかし、必ずしも数式の最大高さの半分の位置でなくてもよい。例えば、数式の場合、「＝」のある位置あるいは数式の１項目がある位置を中心にして表示する場合もある。または数式を結ぶ＋、−、×、÷、分数の分子分母境界線など演算子のように、電子情報コンテンツの各項目を結ぶ要素のある位置である。演算子または電子情報コンテンツの各項目を結ぶ要素が多くある場合は、演算子または要素が多い位置を中心にして表示する。
【００３９】
図５は、演算結果Ｊを分数で表示しているので、演算結果Ｊの表示部分の高さＪ１は上記演算結果Ｈより高くなり、その高さＪ１の分だけ数式Ｋの表示部分の高さＫ１は小さくなる。図５（ａ）に示す数式Ｋは、「＝」のある位置を中央位置とすると、中央位置より上部高さと下部高さがほぼ同じであるので、この中央位置を表示部分の中心位置に合わせると、数式Ｋの中央部分がより多く表示できて望ましい。従って図６（ｂ）に示すように、数式Ｋは、数式Ｋの数式イメージを表示画面にセンタリングして表示される。その結果図６（ｂ）に示すように、数式Ｋの上部および下部が表示されない。結局、領域Ｑ２およびＱ３が表示されないことを表している。ここでは、「＝」を中央位置としているが、他の場合には分子分母境界線のある位置を中央位置としてもよい。
図６は、表示元イメージにおいて、数式Ｌの分子部分に分数を有する。この数式Ｌを下詰めして表示する場合、数式Ｌは、「＝」及び分母分子境界線のある位置を中央位置とすると、中央位置より上部高さの方が下部高さより大きいので、下詰めで表示するのが望ましい。そのため図６（ｂ）に示すように、数式Ｌは、数式Ｌの数式イメージを表示画面に下詰めで表示される。その結果図６（ｂ）に示すように、分数の分子部分の分子「３」が表示されない。結局、図６は、領域Ｑ４が表示されないことを表している。
【００４０】
以上のように、数式が表示画面より大きい場合、数式を全部表示することはできないが、本発明では、「＝」のある位置を数式の中央位置として、その中央位置が表示されるように、数式を上詰め、下詰めまたはセンタリングして表示するので、図２１に説明したように数式が全く表示されないということはなくなる。
「＝」位置は数式の中心位置に配置されることが多く、数式の重要部分を多くの場合含むので、ユーザは中央位置に含まれる数式部分を見て、数式全体を推測することが可能になる。
また、中央位置は、必ずしも「＝」だけとしなくても、「＋」、「−」、「×」、「÷」のような演算子がある位置や、分母分子境界線がある位置を中心位置としても構わない。
さらに、上記の判断方法により、中央位置からの数式の上部高さと下部高さとの大小関係に基づき、式を表示画面に対して上詰め、下詰め、中詰めのいずれかを選択し、表示できるので、より最適に数式を表示することが出来る。
【００４１】
以上のように、図４から図６に示すような場合には表示の一部が表示されないが、図７に示すような処理を実施することにより全部表示することが可能になる。即ち、図７（ａ）は図２２（ａ）に示した式２と同じ数式を示し、この数式２を演算して演算結果Ｆを表示すると、図２２（ｂ）で説明したように、数式の一部が表示されなくなる。
しかし、本発明では、図７（ｂ）に示すように、式Ｄ部分を全部表示することが可能になる。そのため本発明では、図７（ａ）に示すように、「＝」を中央位置として、さらに「＝」の高さの１／２の位置ｄ０を求める。また表示画面領域内にある式Ｄ部分の最大上部高さｄ１と、式Ｄ部分の最大下部高さｄ２を計算する。
次に、図７（ｂ）に示すように演算結果Ｆを帯分数で表示する表示領域Ｒ１の高さを除き、数式の表示領域Ｒ２の高さの半分の高さｄ０１を求める。そして、「＝」を中心位置として式Ｄ部分の最大上部高さｄ１および最大下部高さｄ２を求め、ｄ１とｄ２とが数式の表示領域Ｒ２の高さの半分の高さｄ０１と等しいか、または小さいかを比較して、等しいかまたは小さければ、式Ｄ部分は表示画面に表示することができる。
図７（ｂ）の場合は、表示画面領域外にある式２の分数Ｅ部分を除き、表示画面に式Ｄ部分を欠けることなく表示することができる。この場合、分数Ｅ部分は入力式２を表示するときから表示画面領域外にあるので、分数Ｅ部分の高さは考慮していない。
【００４２】
また別の例として、図８に示す数式と演算結果を表示する場合について説明する。図８（ａ）は入力された数式が表示画面に表示された状態を示す。そして演算結果が求められると、図８（ｂ）に示すように、表示画面の下方に下詰めで演算結果が表示される。この場合、演算結果は分数で表示されている。そのため、数式の表示領域Ｒ２の高さが小さくなり、数式を全部表示することができない。
つまり、数式の高さＮ１と、表示画面の高さＲから演算結果の表示領域Ｒ１の高さを引いた数式表示領域Ｒ２の高さを比較すると、数式の高さＮ１は数式表示領域Ｒ２の高さよりも大きい。
【００４３】
そのためこのまま数式を表示すると、数式の一部が表示されないので、本発明では、大きい文字フォントで表示されているフォントを小さいフォントに代えて表示する。またべき数の表示位置をビットマップの高さ方向に詰めることにより、数式の高さを低くする。これにより、数式の高さＮ１は小さくなり、数式表示領域Ｒ２の高さと等しくなるか、それ以下になる。従って、図８（ｂ）に示すように、演算結果と数式を全部表示することが可能になる。
なお、図８（ｂ）の場合は、文字フォントを小さくし、かつべき数の表示位置をビットマップの高さ方向に詰めたが、文字フォントを小さくするか、またはべき数の表示位置をビットマップの高さ方向に詰めるかのいずれか、一方の処理で数式を表示できる場合は一方の処理だけでよい。
また、上記説明は、数式の文字フォントを小さい文字フォントに代える場合を説明したが、演算結果を表示する文字を小さい文字フォントに代えてもよい。
【００４４】
次に、図４から図８のいずれかのように、数式と演算結果を表示するためのフローチャートを説明する。
図９のフローチャートは、関数電卓に数式が入力され、そして演算が終了した後、即ち＝キーが押下された後、演算結果を表示するステップＳ１から始まる。次にステップＳ２では、表示画面の高さＲから演算結果の表示領域Ｒ１高さを引いた数式表示領域Ｒ２の高さを求める。次のステップＳ３は数式の縮小表示を判定するステップである。このステップＳ３については詳細を図１０に示すフローチャートにより説明する。次のステップＳ４は、ステップＳ３の判定結果が「はい」か、「いいえ」を判定する。「はい」の場合は、ステップＳ５に移行し、数式表示設定を縮小にする。即ち、図８のように小さいフォントで表示する、または表示位置をビットマップの高さ方向に詰める処理を行う。「いいえ」の場合は、ステップＳ５を飛ばしてステップＳ６に進む。ステップＳ６では最適スクロール表示を実施する。この最適スクロール表示については詳細を図１１に示すフローチャートにより説明する。そして、演算結果と数式を表示部に表示して、このフローを終了する。
このフローによれば縮小表示と最適スクロール表示を組合わせることにより、数式が表示画面より高い場合も表示することができる。なお、縮小表示と最適スクロールのいずれか一方だけの処理により、数式が表示可能である場合は、その一方だけの処理でもかまわない。
【００４５】
図１０は、図９のステップＳ３で行う数式の縮小表示判定処理の詳細を説明するフローチャートである。
ステップＳ３で、数式の縮小表示判定のため、ステップＳ３−１は縮小表示の要否判定を開始する。次にステップＳ３−２で初期化処理する。即ち、数式ポインタを数式の先頭に置く。ここでは数式は一次元で表されているので、数式ポインタを数式の先頭に置くことを意味している。そして、数式幅を０に設定し、数式上部高さを文字上部高さに設定し、数式下部高さを文字下部高さに設定する。
次に、ステップＳ３−３に進み、数式が文字か、関数か判定する。ここで、文字とは数字を指し、関数とは分数、√、sinのような数式通り表示された関数を指す。数式が文字である場合はステップＳ３−４へ進み、数式幅を文字幅にする。そしてステップＳ３−５では数式ポインタを文字幅だけ進め、ステップＳ３−１２に移行する。
ステップＳ３−３で、数式データが数式通り表示された関数である場合、ステップＳ３−６へ進む。ステップＳ３−６は、数式幅を関数幅とする処理である。次にステップＳ３−７では数式ポインタを関数の直後とする処理をする。次にステップＳ３−８は、関数上部高さが数式上部高さより高いかどうかを判定する。関数上部高さが数式上部高さより高い場合は、ステップＳ３−９へ進み、数式上部高さを関数上部高さとする処理をする。ステップＳ３−８で、「いいえ」の場合、ステップ３−９を飛ばしてステップＳ３−１０へ進む。ステップＳ３−１０は、関数下部高さが数式下部高さより高いかどうかを判定する。関数下部高さが数式下部高さより高い場合は、ステップＳ３−１１へ進み、数式下部高さを関数下部高さとする処理をする。ステップＳ３−１０で、「いいえ」の場合、ステップ３−１１を飛ばしてステップＳ３−１２へ進む。
【００４６】
ステップＳ３−１２は、数式ポインタが数式末尾にあるか否か判定する処理である。即ち、「＝」であるか否か判定する。末尾でなければ、ステップＳ３−１３に移り、数式幅は表示画面幅より大きいかどうか判定する。数式幅が大きい場合は次のステップＳ３−１４に進むが、大きくない場合はステップＳ３−３に戻り、上記処理を繰り返す。これにより、表示画面に表示される数式の幅と、関数の最大高さの情報を取得する。
ステップＳ３−１４では、数式高さを最大数式上部高さと最大数式下部高さの和算処理をする。次にステップＳ３−１５では数式表示領域高さが数式高さより高いかどうか判定する。このステップＳ３−１５で、数式表示領域高さは、関数電卓が「＝」キーが押下されて、演算を終了した時点で演算結果の表示領域が決定され、演算結果の表示領域を除いた高さであるとしている。つまり、図４〜図６に示したＲ３、図７及び図８に示した数式表示領域の高さＲ２である。数式表示領域高さが数式高さより高い場合はステップＳ３−１６で縮小表示必要として、縮小表示要否判定処理を終了する。低い場合は、ステップＳ３−１７で縮小表示不要として、縮小表示要否判定処理を終了する。
【００４７】
図１１は、図９のステップＳ６の最適スクロール表示するための詳細を説明するフローチャートである。
図９のステップＳ６で最適スクロール表示するため、ステップＳ６−１はスクロール処理を開始する。次にステップＳ６−２で初期化処理する。即ち、数式ポインタを数式の先頭に置く。そして、数式幅を０に設定し、数式上部高さを文字上部高さに設定し、数式下部高さを文字下部高さに設定する。
次に、ステップＳ６−３に進み、数式データは文字か、関数か判定する。数式データが文字である場合はステップＳ６−４へ進み、数式幅を文字幅にする。そしてステップＳ６−５では数式ポインタを文字幅だけ進め、ステップＳ６−１２に移行する。
ステップＳ６−３で、数式データが数式通り表示された関数である場合、ステップＳ６−６へ進む。ステップＳ６−６は、数式幅を関数幅とする処理である。次にステップＳ６−７では数式ポインタを関数の直後とする処理をする。次にステップＳ６−８は、関数上部高さが数式上部高さより高いかどうかを判定する。関数上部高さが数式上部高さより高い場合は、ステップＳ６−９へ進み、数式上部高さを関数上部高さとする処理をする。ステップＳ６−８で、「いいえ」の場合、ステップ６−９を飛ばしてステップＳ６−１０へ進む。ステップＳ６−１０は、関数下部高さが数式下部高さより高いかどうかを判定する。関数下部高さが数式下部高さより高い場合は、ステップＳ６−１１へ進み、数式下部高さを関数下部高さとする処理をする。ステップＳ６−１０で、「いいえ」の場合、ステップ６−１１を飛ばしてステップＳ６−１２へ進む。
【００４８】
ステップＳ６−１２は、数式ポインタが数式末尾にあるか否か判定する処理である。末尾でなければ、ステップＳ６−１３に移り、数式幅は表示画面幅より大きいかどうか判定する。数式幅が大きい場合は次のステップＳ６−１４に進むが、大きくない場合はステップＳ６−３に戻り、上記処理を繰り返す。これにより、表示画面に表示される数式の幅と、関数の最大高さの情報を取得する。
ステップＳ６−１４は、数式表示領域高さの半分の高さが数式上部高さより高いかどうか判定し、高い場合はステップＳ６−１５へ進み、上詰め設定の処理をして、このスクロール処理を終了する。つまり、図４（ｂ）に示す上詰め表示処理を行う。
ステップＳ６−１４の判定が「いいえ」である場合は、ステップＳ６−１６へ進み、数式表示領域高さの半分の高さが数式下部高さより高いかどうか判定し、高い場合はステップＳ６−１７へ進み、下詰め設定の処理をして、このスクロール処理を終了する。つまり、図６（ｂ）に示す下詰め表示処理を行う。
ステップＳ６−１６の判定が「いいえ」である場合は、ステップＳ６−１８へ進み、センタリング設定の処理をして、このスクロール処理を終了する。つまり、図５（ｂ）に示すセンタリング表示処理を行う。
【００４９】
次に、本発明による関数電卓の検算結果の表示機能について説明する。
図１２は、検算結果の表示機能を説明する図である。ここでは入力された数式が表示画面より長く、数式全部が表示画面７００に表示されない場合を合わせて説明する。
図１２（ａ）は、入力式と演算結果を同時に表示している状態を示す。ただし、数式は表示画面７００より長く、そのため数式の一部が表示されていない。つまり、√の中の数字「２５６」の中、「５６」は、表示画面７００の外にあり、表示されていない。そして、演算結果として、表示画面７００に下詰めで「０」を表示している。従来は、入力式が表示画面７００より長い場合、数式の一部が表示されなかった。
ここで、検算用キーを押下すると、検算モードが実施される。即ち、検算カーソルＷが表示され、数式の最初の関数を検算中であることを表示する。図１２（ｂ）では、「ｌｏｇ２（１６）」が検算中であることを表示している。そして、ｌｏｇ関数の演算結果「４」を表示画面７００に下詰めで表示している。
【００５０】
次に検算用キーを押下すると、図１２（ｃ）に示すように、検算カーソルＷが移動して、次の関数「３√８」を指す。同時に演算結果として「２」を表示する。
更に検算用キーを押下すると、検算カーソルＷが移動して、次の関数「√√√２５６」を指そうとする。しかし、「２５６」の一部「５６」は表示画面７００の外にあるので、この関数「√√√２５６」が全部表示画面内になるように数式をスクロールして、図１２（ｄ）に示すように表示する。同時に表示画面に下詰めで演算結果「２」を表示する。
更に検算用キーを押下すると、この数式は次の関数がないので、検算を終了して図１２（ａ）に示す元の演算結果に戻る。
【００５１】
上記検算結果の表示機能は、図１３に示すフローチャートによって実現される。
図１３のフローチャートも関数電卓に数式が入力され、そして演算が終了した後、即ち＝キーが押下された後、検算結果を表示するステップＳ１１から始まる。次にステップＳ１２では、検算位置を決定する。次のステップＳ１３は、数式の縮小表示を判定するステップである。このステップＳ１３については詳細を図１０に示すフローチャートにより説明した通りである。
次のステップＳ１４は、ステップＳ１３の判定結果が「はい」か、「いいえ」を判定する。「はい」の場合は、ステップＳ１５に移行し、数式表示設定を縮小にする。即ち、図８のように小さいフォントで表示する、または表示位置をビットマップの高さ方向に詰める処理を行う。「いいえ」の場合は、ステップＳ１５を飛ばしてステップＳ１６に進む。ステップＳ１６では最適スクロール表示を実施する。この最適スクロール表示については詳細を図１１に示すフローチャートにより説明した通りである。そして、虔さん結果と数式を表示部に表示して、このフローを終了する。
このフローによれば縮小表示と最適スクロール表示を組合わせることにより、数式が表示画面より長い場合でも数式を横方向にスクロールすることにより表示が可能になる。なお、縮小表示と最適スクロールのいずれか一方だけの処理により、数式が表示可能である場合は、その一方だけの処理でもかまわない。
【００５２】
なお、図１３のフローチャートは、関数電卓に入力された数式が表示画面の幅方向より長く、表示画面に全部表示できない場合に、スクロールして表示する場合も、このフローチャートにより実行される。即ち、ステップＳ１２で、検算位置を決定するとき、検算対象の数式位置と、その数式が画面内に収まるような表示開始位置を決定する。
また、図１０のステップＳ３−２および図１１のステップＳ５−２は、初期化処理であるが、検算が数式の途中を表示するときは数式ポインタを数式の途中に変える。
【００５３】
このように、本発明によれば演算結果表示状態では数式が表示画面からはみ出る場合であっても、検算モードでは検算中の関数を表示することができるとともに検算を実施することができる。即ち本発明の検算モードは、第１に演算結果表示状態と検算モードを交互に移行することが可能であり、また第２に検算対象の数式構成要素、つまり単位関数を検算カーソルによって表示することが可能であり、第３に演算結果表示領域に検算結果を表示することが可能である。
図１２の説明では、検算用キーの押下によって、第１から第３の機能が実現されるが、これら３つの機能はそれぞれ個別のキーとしてもよい。また検算カーソルの移動に２つのキーを割当て、左右に移動できるようにしてもよい。また数式構成要素、つまり単位関数は数式通りに表示された関数でなくてもよいが、数値や関数内部の数値は単位ごとに飛ばすことが望ましい。
【００５４】
更に、この図１２には示していないが、検算中に検算結果が得られたとき、その検算結果を数式に代入すると、数式の高さを低くすることが可能である。例えば、図１２１３（ｃ）で、関数「３√８」の検算結果が「２」である場合に、関数「３√８」のところに「２」を代入すると、関数「３√８」よりも数式の高さを低くすることができる。数式の高さを低くする効果は、分数の場合に顕著であり、さらに繁分数の場合に顕著に数式の高さを低くすることができる。また数式中の長い関数部分を検算した場合も検算結果をその関数部分に代入すると、関数部分を短くすることができ、結局数式全部を表示できるようになる。
【００５５】
図１４は、図１３で説明した検算機能を実現するためのフローチャートである。
最初のステップＳ２１は、次の検算位置の決定を開始するステップである。次にステップＳ２２では、初期化処理する。即ち、検算用カーソルが以前に指していた位置と座標に代えるため、数式ポインタを現在の検算位置に設定する。また検算用カーソルの座標を現在の検算位置座標に設定する。次にステップＳ２３では数式ポインタが数式末尾にあるかどうか判定する。もし数式ポインタが数式末尾にある場合は、次検算位置決定終了のステップに移行する。
数式ポインタが数式末尾にない場合は、ステップＳ２４に進み、数式データが文字か、数式通り表示の関数であるか、判定する。文字データである場合は、ステップＳ２５へ進み、検算用カーソルを文字幅だけ移動させる。そして、ステップＳ２６に進み、数式ポインタを移動させ、次のステップＳ２７に移行する。
上記ステップＳ２４において、数式データが関数である場合は、ステップＳ２８へ進み、検算用カーソル座標を関数幅だけ移動させる。そしてステップＳ２９で、数式ポインタを関数の直後になるようにする。
【００５６】
ステップＳ２７では、数式データは、検算対象文字であるか、検算対象外文字であるか判定する。検算対象外文字である場合は、上記ステップＳ２３に戻る。数式データが、例えばsinやlogなどの関数で検算する場合、即ち検算対象文字である場合は、ステップＳ３０に移行し、検算用カーソルと文字幅の合計が表示画面幅より大きいか判断する。もし検算用カーソルと文字幅の合計が表示画面幅より大きい場合は、ステップＳ３１に進み、検算用カーソル位置を０にする。これは表示画面から検算対象を左詰め表示する場合の補正書理である。そして、次のステップＳ３２に移行する。ステップＳ３０で、「いいえ」の場合は、ステップＳ３２に進む。
上記ステップＳ２７において、数式データが数式通り表示の関数である場合は、ステップＳ３３へ移行し、検算用カーソルと関数幅の合計が表示画面幅より大きいか判断する。「はい」場合は、ステップＳ３１に進み、「いいえ」の場合は、ステップＳ３２に進む。
ステップＳ３２では、検算用カーソルが次に指す位置と座標に設定するための設定処理を行う。即ち、現在の検算位置を数式ポインタとし、現在の検算位置座標を検算用カーソル座標とする。最後に次検算位置決定終了のステップに移行する。
【００５７】
実施形態に示す関数電卓は、通信部６０を備え、ホストコンピュータ２００と通信することによりキャプチャすることができるので、次にキャプチャについて説明する。
図３で説明したように、端末機器１００としての関数電卓は、ホストコンピュータ２００と通信部により相互に通信することができる。図３は端末機器１００としての関数電卓を複数示しているが、１つであってもよい。
図１５は、ホストコンピュータ２００が端末機器１００である関数電卓の表示画面をキャプチャできるシステムにおいて、ホストコンピュータ２００の画面２０１を示す。図１５は６つの端末機器１００である関数電卓の表示画面１０１−１〜１０１−６を１つの画面２０１に一覧表示している。もちろん、ホストコンピュータの画面２０１に表示する関数電卓の表示画面数は６つ以上でもよく、６つ以下１つでもかまわない。
【００５８】
更にこの実施形態では、ホストコンピュータ２００から関数電卓の表示画面で溢れた数式を確認する場合に、関数電卓の操作を必要とせずに、ホストコンピュータ側から関数電卓の表示画面外にある数式を表示させて再キャプチャすることができる。
例えば、ホストコンピュータ２００を使用する教師がホストコンピュータ２００の画面２０１にキャプチャされた生徒達の演算結果を示す表示画面１０１に数式が全部表示されていない場合に、かつその演算結果を示す表示画面１０１が確認必要であると思った場合に、その生徒の表示画面１０１を生徒に頼まずに、ホストコンピュータ側の操作だけで、その生徒の表示画面１０１をスクロールさせ、その内容を吟味することができる。
図１５の場合、表示画面１０１−５の演算結果が間違っているので、これを選択して、画面２０１の上部に配置されているスクロール（検算）ボタン３００を押下すると、表示画面１０１−５のキャプチャ画面の例えば色が変化する。更にスクロール（検算）ボタン３００を押下すると、表示画面１０１−５中の数式がスクロールして、表示画面１０１−５の外に隠れていた数式を確認することができる。当然このとき、この表示画面１０１−５に対応する生徒の関数電卓の表示画面も同時に変化している。
【００５９】
図１５で説明したようなホストコンピュータと端末機器の連携は、図１６に示すフローチャートによって実現することができる。ホストコンピュータと端末機器が連携するためには次のような操作、機能を持つことが必要である。
（１）ホストコンピュータと端末機器は随時通信可能であり、コマンドやデータの授受      が可能である。
（２）ホストコンピュータから端末機器に対してキー入力を与えることができる。例え      ば、ホストコンピュータから端末機器に検算用カーソルの移動コマンドを与える      ことができる。
（３）端末機器はキー入力の許可または禁止機能を持ち、かつホストコンピュータから      変更可能である。
（４）ホストコンピュータは端末機器のスクロール処理が完了したか否か確認可能であ      る。
（５）ホストコンピュータは端末機器の表示画面をキャプチャ可能である。
【００６０】
図１６はホストコンピュータが連携の対象とする端末機器の表示画面をスクロールさせる場合のホストコンピュータと端末機器のフローチャートを示す。図１６の左側は干すとコンピュータのフローチャートを示し、右側は端末機器のフローチャートを示す。ホストコンピュータと端末機器が連携する箇所を両者の間を結ぶ点線で表した。
【００６１】
図１６のフローチャートにおいて、ホストコンピュータが連携処理を開始すると（ステップＳ５１）、次にステップＳ５２でキー送信開始を宣言する。一方、端末機器もステップＳ６１で連携処理を開始する。そして、端末機器が、ホストコンピュータからキー送信開始宣言のコマンドを受信すると、端末機器は、端末機器が備えた入力部への入力を禁止しキー受信状態になる（ステップＳ６２）。
端末機器がキー受信状態にあるとき、ホストコンピュータからステップＳ５３で、端末状態参照のため、端末機器にデータ読み出しコマンドを送信して、端末機器のデータ読み出しを行う。端末機器のデータ読み出しの結果、ホストコンピュータはステップＳ５４で、キー送信可能状態か、否か判定する。キー送信可能状態でない場合は、ステップＳ５３に戻り再度ステップＳ５３で、端末状態を参照する。キー送信可能状態である場合は、ステップＳ５５に進み、キー送信し、端末機器にデータ書込みする。
【００６２】
端末機器がホストコンピュータからデータ書き込みコマンドを受信すると（ステップＳ６３）、次のステップＳ６４で端末機器は検算モードの処理を実行する。
ホストコンピュータは、ステップＳ５６で、キー送信終了を宣言し、コマンドを発行する。端末機器はキー送信終了宣言コマンドを受信し、ステップＳ６５で、端末機器は、端末機器が備えた入力部への入力を許可し、キー受信を終了する。
ホストコンピュータは、ステップＳ５７で、画面キャプチャ処理のために、読み出しコマンドを端末機器に送信する。この読み出しコマンドを受信した端末機器はステップＳ６６で、画面データをホストコンピュータに送信する。ホストコンピュータは、端末機器からの画面データを受信して、画面キャプチャ処理を実行し、このフローを終了する。一方、端末機器も画面データを送信した後、このフローを終了する。
【００６３】
以上、実施形態１は関数電卓で、数式を演算する場合を説明したが、本発明はこの他に、例えば図１７に示す行列式の演算の場合にも実施することができる。
（実施形態２）
図１７（ａ）は、行列式イメージと、演算結果イメージの表示元イメージを示し、図１７（ｂ）は、表示画面上の表示結果を示す。行列式の行列内は数字と小数点、指数などで構成される数値のみで記述され、行列式中の行列は「＋」「―」「×」などの演算子で結合される。一般に行列式の行列は、行数と列数が許す限り縦・横に長くなる。行列式に含まれる行列の個数に決まった上限はなく、行列の大きさは計算が可能な限り大きくすることができる。図１７（ｂ）では、演算結果を表示画面に下詰めで表示し、残りの表示画面の中央に、行列式の各項目を結ぶ「×」「＝」のような演算子が位置するようにして表示している。
行列式の演算結果は、多くの場合１つの行列になるが、表示画面に表示する高さは演算結果の行列の大きさに依存する。従って、演算結果を表示する画面では、図１７（ｂ）に示すように入力された行列式は「×」「＝」のような演算子がある中央位置付近だけが表示される。
更に、関数電卓は微分計算、積分計算、総和（シグマ）計算、順列計算などの演算が実行されるが、演算結果を表示する場合に、本発明を適用して演算結果と入力数式を表示することができる。
【００６４】
図１８から図２０は、関数電卓以外に電子情報コンテンツを表示する場合の実施形態３〜５を示す。
（実施形態３）
図１８は、化学反応式を表示する場合の実施形態３を示す。本発明は、構造式や分子式のように二次元的な表現を行う式を入力して、その入力式を解析または入力式の反応結果を表示する実施形態に使用することができる。
図１８（ａ）は、化学反応式イメージと解析結果イメージの表示元イメージを示す。化学反応式は、元素記号と価数、結合線などで記述され、構造式同士が「＋」など演算子で結合させることにより表現される。構造式や分子式は、その構造又は分子数によって縦・横に大きさが変化し、化学反応式に含まれる構造式、分子式の個数に決まった上限はない。化学反応式を解析した結果又は反応の結果は、結果式として表示されるが、結果式は必ずしも１つの構造式または分子式にならないことがあり、また結果式の表示の高さは構造式又は分子式に依存することになる。
図１８（ｂ）は、表示画面上の表示結果を示す。図１８（ｂ）では、解析結果を表示画面に下詰めで表示し、残りの表示画面上に、表示画面の中央が化学反応式の各項目を結ぶ「＋」「→」のような要素が位置するようにして、化学反応式の中央位置を表示している。
【００６５】
（実施形態４）
図１９はブロック線図を表示する実施形態４の場合を示す。制御工学上の記号表現を組合わせてブロック線図又は伝達関数が記述される。このブロック線図又は伝達関数を解析し、その結果をブロック線図として表示する。ブロック線図は伝達要素、引き出し線、加え合わせの３つの記号表現により記述される。ブロック線図は、ブロック線図が表す対象物の構造によって縦・横に大きさが変化する。ブロック線図に含まれる記号表現の個数に決まった上限はない。ブロック線図を解析した等価交換可能なブロック線図を解析結果として表示することができる。解析結果のブロック線図は、入力されたブロック線図より単純化されるが、小さい表示面積に表示する場合には入力されたブロック線図を全部表示することができない。
図１９（ａ）は、ブロック線図イメージと解析結果イメージの表示元イメージを示す。図１９（ｂ）は、本発明によって解析結果とブロック線図を表示画面上に表示した表示結果を示す。図１９（ｂ）に示すように、解析結果を表示画面に下詰めで表示し、残りの表示画面うえに、表示画面の中央がブロック線図の各項目を結ぶ「○」「●」や「→」のような要素が位置するようにして、ブロック線図の中央位置を表示している。
【００６６】
（実施形態５）
図２０は食材と調理法と、その調理結果を表示する実施形態５の場合を示す。料理の食材や調味料と皮を剥く、千切り、角切り、焼く、蒸す、炒めるなどの調理法を入力し、その調理結果を表示する。食材や調味料、調理法は記号、図柄で表現され、それらが演算子（＋）などで結合されたものが調理式となる。食材や調味料、調理法を表す記号、図柄は、料理内容によって数、組合わせ順序などが変化し、またこれらの個数に決まった上限はない。そして、上記調理式を解析または調理した結果は、料理のメニューとして記号、図柄により表示する。この場合、調理結果は1つになる。表示画面に表示する調理結果は料理メニューに依存する。
図２０(ａ)は、食材及び調理法と、調理結果イメージの表示元イメージを示し、ここでは先ず玉葱を炒め、牛肉を炒め、ポテトを適当な大きさに切り、人参を適当な大きさに切り、ルーを入れて、全部を鍋で煮込むと、カレーが出来上がることを表している。図１９（ｂ）は、表示画面上の表示結果を示す。図２０（ｂ）では、調理結果を表示画面に下詰めで表示し、残りの表示画面に、表示画面の中央が食材及び調理法の各項目を結ぶ「＋」や「→」のような要素が位置するようにして、調理式の中央位置を表示している。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態１に使用される関数電卓のブロック図を示す。
【図２】実施形態１に使用される関数表示用パラメータの一例を示す図である。
【図３】関数電卓とホストコンピュータの接続を説明する図を示す。
【図４】関数電卓の表示元イメージと上詰め表示を説明する図を示す。
【図５】関数電卓の表示元イメージとセンタリング表示を説明する図を示す。
【図６】関数電卓の表示元イメージと下詰め表示を説明する図を示す。
【図７】本発明の実施形態における表示画面を説明する図を示す。
【図８】本発明の実施形態別における別の表示画面を説明する図を示す。
【図９】本発明の実施形態の縮小表示と最適スクロール表示を説明するフローチャート図を示す。
【図１０】本発明の実施形態の縮小表示を説明するフローチャート図を示す。
【図１１】本発明の実施形態の最適スクロール表示を説明するフローチャート図を示す。
【図１２】本発明の実施形態の検算結果の表示機能を説明する図を示す。
【図１３】本発明の実施形態の検算結果の表示機能を説明するフローチャート図を示す。
【図１４】本発明の実施形態の検算結果の表示機能を実現するフローチャート図を示す。
【図１５】本発明の実施形態において、画面キャプチャする場合のホストコンピュータの画面を示す。
【図１６】本発明の実施形態において、画面キャプチャする場合のフローチャート図を示す。
【図１７】本発明の他の実施形態において、行列式の演算をする場合の表示画面図を示す。
【図１８】本発明の更に他の実施形態において、化学反応式を表示する場合の表示画面図を示す。
【図１９】本発明の他の実施形態において、ブロック線図を表示する場合の表示画面図を示す。
【図２０】本発明の他の実施形態において、食材と調理法と、その調理結果を表示する場合の表示画面図を示す。
【図２１】従来の関数電卓の表示を説明する図を示す。
【図２２】従来の関数電卓において、他の表示を説明する図を示す。
【符号の説明】
【００６８】
１０  ＣＰＵ
２０  入力部
３０  表示部
４０  ＲＯＭ
５０  ＲＡＭ
１００  端末機器
１０１  表示画面
２００  ホストコンピュータ
２０１  画面
４０１  関数表示用パラメータ
４０２  文字フォント
４０３  数式演算プログラム
４０４  数式表示プログラム
５０１  入力数式データ
５０２  入力数式管理情報
５０３  演算結果データ
５０４  演算結果管理情報
６０  通信部
【図１】
2008287603.tif 000005
【図４】
2008287603.tif 000006
【図５】
2008287603.tif 000007
【図６】
2008287603.tif 000008
【図９】
2008287603.tif 000009
【図１０】
2008287603.tif 000010
【図１１】
2008287603.tif 000011
【図１２】
2008287603.tif 000012
【図１３】
2008287603.tif 000013
【図１４】
2008287603.tif 000014
【図１６】
2008287603.tif 000015
【図１７】
2008287603.tif 000016
【図１８】
2008287603.tif 000017
【図１９】
2008287603.tif 000018
【図２】
2008287603.tif 000019
【図３】
2008287603.tif 000020
【図７】
2008287603.tif 000021
【図８】
2008287603.tif 000022
【図１５】
2008287603.tif 000023
【図２０】
2008287603.tif 000024
【図２１】
2008287603.tif 000025
【図２２】
2008287603.tif 000026