(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024044758
(43)【公開日】2024-04-02
(54)【発明の名称】計算支援システム、サーバ装置、ユーザ端末、計算支援方法およびプログラム
(51)【国際特許分類】
G06F 15/00 20060101AFI20240326BHJP
G06F 15/02 20060101ALI20240326BHJP
【FI】
G06F15/00 410Z
G06F15/02 335E
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022150497
(22)【出願日】2022-09-21
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100209048
【弁理士】
【氏名又は名称】森川 元嗣
(74)【代理人】
【識別番号】100212705
【弁理士】
【氏名又は名称】矢頭 尚之
(74)【代理人】
【識別番号】100219542
【弁理士】
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】柳澤 正明
【テーマコード(参考)】
5B019
【Fターム(参考)】
5B019GA10
(57)【要約】
【課題】ユーザ端末を使用して行っている計算に対応した計算フォーム(Webページ)を容易に利用することが可能な計算支援システムを提供する。
【解決手段】ユーザが関数電卓10Fを操作して計算式を入力し計算を行うと、その計算式がスマートフォン20に送信される。スマートフォン20は、受信された計算式を計算式リストに追加し、計算式リストを計算情報サーバ30へ送信する。計算情報サーバ30は、計算式リストの計算式から変数を除いた数学記号(演算記号、関数記号、定数記号等)からなる式の構成が一致する公式を使用した計算フォーム(Webページ)を計算フォームデータベースから検索し、検索した計算フォーム(計算フォーム画面Gn)をスマートフォン20のWebブラウザに従いスマートフォン20に表示させる。スマートフォン20は、関数電卓10Fからのキー情報に従って表示中の計算フォームを操作して更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力欄に入力されたデータに基づいて特定の計算を行った結果を出力欄に出力する機能を有する計算フォームを提供するサーバ装置であって、
外部機器から計算式を示す計算式情報を受信した場合に、互いに異なる複数の前記計算フォームのうち、受信した前記計算式情報が示す計算式に対応する計算を行う計算フォームを特定し、
特定された計算フォームを前記外部機器に送信する、
処理を実行する制御部を備えるサーバ装置。
【請求項2】
前記複数の計算フォームは、それぞれ異なる1または複数の計算式を使用することによりそれぞれ異なる種類の計算を行い、
前記制御部は、外部機器から前記計算式情報を受信した場合に、受信した前記計算式情報が示す1または複数の計算式と、前記複数の計算フォームそれぞれが計算に用いる1または複数の計算式とを比較し、前記比較の結果に基づいて前記外部機器に送信する計算フォームを特定する、
処理を実行する請求項1に記載のサーバ装置。
【請求項3】
前記制御部は、外部機器から前記計算式情報を受信した場合に、受信した前記計算式情報が示す計算式から変数を除いた数学記号からなる式の構成に一致する計算式を使用して計算を行う計算フォームを、前記複数の計算フォームの中から特定する、
処理を実行する請求項1または2に記載のサーバ装置。
【請求項4】
前記制御部は、外部機器から受信した前記計算式情報が示す複数の計算式が同じ種類の関数式である場合には、前記関数式の繰返しの計算を含む計算フォームを、前記複数の計算フォームの中から特定する、
処理を実行する請求項1または2に記載のサーバ装置。
【請求項5】
入力欄に入力されたデータに基づいて特定の計算を行った結果を出力欄に出力する機能を有する計算フォームを提供するサーバ装置と、
操作部と表示部とを用いた計算機能を有するユーザ端末と、
を含む計算支援システムであって、
前記ユーザ端末が、前記操作部によりユーザが入力した計算式を示す計算式情報を前記サーバ装置に送信し、
前記サーバ装置が、前記ユーザ端末から受信した前記計算式情報が示す計算式に対応する計算フォームを特定し、
前記サーバ装置が、前記特定された計算フォームを前記ユーザ端末に送信し、
前記ユーザ端末が、前記サーバ装置から受信した計算フォームを用いて計算する、
処理を実行する計算支援システム。
【請求項6】
前記ユーザ端末が、前記操作部によりユーザが入力した計算式を計算し、
前記ユーザ端末が、前記計算の結果を前記表示部に表示し、
前記ユーザ端末が、前記計算を行った計算式を示す計算式情報を前記サーバ装置に送信し、
前記サーバ装置が、前記ユーザ端末から受信した前記計算式情報が示す計算式に基づいて、前記ユーザ端末が行った計算に対応する計算を行う計算フォームを特定し、
前記サーバ装置が、前記特定した計算フォームを前記ユーザ端末に送信する、
処理を実行する、請求項5に記載の計算支援システム。
【請求項7】
前記サーバ装置は、計算の種類がそれぞれ異なる複数の計算フォームを記憶し、
前記サーバ装置が、前記ユーザ端末から受信した前記計算式情報が示す計算式に対応する計算式を使用して計算を行う計算フォームを前記複数の計算フォームの中から検索し、
前記サーバ装置が、前記検索された計算フォームを前記ユーザ端末に送信する、
処理を実行する、請求項5または6に記載の計算支援システム。
【請求項8】
前記ユーザ端末が、前記操作部によりユーザが入力した複数の計算式を計算し、
前記ユーザ端末が、前記複数の計算式の計算結果を前記表示部に表示し、
前記ユーザ端末が、前記計算を行った複数の計算式を示す計算式情報を前記サーバ装置に送信し、
前記サーバ装置が、前記ユーザ端末から受信した前記計算式情報が示す複数の計算式に対応する1または複数の計算式を使用して計算を行う計算フォームを前記複数の計算フォームの中から検索する、
処理を実行する、請求項7に記載の計算支援システム。
【請求項9】
前記ユーザ端末は、通信端末と計算端末とを含んで構成され、
前記通信端末は、
前記サーバ装置と通信して前記計算フォームを受信する第1通信処理と、前記サーバ装置から受信した前記計算フォームの前記入力欄および前記出力欄を前記通信端末の表示部に表示させて特定の計算機能を利用するブラウザ処理と、を実行する第1端末制御部を備え、
前記計算端末は、
前記第1通信処理および前記ブラウザ処理のいずれの処理も実行しないが、前記計算端末の操作部と前記計算端末の表示部とを用いた計算処理および前記通信端末と通信を行う第2通信処理を実行する第2端末制御部を備え、
前記第2端末制御部が、前記計算端末の操作部によりユーザが入力した計算式を示す計算式情報を前記通信端末に送信し、
前記第1端末制御部が、前記計算端末から受信した前記計算式情報を前記サーバ装置に送信し、
前記第1端末制御部が、前記サーバ装置から受信した前記計算フォームの前記入力欄および前記出力欄を前記通信端末の表示部に表示させ、
前記第2端末制御部が、前記計算フォームの前記入力欄および前記出力欄を前記通信端末の表示部に表示させた状態で、前記計算端末の操作部によりユーザが入力した数値を前記通信端末に送信し、
前記第1端末制御部が、前記計算端末から受信した前記数値を前記入力欄に入力し、
前記第1端末制御部が、前記入力欄に入力された前記数値に基づいて特定の計算を行った計算結果を前記出力欄に出力する、
処理を実行する、請求項5または6に記載の計算支援システム。
【請求項10】
前記第1端末制御部が、前記出力欄に出力した前記計算結果を前記計算端末に送信し、
前記第2端末制御部が、前記通信端末から受信した前記計算結果を前記計算端末の表示部に表示させる、
処理を実行する、請求項9に記載の計算支援システム。
【請求項11】
請求項5または6に記載の計算支援システムにおいて利用されるサーバ装置。
【請求項12】
請求項5または6に記載の計算支援システムにおいて利用されるユーザ端末。
【請求項13】
入力欄に入力されたデータに基づいて特定の計算を行った結果を出力欄に出力する機能を有する計算フォームを提供するサーバ装置により実行される計算支援方法であって、
前記サーバ装置が、
外部機器から計算式を示す計算式情報を受信した場合に、互いに異なる複数の前記計算フォームのうち、受信した前記計算式情報が示す計算式に対応する計算を行う計算フォームを特定し、
特定された計算フォームを前記外部機器に送信する、
処理を実行するようにした計算支援方法。
【請求項14】
入力欄に入力されたデータに基づいて特定の計算を行った結果を出力欄に出力する機能を有する計算フォームを提供するサーバ装置が実行するプログラムであって、
前記サーバ装置に、
外部機器から計算式を示す計算式情報を受信した場合に、互いに異なる複数の前記計算フォームのうち、受信した前記計算式情報が示す計算式に対応する計算を行う計算フォームを特定し、
特定された計算フォームを前記外部機器に送信する、
処理を実行させるためのプログラム。
【請求項15】
入力欄に入力されたデータに基づいて特定の計算を行った結果を出力欄に出力する機能を有する計算フォームを提供するサーバ装置と、
操作部と表示部とを用いた計算機能を有するユーザ端末と、
を含む計算支援システムにより行なう計算支援方法であって、
前記ユーザ端末が、前記操作部によりユーザが入力した計算式を示す計算式情報を前記サーバ装置に送信し、
前記サーバ装置が、前記ユーザ端末から受信した前記計算式情報が示す計算式に対応する計算フォームを特定し、
前記サーバ装置が、前記特定された計算フォームを前記ユーザ端末に送信し、
前記ユーザ端末が、前記サーバ装置から受信した計算フォームを用いて計算する、
ようにした計算支援方法。
【請求項16】
入力欄に入力されたデータに基づいて特定の計算を行った結果を出力欄に出力する機能を有する計算フォームを提供するサーバ装置と、
操作部と表示部とを用いた計算機能を有するユーザ端末と、
を含む計算支援システムが実行するプログラムであって、
前記ユーザ端末が、前記操作部によりユーザが入力した計算式を示す計算式情報を前記サーバ装置に送信し、
前記サーバ装置が、前記ユーザ端末から受信した前記計算式情報が示す計算式に対応する計算フォームを特定し、
前記サーバ装置が、前記特定された計算フォームを前記ユーザ端末に送信し、
前記ユーザ端末が、前記サーバ装置から受信した計算フォームを用いて計算する、
ように機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、計算支援システム、サーバ装置、ユーザ端末、計算支援方法およびプログラムに関する。
【背景技術】
【0002】
各種の計算を手軽に行なえる計算機として、一般電卓や関数電卓が広く利用されている。
【0003】
また、各種の計算を行うための入力欄や出力欄がレイアウトされた計算フォーム(Webページ)を提供する計算機能提供サービス(Webサーバ)が知られている。
【0004】
一方、電卓の機能を補うために、インターネット(Web)へのアクセス機能を備えた端末装置を経由してサーバ装置にアクセスすることで、電卓からインターネット上のサービスを利用できるようにした技術が知られている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来、電卓やそのアプリを搭載した携帯端末(タブレット端末など)、PC(Personal Computer)などのユーザ端末を使用して計算を行っているユーザが、計算機能提供サービス(Webサーバ)が提供する計算フォーム(Webページ)を容易に利用することはできなかった。
【0007】
本発明はこのような課題に鑑みてなされたもので、ユーザ端末を使用して行っている計算に対応した計算フォーム(Webページ)を容易に利用することが可能になる計算支援システム、サーバ装置、ユーザ端末、計算支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係るサーバ装置は、
入力欄に入力されたデータに基づいて特定の計算を行った結果を出力欄に出力する機能を有する計算フォームを提供するサーバ装置であって、
外部機器から計算式を示す計算式情報を受信した場合に、互いに異なる複数の前記計算フォームのうち、受信した前記計算式情報が示す計算式に対応する計算を行う計算フォームを特定し、
特定された計算フォームを前記外部機器に送信する、処理を実行する。
【発明の効果】
【0009】
本発明によれば、ユーザ端末を使用して行っている計算に対応した計算フォーム(Webページ)を容易に利用することが可能になる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る計算支援システム1の全体の構成を示す図。
【
図2】関数電卓(計算端末)10Fの電子回路の構成を示すブロック図。
【
図3】スマートフォン(通信端末)20の電子回路の構成を示すブロック図。
【
図4】計算情報サーバ(サーバ装置)30の電子回路の構成を示すブロック図。
【
図5】計算情報サーバ30の計算フォームデータベース32bに記憶される計算フォームの一例であって、数学公式集に分類される計算フォームのうちの「不等辺三角形」に関する計算フォーム(不等辺三角形)32b1を示す図。
【
図6】計算情報サーバ30の計算フォームデータベース32bに記憶される計算フォームの一例であって、計算応用集に分類される計算フォームのうちの「直線回帰」に関する計算フォーム(直線回帰)32b2を示す図。
【
図7】計算情報サーバ30の計算フォームデータベース32bに記憶される計算フォームの一例であって、健康の計算に分類される計算フォームのうちの「基礎代謝量」に関する計算フォーム(基礎代謝量)32b3を示す図。
【
図8】関数電卓(計算端末)10Fの電卓制御プログラム(通信端末連携アプリを含む)14aに従った処理を示すフローチャート。
【
図9】スマートフォン(通信端末)20の端末制御プログラム(Webブラウザおよび計算情報サーバ利用アプリを含む)23aに従った処理を示すフローチャート。
【
図10】計算情報サーバ(サーバ装置)30のサーバ制御プログラム32aに従った処理を示すフローチャート。
【
図11】計算情報サーバ30の処理に含まれる計算フォーム検索処理(S3)を示すフローチャート。
【
図12】関数電卓10Fで入力された計算式に基づき計算情報サーバ30にて検索された計算フォーム(不等辺三角形)32b1がスマートフォン20に計算フォーム画面(不等辺三角形)G1として表示された状態を示す図。
【
図13】関数電卓10Fで入力された計算式に基づき計算情報サーバ30にて検索された計算フォーム(直線回帰)32b2がスマートフォン20に計算フォーム画面(直線回帰)G2として表示された状態を示す図。
【
図14】関数電卓10Fで入力された計算式に基づき計算情報サーバ30にて検索された計算フォーム(基礎代謝量)32b3がスマートフォン20に計算フォーム画面(基礎代謝量)G3として表示された状態を示す図。
【
図15】関数電卓10Fのキー操作に応じたキー情報をスマートフォン20に送信するためのキー情報送信処理を示すフローチャート。
【
図16】スマートフォン20において関数電卓10Fのキー操作に応じたキー情報を受信するためのキー情報受信処理を示すフローチャート。
【発明を実施するための形態】
【0011】
以下図面により本発明の実施の形態について説明する。
【0012】
(実施形態の構成)
図1は、本発明の実施形態に係る計算支援システム1の全体の構成を示す図である。
【0013】
計算支援システム1は、ユーザが操作して計算を行う計算端末(ここでは関数電卓)10Fと、例えば関数電卓10Fの製造元により通信ネットワーク(ここではインターネット)N上に設けられたサーバ装置(ここでは計算情報サーバ)30と、関数電卓10Fにて行われる計算に対応した計算フォームを計算情報サーバ30から取得して表示させるユーザの通信端末(ここではスマートフォン)20と、を含んで構成される。
【0014】
図2は、関数電卓(計算端末)10Fの電子回路の構成を示すブロック図である。
【0015】
図3は、スマートフォン(通信端末)20の電子回路の構成を示すブロック図である。
【0016】
図4は、計算情報サーバ(サーバ装置)30の電子回路の構成を示すブロック図である。
【0017】
関数電卓(計算端末)10Fは、計算が可能な制御部(Central Processing Unit:第2端末制御部)13と、データを記憶する記憶部(Memory)14と、スマートフォン20と通信接続可能なBluetooth(登録商標)、Bluetooth Low Energy(登録商標)、NFC(Near Field Communication)などの近距離無線通信部16と、計算式を入力可能なキー入力部(Keyboard:操作部)11および表示部(Display)12と、を有する電子機器(計算端末)として構成され得る(
図2参照)。制御部13は、少なくとも一つのプロセッサを含む。
【0018】
また、スマートフォン(通信端末)20は、制御部(Central Processing Unit:第1端末制御部)22と、データを記憶する記憶部(Memory)23と、関数電卓10Fと通信接続可能なBluetooth(登録商標)、Bluetooth Low Energy(登録商標)、NFC(Near Field Communication)などの近距離無線通信部27と、Webサーバ(ここでは計算情報サーバ30)と通信接続可能なWi-Fi(登録商標)などの(無線)通信部28と、(タッチパネル式)表示部(Display:第1表示部)21と、を有するPDA(Personal Digital Assistants)、タブレット端末、ノートPC(Personal Computer)、ゲーム機などの電子機器(通信端末)として構成され得る(
図3参照)。制御部22は、少なくとも一つのプロセッサを含む。
【0019】
関数電卓10Fは、
図1に示すように、その携帯性の必要からユーザが片手で十分把持し片手で操作可能な小型サイズからなり、関数電卓10Fの本体正面にはキー入力部11および表示部12が設けられる。
【0020】
キー入力部11には、数値や計算式を入力したり計算の実行を指示したりするための数値・演算記号キー群111、各種の関数を入力したりメモリ機能を立ち上げたりするための関数機能キー群112、各種動作モードのメニュー画面を表示させたり動作モードの設定を指示したりするためのモード設定キー群113、表示部12に表示されたカーソルの移動操作やデータ項目の選択操作などを行うためのカーソルキー114が備えられる。
【0021】
数値・演算記号キー群111としては、[0]~[9](数値)キー、[+][-][×][÷](四則記号)キー、[Ans][=](実行)キー、[AC](クリア)キーなどが配列される。
【0022】
関数機能キー群112としては、[x-1](-1乗;逆数)キーをはじめ、[√□](ルート;平方根)キー、[□/□](分数)キー、[∫](インテグラル;積分)キー、[log](ログ;対数)キー、[sin](サイン)キー、[M+](メモリプラス)キー、[OPTN](オプション)キー、[RCL](メモリ呼び出し)キーなどが配列される。
【0023】
モード設定キー群113としては、[MODE](モード)キー、[SHIFT](シフト)キー、[ALPHA](アルファベット)キー、[ON](電源オン)キーなどが配列される。
【0024】
なお、数値・演算記号キー群111や関数機能キー群112のキーは、[SHIFT]キーが操作された後に続けて操作されることで、そのキートップに記載されたキー機能ではなく、そのキーの上方に記載されたキーとして機能できるようになっている。例えば、[SHIFT]キー操作後に[AC]キーが操作(以下、[SHIFT]+[AC]キー等と記す。)されると[OFF](電源オフ)キーとなる。[SHIFT]+[∫]キーは[d/dx](ディファレンシャル;微分)キーとなり、[SHIFT]+[tan]キーは[tan-1](アークタンジェント)キーとなる。
【0025】
キー入力部11により入力可能な計算式の一部を構成する演算記号、関数記号、定数記号などは数学記号に含まれる。
【0026】
表示部12は、ドットマトリクス型(例えば192×63ドット)の液晶表示ユニットからなり、計算式を理工学書や教科書通りに表示(数学自然表示)する。
【0027】
スマートフォン20は、
図1に示すように、関数電卓10Fと通信接続可能なBluetoothなどの近距離無線通信部(図示せず)と、通信ネットワークNを介して計算情報サーバ30と通信接続可能な通信部(図示せず)と、タッチ入力部としても機能するタッチパネル式表示部21と、音声入力部26aと、音声出力部26bを備えている。
【0028】
関数電卓10Fは、キー入力部11の操作に応じて入力された計算式に対応する計算を実行しその計算結果を表示させる計算機能(a1)を有するほか、スマートフォン(通信端末)20と連携して動作する通信端末連携アプリ(
図2の14a参照)を有し、入力されたキーのキー情報(キーデータ)または計算式の情報(計算式データ)をスマートフォン20に送信する機能(a2)を有する。
【0029】
スマートフォン20は、Webサーバにより提供されるWebページを受信して表示させるWebブラウザおよび関数電卓10Fと連携して計算情報サーバ30を利用するための計算情報サーバ利用アプリ(
図3の23a参照)を有し、関数電卓10Fにより入力された計算式のデータをリスト化して計算情報サーバ30へ送信する機能(b1)、送信した計算式に対応する計算フォーム(Webページ)のデータを計算情報サーバ30から取得して表示させる機能(b2)、表示させた計算フォームに基づく計算を関数電卓10Fと連携して実行させる機能(b3)を有する。
【0030】
計算情報サーバ30は、スマートフォン20から送信されるリスト化された計算式のデータを受信する機能(c1)、受信した計算式に対応する計算フォーム(Webページ)を計算フォームデータベース(
図4の32bおよび
図5~
図7参照)から検索する機能(c2)、検索した計算フォーム(計算フォームのアクセス先URL)をスマートフォン20に提供(送信)する機能(c3)、提供した計算フォームをスマートフォン20のWebブラウザに従い動作させる機能(c4)を有する。
【0031】
図1に示す計算支援システム1では、ユーザが関数電卓10Fを使用して、例えば三角形に関する任意の値の計算式を入力しつつ計算を行っているときに、ユーザが意識することなくスマートフォン20を介して計算情報サーバ30へ送信される計算式のデータに対応して、計算情報サーバ30の計算フォームデータベース(
図4の32b参照))から取得された不等辺三角形の計算フォームの計算フォーム画面(不等辺三角形)G1がスマートフォン20に表示された状態を示している。
【0032】
スマートフォン20において、関数電卓10Fにて入力された計算式に対応する計算フォームが計算情報サーバ30から取得されると、スマートフォン20は計算フォームが取得された旨を関数電卓10Fに通知し、関数電卓10Fは電子音を発する報知部BZを動作させてユーザに報知する。
【0033】
ユーザは、関数電卓10Fのキー入力部11によりスマートフォン20に表示されている計算フォーム画面(不等辺三角形)G1を操作し、不等辺三角形に関する各種の計算を簡単に行なうことができる。
【0034】
計算情報サーバ30が提供する計算フォーム(Webページ)については後述する。
【0035】
なお、関数電卓(計算端末)10Fおよびスマートフォン(通信端末)20は、何れもユーザが使用する端末であるユーザ端末であり、スマートフォン20が例えば関数電卓10Fの計算機能と同様の計算アプリを有する場合、スマートフォン(ユーザ端末)20をユーザが操作して任意の計算を行っているときに、その計算式に対応する計算フォームを計算情報サーバ30から取得して表示させてもよい。
【0036】
<関数電卓(計算端末)10Fの電子回路>
図2に示すように、関数電卓(計算端末)10Fの電子回路は、キー入力部11、表示部12および報知部BZに加えて、コンピュータである制御部(CPU)13と、記憶部14と、記録媒体読取部15と、近距離無線通信部16と、を備える。
【0037】
制御部13は、記憶部14に記憶されている電卓制御プログラム(通信端末連携アプリを含む)14aに従い回路各部の動作を制御し、キー入力部11からのキー入力信号および外部の通信機器(例えばスマートフォン(通信端末)20)から近距離無線通信部16を介して受信される受信信号に応じた各種の処理を実行する。
【0038】
電卓制御プログラム14aは、少なくとも前述の機能(a1)(a2)を含む電卓機能を実行するためのプログラムを含む。
【0039】
電卓制御プログラム14aは、記憶部14に予め記憶されていてもよいし、あるいはメモリカードなどの外部記録媒体Mから記録媒体読取部15を介して記憶部14に読み込まれて記憶されたものであってもよい。電卓制御プログラム14aは、ユーザがキー入力部11の操作によって書き換えできないようになっている。
【0040】
記憶部14には、さらに、キーデータ記憶領域14b、計算データ記憶領域14cおよび作業データ記憶領域14dなどの各種のデータ記憶領域が確保される。
【0041】
キーデータ記憶領域14bには、キー入力部11の操作に応じて入力されたキーのデータまたは入力されたキーのデータを例えば[Ans][=](実行)キーが操作される毎に解析して得られる計算式のデータが記憶される。
【0042】
計算データ記憶領域14cには、入力された計算式のデータに基づき計算された計算結果のデータなどが記憶される。
【0043】
作業データ記憶領域14dには、制御部13による各部の動作の制御に応じて生成または取得される各種のデータが必要に応じて一時的に記憶される。
【0044】
近距離無線通信部16は、Bluetooth、NFC(Near Field Communication)など、外部の通信機器(例えばスマートフォン20)と近距離で無線通信する機能を備える。
【0045】
このように構成された関数電卓(計算端末)10Fは、制御部13が電卓制御プログラム14aに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、後述の動作説明で述べるような電卓機能を実現する。
【0046】
<スマートフォン(通信端末)20の電子回路>
図3に示すように、スマートフォン(通信端末)20の電子回路は、タッチパネル式表示部21、音声入力部26aおよび音声出力部26bに加えて、コンピュータである制御部(CPU)22と、記憶部23と、記録媒体読取部24と、キー入力部25と、近距離無線通信部27と、無線通信部28と、を備える。
【0047】
制御部22は、記憶部23に記憶された端末制御プログラム(Webブラウザおよび計算情報サーバ利用アプリを含む)23aに従い回路各部の動作を制御し、タッチパネル式表示部21やキー入力部25、音声入力部26aからの入力信号、近距離無線通信部27を介して受信される外部の電子機器(例えば関数電卓(計算端末)10F)からの受信信号、および無線通信部28を介して受信される通信ネットワークN上のWebサーバ(例えば計算情報サーバ(サーバ装置)30)からの受信信号に応じた各種の処理を実行する。
【0048】
端末制御プログラム23aは、少なくとも前述の機能(b1)(b2)(b3)を含む通信端末機能を実行するためのプログラムを含む。
【0049】
端末制御プログラム23aは、記憶部23に予め記憶されていてもよいし、あるいはメモリカードなどの外部記録媒体Mから記録媒体読取部24を介して記憶部23に読み込まれて記憶されたものであってもよい。端末制御プログラム23aは、ユーザがタッチパネル式表示部21やキー入力部25の操作によって書き換えできないようになっている。
【0050】
記憶部23には、さらに、計算式リストデータ記憶領域23bおよび作業データ記憶領域23cなどの各種のデータ記憶領域が確保される。
【0051】
計算式リストデータ記憶領域23bには、関数電卓10Fと通信接続された状態において、当該関数電卓10Fから受信される計算式のデータがリスト化されて記憶される。
【0052】
作業データ記憶領域23cには、制御部22による各部の動作の制御に応じて生成または取得される各種のデータが必要に応じて一時的に記憶される。
【0053】
近距離無線通信部27は、Bluetooth、NFC(Near Field Communication)など、外部の電子機器(例えば関数電卓10F)と近距離で無線通信する機能を備える。
【0054】
無線通信部28は、Wi-Fiなど、外部の通信ネットワークN上のサーバ装置(例えば計算情報サーバ30)と無線ルータを介して無線通信する機能を備える。
【0055】
このように構成されたスマートフォン(通信端末)20は、制御部22が端末制御プログラム23aに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、後述の動作説明で述べるような通信端末機能を実現する。
【0056】
<計算情報サーバ(サーバ装置)30の電子回路>
図4に示すように、計算情報サーバ30の電子回路は、コンピュータである制御部(CPU)31と、記憶部32と、記録媒体読取部33と、通信部34と、入力部35と、表示部36と、を備える。
【0057】
制御部31は、記憶部32に記憶されているサーバ制御プログラム32aに従い、入力部35からのユーザ操作に応じた入力信号、あるいは通信ネットワークN上の通信端末(ここではスマートフォン20)からの通信部34による受信信号に応じて回路各部の動作を制御する。サーバ制御プログラム32aは、記憶部32に予め記憶されていてもよいし、あるいはCD-ROMなどの外部記録媒体Mから記録媒体読取部33を介して記憶部32に読み込まれて記憶されたものであってもよい。
【0058】
サーバ制御プログラム32aは、少なくとも前述の機能(c1)(c2)(c3)(c4)を含む計算情報提供機能を実行するためのプログラムを含む。
【0059】
記憶部32には、さらに、計算フォームデータベース32b、計算式リストデータ記憶領域32c、作業データ記憶領域32dが確保される。
【0060】
計算フォームデータベース32bには、各種の計算フォーム(Webページ)のデータが、例えば、数学公式集/計算応用集/健康の計算/お金の計算/繰返しの計算/…などに分類されて記憶される。
【0061】
計算フォームは、計算フォームの種類毎に異なる計算用のWebページであって、当該Webページはプログラムにより生成される。計算フォームには、入力欄と出力欄が設けられ、入力欄に入力されたデータに基づいて当該計算フォームの種類に応じた特定の計算を実行し、その計算結果を出力欄に出力する機能を有する。
【0062】
図5は、計算情報サーバ30の計算フォームデータベース32bに記憶される計算フォームの一例であって、数学公式集に分類される計算フォームのうちの「不等辺三角形」に関する計算フォーム(不等辺三角形)32b1を示す図である。
【0063】
計算フォーム(不等辺三角形)32b1は、例えば、不等辺三角形のモデル図(不等辺三角形)Z1と、モデル
図Z1の符号により示される計算要素(辺、角、高さ、面積)の入力を選択的に指定するための入力指定欄D10と、入力指定欄D10により指定された計算要素の値を変数値として入力するための数値入力欄D11,D12,D13と、計算の実行を指示する[計算]ボタンBと、計算結果出力欄(不等辺三角形)A1と、を含む。
【0064】
そして、計算フォーム(不等辺三角形)32b1は、入力指定欄D10および数値入力欄D11,D12,D13に従い入力された数値に基づき、数値入力されていない他の計算要素の値を計算するための当該計算フォーム32b1の種類(不等辺三角形)に対応した特定の計算式である公式(不等辺三角形)Fm1を有する。
【0065】
このFm1に示される複数の計算式が、「不等辺三角形」に関する計算フォームを特定するための複数の計算式であり、後述する計算フォームの検索処理において、受信された計算式リストに含まれる計算式と式の構成が一致(類似)するか否かを判断するために用いられる。
【0066】
図6は、計算情報サーバ30の計算フォームデータベース32bに記憶される計算フォームの一例であって、計算応用集に分類される計算フォームのうちの「直線回帰」に関する計算フォーム(直線回帰)32b2を示す図である。
【0067】
計算フォーム(直線回帰)32b2は、例えば、直線回帰(y=A+Bx)の分析対象となる計算要素の値を変数値として入力するための分布表H2と、計算の実行を指示する[計算]ボタンBと、計算結果出力欄(直線回帰)A2と、を含む。
【0068】
そして、計算フォーム(直線回帰)32b2は、分布表H2に従い入力された分析対象の数値に基づき、直線回帰の推定値を計算するための当該計算フォーム32b2の種類(直線回帰)に対応した特定の計算式である公式(直線回帰)Fm2を有する。
【0069】
このFm2に示される複数の計算式が、「直線回帰」に関する計算フォームを特定するための複数の計算式であり、後述する計算フォームの検索処理において、受信された計算式リストに含まれる計算式と式の構成が一致(類似)するか否かを判断するために用いられる。
【0070】
図7は、計算情報サーバ30の計算フォームデータベース32bに記憶される計算フォームの一例であって、健康の計算に分類される計算フォームのうちの「基礎代謝量」に関する計算フォーム(基礎代謝量)32b3を示す図である。
【0071】
計算フォーム(基礎代謝量)32b3は、例えば、人のモデル
図Z3と、計算要素(年齢、身長、体重)の値を変数値として入力するための数値入力欄D31,D32,D33と、計算の実行を指示する[計算]ボタンBと、計算結果出力欄(基礎代謝量)A3と、を含む。
【0072】
そして、計算フォーム(基礎代謝量)32b3は、数値入力欄D31,D32,D33に従い入力された数値に基づき、基礎代謝量を計算するための当該計算フォーム32b3の種類(基礎代謝量)に対応した特定の計算式である公式(基礎代謝量)Fm3を有する。
【0073】
このFm3に示される複数の計算式が、「基礎代謝量」に関する計算フォームを特定するための複数の計算式であり、後述する計算フォームの検索処理において、受信された計算式リストに含まれる計算式と式の構成が一致(類似)するか否かを判断するために用いられる。
【0074】
各種の計算要素の値を求める公式(特定の計算式)は、変数記号と数学記号(演算記号、関数記号、定数記号など)の組み合わせにより構成されるが、例えば
図7で示した公式(基礎代謝量)Fm3のように、定数が数値として直接組み合わされる公式もある。
【0075】
計算フォームデータベース32bにおいて、繰返しの計算に分類される計算フォームとしては、公式(特定の計算式)として例えば積分を含む計算式を使用した同じ関数に基づく積算に便利な計算フォーム(積分)や、公式(特定の計算式)として例えば同じ関数を繰返し使用した計算要素の表を有する計算フォーム(表計算)などを含んでよい。
【0076】
このように、計算フォームデータベース32bに記憶される各種の計算フォーム32bnは、その何れも、計算フォーム32bnの種類nに応じた計算要素の入力欄Dnと出力欄Anとを含み、また計算フォーム32bnの種類nに応じた公式(特定の計算式)Fmnを有する。
【0077】
計算式リストデータ記憶領域32cには、スマートフォン20から受信される計算式リストのデータが記憶される。計算式リストのデータは、関数電卓10Fによりユーザが行なう計算の操作に応じて、ユーザにより入力された計算式のデータがスマートフォン20にてリスト化されて生成される。
【0078】
作業データ記憶領域32dには、制御部31による各部の動作の制御に応じて生成または取得される各種のデータが必要に応じて一時的に記憶される。
【0079】
このように構成された計算情報サーバ30は、制御部31がサーバ制御プログラム32aに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、後述の動作説明で述べるような計算情報提供機能を実現する。
【0080】
(実施形態の動作)
次に、実施形態の計算支援システム1の動作について説明する。
【0081】
図8は、関数電卓(計算端末)10Fの電卓制御プログラム(通信端末連携アプリを含む)14aに従った処理を示すフローチャートである。
【0082】
図9は、スマートフォン(通信端末)20の端末制御プログラム(Webブラウザおよび計算情報サーバ利用アプリを含む)23aに従った処理を示すフローチャートである。
【0083】
図10は、計算情報サーバ(サーバ装置)30のサーバ制御プログラム32aに従った処理を示すフローチャートである。
【0084】
ここでは、関数電卓10Fを使用してユーザが所望の計算を行う場合に、ユーザ(関数電卓10F)の近く(近距離無線通信部16による通信可能範囲内)にスマートフォン20が存在すると仮定する。
【0085】
関数電卓10Fの[ON]キーを操作して電源を入れると、関数電卓10Fの近距離無線通信部16とスマートフォン20の近距離無線通信部27とを介して相互の通信接続が確立される(ステップF1/ステップT1)。その後、制御部13は、計算支援システム1に係る処理を開始することを指示する所定の操作が行われるか、計算支援システム1に係る処理を自動起動するモードが設定されている場合は、計算支援システム1において予め決められた関数電卓10Fとスマートフォン20との間の通信プロトコルに従った処理の実行を開始する。
【0086】
関数電卓10Fにおいて、ユーザが所望の計算式を入力するためのキー操作が行なわれると(ステップF2(YES))、制御部13は、入力されたキー情報を表示部12に表示させ、入力されたキー情報から計算式を解析し(ステップF3)、計算式に基づき計算した計算結果を表示部12に表示させる(ステップF4)。
【0087】
制御部13は、入力されたキー情報または解析した計算式の情報であって、ユーザが入力した計算式を示す計算式情報をスマートフォン20に送信する(ステップF5)(第2通信処理)。ここで、計算式情報は、四則演算や関数などの演算子を示す情報と、その演算子により演算される数値などの引数(パラメータ)との関係や計算順序などがわかる情報であり、人間が理解しやすい形式で記載された計算式と同様に記号や数値が並んだ情報の他、装置のコンピュータが理解しやすい形式で記号や数値が並んだ情報であってもよい。また、計算支援システム1を構成する複数の装置間で、記号や数値の並びをどのようにして計算式として解釈するかの規則が予め決められている場合には、記号や数値を示すキー情報そのものを計算式情報として送信するようにしてもよい。
【0088】
なお、関数電卓10Fは、入力されたキー情報をその入力毎にスマートフォン20に送信してよいし、または入力されたキー情報から例えば[=](実行)キーが操作される毎に解析した計算式をスマートフォン20に送信してもよい。
【0089】
スマートフォン20において、近距離無線通信部27を介して関数電卓10Fとの通信接続が確立されると(ステップF1/ステップT1)、制御部22は、計算支援システム1に係る処理を実行するアプリケーションプログラムが起動されるか、計算支援システム1に係る処理を自動起動するモードが設定されている場合は、計算支援システム1において予め決められた関数電卓10Fとスマートフォン20との間の通信プロトコルに従った処理として、近距離無線通信部27を介して受信される関数電卓10Fからの受信信号の監視処理を開始する(ステップT2)。また、制御部22は、無線通信部28を介して通信ネットワーク(インターネット)N上の計算情報サーバ30との通信接続を確立し(ステップT3/ステップS1)、計算支援システム1において予め決められた計算情報サーバ30とスマートフォン20との間の通信プロトコルに従った処理を開始する。
【0090】
図8のステップF5において関数電卓10Fから送信された計算式情報であるキー情報または計算式の情報が受信されると(ステップT4(YES))、制御部22は、受信されたのがキー情報である場合は、予め決められている規則に従って、受信されたキー情報から計算式を解析し(ステップT5)、関数電卓10Fから受信された計算式情報が示す計算式のデータを計算式リストデータ記憶領域23bの計算式リストに追加する(ステップT6)。
【0091】
制御部22は、計算式リストのデータを計算情報サーバ30に送信する(ステップT7)。
【0092】
この後、後述する
図10のステップS11において計算情報サーバ30から送信される、計算式リストの計算式に対応する計算フォームが無い旨の通知が受信されない状態であって(ステップT8(NO))、且つ、後述する
図10のステップS6において計算情報サーバ30から送信される、計算情報サーバ30にて検索された計算フォーム(Webページ)のアクセス先が受信されない状態では(ステップT9(NO))、制御部22は、関数電卓10Fから送信されるキー情報または計算式を繰返し受信し、受信または解析した計算式を追加した計算式リストを計算情報サーバ30に送信する(ステップT4~T7)。
【0093】
計算情報サーバ30において、制御部31は、スマートフォン20からの接続要求に従い通信部34を介してスマートフォン20との通信接続を確立し(ステップT3/ステップS1)、計算支援システム1において予め決められた計算情報サーバ30とスマートフォン20との間の通信プロトコルに従った処理を開始する。制御部31は、
図9のステップT7においてスマートフォン20から送信された計算式リストのデータが受信されると(ステップS2(YES))、計算フォームデータベース32bから、受信された計算式リストに含まれる計算式と式の構成が一致する計算式(特定の計算式)を使用している計算フォーム32bnを検索する(ステップS3:計算フォーム検索処理)。
【0094】
計算式リストに含まれる計算式と式の構成が一致する計算式(特定の計算式)を使用している計算フォーム32bnが検索された(ある)場合であって(ステップS4(YES))、検索された計算フォーム32bnが1つではない(複数ある)場合(ステップS5(NO))、ユーザが入力した計算式に対応し且つユーザが望む有効な計算フォームに絞られていない可能性が高い(言い換えれば、計算式リストに含まれる計算式が1つなどと少ない場合、計算フォームデータベース32bにある多種多様な計算フォーム32bn…の中から幾つもの種類の計算フォームが検索される可能性が高い)ため、制御部31は、スマートフォン20から次の計算式リストを受信するための受信待機に戻る(ステップS2)。
【0095】
図11は、計算情報サーバ30の処理に含まれる計算フォーム検索処理(S3)を示すフローチャートである。
【0096】
制御部31は、計算式リストの計算式、すなわち関数電卓10Fから受信された計算式が複数あるか否かを判定する(ステップS31)。
【0097】
計算式リストの計算式が複数無い、すなわち1つの場合(ステップS31(NO))、制御部31は、計算フォームデータベース32bから、計算式リストの全ての計算式(ここでは1つ)を対象に、同計算式に含まれる変数を除いた数学記号からなる式の構成が一致する計算式(特定の計算式)を使用している計算フォーム32bnを、計算式の比較により検索する(ステップS32)。
【0098】
ここで、計算式リストの計算式に定数が定数記号(数学記号)ではなく数値として直接組み合わされている場合、例えば、計算フォームデータベース32bの各種の計算フォームと共に予め記憶した、当該各種の計算フォームの公式(特定の計算式)に使用している定数値のデータベース(定数値データベース)に基づいて、制御部31は、計算式リストの計算式に組み合わされた定数である数値を区別し、同計算式に含まれる変数としての数値を除く。
【0099】
一方、計算式リストの計算式が複数ある場合(ステップS31(YES))、制御部31は、複数の計算式が、何れも、変数を除いた数学記号からなる式の構成が同じになるか否かを判定する(ステップS33)。
【0100】
ここで、計算式リストの複数の計算式が、何れも、変数を除いた数学記号からなる式の構成が同じになると判定された場合(ステップS33(YES))、制御部31は、計算フォームデータベース32bから、同計算式リストの何れかの計算式の変数を除いた数学記号からなる式と一致する計算式(特定の計算式)を使用している繰返しの計算に分類された計算フォーム32bnを、計算式の比較により検索する(ステップS34)。
【0101】
計算式リストの計算式が複数ある場合(ステップS31(YES))であって、同複数の計算式それぞれの変数を除いた数学記号からなる式の構成が同じにならない場合(ステップS33(NO))、制御部31は、計算フォームデータベース32bから、繰返しの計算に分類された計算フォームの検索に絞らず、計算式リストの全ての計算式を対象に、同計算式に含まれる変数を除いた数学記号からなる式の構成が一致する計算式(特定の計算式)を使用している計算フォーム32bnを、計算式の比較により検索する(ステップS32)。
【0102】
なお、計算式リストに含まれる計算式から変数を除いた数学記号からなる式の構成が、計算フォームが使用している計算式(特定の計算式)の構成と一致するかを比較して判定する処理では、お互いの式内の項は前後してよく項間の数学記号が一致すればよい。
【0103】
また、上述したステップS3の処理において、計算式リストに含まれる複数の計算式と、計算フォームが使用している複数の計算式とが一致しているか否かの判断は、計算フォームが使用している複数の計算式の全てが計算式リストに含まれる場合に一致していると判断するようにしてもよいし、計算フォームが使用している複数の計算式のうち、決められた割合の計算式が計算式リストに含まれる場合に一致していると判断するようにしてもよい。また、計算フォーム毎に決められた各計算式の重みを加味した類似度を算出し、所定以上の類似度を有する場合に一致していると判断するようにしてもよい。
【0104】
また、上述したステップS4の処理において、一致する計算フォームが無いと判断された場合には、複数の計算フォームのうち、類似度が最も高い計算フォームを一致するものと見做してステップS6からの処理を継続するようにしてもよい。
【0105】
計算式リストに含まれる計算式と式の構成が一致する計算式(特定の計算式)を使用している計算フォーム32bnが検索された(ある)場合であって(ステップS4(YES))、検索された計算フォーム32bnが1つである場合(ステップS5(YES))、制御部31は、検索された計算フォーム(Webページ)32bnのアクセス先(例えばURL:Uniform Resource Locator)をスマートフォン20に送信する(ステップS6)。
【0106】
スマートフォン20において、
図10のステップS6において計算情報サーバ30から送信された計算フォーム(Webページ)32bnのアクセス先が受信されると(ステップT9(YES))(第1通信処理)、制御部22は、計算フォームがある旨の通知を関数電卓10Fに送信する(ステップT11)。
【0107】
制御部22は、ステップT9にて受信された計算フォーム(Webページ)32bnのアクセス先に従い、Webブラウザを起動して計算情報サーバ30の同計算フォーム(Webページ)32bnにアクセスし、例えば
図1で示したように、計算情報サーバ30により検索された計算フォーム(Webページ)(
図1では計算フォーム画面(不等辺三角形)G1)をタッチパネル式表示部21に表示させる(ステップT12)。
【0108】
計算情報サーバ30において、ステップS6にてスマートフォン20に送信した計算フォーム(Webページ)のアクセス先へのアクセスがあると(ステップS7(YES))、制御部31は、計算式リストの計算式に変数として含まれる引数を、アクセスされた計算フォーム(Webページ)の入力欄に入力し、同計算フォーム(Webページ)の画面データをスマートフォン20のWebブラウザからの要求に従いスマートフォン20に送信する(表示させる)(ステップS8)。
【0109】
関数電卓10Fにおいて、
図9のステップT11でスマートフォン20から送信された計算フォームがある旨の通知が受信されると(ステップF6(YES))、制御部13は、例えば
図1で示したように報知部BZを動作させ、ユーザが入力した計算式、すなわちユーザが行なっている計算に対応する計算フォーム(Webページ)がスマートフォン20に取得されて表示されていることを報知する(ステップF8)。
【0110】
なお、スマートフォン20に計算フォームがある(表示されている)旨のユーザへの通知は、スマートフォン20の音声出力部26bからの音声出力により行ってもよい。
【0111】
ここで、関数電卓10Fのキー入力部11が操作されると(ステップF9(YES))、制御部13は、その操作の都度、入力されたキー情報をスマートフォン20に送信する(ステップF10)(第2通信処理)。
【0112】
スマートフォン20において、制御部22は、関数電卓10Fから受信されるキー情報に応じて、タッチパネル式表示部21に表示させている計算フォーム(Webページ)の操作可能な対象箇所(入力欄DnやボタンBなど)を操作する(ステップT13)。
【0113】
スマートフォン20において、計算フォームを表示させている状態では、関数電卓10Fから受信されるキー情報は、例えばカーソルキー114である場合には計算フォームの操作可能な対象箇所を選択して識別表示させる操作を果たし、例えば[0]~[9](数値)キーである場合には識別表示された対象箇所(例えば入力欄Dn)に数値を入力する操作を果たし、例えば[Ans][=](実行)キーである場合には識別表示された対象箇所(例えばボタンB)の機能を実行させる操作を果たす。
【0114】
計算情報サーバ30において、
図10のステップS8でスマートフォン20に表示させている計算フォーム(Webページ)の操作可能な対象箇所が操作されると、制御部31は、操作に応じて計算フォームの対象箇所の内容を更新する(ステップS9)。すなわち、例えば計算フォームの入力欄Dnに数値を入力し、公式(特定の計算式)に従った計算を実行し、その計算結果を計算結果出力欄Anに出力する。
【0115】
スマートフォン20において、制御部22は、
図9のステップT12,T13で表示されている計算フォーム(Webページ)の操作に応じて、計算情報サーバ30により更新された計算フォームを表示させる(ステップT14)。
【0116】
計算フォーム(Webページ)の計算結果出力欄Anに計算結果が出力されると(ステップT15(YES))、制御部22は、出力された計算結果のデータを関数電卓10Fに送信する(ステップT16)。
【0117】
関数電卓10Fにおいて、
図9のステップT16でスマートフォン20から送信された計算結果のデータが受信されると(ステップF11(YES))(第2通信処理)、制御部13は、受信された計算結果を表示部12に表示させる(ステップF12)。
【0118】
図12は、関数電卓10Fで入力された計算式に基づき計算情報サーバ30にて検索された計算フォーム(不等辺三角形)32b1がスマートフォン20に計算フォーム画面(不等辺三角形)G1として表示された状態を示す図である。
【0119】
図12に示す計算フォーム画面(不等辺三角形)G1では、数値入力欄D11,D12,D13に入力された計算要素(辺a、辺b、辺c)の変数値に基づいて、[計算]ボタンBの操作に応じて計算フォーム(不等辺三角形)32b1の公式(不等辺三角形)Fm1に従い計算された他の計算要素(高さh、角A、角B、角C、面積S)の計算結果が、計算結果出力欄(不等辺三角形)A1に表示された状態を示している。
【0120】
図13は、関数電卓10Fで入力された計算式に基づき計算情報サーバ30にて検索された計算フォーム(直線回帰)32b2がスマートフォン20に計算フォーム画面(直線回帰)G2として表示された状態を示す図である。
【0121】
図13に示す計算フォーム画面(直線回帰)G2では、分布表H2に入力された分析対象となる計算要素の変数値に基づいて、[計算]ボタンBの操作に応じて計算フォーム(直線回帰)32b2の公式(直線回帰)Fm2(
図6参照)に従い計算された分析結果としての計算結果が、計算結果出力欄(直線回帰)A2に表示された状態を示している。計算フォーム(直線回帰)32b2は、回帰直線のグラフg2を表示させる機能も有する。
【0122】
図14は、関数電卓10Fで入力された計算式に基づき計算情報サーバ30にて検索された計算フォーム(基礎代謝量)32b3がスマートフォン20に計算フォーム画面(基礎代謝量)G3として表示された状態を示す図である。
【0123】
図14に示す計算フォーム画面(基礎代謝量)G3では、数値入力欄D31,D32,D33に入力された計算要素(年齢、身長、体重)の変数値に基づいて、[計算]ボタンBの操作に応じて計算フォーム(基礎代謝量)32b3の公式(基礎代謝量)Fm3に従い計算された計算結果が、計算結果出力欄(基礎代謝量)A3に表示された状態を示している。
【0124】
このように、ユーザは、関数電卓10Fを使用して行なっている計算の種類に対応する計算フォームを、例えばその計算の過程においてユーザが意識することなく、計算情報サーバ30からスマートフォン20に取得、表示させて利用することができ、さらには計算フォームでの計算結果を、手元の関数電卓10Fにも表示させて確認できる。関数電卓10Fにおける計算結果の表示は、表示部12の表示可能桁数や画面サイズなどに応じて制限されるが、複数行に渡って表示させたり、表示範囲をスクロールさせたりして表示させてよい。
【0125】
関数電卓10Fにおいて、何もキー操作が行なわれない状態(ステップF2(NO))、または
図9のステップT11でスマートフォン20から計算フォームがある旨の通知が受信されない状態(ステップF6(NO))で、例えば[AC](クリア)キーの操作により計算が終了された場合(ステップF7(YES))、あるいは
図9のステップT13~T16でスマートフォン20に表示されている計算フォーム32bnを利用している状態(ステップF9~F12)で計算が終了された場合(ステップF13(YES))、制御部13は、計算終了の旨の通知をスマートフォン20に送信し、一連の処理を終了する。
【0126】
スマートフォン20において、関数電卓10Fからのキー情報または計算式の情報が受信されない状態(ステップT4(NO))で、関数電卓10Fからの計算終了の旨の通知が受信された場合(ステップT10(YES))、あるいは計算情報サーバ30により検索された計算フォーム32bnをWebブラウザに従い表示させている状態(ステップT13~T16)で関数電卓10Fからの計算終了の旨の通知が受信された場合(ステップT17(YES))、制御部22は、関数電卓10Fおよび計算情報サーバ30との通信接続を停止し、一連の処理を終了する。
【0127】
計算情報サーバ30において、計算フォームデータベース32bから検索した計算フォーム32bnをスマートフォン20に表示させている状態(ステップS9)で、スマートフォン20から通信接続が停止された場合(ステップS10(YES))、制御部31は、当該スマートフォン20との通信接続を停止し、一連の処理を終了する。
【0128】
また、計算情報サーバ30において、計算フォームデータベース32bから関数電卓10Fにて入力された計算式に対応する計算フォーム32bnが検索されない場合(ステップS4(NO))、制御部31は、計算フォームが無い旨の通知をスマートフォン20に送信し(ステップS11)、一連の処理を終了する。
【0129】
スマートフォン20において、
図10のステップS11で計算情報サーバ30からの計算フォームが無い旨の通知が受信されると(ステップT8(YES))、制御部22は、関数電卓10Fおよび計算情報サーバ30との通信接続を停止し、一連の処理を終了する。この場合、ユーザは、自身が操作中の関数電卓10Fが、スマートフォン20および計算情報サーバ30と連携していたことを気付くことは無い。
【0130】
<関数電卓10Fのキー情報送信処理>
図15は、関数電卓10Fのキー操作に応じたキー情報をスマートフォン20に送信するためのキー情報送信処理を示すフローチャートである。
【0131】
ここでは、関数電卓10Fの[MODE](モード)キーの操作に応じて表示部12に表示される動作モードの設定メニューに従い、スマートフォン20にキー情報を送信する2つのモード(「キー情報送信モード」または「計算式送信モード」)の何れかを設定可能であると仮定する。
【0132】
関数電卓10Fの制御部13は、近距離無線通信部16を介してスマートフォン20との通信接続を確立し(ステップF21)、キー入力部11によりキー操作が受付けられるのを待機する(ステップF22)。
【0133】
キー入力部11によりキー操作が受付けられると(ステップF22(YES))、制御部13は、設定された動作モードが「キー情報送信モード」または「計算式送信モード」の何れであるかを判定する(ステップF23)。
【0134】
設定された動作モードが「キー情報送信モード」である場合(ステップF23<キー情報送信モード>)、制御部13は、操作されたキーに対応するキー情報(計算式情報)をスマートフォン20に送信する(ステップF24)。
【0135】
一方、設定された動作モードが「計算式送信モード」である場合(ステップF23<計算式送信モード>)、制御部13は、操作されたキーに対応するキー情報を例えば作業データ記憶領域14dにバッファリングし(ステップF25)、バッファリングしたキー情報の並びに基づいて計算式を解析する(ステップF26)。
【0136】
制御部13は、例えば[Ans][=](実行)キーが操作される毎に、解析された計算式(計算式情報)をスマートフォン20に送信し、バッファリングしたキー情報をクリアする(ステップF27,F28)。
【0137】
「キー情報送信モード」に設定した場合、「計算式送信モード」に設定した場合に比較して制御部13への負荷が軽く電力消費を抑えることができる。
【0138】
<スマートフォン20のキー情報受信処理>
図16は、スマートフォン20において関数電卓10Fのキー操作に応じたキー情報を受信するためのキー情報受信処理を示すフローチャートである。
【0139】
スマートフォン20の制御部22は、近距離無線通信部27を介して関数電卓10Fとの通信接続を確立し(ステップT21)、関数電卓10Fからデータが受信されるのを待機する(ステップT22)。
【0140】
関数電卓10Fからデータが受信されると(ステップT22(YES))、制御部22は、受信されたデータの種別が計算式情報としてのキー情報または計算式情報としての計算式の何れであるかを判定し(ステップT23)、キー情報である場合(ステップT23<キー情報>)、キー情報を例えば作業データ記憶領域23cにバッファリングする(ステップT24)。
【0141】
制御部22は、バッファリングしたキー情報の並びに基づいて計算式を解析し(ステップT25)、例えば[Ans][=](実行)キーに対応するキー情報が受信される毎に、解析された計算式を計算式リストデータ記憶領域23bの計算式リストに追加する(ステップT26,T27)。
【0142】
一方、受信されたデータの種別が計算式である場合(ステップT23<計算式>)、制御部22は、受信された計算式を計算式リストに追加する(ステップT27)。
【0143】
このように、関数電卓10Fのキー操作に伴う動作モードが「キー情報送信モード」または「計算式送信モード」の何れに設定された場合でも、スマートフォン20は、関数電卓10Fのキー操作に対応した計算式リストを生成し、前述の
図9を参照して説明した処理を実行できる。
【0144】
(実施形態のまとめ)
実施形態の計算支援システム1によれば、ユーザが関数電卓10Fをキー操作して計算式を入力し計算を行うと、入力された計算式がスマートフォン20に送信される。スマートフォン20は、受信された計算式を計算式リストに追加し、計算式リストを計算情報サーバ30へ送信する。計算情報サーバ30は、受信された計算式リストの計算式から変数を除いた数学記号(演算記号、関数記号、定数記号など)からなる式の構成が一致する公式を使用している計算フォーム(Webページ)を、計算フォームデータベース32bから検索し、検索した計算フォーム(計算フォーム画面Gn)をスマートフォン20のWebブラウザに従いスマートフォン20に表示させる。
【0145】
スマートフォン20は、関数電卓10Fにより入力された計算式に対応する種類の計算フォームがある旨の通知を関数電卓10Fに送信し、以降、関数電卓10Fからのキー情報に従って、表示中の計算フォームの数値入力欄Dnや[計算]ボタンBなどを操作して更新し、計算フォームに従い計算された計算結果を計算結果出力欄Anに表示させる。
【0146】
スマートフォン20は表示中の計算フォームの計算結果出力欄Anに出力された計算結果のデータを、関数電卓10Fに送信しその表示部12に表示させる。
【0147】
なお、計算情報サーバ30は、計算式リストに含まれる計算式が複数ある場合、複数の計算式が、何れも、変数を除いた数学記号からなる式の構成が同じになるかを判定し、同じになる場合には、計算フォームデータベース32bから、繰返しの計算に分類された計算フォームを優先して検索する。
【0148】
ユーザは、関数電卓10Fを使用して行なっている計算の種類に対応する計算フォームを、例えばその計算の過程においてユーザが意識することなく、計算情報サーバ30からスマートフォン20に取得、表示させて利用することができる。
【0149】
よって、ユーザは、関数電卓10Fを使用して行っている計算に対応した計算フォーム(Webページ)を容易に利用することが可能になる。
【0150】
(他の実施形態)
前記実施形態では、スマートフォン20は、関数電卓10Fにて入力された計算式のデータを受信する度に、当該計算式を追加した計算式リストを計算情報サーバ30に送信し、計算情報サーバ30は、計算式リストを受信する度に、計算式リストに含まれる全ての計算式と式の構成が一致する公式(特定の計算式)を使用している計算フォームを検索し、入力された計算式に対応する有効な種類の計算フォームをスマートフォン20に提供する構成とした。
【0151】
理由は、例えば、ユーザが関数電卓10Fを使用して何らかの計算を行っているときに、ユーザに意識させることなく、なるべく早い段階で、ユーザの身近にあるスマートフォン20に有効な計算フォームを表示させ、ユーザに利用させるためである。
【0152】
これに対し、関数電卓10Fを使用した計算が一定程度進んだ段階かあるいは一通り終了した段階で、それまでにユーザが入力した複数の計算式を含む計算式リストを、スマートフォン20から計算情報サーバ30に送信し、計算情報サーバ30が計算式リストの計算式に対応する種類の計算フォームを検索してもよい。
【0153】
この場合、計算式リストに含まれる計算式の数が多くなるので、その全ての計算式と式の構成が一致する公式を使用している計算フォームが直ぐには検索されない可能性が高い。このため、計算情報サーバ30は、計算式リストの計算式に対応する最初の検索で計算フォームが検索されない場合、計算式リストに含まれる計算式のうち、新しい計算式から順番に除いた残りの計算式を対象として繰返し計算フォームを検索し、1つの計算フォームが検索された際に、検索された計算フォームをスマートフォン20に提供する構成とする。
【0154】
以上の実施形態において記載した計算支援システム1による各処理の手法、すなわち、
図8のフローチャートに示す関数電卓(計算端末)10Fの処理、
図9のフローチャートに示すスマートフォン(通信端末)20の処理、
図10および
図11のフローチャートに示す計算情報サーバ(サーバ装置)30の処理、
図15のフローチャートに示す関数電卓(計算端末)10Fのキー情報送信処理、
図16のフローチャートに示すスマートフォン(通信端末)20のキー情報受信処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカードなど)、磁気ディスク(フロッピ(登録商標)ディスク、ハードディスクなど)、光ディスク(CD-ROM、DVDなど)、半導体メモリなどの外部記録装置の媒体に格納して配布することができる。そして、電子機器の制御部(CPU)は、この外部記録装置の媒体に記録されたプログラムを記憶装置に読み込み、この読み込んだプログラムによって動作が制御されることにより、実施形態において説明した各種の機能を実現し、前述した手法による同様の処理を実行することができる。
【0155】
また、各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(N)上を伝送させることができ、この通信ネットワーク(N)に接続されたコンピュータ装置(プログラムサーバ)から、前記プログラムのデータを電子機器に取り込んで記憶装置に記憶させ、前述した各種の機能を実現することもできる。
【0156】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0157】
以下に、本願出願当初の特許請求の範囲の主要な請求項について、実施形態での対応個所(符号など)および効果について記載する。
【0158】
[1]
入力欄(Dn)に入力されたデータに基づいて特定の計算を行った結果を出力欄(An)に出力する機能を有する計算フォーム(32bn)を提供するサーバ装置(30)であって、
外部機器(10F/20)から計算式を示す計算式情報(キー情報または計算式)を受信した場合に(ステップS2)、互いに異なる複数の前記計算フォーム(32bn)のうち、受信した前記計算式情報(キー情報または計算式)が示す計算式に対応する計算を行う計算フォーム(32bn)を特定し(ステップS3)、
特定された計算フォーム(32bn)を前記外部機器(10F/20)に送信する(ステップS6)、
処理を実行する制御部(31)を備えるサーバ装置。
【0159】
外部機器(10F/20)で計算を行うユーザは、意識せずに、行なっている計算の種類に対応した計算フォーム(32bn)をサーバ装置(30)から取得して利用できる。
【0160】
[2]
前記複数の計算フォーム(32bn)は、それぞれ異なる1または複数の計算式(Fmn)を使用することによりそれぞれ異なる種類の計算を行い、
前記制御部(31)は、外部機器(10F/20)から前記計算式情報(キー情報または計算式)を受信した場合に(ステップS2)、受信した前記計算式情報(キー情報または計算式)が示す1または複数の計算式(32c)と、前記複数の計算フォーム(32bn)それぞれが計算に用いる1または複数の計算式(Fmn)とを比較し(ステップS3)、前記比較の結果に基づいて前記外部機器(10F/20)に送信する計算フォームを特定する(ステップS4,S5)、
処理を実行する[1]に記載のサーバ装置。
【0161】
サーバ装置(30)は、ユーザの外部機器(10F/20)から受信した計算式情報に対応する種類の計算フォーム(32bn)を特定できる。
【0162】
[3]
前記制御部(31)は、外部機器(10F/20)から前記計算式情報を受信した場合に、受信した前記計算式情報が示す計算式から変数を除いた数学記号からなる式の構成に一致する計算式を使用して計算を行う計算フォーム(32bn)を、前記複数の計算フォームの中から特定する(ステップS32/S34)、
処理を実行する[1]または[2]に記載のサーバ装置。
【0163】
サーバ装置(30)は、ユーザの外部機器(10F/20)から受信した計算式情報に対応する種類の計算フォーム(32bn)を、受信した計算式情報が示す計算式から変数を除いた数学記号からなる式の構成に一致する計算式を使用して計算を行う計算フォーム(32bn)を検索することで特定できる。
【0164】
[4]
前記制御部(31)は、外部機器(10F/20)から受信した前記計算式情報が示す複数の計算式が同じ種類の関数式である場合には(ステップS33)、前記関数式の繰返しの計算を含む計算フォームを、前記複数の計算フォームの中から特定する(ステップS34)、
処理を実行する[1]または[2]に記載のサーバ装置。
【0165】
サーバ装置(30)は、ユーザの外部機器(10F/20)から受信した計算式情報に含まれる複数の計算式が、何れも、同じ種類の関数式である場合、繰返しの計算に分類された計算フォーム(32bn)を優先して検索することで特定できる。
【0166】
[5]
入力欄(Dn)に入力されたデータに基づいて特定の計算を行った結果を出力欄(An)に出力する機能を有する計算フォーム(32bn)を提供するサーバ装置(30)と、
操作部(11/21)と表示部(12/21)とを用いた計算機能を有するユーザ端末(10F/20)と、
を含む計算支援システム(1)であって、
前記ユーザ端末(10F/20)が、前記操作部(11)によりユーザが入力した計算式を示す計算式情報を前記サーバ装置(30)に送信し(ステップT7)、
前記サーバ装置(30)が、前記ユーザ端末(10F/20)から受信した前記計算式情報が示す計算式に対応する計算フォーム(32bn)を特定し(ステップS3)、
前記サーバ装置(30)が、前記特定された計算フォーム(32bn)を前記ユーザ端末(10F/20)に送信し(ステップS6)、
前記ユーザ端末(10F/20)が、前記サーバ装置から受信した計算フォームを用いて計算する(F9~F12/T13~T16)、
処理を実行する計算支援システム。
【0167】
[6]
前記ユーザ端末(10F)が、前記操作部(11)によりユーザが入力した計算式を計算し(ステップF2,F3)、
前記ユーザ端末(10F)が、前記計算の結果を前記表示部に表示し(ステップF4)、
前記ユーザ端末(20)が、前記計算を行った計算式を示す計算式情報を前記サーバ装置に送信し(ステップT4~T7)、
前記サーバ装置(30)が、前記ユーザ端末(20)から受信した前記計算式情報が示す計算式に基づいて、前記ユーザ端末が行った計算に対応する計算を行う計算フォームを特定し(ステップS2~S5)、
前記サーバ装置(30)が、前記特定した計算フォームを前記ユーザ端末に送信する(ステップS6)、
処理を実行する、[5]に記載の計算支援システム。
【0168】
[7]
前記サーバ装置(30)は、計算の種類がそれぞれ異なる複数の計算フォーム(32bn)を記憶し、
前記サーバ装置(30)が、前記ユーザ端末(20)から受信した前記計算式情報が示す計算式に対応する計算式を使用して計算を行う計算フォームを前記複数の計算フォームの中から検索し(ステップS2,S3)、
前記サーバ装置が(30)、前記検索された計算フォームを前記ユーザ端末に送信する(ステップS6)、
処理を実行する、[5]または[6]に記載の計算支援システム。
【0169】
[8]
前記ユーザ端末(10F)が、前記操作部(11)によりユーザが入力した複数の計算式を計算し(ステップF3)、
前記ユーザ端末(10F)が、前記複数の計算式の計算結果を前記表示部に表示し(ステップF4)、
前記ユーザ端末(20)が、前記計算を行った複数の計算式を示す計算式情報を前記サーバ装置に送信し(ステップT7)、
前記サーバ装置(30)が、前記ユーザ端末(20)から受信した前記計算式情報が示す複数の計算式に対応する1または複数の計算式を使用して計算を行う計算フォームを前記複数の計算フォーム(32bn)の中から検索する(ステップS2,S3)、
処理を実行する、[7]に記載の計算支援システム。
【0170】
[9]
前記ユーザ端末(10F/20)は、通信端末(20)と計算端末(10F)とを含んで構成され、
前記通信端末(20)は、
前記サーバ装置(30)と通信して前記計算フォーム(32bn)を受信する第1通信処理(ステップT9)と、前記サーバ装置(30)から受信した前記計算フォーム(32bn)の前記入力欄(Dn)および前記出力欄(An)を前記通信端末(20)の表示部(21)に表示させて特定の計算機能を利用するブラウザ処理(ステップT12~T16)と、を実行する第1端末制御部(22)を備え、
前記計算端末(10F)は、
前記第1通信処理および前記ブラウザ処理のいずれの処理も実行しないが、前記計算端末(10F)の操作部(11)と前記計算端末(10F)の表示部(12)とを用いた計算処理(ステップF2~F4)および前記通信端末(20)と通信を行う第2通信処理(ステップF1)を実行する第2端末制御部(13)を備え、
前記第2端末制御部(13)が、前記計算端末(10F)の操作部(11)によりユーザが入力した計算式を示す計算式情報を前記通信端末(20)に送信し(ステップF5)、
前記第1端末制御部(22)が、前記計算端末(10F)から受信した前記計算式情報を前記サーバ装置(30)に送信し(ステップT7)、
前記第1端末制御部(22)が、前記サーバ装置(30)から受信した前記計算フォーム(32bn)の前記入力欄(Dn)および前記出力欄(An)を前記通信端末(20)の表示部(21)に表示させ、
前記第2端末制御部(13)が、前記計算フォーム(32bn)の前記入力欄(Dn)および前記出力欄(An)を前記通信端末(20)の表示部(21)に表示させた状態で、前記計算端末(10F)の操作部(11)によりユーザが入力した数値を前記通信端末(20)に送信し(ステップF9,F10)、
前記第1端末制御部(22)が、前記計算端末(10F)から受信した前記数値を前記入力欄に入力し(ステップT13,T14)、
前記第1端末制御部(22)が、前記入力欄(Dn)に入力された前記数値に基づいて特定の計算を行った計算結果を前記出力欄(An)に出力する(ステップT14~T16/S9)、
処理を実行する、[5]または[6]に記載の計算支援システム。
【0171】
[10]
前記第1端末制御部(22)が、前記出力欄(An)に出力した前記計算結果を前記計算端末(10F)に送信し、
前記第2端末制御部(13)が、前記通信端末(20)から受信した前記計算結果を前記計算端末(10F)の表示部(12)に表示させる(ステップF11,F12)、
処理を実行する、[9]に記載の計算支援システム。
【符号の説明】
【0172】
10F…関数電卓(ユーザ端末:計算端末)
20 …スマートフォン(ユーザ端末:計算端末)
30 …計算情報サーバ(サーバ装置)
11 …キー入力部(操作部)
12 …表示部
13、22、31…制御部(CPU)
14、23、32…記憶部
21 …タッチパネル式表示部(第1表示部)
14a…電卓制御プログラム<通信端末連携アプリ含む>
23a…端末制御プログラム<Webブラウザおよび計算情報サーバ利用アプリ含む>
23b、32c…計算式リストデータ記憶領域
32a…サーバ制御プログラム
32b…計算フォームデータベース
16、27…近距離無線通信部
28、34…通信部
N …通信ネットワーク(Web)
32b1…計算フォーム(Webページ:不等辺三角形)
32b2…計算フォーム(Webページ:直線回帰)
32b3…計算フォーム(Webページ:基礎代謝量)
Fm1…公式(特定の計算式:不等辺三角形)
Fm2…公式(特定の計算式:直線回帰)
Fm3…公式(特定の計算式:基礎代謝量)