(57)【特許請求の範囲】
【請求項１】
数式及び演算の実行結果を表示する表示手段と、
被積分関数と積分範囲とを含む数式を入力する数式入力手段と、
前記数式入力手段により入力された数式の被積分関数について不定積分が計算可能であるか否かを判別する判別手段と、
この判別手段により不定積分が計算可能であると判別された場合に、不定積分を計算する不定積分計算手段と、
この不定積分計算手段により計算された不定積分に、前記数式入力手段により入力された数式中の積分範囲の値を代入して、積分値を計算する積分値計算手段と、
前記判別手段により不定積分の計算が可能でないと判別された場合に、数値解析によって積分値を計算する数値積分計算手段と、
前記不定積分手段により不定積分が計算されて前記積分値計算手段により積分値が計算された場合には、前記不定積分計算手段により計算された不定積分と前記積分値計算手段により計算された積分値とを前記表示手段に表示させ、前記数値積分計算手段により積分値が計算された場合には、当該計算された積分値を表示させる計算方式別積分値表示手段と、
を備えたことを特徴とする計算装置。
【請求項２】
前記計算方式別積分値表示手段は、前記不定積分手段により不定積分が計算されて前記積分値計算手段により積分値が計算される場合と、前記数値積分計算手段により積分値が計算される場合とで、異なる積分計算シンボルを表示させることを特徴とする請求項１記載の計算装置。
【請求項３】
表示部を有するコンピュータが実行可能なプログラムを格納した記憶媒体であって、
前記コンピュータを、
数式及び演算の実行結果を前記表示部に表示させる表示手段、
被積分関数と積分範囲とを含む数式を入力する数式入力手段、
前記数式入力手段により入力された数式の被積分関数について不定積分が計算可能であるか否かを判別する判別手段、
この判別手段により不定積分が計算可能であると判別された場合に、不定積分を計算する不定積分計算手段、
この不定積分計算手段により計算された不定積分に、前記数式入力手段により入力された数式中の積分範囲の値を代入して、積分値を計算する積分値計算手段、
前記判別手段により不定積分の計算が可能でないと判別された場合に、数値解析によって積分値を計算する数値積分計算手段、及び、
前記不定積分手段により不定積分が計算されて前記積分値計算手段により積分値が計算された場合には、前記不定積分計算手段により計算された不定積分と前記積分値計算手段により計算された積分値とを前記表示手段に表示させ、前記数値積分計算手段により積分値が計算された場合には、当該計算された積分値を前記表示部に表示させる計算方式別積分値表示手段、
として機能させるためのコンピュータが実行可能なプログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数式演算の実行に係り、詳細には、演算精度の高い演算結果を得るのに好適な計算装置、及び記憶媒体に関する。
【０００２】
【従来の技術】
従来より、コンピュータによって実行されるソフトウェアには、入力された数式について関数演算を行い、解を表示し、また、入力された数式に基づいてグラフ表示を行い、その積分範囲を色、表示パターンを変更して表示する機能を有するものが開発されている。
【０００３】
また、関数演算機能を備えた関数電卓が、教育の現場や、エンジニアの技術計算用に利用されている。関数電卓は様々な関数演算プログラムを内蔵しており、入力された数式に基づく関数演算が可能である。
【０００４】
上述のソフトウェアや関数電卓においては、入力された数式が文字を含む文字式である場合、この文字式に含まれる文字を残したまま演算を実行し、文字を含む解を求めて表示するといった数式処理の機能が開発されており、この数式処理による積分演算の場合にあっては、与えられた数式の不定積分を文字を含む数式で表示することが可能となっている。
【０００５】
図６は、従来の数式処理による積分方法に基づいて積分値を算出する際の、表示の一例を示す図である。
【０００６】
図６（ａ）に示すように被積分関数として「１／ｘ」、積分範囲の下限値として「１」、上限値として「５」が所定の書式にしたがって入力され、この数式について積分演算を実行すると、演算結果として図６（ｂ）の中段に示すように、被積分関数「１／ｘ」の不定積分「ｌｏｇｘ」が変数「ｘ」を含む数式で表示され、その後、この不定積分「ｌｏｇｘ」の変数「ｘ」に積分範囲の上限値「５」を代入した値から下限値「１」を代入した値を減じてその演算結果「ｌｏｇ５」を積分値として図６（ｂ）の下段に示すように表示する。
【０００７】
このように、数式処理による積分方法では、数式処理により求められた不定積分に積分範囲の上限値、下限値を代入して差を求めることで積分値を算出して表示する。
【０００８】
また、従来のソフトウェアや関数電卓において、数値解析による積分方法に基づいて積分値を算出する場合は、入力された数式に含まれる被積分関数の積分範囲を所定の刻み幅で細かく区分して、その積分範囲内の分割された各区分の面積の総和を求めることにより積分値を算出する。
【０００９】
図７は数値解析による積分演算の際に、積分範囲を細かく区分した被積分関数のグラフを示す図である。数値解析による積分演算では、図７（ａ）に示すように、被積分関数の積分範囲を区分Ｐ１〜区分Ｐｎに分割し、区分Ｐ１からＰｎまでの各面積を求め、更に各面積の総和を求めて積分値とする。このような数値解析による積分方法に基づいて算出された積分値は、例えば「４．９９９９９９９９９９８」のように数値表示される。
【００１０】
【発明が解決しようとする課題】
しかしながら、上述の数式処理による積分方法、数値解析による積分方法にはそれぞれ問題点が存在する。
【００１１】
まず、数値解析による積分方法では、上述の説明に示すように、積分範囲を分割した各区分の面積の総和を計算するため、図７（ｂ）に示すように積分範囲内に無限大となる部分のある被積分関数は演算精度が低下する。そのため、このような積分範囲内に無限大或いは無限小を含む被積分関数について数値解析により求められた積分値の信頼性は低く、ユーザーは積分演算を実行しようとする際に、被積分関数の積分範囲等を細かく検討する必要がある。したがって例えば教育の現場などにおいて、積分をこれから学習する学生の利用には困難がある。
【００１２】
また、数式処理による積分方法では、数式処理では不定積分ができない被積分関数についてはそもそも積分値を算出ことができない。例えば、被積分関数が絶対値を含む関数「ｙ＝∫｜ｘ｜ｄｘ」等の場合は、不定積分を数式処理で求めることが不可能であり、このような被積分関数については積分値は算出できない。実際の教育の現場では、このような数式についての積分も学習するので、数式処理により不定積分の演算が不可能な被積分関数について積分値を算出できないとなると、計算装置の実用性は著しく低下してしまうといった問題も生じている。
【００１３】
さらに、数式処理を実行するためには、数式処理の複雑なアルゴリズム、高価、高性能のＬＳＩ（Large  Scale  Integration）、大容量のＲＯＭ（Read  Only  Memory）等を必要とし、生産コストを増大させてしまい、その結果、廉価な製品を提供することが困難であるので、教育現場など一般に普及させることが妨げられるといった問題も生ずる。
【００１４】
そこで本発明の課題は、上述の問題を解決するため、積分演算の精度を向上し、また数式処理のできない被積分関数についても、積分値を算出することが可能な計算装置、及び記憶媒体を提供することである。
【００１５】
【課題を解決するための手段】
本発明は、このような課題を達成するために、次のような特徴を備えている。なお、各要素毎に付した符号等は、後述する図面参照符号等である。
【００１６】
請求項１記載の発明は、数式及び演算の実行結果を表示する表示手段（図１の４）と、被積分関数と積分範囲とを含む数式を入力する数式入力手段（図１の３；図２のＳ１０１）と、前記数式入力手段により入力された数式の被積分関数について不定積分が計算可能であるか否かを判別する判別手段（図１の２；図２のＳ１０５）と、この判別手段により不定積分が計算可能であると判別された場合に、不定積分を計算する不定積分計算手段（図１の２；図２のＳ１０４〜Ｓ１０６）と、この不定積分計算手段により計算された不定積分に、前記数式入力手段により入力された数式中の積分範囲の値を代入して、積分値を計算する積分値計算手段（図１の２；図２のＳ１０７〜Ｓ１０９）と、前記判別手段により不定積分の計算が可能でないと判別された場合に、数値解析によって積分値を計算する数値積分計算手段（図１の２；図２のＳ１１２）と、前記不定積分手段により不定積分が計算されて前記積分値計算手段により積分値が計算された場合には、前記不定積分計算手段により計算された不定積分と前記積分値計算手段により計算された積分値とを前記表示手段に表示させ、前記数値積分計算手段により積分値が計算された場合には、当該計算された積分値を表示させる計算方式別積分値表示手段（図１の２；図２のＳ１０６，Ｓ１１０）と、を備えたことを特徴としている。
【００１７】
請求項１記載の発明の計算装置によれば、不定積分が可能な場合は、計算された不定積分と計算値とを表示するので、高い演算精度で積分値を算出できるとともに、不定積分による計算の過程を表示でき学習効果が高まる。一方、不定積分ができない場合でも、数値積分計算手段により積分値が計算されて、その積分値が表示されるので不定積分によらない数値積分の計算結果であることが適切に認識されて学習を適切に進めることができる。
【００１９】
また、請求項２記載の発明のように、請求項１記載の計算装置において、前記不定積分手段により不定積分が計算されて前記積分値計算手段により積分値が計算される場合と、前記数値積分計算手段により積分値が計算される場合とで、異なる積分計算シンボルを表示させる（図１の２；図２のＳ１０４、Ｓ１１１）ことが有効である。
【００２０】
この請求項２記載の発明の計算装置によれば、請求項１記載の発明の効果に加えて、不定積分が計算されてから積分値計算手段により積分値が計算されるのか、数値積分計算手段による数値解析で積分値が計算されるのか、を異なる積分計算シンボルにより容易に確認することができる。
【００２６】
【発明の実施の形態】
[第１の実施の形態]
以下、図１〜図３を参照して本発明の第１の形態における計算装置１について詳細に説明する。
【００２７】
まず構成を説明する。
図１は、本発明を適用した計算装置１の構成を示すブロック図である。この図１において、計算装置１は、ＣＰＵ（Central  Processing  Unit)２、入力部３、表示部４、表示駆動回路５、ＲＡＭ（Random  Access  Memory）６、ＲＯＭ７、記憶装置８及び記憶媒体９によって構成されている。
【００２８】
ＣＰＵ２は、入力部３を介して入力される指示に基づいて、ＲＯＭ７または記憶装置８から所定のプログラムを読み出してＲＡＭ６に一時格納し、当該プログラムに基づく各種処理を実行して計算装置１の各部を集中制御する。すなわち、ＣＰＵ２は、前記読み出した所定プログラムに基づいて各種処理を実行し、その処理結果をＲＡＭ６内のワークエリアに格納するともに、表示駆動回路５を介して表示部４に表示させる。また、入力部３を介して入力される指示に基づいて、前記処理結果を記憶装置８を介して記憶媒体９に保存させる。
【００２９】
また、ＣＰＵ２は、入力部３から入力された数式をＲＡＭ６に格納し、この数式に基づいて演算を実行する際、実行の優先度と対応づけてＲＯＭ７に格納されている後述する数式処理積分プログラム、又は後述する数値解析積分プログラムの実行優先度を参照し、優先度の高い積分プログラムに基づいて積分演算を実行し、演算実行中の積分方法を識別するためのシンボルを表示部４に表示させ、また、実行した積分方法では積分値が求まらない場合は、次の優先度の積分方法を実行して、同様に演算実行中の積分方法を識別するためのシンボルを表示して、その後、積分値が算出された場合は算出された積分値をＲＡＭ６に格納するとともに表示部４に表示させる。
【００３０】
即ち、本第１の実施の形態において、計算装置１は数式処理積分プログラムが高い優先度、数値解析積分プログラムが低い優先度としてＲＯＭ７に記憶されており、ＣＰＵ２は積分演算を実行する際、この優先度にしたがって数式処理積分プログラムを先に実行し、入力された被積分関数に対して数式処理を実行し、この被積分関数の不定積分を求めて積分値を算出し、数式処理による積分演算では積分値が求まらない場合のみ、数値解析積分プログラムを実行して、数値解析積分により積分値を求める。
【００３１】
入力部３は、文字入力キー、数字入力キー、上下左右移動キー、及び各種機能キー等によって構成されるキーボードを備え、押下されたキーの押下信号をＣＰＵ２に出力する。
【００３２】
表示部４は、ＬＣＤ（Liquid  Crystal  Display）等により構成され、表示駆動回路５から入力される駆動信号に基づく各種表示を行う。表示駆動回路５は、ＣＰＵ２から入力される表示データに基づく駆動信号を生成して、表示部４の表示制御を行う。
【００３３】
ＲＡＭ６は、指定されたアプリケーションプログラム、入力指示、入力データ及び処理結果等を一時格納するワークエリアを有する。
【００３４】
ＲＯＭ７は、計算装置１に対応する基本プログラムを格納している。すなわち、計算装置１の電源がＯＮ状態にされた際に実行する初期表示メニュープログラム、各種関数演算プログラム等の書き換え不要な基本プログラムを記憶し、更に実行される優先度と対応づけて数式処理積分プログラム、数値解析積分プログラムを記憶している。
【００３５】
記憶装置８は、プログラムやデータ等を記憶する記憶媒体９を有しており、この記憶媒体９は磁気的、光学的記憶媒体、若しくは半導体メモリで構成されている。この記憶媒体９は記憶装置８に固定的に設けたもの、若しくは着脱自在に装着するものであり、この記憶媒体９には当該計算装置１に対応する各種処理プログラム及び各処理プログラムで処理されたデータ等を記憶する。
【００３６】
また、この記憶媒体９に記憶するプログラム、データ等は、通信回線等を介して接続された他の機器から受信して記憶する構成にしてもよく、更に、通信回線等を介して接続された他の機器側に前記記憶媒体９を備えた記憶装置を設け、この記憶媒体９に記憶されているプログラム、データ等を通信回線を介して使用する構成にしてもよい。
【００３７】
次に動作を説明する。
図２は、本第１の実施の形態において、計算装置１により実行される積分演算の流れを示すフローチャートである。
【００３８】
計算装置１は、入力部３を介して各種メニュー選択を行うことができるプログラムをＲＯＭ７内に格納しており、入力部３のキー操作により関数演算メニューが選択されると、ＣＰＵ２は、ＲＯＭ７から所定のプログラムを読み出して、演算対象となる被積分関数や積分範囲を含む数式を入力するための数式入力画面を表示駆動回路５を介して表示部４に表示させる。そして、入力部３を介して、所定の書式で数式入力画面へ図３（ａ）に示すような数式が入力されると、当該数式入力画面に入力された数式をＲＡＭ６のワークエリア上に確保する（ステップＳ１０１）。
【００３９】
入力部３のキー操作により実行指示が入力されると（ステップＳ１０２）、ＣＰＵ２は、高い優先度でＲＯＭ７に記憶されている数式処理積分プログラムを読み出して、その後この数式処理積分プログラムにしたがって数式処理積分を実行する（ステップＳ１０３）。すなわち、数式処理積分ではＣＰＵ２は数式処理積分プログラムにしたがって数式に含まれる被積分関数ｆ(ｘ)の形式等を判断し、被積分関数ｆ(ｘ)に含まれる係数、定数、変数「ｘ」の次数等を所定の条件（積分の公式に基づいた式変形等）で変更し、変数「ｘ」を数式上に残した形で不定積分Ｆ(ｘ)を求める。この数式処理積分の実行中は、例えば図３（ａ）に示すように、数式処理積分の点灯シンボル２０を表示部４の表示画面上に点灯させ、更に数式処理積分の「ｓｙｍ」シンボル２１を表示させる（ステップＳ１０４）。
【００４０】
そして、数式処理積分を実行して、不定積分Ｆ(ｘ)を求めることが可能であった場合は（ステップＳ１０５；Ｙｅｓ）、次に、求められた不定積分Ｆ(ｘ)をＲＡＭ６のワークエリアに格納するとともに表示部４に表示する（ステップＳ１０６）。
【００４１】
その後、不定積分Ｆ(ｘ)の変数「ｘ」に入力された積分範囲の上限値ｍａｘを代入し（Ｆ（ｘ＝ｍａｘ））（ステップＳ１０７）、同様に不定積分Ｆ(ｘ)の変数「ｘ」に入力された積分範囲の下限値ｍｉｎを代入し（Ｆ（ｘ＝ｍｉｎ））（ステップＳ１０８）、Ｆ（ｘ＝ｍａｘ）―Ｆ（ｘ＝ｍｉｎ）を計算してその結果を積分値として（ステップＳ１０９）、積分値を表示部４に表示させる（ステップＳ１１０）。
【００４２】
また、数式処理積分を実行して、不定積分Ｆ(ｘ)を求めることが不可能であった場合は（ステップＳ１０５；Ｎｏ）、ＣＰＵ２は、ＲＯＭ７に格納されている数値解析積分プログラムを読み出して、数値解析数値解析の点灯シンボル３０を表示部４の表示画面上に点灯させ、更に数値解析積分の「ａｎａ」シンボル３１を表示し（ステップＳ１１１）（図３（ｃ）参照）、その後、ＲＡＭ６に格納されている数式に対して数値解析積分を実行する（ステップＳ１１２）。
【００４３】
すなわち、数値解析積分では、積分範囲の上限値から下限値までを所定の刻み幅で細かく区切り、この区切られた各区分の面積（ｆ(ｘ)×刻み幅）を算出し、算出された各面積の総和を求めることにより積分値を求める。その後、求められた積分値をＲＡＭ６に格納するとともに表示部４に表示する（ステップＳ１１０）。
【００４４】
図３は、本第１の実施の形態において、表示部４に表示される数式等を示す図である。
【００４５】
図３（ａ）に示すように、数式入力画面に被積分関数ｆ１(ｘ)、積分範囲「０≦ｘ≦５」とする、以下の数式（１）が入力される。
【００４６】
【数１】
0003845759.tif 000002
【００４７】
ここで被積分関数ｆ１(ｘ)は次式（２）で示される。
【００４８】
【数２】
0003845759.tif 000003
【００４９】
その後、入力部３のキー操作により実行指示が入力されると、ＣＰＵ２は、ＲＯＭ７から高い優先度である数式処理積分プログラムを読み出し、その後、被積分関数ｆ１(ｘ)について数式処理積分を実行し、次式（３）に示すような不定積分Ｆ１(ｘ)を求める。
【００５０】
【数３】
0003845759.tif 000004
【００５１】
この際、表示画面上には、数式処理積分実行中のシンボルとして表示画面の一部に点灯シンボル２０及び「ｓｙｍ」シンボル２１が表示される。
【００５２】
図３（ｂ）に示すように、数式処理積分によって求められた被積分関数ｆ１(ｘ)の不定積分Ｆ１(ｘ)が表示部４に表示され、ＣＰＵ２は、更に演算を進め、不定積分Ｆ１(ｘ)に上限値「５」及び下限値「０」を代入して、その差を求め積分値とする。この例において積分値は「１２５／３」が算出され、ＣＰＵ２は、算出した積分値を表示部４に表示する。
【００５３】
また、被積分関数ｆ１(ｘ)について数式処理による不定積分が求められない場合は、ＣＰＵ２は低い優先度である数値解析処理プログラムをＲＯＭ７から読み出して、図３（ｃ）に示すように、数値解析積分を実行中のシンボルとして表示画面の一部に点灯シンボル３０及び「ａｎａ」シンボル３１を表示する。その後、数値解析積分により積分値が求められるとその積分値「４１．６６６６６６６７」を表示する。
【００５４】
以上説明したように、本第１の実施の形態における計算装置１は、数式処理積分プログラムを高い優先度、数値解析積分プログラムを低い優先度としてＲＯＭ７に格納し、ＣＰＵ２がその優先度に応じて、まず数式処理積分により不定積分を求めて積分値を算出し、不定積分が求まらない数式が入力された場合のみ数値解析積分を実行する。また、求めた積分値を表示するだけでなく、数式処理積分を実行する場合は数式処理積分のシンボル２０、２１、数値解析積分を実行する場合は数値解析積分のシンボル３０、３１を表示する。
【００５５】
したがって、数値解析積分では演算精度が低くなってしまう被積分関数、例えば積分範囲内に無限大、無限小となる値を含む被積分関数であっても、数式処理積分ができる場合はまず数式処理積分により積分演算を行い、不定積分を求めて積分値を算出するので、高い演算精度で積分値を算出することが可能となり計算装置１の信頼性を向上させることができる。更に数式表示により不定積分や積分値を表示することができるので、例えば教育の現場では、被積分関数から求められる不定積分を確認しながら学習を進めることができ、計算装置１の実用性を高めることが可能となる。
【００５６】
また、数式処理積分ができない被積分関数を含む数式が入力された場合でも、数値解析積分をその後に実行して数値による積分値を得ることができるので、計算装置１によって全く積分演算を実行することできないといった数式を減少させ、積分可能な被積分関数の種類を増加させることができる。更に、演算実行中に各演算方法を示すシンボルが表示されるので、いかなる演算方法で演算が実行されているかを容易に確認することができる。
【００５７】
[第２の実施の形態]
次に、図４、図５を参照して、ＲＯＭ７に所定の被積分関数に対応する原始関数を記憶し、数式処理積分プログラムを持たずに、原始関数に基づく積分プログラムを高い優先度、数値解析積分プログラムを低い優先度として記憶している計算装置１について説明する。
【００５８】
このような計算装置１において、ＣＰＵ２は、入力部３から数式が入力されるとこの数式をＲＡＭ６に格納し、格納された数式に含まれる被積分関数に対応する原始関数がＲＯＭ７に記憶されているか否かを判別し、原始関数が記憶されている場合は後述する原始関数に基づく積分をＲＯＭ７に格納された原始関数に基づく積分プログラムにしたがって実行する。
【００５９】
すなわち、原始関数に基づく積分では、ＲＡＭ６に格納された数式に含まれる被積分関数に対応する原始関数をＲＯＭ７に記憶された原始関数の中から抽出してＲＡＭ６のワークエリアに格納し、更に、この原始関数に含まれる係数及び定数と、ＲＡＭ６に格納された数式に含まれる被積分関数の係数及び定数とを比較してそれぞれ対応させ、ＲＡＭ６に格納された数式に含まれる被積分関数に対応した不定積分を生成する。そして、生成された不定積分の変数に積分範囲の上限値、下限値を代入し、その差を計算し、積分値とする。
【００６０】
ＲＡＭ６に格納された数式に含まれる被積分関数に対応する原始関数がＲＯＭ７に記憶されていない場合は、ＣＰＵ２は、低い優先度としてＲＯＭ７に記憶されている数値解析積分プログラムを読み出し、数値解析積分を実行して積分値を得る。
【００６１】
ＲＯＭ７は、第１の実施の形態において説明したように、計算装置１に対応する基本プログラムを格納している。すなわち、計算装置１の電源がＯＮ状態にされた際に実行する初期表示メニュープログラム、各種関数演算プログラムを記憶する。また、数値解析積分では精度が出にくいと予め認識されている被積分関数に対応する原始関数を複数記憶し、この原始関数に基づく積分プログラムを高い優先度、数値解析積分プログラムを低い優先度として記憶している。
【００６２】
次に動作を説明する。
図４は、本第２の実施の形態において、計算装置１により実行される積分演算の流れを示すフローチャートである。
【００６３】
まず、上述の第１の実施の形態と同様に数式入力画面が表示部４に表示され、入力部３を介して、所定の書式で数式入力画面へ図５（ａ）に示すような被積分関数や積分範囲を含む数式が入力されると、ＣＰＵ２は、当該数式入力画面に入力された数式をＲＡＭ６のワークエリアに格納する（ステップＳ２０１）。
【００６４】
そして、入力部３のキー操作により実行指示が入力されると（ステップＳ２０２）、ＣＰＵ２は、ＲＯＭ７に予め記憶されている原始関数の中に、数式に含まれる被積分関数ｆ(ｘ)に対応する原始関数Ｇ(ｘ)があるか否かを判定する（ステップＳ２０３）。被積分関数ｆ(ｘ)に対応する原始関数Ｇ(ｘ)がＲＯＭ７に格納されている場合は（ステップＳ２０３；Ｙｅｓ）、この原始関数Ｇ(ｘ)をＲＯＭ７から抽出し、ＲＡＭ６のワークエリアに格納する。
【００６５】
そしてＣＰＵ２は、高い優先度でＲＯＭ７に記憶されている原始関数に基づく積分プログラムを読み出してＲＡＭ６に展開し、その後この原始関数に基づく積分プログラムにしたがって原始関数に基づく積分を実行する。この際、原始関数に基づく積分を実行しているシンボルとして点灯シンボル４０及び「ｓａｃ」シンボル４１を表示する（ステップＳ２０４）。
【００６６】
原始関数に基づく積分では、ＣＰＵ２は、ＲＡＭ６に格納されている数式に含まれる被積分関数ｆ(ｘ)の係数又は定数を認識し（ステップＳ２０５）、抽出された原始関数Ｇ(ｘ)の係数、定数と比較して、該当する係数、定数を被積分関数ｆ(ｘ)の係数、定数に置き換え、被積分関数ｆ(ｘ)に対応した不定積分Ｆ(ｘ)を生成する（ステップＳ２０６）。
【００６７】
その後、生成された不定積分Ｆ(ｘ)に積分範囲の上限値ｍａｘを代入した値をＱ１とし（ステップＳ２０７）、次に不定積分Ｆ(ｘ)に積分範囲の下限値ｍｉｎを代入した値をＱ２とし（ステップＳ２０８）、次にＱ１とＱ２の差（Ｑ１−Ｑ２）を計算して、積分値とし（ステップＳ２０９）、求めた積分値を表示部４に表示する（ステップＳ２１０）。
【００６８】
また、ステップＳ２０３の判断において、被積分関数ｆ(ｘ)に対応する原始関数Ｇ(ｘ)がＲＯＭ７に格納されていないと判断された場合は（ステップＳ２０３；Ｎｏ）、ＣＰＵ２はＲＯＭ７に格納されている数値解析積分プログラムを読み出し、数値解析積分の点灯シンボル３０を表示部４の表示画面上に点灯させ、更に数値解析積分の「ａｎａ」シンボル３１を表示して（ステップＳ２１１）、その後、数値解析積分を実行して積分値を求め（ステップＳ２１２）、求められた積分値を表示部４に表示する（ステップＳ２１０）。
【００６９】
図５は、原始関数に基づく積分プログラムを高い優先度、数値解析積分を低い優先度としてＲＯＭ７に記憶した場合の積分演算における表示の一例を示す図である。
【００７０】
図５（ａ）は、被積分関数ｆ２(ｘ)と積分範囲「−１≦ｘ≦１」を含む、次式に示す数式（４）が入力された図を示す。
【００７１】
【数４】
0003845759.tif 000005
【００７２】
数式（４）において、被積分関数ｆ２(ｘ)は、以下の式（５）である。
【００７３】
【数５】
0003845759.tif 000006
【００７４】
数式（４）が入力され、入力部３のキー操作により実行指示が入力されると、ＣＰＵ２は、この数式（４）に含まれる被積分関数ｆ２(ｘ)に対応する被積分関数ｇ(ｘ)を判断し、この被積分関数ｇ(ｘ)に予め対応づけられた原始関数Ｇ(ｘ)がＲＯＭ７に記憶されているか否かを判定する。この例に示す被積分関数ｆ２(ｘ)は、次式（６）に示す被積分関数ｇ(ｘ)に対応する。
【００７５】
【数６】
0003845759.tif 000007
【００７６】
更に被積分関数ｇ(ｘ)は次式（７）に示す原始関数Ｇ(ｘ)と対応づけられている。
【００７７】
【数７】
0003845759.tif 000008
【００７８】
ＣＰＵ２は、この原始関数Ｇ(ｘ)を被積分関数ｆ２(ｘ)に対応する原始関数として抽出し、ＲＡＭ６のワークエリアに確保する。更にＣＰＵ２は、原始関数に基づく積分プログラムをＲＯＭ７から読み出して、図５（ａ）に示すように原始関数に基づく積分の点灯シンボル４０を表示部４に点灯させ、「ｓａｃ」シンボル４１を表示させる。
【００７９】
ＣＰＵ２は、被積分関数ｇ(ｘ)の係数及び定数を示す文字ａ、ｂ、ｃと被積分関数ｆ２(ｘ)の係数及び定数とを比較して、文字ａ、ｂ、ｃに対応する数値を設定する。この例の場合は「ａ＝１」、「ｂ＝２」、「ｃ＝２」を設定して、これらの係数及び定数を抽出された原始関数Ｇ(ｘ)の係数及び定数に設定し、次の数式（８）で表される不定積分Ｆ２(ｘ)を生成する。
【００８０】
【数８】
0003845759.tif 000009
【００８１】
その後、生成された不定積分Ｆ２(ｘ)の変数「ｘ」に積分範囲の上限値ｍａｘ＝１を代入して得た値「２ｌｏｇ３」をＱ１とし、また、変数「ｘ」に積分範囲の下限値ｍｉｎ＝−１を代入して得た値「０」をＱ２とし、その後Ｑ１とＱ２の差（Ｑ１−Ｑ２）を計算して「２ｌｏｇ３」を得ると、これを積分値として図５（ｂ）に示すように表示部４に表示する。
【００８２】
また、被積分関数ｆ２(ｘ)に対応する原始関数Ｇ(ｘ)をＲＯＭ７に格納していない場合は、数値解析積分プログラムをＲＯＭ７から読み出して、図５（ｃ）に示すように数値解析積分の点灯シンボル３０及び「ａｎａ」シンボル３１を表示し、その後、数値解析積分を実行して、数値による積分値「０．９５４２４２５０９」を算出し、表示部４に表示する。
【００８３】
以上説明したように、数値解析積分では精度が出にくいと予め認識されている被積分関数に対応する原始関数をＲＯＭ７に格納し、また、この原始関数に基づく積分プログラムを高い優先度、数値解析積分プログラムを低い優先度としてＲＯＭ７に格納した計算装置１においては、ＣＰＵ２は、入力された数式に含まれる被積分関数に対応する原始関数がＲＯＭ７にある場合は、その原始関数を抽出して原始関数に基づく積分プログラムにしたがって原始関数に基づく積分を実行し、また、対応する原始関数が予め格納されていない場合は、数値解析積分プログラムにしたがって数値解析積分を実行して積分値を算出して表示する。
【００８４】
したがって、数値解析による積分では精度に高い積分値を算出することができない被積分関数についても、精度の高い積分値を算出することが可能となり、計算装置１の信頼性を向上させることができる。また、数式処理による積分を行わないので、数式処理積分の実行に必要とされる高価、高性能のＬＳＩ及び大容量のＲＯＭ等を設ける必要がなくなり、生産コストを低下させるとともに製品の価格を低下させることが可能となるので、教育の現場或いは技術計算を行うエンジニアなどの間に広く普及させることができる。
【００８５】
なお、第１又は第２の実施の形態において示す例は、積分演算を例として説明したが、積分演算以外であっても、同一の演算に関して複数の演算方法がある場合は、各演算方法と優先度とを対応づけて記憶しておき、この優先度に応じて各演算方法を実行することにより、事前に数式の解析をしなくても演算精度が高く、効率のよい演算処理を実行することができるとともに、実行中の演算に対してシンボルを表示することにより、実行中の演算方法を容易に確認することが可能となる。
【００８６】
【発明の効果】
請求項１記載の発明の計算装置によれば、不定積分が可能な場合は、計算された不定積分と計算値とを表示するので、高い演算精度で積分値を算出できるとともに、不定積分による計算の過程を表示でき学習効果が高まる。一方、不定積分ができない場合でも、数値積分計算手段により積分値が計算されて、その積分値が表示されるので不定積分によらない数値積分の計算結果であることが適切に認識されて学習を適切に進めることができる。
【００８７】
請求項２記載の発明によれば、請求項１記載の発明の効果に加えて、不定積分が計算されてから積分値計算手段により積分値が計算されるのか、数値積分計算手段による数値解析で積分値が計算されるのか、を異なる積分計算シンボルにより容易に確認することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態における計算装置１の構成を示すブロック図である。
【図２】第１の実施の形態において、計算装置１によって実行される積分演算の流れを示すフローチャートである。
【図３】第１の実施の形態において実行される積分演算の際に表示される数式等の例を示す図である。
【図４】第２の実施の形態において、計算装置１によって実行される積分演算の流れを示すフローチャートである。
【図５】第２の実施の形態において実行される積分演算の際に表示される数式等の例を示す図である。
【図６】従来の数式処理による積分演算を実行する計算装置の数式等の表示例を示す図である。
【図７】従来の数値解析による積分演算の際、被積分関数の区分された積分範囲を示す図である。
【符号の説明】
１    計算装置
２    ＣＰＵ
３    入力部
４    表示部
５    表示駆動回路
６    ＲＡＭ
７    ＲＯＭ
８    記憶装置
９    記憶媒体
【図１】
0003845759.tif 000010
【図２】
0003845759.tif 000011
【図３】
0003845759.tif 000012
【図４】
0003845759.tif 000013
【図５】
0003845759.tif 000014
【図６】
0003845759.tif 000015
【図７】
0003845759.tif 000016