(57)【要約】      （修正有）【課題】料理に含まれる食品の種類と、必要とする栄養素の種類及び量が指定されたときに、指定を満たす、あるいはそれに近い、食品の種類及び量を特定するプログラム、情報処理装置、情報処理方法を提供する。【解決手段】料理に含めたい食品の種類１６０１と、前記料理に含めたい栄養素の種類と、一定量（例えばグラム数）の食品に含まれる栄養素の種類及び量が指定されたとき、これらの指定に基づいて、前記料理に含めるべき食品の種類ならびに量を計算し、前記計算（前記料理に含めるべき食品の種類ならびに量を計算）の結果１６０３を出力する。【選択図】図１６
2019091127.tif 000002
【特許請求の範囲】
【請求項１】
甲を構成する0種類以上の乙、乙を構成する0種類以上の丙が存在する場合において、
前記甲を構成する乙の種類及び前記甲に含ませたい丙の種類及び量の指定を受けて、
前記丙の種類及び量が、前記指定内容または前記指定内容に近い数値になるように、
前記甲を構成する前記乙の種類ならびに量を計算する、または、
前記甲を構成する前記乙の種類ならびに量が指定されたとき、該指定内容が、
前記丙の種類及び量にどれだけ近いかを計算することを特徴とするプログラム。
【請求項２】
請求項１における甲は料理で、乙は食品で、丙は栄養素であることを特徴とするプログラム。
【請求項３】
請求項１および２における、甲に含ませたい丙の種類及び量の指定は、
前記指定をするために必要な情報が与えられたとき、
前記与えられた情報に従って決定することを特徴とするプログラム。
【請求項４】
請求項３における甲は料理であって、丙は栄養素であって、
請求項３における「前記指定をするために必要な情報」は、
料理に含ませたい栄養素の種類ならびに量を決定するために必要な情報であることを特徴とするプログラム。
【請求項５】
請求項１〜４において、甲に含まれる乙を指定する場合、
乙の代わりに甲を指定することができ、
前記指定がなされた場合は、
前記指定された甲と同一または類似の丙を持つ乙が指定されたものとして
計算することを特徴とするプログラム。
【請求項６】
請求項１〜４において、甲に含まれる乙を指定する場合、
乙の代わりに甲を指定することができ、
前記指定がなされた場合は、
前記乙の代わりに指定された甲に含まれる丙の種類ならびに量として、甲に含めたい丙の種類ならびに量から除外したものを用いて
計算することを特徴とするプログラム。
【請求項７】
請求項５における甲は料理で、乙は食品で、丙は栄養素であることを特徴とするプログラム。
【請求項８】
請求項５〜７において、
甲を構成する乙を指定する場合に、甲自身が指定された場合は、
前記指定を受け付けないことを特徴とするプログラム。
【請求項９】
甲の一定量あたりに含まれる乙の種類ならびに数量と、
乙の一定量あたりに含まれる丙の種類ならびに数量と、
乙の種類と、
前記乙に含めたい丙の種類ならびに数量が指定されたとき、
前記乙に含めたい丙の種類ならびに数量を勘案した
前記乙の数量を特定することを特徴とするプログラム。
【請求項１０】
出力部に表示されるべき内容の一部のみが表示されている場合であって、
所定の操作をすればその全部が表示されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、甲を構成する乙と、乙を構成する丙が存在する場合、甲に含める乙の種類と、甲に含める丙の種類ならびに量が決定しているとき、甲に含める乙の量を決定することを可能にするプログラム及び情報処理装置に関する。
【背景技術】
【０００２】
従来、食材の組み合わせ方法と食品の組み合わせ方法が知られている。（例えば、特許文献１を参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０１９４０２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１は、複数の食品を組み合わせたときに血糖値の上昇を抑制する効果を有する食材の組み合わせ方法を提供するものだが、血糖値を上昇する効果を有しないまたは小さい食材の量を特定するものではない。
【０００５】
本発明と特許文献１の相違点は、血糖値を上昇させる効果の大小にかかわらず、指定された栄養素の種類又は量をできるだけ満たすこととなる食品の量を決定する点、前記指定された栄養素の種類または量は、そのいずれも、必要に応じて定義する（例えば、糖質制限をする場合は炭水化物を０ｇと指定する）ことが出来る点にある。
【０００６】
（Ａ−１）
甲は0種類以上の乙によって構成され、乙は一定量（例えばグラム数）あたり0種類以上の丙によって構成されているとき、丙の種類や量は、状況により（例えば個々の個体あるいは集団の少なくともいずれかによって）異なるものであるとする。しかし、甲に含まれる乙の種類は決定できたとしても、前記甲に、いかなる量の乙を含ませれば必要とする丙を過不足なく、あるいは丙が少なくなるのかを特定することが出来なかった。
【０００７】
本発明の目的とするところは、甲に含まれる乙の種類と、必要とする丙の種類及び量が指定されたときに、前記指定（必要とする丙の種類及び量）を満たす、あるいはそれに近い、乙の種類及び量を特定するプログラム、情報処理装置、情報処理方法を提供することにある。
【０００８】
（Ａ−２）
前記（Ａ−１）甲が料理、前記（Ａ−１）乙が食品、前記丙（Ａ−１）が栄養素である場合における、発明が解決しようとする課題は次の通り。
【０００９】
ヒトなどの生物が必要とする栄養素の種類や量は、年齢は性別や運動量の違いなどが存在するため、個々の個体あるいは集団の少なくともいずれかによって異なるものである。しかし、料理に含まれる食品の種類は決定できたとしても、前記料理に、いかなる量の食品を含ませれば必要とする栄養素を過不足なく、あるいは過不足が少なくなるのかを特定することが出来なかった。
【００１０】
本発明の目的とするところは、料理に含まれる食品の種類と、必要とする栄養素の種類及び量が指定されたときに、前記指定（必要とする栄養素の種類及び量）を満たす、あるいはそれに近い、食品の種類及び量を特定するプログラム、情報処理装置、情報処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
（Ｂ−１）
情報処理装置は、甲に含めたい食品の種類と、前記甲に含めたい丙の種類と、一定量（例えばグラム数）の乙に含まれる丙の種類及び量が指定されたとき、これらの指定に基づいて、前記甲に含めるべき乙の種類ならびに量を計算し、前記計算（前記料理に含めるべき乙の種類ならびに量を計算）の結果を出力する。
【００１２】
ただし、前記指定の一部または全部は、指定されるかわりに、他の方法、例えば情報処理装置にあらかじめ記憶された内容を使用するとか、通信網（例えばインターネット）を経由してダウンロードされるとか、記憶媒体に記憶された内容を使用するとか、であってもよい。
【００１３】
甲とは、必ずしも甲に限られるものではなく、甲ではない物や概念を甲として扱うことが出来る。また、甲は0種類以上の乙を含むが、甲ではない物や概念を、構成する乙が0種類である甲として扱うことが出来る。
乙とは、必ずしも乙に限られるものではなく、甲に含まれる物や概念を乙として扱うことが出来る。また、乙は0種類以上の丙を含むが、乙ではない物や概念を、構成する丙が0種類である乙として扱うことが出来る。
丙は、必ずしも丙に限られるものではなく、乙の一部または全部を構成する物や概念を含む（乙の一部または全部を構成する物や概念は、丙として扱うことが出来る。）
【００１４】
（Ｂ−２）
前記（Ｂ−１）甲が料理、前記（Ｂ−１）乙が食品、前記（Ｂ−１）丙が栄養素である場合における、課題を解決するための手段は次の通り。
【００１５】
情報処理装置は、料理に含めたい食品の種類と、前記料理に含めたい栄養素の種類と、一定量（例えばグラム数）の食品に含まれる栄養素の種類及び量が指定されたとき、これらの指定に基づいて、前記料理に含めるべき食品の種類ならびに量を計算し、前記計算（前記料理に含めるべき食品の種類ならびに量を計算）の結果を出力する。
【００１６】
ただし、前記指定の一部または全部は、指定されるかわりに、他の方法、例えば情報処理装置にあらかじめ記憶された内容を使用するとか、通信網（例えばインターネット）を経由してダウンロードされるとか、記憶媒体に記憶された内容を使用するとか、であってもよい。
【００１７】
料理とは、必ずしも料理に限られるものではなく、料理ではない物や概念、例えば、100円引き、お食事券、などを料理として扱うことが出来る。また、料理は0種類以上の食品を含むが、100円引き、などの料理ではない物や概念を、構成する食品が0種類である料理として扱うことが出来る。
食品とは、必ずしも食品に限られるものではなく、料理に含まれる物や概念を食品として扱うことが出来る。また、食品は0種類以上の栄養素を含むが、食品ではない物や概念を、構成する栄養素が0種類である食品として扱うことが出来る。
栄養素は、必ずしも栄養素（三大栄養素、ビタミン、ミネラル）に限られるものではなく、食品の一部または全部を構成する物や概念、例えば、エネルギー量（いわゆるカロリー）、水分等を含む（食品の一部または全部を構成する物や概念は、栄養素として扱うことが出来る。）
本明細書では、「料理の種類」「乙の種類」のように、「○○の種類」という表現を用いることがある。これは、○○の種類はもちろん、○○の種類を特定することとなる一切の行為、例えば、料理に番号が割り当てられているときに、その番号を指定する行為、を含むこととする。
【００１８】
本明細書では、「料理の量」「乙の量」のように、「○○の量」という表現を用いることがある。これは、○○の量はもちろん、○○の量を特定することとなる一切の行為、を含むこととする。
【発明の効果】
【００１９】
（Ｃ−１）
本発明は、甲を構成する乙の種類ならびに必要とする丙の種類ならびに量が指定されたときに前記指定（必要とする丙の種類ならびに量）を満たす、またはそれに近い、乙の量を特定することにより、甲を用意する場合に使用する乙の量を算出することができる。
【００２０】
（Ｃ−２）
前記（Ｃ−１）甲が料理、前記（Ｃ−１）乙が食品、前記（Ｃ−１）丙が栄養素である場合における、発明の効果は次の通り。
本発明は、料理を構成する食品の種類ならびに必要とする栄養素の種類ならびに量が指定されたときに前記指定（必要とする栄養素の種類ならびに量）を満たす、またはそれに近い、食品の量を特定することにより、料理を用意する場合に使用する食品の量を算出することができる。
【図面の簡単な説明】
【００２１】
【図１】情報処理装置を示すブロック図。
【図２】実施の形態１に係る情報処理装置が、甲を構成する乙の種類ならびに量を決定する処理の手順を示すフローチャート。
【図３】実施の形態２に係る、乙情報の一例を示す図表。
【図４】実施の形態２に係る、乙丙情報の一例を示す図表。
【図５】実施の形態２に係る、甲乙情報の一例を示す図表。
【図６】実施の形態２に係る、丙情報の一例を示す図表。
【図７】実施の形態２に係る、乙情報の一例を示す図表。
【図８】実施の形態２に係る、甲乙情報の一例を示す図表。
【図９】実施の形態２に係る、乙情報に含まれる甲に含まれる乙の種類ならびに数量を計算する過程の一例を示す図。
【図１０】実施の形態２に係る、乙情報に甲が含まれる場合に、該甲を構成する丙の種類ならびに数量を、丙情報から除外した丙の数量ならびに数量を計算する過程を示す図。
【図１１】実実施の形態２に係る、収集ステップを実行するにあたり、出力部に表示することにより入力部を介した操作を情報処理装置が受け付ける画面の一例。
【図１２】実施の形態２に係る、入力したいものが甲であるか乙であるかを選択する画面の一例。
【図１３】実施の形態２に係る、図１２にて乙を指定した場合に、入力する乙の種類を選択する画面の一例。
【図１４】実施の形態２に係る、図１２にて甲を指定した場合に、入力する甲の種類を選択する画面の一例。
【図１５】実施の形態２に係る、図１１に示す画面に、乙情報を入力した場合の一例。
【図１６】実施の形態２に係る、情報処理装置が減算ステップを実行する手順の一例。
【図１７】実施の形態２に係る、情報処理装置が減算ステップを実行する手順の一例。
【図１８】実施の形態２に係る、情報処理装置が列挙ステップを実行する手順の一例。
【図１９】実施の形態２に係る、情報処理装置が計算ステップを実施する際に作成されるデータの一例。
【図２０】実施の形態２に係る、計算ステップにてユーザが乙の数量を指定する場合に出力部に表示される画面の一例を示す図。
【図２１】実施の形態２に係る、計算ステップにてユーザが乙の数量を指定する場合に出力部に表示される画面の一例を示す図であって、乙である「しらたき」の数量を３０ｇとした場合の画面の一例。
【図２２】実施の形態２に係る、情報処理装置が実行する処理の手順の一例を示すフローチャート。
【発明を実施するための形態】
【００２２】
＜ハードウェア構成＞
実施の形態１、実施の形態２
上記の実施の形態におけるハードウェア構成を、図面を参照して説明する。図１は、情報処理装置を示すブロック図。情報処理装置は、例えば、サーバ装置、パーソナルコンピュータ又はスマートフォン等である。情報処理装置１は、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又は携帯電話網等の通信網Ｎにより他の情報処理装置と相互に接続されていてもよい。
【００２３】
情報処理装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、記憶部１２、ＲＡＭ１３、入力部１４、出力部１５、通信部１６、ドライブ部１７の一部または全部を備える。
ＣＰＵ１１は、パスを介してハードウェア各部と接続されている。ＣＰＵ１１は例えば1個以上のＣＰＵ又はマルチコアＣＰＵを備える。ＣＰＵ１１は、記憶部１２に記憶されたプログラム１２に従いハードウェア各部を制御する。ただし、前記ハードウェアの一部または全部は、情報処理装置の周辺機器として存在しているとか、通信網Ｎを介して外部（例えば、他の情報処理装置の一部として）に存在していてもよい。例えば、複数の情報処理装置が、1個の記憶部を共用するなどが考えられる。
記憶部１２は、例えばハードウェア又は大容量メモリなどのメモリ等である。ドライブ部１７は、光ディスクなどの記憶媒体１０から情報を読み取る。記憶部１２は、ＣＰＵ１１が処理を行う際に必要となる種々のデータ及びプログラム１２Ｐを格納する。
ＣＰＵ１１は、記憶媒体１０に格納されたプログラム１２Ｐをドライブ部１７に読み取らせ、読み取ったプログラム１２Ｐを記憶部１２に記憶させる。ＣＰＵ１１は、必要に応じたプログラム１２Ｐを記憶部１２からＲＡＭ１３へロードし、ロードしたプログラム１２Ｐに従って、各種の処理を実行する。
【００２４】
なお、プログラム１２Ｐは、情報処理装置の外部からダウンロードされてもよく、予め記憶部１２に記憶されていてもよい。この場合、情報処理装置はドライブ部１７を備えていない形態であってもよい。
【００２５】
なお、プログラム１２Ｐは、ドライブ部１７が記憶媒体１０から読み取ってもよい。この場合、情報処理装置は通信部１６を備えていない形態であってもよい。（後述する機能の一部が使用できない場合がある）
【００２６】
ＲＡＭ１３は例えばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等である。ＲＡＭ１３は、記憶部としても機能し、ＣＰＵ１１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００２７】
入力部１４は例えばマウス又はキーボードなどの入力デバイスであり、受け付けた操作情報をＣＰＵ１１へ送信する。
【００２８】
出力部１５はＣＰＵ１１から送信されたデータを表示する。例えば出力部１５はＣＰＵ１１から送信された画像データを表示する液晶ディスプレイであるとか、ＣＰＵ１１から送信されたデータに存在する文字情報を読み上げる装置であるとか、媒体（例えば紙）にプリントアウトするなどの手段により、例えば人間が認識できる形態で、ＣＰＵ１１が作成した情報を出力する。
【００２９】
通信部１６は、例えば無線ＬＡＮカードまたは通信モジュール（携帯電話用通信モジュールを含む）等であり、通信網Ｎを介して各種情報を送受信する。
【００３０】
本発明は、通信部１６、ドライブ部１７、記憶媒体１０など、情報処理装置の一部を使用せずに運用することが考えられる。その場合、使用されない部分は、情報処理装置に備え付けられていなくてもよい。
情報処理装置の各部は、その機能の一部または全部を、他の部が持つこともある。たとえば、ＲＡＭ１３、記憶部１２、外部媒体１０は、情報を記憶する機能を持つ点で共通である。この場合、特定の部がすべき動作の一部または全部が、他の部によって行われるものであってもよい。
【００３１】
＜実施の形態１＞
（１−１）
実施の形態１では、甲を構成する乙として0種類以上の乙が指定され、乙は一定量（例えばグラム数）ごとに、一定の種類ならびに量の丙を含んでいるときに、甲に含ませたい丙の種類ならびに量を指定し、前記指定（甲に含ませたい丙の種類ならびに量）の通りまたは前記指定（甲に含ませたい丙の種類ならびに量）に近い数値になるように、甲を構成する乙の種類ならびに量を決定する。
【００３２】
（１−２）
前記（１−１）甲は料理、前記（１−１）乙は食品、前記（１−１）丙は栄養素である場合を例示する。
【００３３】
料理を構成する食品として0種類以上の食品が指定され、食品は一定量（例えばグラム数）ごとに、一定の種類及び量の栄養素を含んでいるときに、前記指定（料理に含ませたい栄養素の種類ならびに量）の通りまたは前記指定（料理に含ませたい栄養素の種類ならびに量）に近い数値になるように、料理を構成する食品の種類ならびに量を決定する。
【００３４】
（１−３）
前記（１−２）料理は肉じゃが、前記（１−２）食品は牛肉、ジャガイモ、しらたき、玉ねぎ、前記（１−２）栄養素は野菜等グラム数(0以外副菜扱い)、エネルギー(kcal単位)、エネルギー(kJ単位)、水分、たんぱく質、アミノ酸組成によるたんぱく質、イソロイシン、ロイシン、リシン、(含硫)メチオニン、(含硫)シスチン、(芳香族)フェニルアラニン、(芳香族)チロシン、トレオニン（スレオニン）、トリプトファン、バリン、ヒスチジン、アルギニン、アラニン、アスパラギン酸、グルタミン酸、グリシン、プロリン、セリン、脂質、脂質のトリアシルグリセロール当量、炭水化物、灰分、ナトリウム、カリウム、カルシウム、マグネシウム、リン、鉄、亜鉛、銅、マンガン、ヨウ素、セレン、クロム、モリブデン、ビタミンＡ（レチノール）、ビタミンＡ（αカロテン）、ビタミンＡ（βカロテン）、ビタミンＡ（β−クリプトキサンチン）、ビタミンＡ（β−カロテン当量）、ビタミンＡ（レチノール当量）、ビタミンＤ、ビタミンＥ（α−トコフェノール）、ビタミンＥ（β−トコフェノール）、ビタミンＥ（γ−トコフェノール）、ビタミンＥ（δ−トコフェノール）、ビタミンＫ、ビタミンＢ１、ビタミンＢ２、ナイアシン、ビタミンＢ６、ビタミンＢ１２、葉酸、パントテン酸、ビオチン、ビタミンＣ、飽和脂肪酸、一価不飽和脂肪酸、多価不飽和脂肪酸、コレステロール、食物繊維（水溶性）、食物繊維（不溶性）、食物繊維（総量）、食塩相当量、n-6系脂肪酸、n-3系脂肪酸の、一部または全部である場合を例示する（一部、栄養素とはいえないものが存在するが、本例示では、計算の便宜上栄養素の一種として扱う）。
【００３５】
（２−１）
情報処理装置は、甲を構成する乙の種類を入力する機能、前記甲に含ませたい丙の種類ならびに量を入力する機能、とを備え、前記機能によって入力された内容に基づいて、前記甲を構成する前記乙の量を計算する機能が動作し、前記機能（前記甲を構成する前記乙の量を計算する機能）によって得られた計算結果を出力する。
ただし、前記（甲に含ませたい丙の種類ならびに量を入力する機能）は、丙の種類ならびに量を直接入力することはもちろん、丙の種類および量を決定するために必要な情報の入力を受け付け、前記入力（丙の種類および量を決定するために必要な情報）をもとに、前記甲に含ませたい丙の種類ならびに量を決定するものであってもよい。
前記機能（情報処理装置は、甲を構成する乙の種類を入力する機能ならびに前記甲に含ませたい丙の種類ならびに量を入力する機能）の一部または全部は、情報処理装置に記憶された内容を使用するとか、外部（例えば外部記憶媒体、通信網（例えばインターネッネット）を経由して接続されている他の情報処理装置）に記憶された内容をそのまま、あるいは変更を加えて使用するものであってもよい。
【００３６】
（２−２）
前記（２−１）甲は料理、前記（２−１）乙は食品、前記（２−１）丙は栄養素である場合を例示する。
情報処理装置は、料理を構成する食品の種類を入力する機能（以下「機能Ａ」と表記）と、前記料理に含ませたい栄養素の種類ならびに量を入力する機能（以下「機能Ｂ」と表記）を備え、機能Ａならびに機能Ｂによって入力された内容をもとに、前記料理を構成する前記料理の量を計算する機能（以下「機能Ｃ」と表記）が動作し、前記機能Ｃによる計算結果を出力（以下「出力Ｄ」と表記）する。
機能Ｂは、前記（料理に含ませたい栄養素の種類ならびに量）を決定するために必要な情報を入力し、前記入力内容に従って、前記（料理に含ませたい栄養素の種類ならびに量）を決定するものや、前記決定（前記入力内容に従って、前記（料理に含ませたい栄養素の種類ならびに量）を決定）された栄養素の種類ならびに量の少なくともいずれかを変更したものを、前記（料理に含ませたい栄養素の種類ならびに量）とするものであってもよい。（以下「機能Ｂ−２」と表記）機能Ａならびに機能Ｂの少なくともいずれかの一部または全部は、情報処理装置に記憶された内容を使用するとか、外部（例えば外部記憶媒体、通信網（例えばインターネッネット）を経由して接続されている他の情報処理装置）に記憶された内容をそのまま、あるいは変更を加えて使用するものであってもよい。
（２−２Ａ）
前記（２−１）の例示は、次の通りであってもよい。
前記（２−１）甲は料理、前記（２−１）乙は食品、前記（２−１）丙は栄養素である場合を例示する。
情報処理装置は、料理を構成する食品の種類を入力する機能、前記食品に含ませたい栄養素の種類ならびに量を入力する機能、とを備え、前記機能によって入力された内容に基づいて、前記料理を構成する前記食品の量を計算する機能が動作し、
前記機能（前記料理を構成する前記食品の量を計算する機能）によって得られた計算結果を出力する。
ただし、前記（料理に含ませたい栄養素の種類ならびに量を入力する機能）は、栄養素の種類ならびに量を直接入力することはもちろん、栄養素の種類および量を決定するために必要な情報の入力を受け付け、前記入力（栄養素の種類および量を決定するために必要な情報）をもとに、前記料理に含ませたい栄養素の種類ならびに量を決定するものであってもよい。
前記機能（情報処理装置は、料理を構成する食品の種類を入力する機能ならびに前記料理に含ませたい栄養素の種類ならびに量を入力する機能）の一部または全部は、情報処理装置に記憶された内容を使用するとか、外部（例えば外部記憶媒体、通信網（例えばインターネッネット）を経由して接続されている他の情報処理装置）に記憶された内容をそのまま、あるいは変更を加えて使用するものであってもよい。
【００３７】
（２−３）
前記（２−２）の具体的一例を例示する。この具体例は、前記（２−２Ａ）の具体的一例であってもよい。
情報処理装置は、年齢・性別などの入力を受け付ける機能（例えば、テキストボックスに文字列または数値を入力する）と（機能Ｂ−２の一例）、料理を構成する食品または料理の種類の入力を受け付ける機能（例えば、表の所定の列をクリックすると、料理または食品の少なくともいずれかを入力するための選択肢が表示され、前記選択肢（料理または食品の少なくともいずれかを入力するための選択肢）から選択された料理または食品を前記表の所定の列に入力する）をそなえ（機能Ａの一例）、所定の操作（例えば、「計算開始」ボタンを押下する）ことによって、前記入力（年齢・性別などを入力）内容に基づいて、料理に含ませたい栄養素の種類ならびに量を決定し、前記決定（料理に含ませたい栄養素の種類ならびに量）の通りに、またはそれに近くなるように栄養素を含む食品の種類ならびに量を計算し（機能Ｃの一例）、前記計算（前記指定（料理に含ませたい栄養素の種類ならびに量の入力）の通りに、またはそれに近くなるように栄養素を含む食品の種類ならびに量を計算）結果を出力（例えば、ディスプレイに表示するとか、プリントアウトする）する（出力Ｄの一例）。
ただし、前記機能（年齢・性別などを入力を受け付ける機能（例えば、テキストボックスに文字列または数値を入力する）と、料理を構成する食品または料理の種類の入力を受け付ける機能（例えば、表の所定の列をクリックすると、料理または食品の少なくともいずれかを入力するための選択肢が表示され、前記選択肢（料理または食品の少なくともいずれかを入力するための選択肢）から選択された料理または食品を前記表の所定の列に入力する）をそなえ、）の一部または全部は、情報処理装置に記憶された内容を使用するとか、外部（例えば外部記憶媒体、通信網（例えばインターネッネット）を経由して接続されている他の情報処理装置）に記憶された内容をそのまま、あるいは変更を加えて使用するものであってもよい。
【００３８】
（３−１）
前記（２−１）、（２−２）、（２−２Ａ）、（２−３）にて、甲を構成する乙の入力を受け付ける際、甲を入力することができるものであってもよい。
このとき、甲が入力された場合は、入力された甲と同一または類似の種類ならびに量から構成される乙が入力されたものとして取り扱う。また、甲を入力する場合は、前記甲の数量も指定するものであってもよい。
例えば、甲が入力された場合は、前記甲を構成する丙の種類ならびに量を特定し、前記丙の種類ならびに量と同一または類似の丙の種類ならびに量を持つ乙が入力されたものとして取り扱う。
前記（２−２）、（２−２Ａ）では、甲を構成する乙の入力を受け付ける際、乙を入力することができるものであってもよい。
このとき、甲が入力された場合は、該甲に含まれる丙の種類ならびに量を除外した値を、甲に含めたい丙の種類ならびに量とみなして計算してもよい。
【００３９】
（３−２）
前記（３−１）甲は料理、前記（３−１）乙は食品、前記（３−１）丙は栄養素である場合を例示する。
前記（２−２）、（２−２Ａ）では、料理を構成する食品の入力を受け付ける際、料理を入力することができるものであってもよい。
このとき、料理が入力された場合は、入力された料理と同一または類似の種類ならびに量から構成される食品が入力されたものとして取り扱う。また、料理を入力する場合は、前記料理の数量も指定するものであってもよい。
例えば、料理が入力された場合は、前記料理を構成する栄養素の種類ならびに量を特定し（この特定方法は、料理を構成する食品の種類および量を特定し、前記特定された食品の種類ならびに量から、前記料理を構成する栄養素の種類ならびに量を特定する方法が考えられる。このとき、料理を構成する食品の種類ならびに量を示す情報と、食品を構成する栄養素の種類ならびに量を示す情報が必要になるが、これらの情報は、情報処理装置に記憶されたものを使用するとか、入力を受け付けて取得された情報を使用するとか、外部（例えば記憶媒体、通信網（例えばインターネット）を経由して他の情報処理装置から取得された情報、が考えられるが、これに限られない）、前記栄養素の種類ならびに量と同一または類似の栄養素の種類ならびに量を持つ食品が入力されたものとして取り扱う。その他の注意点は、（３−３）にて述べる。
前記（２−２）、（２−２Ａ）では、料理を構成する食品の入力を受け付ける際、料理を入力することができるものであってもよい。
このとき、料理が入力された場合は、該料理に含まれる栄養素の種類ならびに量を除外した値を、料理に含めたい栄養素の種類ならびに量とみなして計算してもよい。たとえば、食品Ａ、食品Ｂ、食品Ｃ、料理Ｂが、料理Ａを構成する食品として入力され、料理に含めたい栄養素の種類ならびに量が、栄養素Ａが20〜30mg、栄養素Ｂが10〜16mgであって、料理Ａを構成する栄養素の種類ならびに量が、栄養素Ａが5〜8mg、栄養素Ｂが0〜2mgである場合、料理の含めたい栄養素の量は、料理Ａに含まれる栄養素の種類ならびに量（つまり栄養素Ａが5〜8mg、栄養素Ｂが1〜2mg）を除外した値、たとえば、栄養素Ａが12〜25mg、栄養素Ｂが8〜11mgとして計算（食品Ａ、食品Ｂ、食品Ｃの量を決定）することとしてもよい。
【００４０】
（３−３）
前記（２−３）では、「料理を構成する食品または料理の種類の入力を受け付ける機能」とある。このとき、料理が入力された場合は、例えば、入力された料理と同一または類似の種類ならびに量から構成される食品が入力されたものとして取り扱う。また、料理を入力する場合は、前記料理の数量も指定するものであってもよい。例えば、「牛皿2個」が入力された場合であって、前記牛皿は、牛肉100g、玉ねぎ50g、醤油20gから構成される料理であって、前記牛肉は100gあたりエネルギー量371kcal、たんぱく質14.4g、脂質32.9g、炭水化物0.2g、ナトリウム52mgを含み、前記玉ねぎは100gあたりエネルギー量31kcal、たんぱく質0.8g、脂質0.1g、炭水化物7.3g、ナトリウム3mgを含み、前記醤油は100gあたりエネルギー量69kcal、たんぱく質8.1g、脂質0g、炭水化物9g、ナトリウム3300mgを含むものとして情報処理装置１が取り扱う場合は、前記牛皿2個は、エネルギー量が(371÷100×100)+(31÷100×50)+(69÷100×20)=400.3により、400.3kcal、たんぱく質が(14.4÷100×100)+(0.8÷100×50)+(8.1÷100×20)=16.42により、16.42g、脂質が(32.9÷100×100)+(0.1÷100×50)+(0÷100×20)=32.95により、32.95g、炭水化物が(0.2÷100×100)+(7.3÷100×50)+(9÷100×20)=5.56により、5.65g、ナトリウムが(52÷100×100)+(3÷100×50)+(3300÷100×20)=713.5により、713.5g含まれている食品が指定されたものとして取り扱う。ただし、これ以降の計算は、上記の栄養素が上記の数値の倍数になるように取り扱うものとする。
たとえば、前記（牛皿2個）を、仮に1000gあたりの栄養素が上記の通りである食品（以下「仮想食品」と表記）として扱った場合は、前記仮想食品（実際には料理だが）のグラム数が1000の倍数になるように数値をもとめ、計算後、前記仮想食品のグラム数が1000gならば1個分（つまり牛皿2個）、前記仮想食品のグラム数が3000gならば3個分（つまり牛皿6個）に読み替えたものを計算結果とする。
【００４１】
（４−１）
前記（３−１）、（３−２）、（３−３）にて、甲を構成する乙の入力を受け付けるとき、甲自身が入力された場合は、前記入力を受け付けない。
【００４２】
（４−２）
前記（４−１）甲は料理、前記（４−１）乙は食品、前記（４−１）丙は栄養素である場合を例示する。
料理を構成する食品の入力を受け解けるとき、その料理自身が入力された場合は、その入力を受け付けない。
【００４３】
（４−３）
前記（４−２）の具体的一例を例示する。
Ａセットという料理を構成する食品として、ジャガイモ、玉ねぎなどの食品はもちろん、肉じゃが、ごはん、味噌汁などの料理を入力することが出来る（ここでは、情報処理装置が、肉じゃが、ごはん、味噌汁が料理として扱える場合を例示している）。つまり、Ａセットは構成する食品が肉じゃが、ごはん、味噌汁という料理を入力してもよい。ただし、肉じゃがを構成する食品として肉じゃがを入力した場合は、循環定義（肉じゃがの一部または全部が肉じゃが）が発生する。それを防ぐために、料理を構成する食品として、その料理自身の入力は、情報処理装置が受け付けない。
【００４４】
（５−１）
情報処理装置は、甲を構成する乙の種類ならびに、前記甲に含ませたい丙の種類及び量の指定を受け付ける。前記指定（甲を構成する乙の種類ならびに、前記甲に含ませたい丙の種類及び量）の入力方法ならびに丙の種類及び量の決定方法は、種々の方式が考えられる。
【００４５】
（５−２）
前記（５−１）甲は料理、前記（５−１）乙は食品、前記（５−１）丙は栄養素である場合を例示する。
情報処理装置は、料理を構成する食品の種類ならびに、前記料理に含ませたい栄養素の種類ならびに量の指定を受け付ける。前記指定（料理を構成する食品の種類ならびに、前記料理に含ませたい栄養素の種類及び量）の入力方法ならびに栄養素の種類及び量は、種々の方式が考えられる。
【００４６】
（５−３）
前記（５−２）料理は肉じゃが、前記食品は牛肉、ジャガイモ、しらたき、玉ねぎ、醤油、砂糖である場合を例示する。情報処理装置は、肉じゃがを構成する食品が、牛肉、ジャガイモ、しらたき、玉ねぎ、醤油、砂糖である旨の指定を受け付ける。栄養素の種類及び量は、種々の方式が考えられる（例えば、年齢や性別や運動量の一部または全部を指定して必要とされるであろう栄養素の種類及び量を推定するとか、必要な栄養素の種類及び量を直接していするなど）が、ここでは、前記肉じゃがに含みたい栄養素を、エネルギー量が2673kcal、たんぱく質86〜133g、脂質59〜89g、炭水化物334〜434g、ナトリウム600mg以下、と指定する場合を例示する。
【００４７】
（６−１）
乙の種類及び一定量（例えばグラム数）ごとに含んでいる丙の種類ならびに量は、情報処理装置１に記憶されていてもよく、乙の種類を指定する際に指定するもの、あるいは必要に応じて外部（例えばインターネット）から取得されるものであってもよい。
【００４８】
（６−２）
前記（６−１）甲は料理、前記（６−１）乙は食品、前記（６−１）丙は栄養素である場合を例示する。
食品の種類ならびに一定量（例えばグラム数）ごとに含んでいる栄養素の種類及び量は、情報処理装置に記憶されていてもよく、料理の種類を指定する際に指定するもの、あるいは必要に応じて外部（例えばインターネット）から取得されるものであってもよい。
【００４９】
（６−３）
前記（６−２）食品は牛肉、ジャガイモ、しらたき、玉ねぎ、醤油、砂糖であって、前記（６−２）食品の種類ならびに一定量（例えばグラム数）ごとに含んでいる栄養素の種類及び量は、前記牛肉は100gあたりエネルギー量371kcal、たんぱく質14.4g、脂質32.9g、炭水化物0.2g、ナトリウム52mgを含み、前記ジャガイモは100gあたりエネルギー量84kcal、たんぱく質1.5g、脂質0.1g、炭水化物19.7g、ナトリウム1mgを含み、前記しらがきは100gあたりエネルギー量6kcal、たんぱく質0.2g、脂質0g、炭水化物3g、ナトリウム10mgを含み、前記玉ねぎは100gあたりエネルギー量31kcal、たんぱく質0.8g、脂質0.1g、炭水化物7.3g、ナトリウム3mgを含み、前記醤油は100gあたりエネルギー量69kcal、たんぱく質8.1g、脂質0g、炭水化物9g、ナトリウム3300mgを含み、前記砂糖は100gあたりエネルギー量387kcal、たんぱく質0g、脂質0g、炭水化物100g、ナトリウム0gを含む場合を例示する。
【００５０】
（７−３）
前記（５−３）例示では、前記食品（牛肉、ジャガイモ、しらたき、玉ねぎ、醤油、砂糖）の量を、エネルギー量が2673kcal、たんぱく質86〜133g、脂質59〜89g、炭水化物334〜434g、ナトリウム600mg以下になるように定めたい旨が指定されているため、この条件をできるだけ満たす前記食品（牛肉、ジャガイモ、しらたき、玉ねぎ、醤油、砂糖）の量がいくらであるかを計算する。その順序は種々の順序が考えられるが、ここでは、エネルギー量、たんぱく質、脂質、炭水化物、ナトリウムの順に計算する場合を例示する。ただし、計算順序は、情報処理装置が決定するものであっても、情報処理装置に入力するものであってもよい。
【００５１】
（８−１）
情報処理装置は、
乙に含まれる丙の種類および量をもとに、指定された丙の種類および量を満たすには、前記乙をいかなる量にすべきなのかを計算する。
指定された丙の種類ごとに、必要量を満たす乙の量の範囲を求める。
【００５２】
（８−２）
前記（８−１）甲は料理、前記（８−１）乙は食品、前記（８−１）丙は栄養素である場合を例示する。
情報処理装置は、
食品に含まれる栄養素の種類および量をもとに、指定された栄養素の種類および量を満たすには、前記食品をいかなる量にすべきなのかを計算する。
指定された栄養素の種類ごとに、必要量を満たす食品の量の範囲を求める。その一例は、後述の通り。
【００５３】
（８−３）
前記（７−３）例示に示された値をもとに指定されたエネルギー量（2673kcal）を満たす食品のグラム数を計算すると、
牛肉は100gあたりエネルギー量371kcalであるから、2673÷(371÷100)≒720.5、つまり牛肉のグラム数は0〜720.5gの間のいずれかであることが、ジャガイモは100gあたりエネルギー量84kcalであるから、2673÷(84÷100)≒3182.1、つまりジャガイモのグラム数は0〜3182.１gの間のいずれかであることが、しらたきは100gあたりエネルギー量6kcalであるから、2673÷(6÷100)≒44500、つまりしらがきのグラム数は0〜44500gの間のいずれかであることが、玉ねぎは100gあたりエネルギー量31kcalであるから、2673÷(31÷100)≒8622.6、つまり玉ねぎのグラム数は0〜8622.6gの間のいずれかであることが、醤油は100gあたりエネルギー量69kcalであるから、2673÷(69÷100)≒3873.9、つまり醤油のグラム数は0〜3873.9gの間のいずれかであることが、砂糖は100gあたりエネルギー量387kcalであるから、2673÷(387÷100)≒690.7、つまり砂糖のグラム数は0〜690.7ｇの間のいずれであることが、それぞれわかる。
なぜならば、牛肉の量が721g以上であると仮定すると、エネルギー量が721[kcal]×(371[kcal]÷100[g])＝2674.9[kcal]、つまり他の食品が0gであったとしても指定したエネルギー量を超過するため（他の食品も同様）である。
【００５４】
（９−３）
前記（７−３）例示に示された値をもとに指定されたたんぱく質の量（86〜133g）を満たす食品のグラム数を計算すると、
牛肉は100gあたりたんぱく質が14.4gであるから、133÷(14.4÷100)=923.6、つまり牛肉のグラム数は0〜923.6gの範囲内であることが、ジャガイモは100gあたりたんぱく質1.5gであるから、133÷(1.5÷100)=8866.7、つまりジャガイモのグラム数は0〜8866.7gの範囲内であることが、しらたきは100gあたりたんぱく質0.2gであるから、133÷(0.2÷100)=66500、つまりしらたくのグラム数は0〜66500gの範囲内であることが、玉ねぎは100gあたりたんぱく質0.8gであるから、133÷(0.8÷100)=16625、つまり玉ねぎのグラム数は0〜16625gの範囲内であることが、醤油は100gあたりたんぱく質8.1gであるから、133÷(8.1÷100)≒1642、つまり醤油のグラム数は0〜1642gの範囲内であることが、砂糖は100gあたりたんぱく質0gであるから、133÷(0÷100)は計算不可、つまり砂糖のg数が問われないことが、それぞれわかる。
最小値(86g)が存在するにもかかわらず範囲が「0g以上」である理由は、その食品の量が0gであったとしても、他の食品の量によっては、その食品によって、料理に含まれるたんぱく質の最小量を満たしうるためである。
範囲に最大量が存在する理由は、例えば牛肉が924gであると仮定すると、924[g]×(14.4[g]÷100[g])=133.056[g]、つまり他の食品が0gであったとしても指定したたんぱく質の量を超過するため（他の食品も同様）である。
（１０−３）
前記（７−３）例示に示された値をもとに指定された脂質の量(59〜80g)を満たす食品のグラム数を計算すると、
牛肉は100gあたり脂質が32.9gであるから、80÷(32.9÷100)≒243.2、つまり牛肉のグラム数は0〜243.2gの範囲内であることが、ジャガイモは100gあたり脂質が0.1gであるから、80÷(0.1÷100)＝80000、つまりジャガイモのグラム数は0〜80000gの範囲内であることが、しらたきは100gあたり脂質が0gであるから、80÷(0÷100)は計算不可、つまりしらたきのg数が問われないことが、玉ねぎは100gあたり脂質が0.1gであるから、0÷(0.1÷100)＝80000、つまり玉ねぎのグラム数は0〜80000gの範囲内であることが、醤油は100gあたり脂質が0gであるから、80÷(0÷100)は計算不可、つまり醤油のg数が問われないことが、砂糖は100gあたり脂質が0gであるから、80÷(0÷100)は計算不可、つまり砂糖のg数が問われないことが、それぞれわかる。
最小値(559g)が存在するにもかかわらず範囲が「0g以上」である理由は、その食品の量が0gであったとしても、他の食品の量によっては、その食品によって、料理に含まれる脂質の最小量を満たしうるためである。
範囲に最大量が存在する理由は、例えば牛肉が244gであると仮定すると、244[g]×(32.9[g]÷100[g])=80.276[g]、つまり他の食品が0gであったとしても指定した脂質質の量を超過するため（他の食品も同様）である。
【００５５】
（１１−３）
前記（７−３）例示に示された値をもとに指定された炭水化物の量(334〜434g)を満たす食品のグラム数を計算すると、牛肉は100gあたり炭水化物が0.2gであるから、434÷(0.2÷100)≒217000、つまり牛肉のグラム数は0〜217000gの範囲内であることが、ジャガイモは100gあたり炭水化物が19.7gであるから、434÷(19.7÷100)≒2203、つまりジャガイモのグラム数は0〜2203gの範囲内であることが、しらたきは100gあたり炭水化物が3gであるから、434÷(3÷100)≒14467、つまりしらたきのグラム数は0〜14467gの範囲内であることが、玉ねぎは100gあたり炭水化物7.3gであるから、434÷(7.3÷100)≒5945.2、つまり玉ねぎのグラム数は0〜5945.2gの範囲内であることが、醤油は100gあたり炭水化物が9gであるから、434÷(9÷100)≒4822.2、つまり醤油のグラム数は0〜4822gの範囲内であることが、砂糖は100gあたり炭水化物が100gであるから、434÷(100÷100)=434、つまり砂糖のグラム数は0〜434gの範囲内であることが、それぞれわかる。
最小値(334g)が存在するにもかかわらず範囲が「0g以上」である理由は、その食品の量が0gであったとしても、他の食品の量によっては、その食品によって、料理に含まれるたんぱく質の最小量を満たしうるためである。
範囲に最大量が存在する理由は、例えば牛肉が217001gであると仮定すると、217001[g]×(0.2[g]÷100[g])=434.002[g]、つまり他の食品が0gであったとしても指定したたんぱく質の量を超過するため（他の食品も同様）である。
【００５６】
（１２−３）
前記（７−３）例示に示された値をもとに指定されたナトリウムの量'0〜600mg)を満たす食品のグラム数を計算すると、牛肉は100gあたりナトリウムが52mgであるから、600÷(52÷100)≒1153.8、つまり牛肉のグラム数は0〜1153.8gの範囲内であることが、ジャガイモは100gあたりナトリウムが1mgであるから、600÷(1÷100)=60000、つまりジャガイモのグラム数は0〜60000gの範囲内であることが、しらたきは100gあたりナトリウムが10mgであるから、600÷(10÷100)=6000、つまりしらたきのグラム数は0〜6000gの範囲内であることが、玉ねぎは100gあたりナトリウムがが3mgであるから、600÷(3÷100)=20000、つまり玉ねぎのグラム数は0〜20000gの範囲内であることが、醤油は100gあたりナトリウムが3300mgであるから、600÷(3300÷100)≒18.2、つまり醤油のグラム数は0〜18.2gの範囲内であることが、砂糖は100gあたりナトリウムが0gであるから、600÷(0÷100)は計算不可、つまり醤油のg数が問われないことが、それぞれわかる。
範囲に最大量が存在する理由は、例えば牛肉が1154gであると仮定すると、1154[g]×(52[g]÷100[g])=600.08[g]、つまり他の食品が0gであったとしても指定したナトリウムの量を超過するため（他の食品も同様）である。
【００５７】
（１３−３）
前述した計算結果（８−３、９−３、１０−３、１１−３、１２−３）を同時に満たすグラム数の範囲は、牛肉は0〜243.2g、ジャガイモは0〜2203g、しらたきは100gあたり0〜14467g、玉ねぎは100gあたり0〜1641g、醤油は100gあたり0〜18.2g、砂糖は100gあたり0〜434g、の範囲内であることがわかる。
【００５８】
（１４−１）
情報処理装置は、
前述した通り（８−１）に、甲に含まれる乙の量の範囲を求めたのち、
前記甲に含ませたい丙の種類・数を満たす甲がいかなる数値であるのかを計算する。
ただし、前記（甲に含まれる乙の量の範囲）であって、例えばユーザによる値の指定を受け付けて、該指定に従ったとき、丙の種類ならびに数量を計算し、該計算結果が、前記（甲に含ませたい丙の種類・数）とどれだけの差異があるのかを例えばユーザに知らせるものであってもよい。
【００５９】
（１４−２）
前記（１４−１）甲は料理、前記（１４−１）乙は食品、前記（１４−１）丙は栄養素である場合を例示する。
情報処理装置は、
前述した通り（８−２）に、料理に含まれる食品の量の範囲を求めたのち、
前記料理に含ませたい栄養素の種類・数を満たす甲がいかなる数値であるのかを計算する。ただし、前記（料理に含まれる食品の量の範囲）であって、例えばユーザによる値の指定を受け付けて、該指定に従ったとき、栄養素の種類ならびに数量を計算し、該計算結果が、前記（料理に含ませたい栄養素の種類・数）とどれだけの差異があるのかを例えばユーザに知らせるものであってもよい。
【００６０】
（１４−３）
前記（１３−３）食品によって構成される料理が前記（７−３）指定の通り、またはそれに近い栄養素の種類ならびに量となる
前記（１３−３）食品の量を計算する場合を一例として（１５−３）に例示する。
【００６１】
（１５−２）
仮に、乙に甲を乙とみなすものが存在する場合は、その乙（実際には甲）の数量の倍数に限って計算する。
例えば、1個220gの「甲2個」を、1個の乙とみなしたものが乙に存在する場合は、その乙（実際には甲）に限っては、グラム数が440の倍数であるものに限って計算するとか、その乙（実際には甲）に含まれる丙の量を除外した量を、前記（５−２）指定した量から減算した量であるとして、その乙（実際には甲）を除いた乙の量を決定する等してもよい。
上記以外の場合は、所定の条件を満たす数値（例えばグラム数が1の倍数であるとか、10の倍数であるとか、が考えられるが、これに限られない）をあてはめて計算し、少なくとも、前記（６−２）条件をできるだけ満たすグラム数の組み合わせを、情報処理装置に記憶する。
その記憶内容が、前記（６−２）条件に近いもの（例えば、最も近いもの1種類）を、計算結果として出力する。
【００６２】
（１５−３）
前記（１５−２）甲が料理、前記（１５−２）乙が食品である場合を例に例示する。
仮に前記（１３−３）に、料理を食品とみなすものが存在する場合は、その料理のグラム数の倍数に限って計算する。
たとえば、1個220ｇの「牛皿2個」を1個の食品とみなしたものが前記（１３−３）に存在する場合は、その食品（実際には料理）に限っては、グラム数が４４０の倍数であるものに限って計算とか、その食品（実際には料理）に含まれる栄養素の量を除外した量を、前記（５−２）指定した量から減算した量であるとして、その食品（実際には料理）を除いた料理の量を決定する等してもよい。
たとえば、牛肉、ジャガイモ、玉ねぎ、しらたき、醤油、砂糖、スパゲティという食品の量を求めるときであって、
栄養素の量が、エネルギー量が2673kcal、たんぱく質86〜133g、脂質59〜89g、炭水化物334〜434g、ナトリウム600mg以下になるように前記食品（牛肉、ジャガイモ、玉ねぎ、しらたき、醤油、砂糖、スパゲティ）の量を求めたいときであって、
前記食品であるスパゲティが料理であって、含まれる栄養素が、エネルギー量1000kcal、たんぱく質20〜23g、脂質10〜12g、炭水化物220〜250g、ナトリウム300〜320mgであるならば、前記料理（スパゲティ）に含まれる栄養素を、前記栄養素の指定量（エネルギー量が2673kcal、たんぱく質86〜133g、脂質59〜89g、炭水化物334〜434g、ナトリウム600mg以下）から減算、つまり、エネルギー量1673kcal、たんぱく質66〜110g、脂質49〜77g、炭水化物114〜184g、ナトリウム280mg以下になるように、前記食品であって料理でないもの（牛肉、ジャガイモ、玉ねぎ、しらたき、醤油、砂糖）の量を求めることとしてもよい。
上記（実際には料理であるが食品とみなされる食品）以外の食品は、所定の条件を満たす数値（例えばグラム数が1の倍数であるとか、10の倍数であるとか、が考えられるが、これに限られない）をあてはめて計算し、前記（７−３）条件をできるだけ満たす、前記（１３−３）グラム数の組み合わせ存在した場合、少なくとも、前記（前記（１３−３）グラム数の組み合わせ）を情報処理装置が記憶する。また、前記所定の条件は、食品の種類や最大量など、条件によって変更される（例えば、最大量１００ｇ以下に限り1の倍数であるとか）ものであってもよい。
その記憶内容が、前記（７−３）条件に近いもの（少なくとも、最も近いもの1種類）を、計算結果として出力する。
【００６３】
（１６−３）
前記（１３−３、１４−３）食品によって前記（７−３）指定通り、もしくはそれに近いグラム数がいかなる数値であるかを計算する方法の一例を説明する。この説明では、料理のグラム数はすべて10の倍数（ただし、最大量が１００ｇ以下であるものは1の倍数）として計算するが、これ以外の計算であってもよい。
この計算では、牛肉のグラム数が前記（１３−３）の範囲内かつ10の倍数であるグラム数、つまり０ｇ〜２４０ｇの間を１０ｇ区切りで計算するステップＡ、ステップＡの一部として、ジャガイモのグラム数が前記（１３−３）の範囲内かつ10の倍数であるグラム数、つまり０ｇ〜２２００ｇの間を１０ｇ区切りで計算するステップＢ、ステップＢの一部として、しらたきのグラム数が前記（１３−３）の範囲内かつ10の倍数であるグラム数、つまり０ｇ〜１４４６０ｇの間を１０ｇ区切りで計算するステップＣ、ステップＣの一部として、玉ねぎのグラム数が前記（１３−３）の範囲内かつ10の倍数であるグラム数、つまり０ｇ〜１６４０ｇの間を１０ｇ区切りで計算するステップＤ、ステップＤの一部として、醤油のグラム数が前記（１３−３）の範囲内かつ1の倍数であるグラム数、つまり０ｇ〜１８ｇの間を１ｇ区切りで計算するステップＥ、ステップＥの一部として、砂糖のグラム数が前記（１３−３）の範囲内かつ10の倍数であるグラム数、つまり０ｇ〜４３０ｇの間を１０ｇ区切りで計算するステップＥ、からなる。
この例示は上記の条件である場合の例示であるから、食品の数が異なる場合など、ステップ数がＡ〜Ｅの5個以外になる場合があることは言うまでもない。
【００６４】
（１７−３）
ただし、この計算では、前記指定（７−３）を満たさないことが明白である値、例えば、すべての食品のグラム数が０であるなどを計算対象から除外することとしてもよい。
【００６５】
（１８−３）
前記（１６−３）計算では、牛肉のグラム数は、０ｇ〜２４０ｇの間を１０ｇ区切り、つまり25通りの計算、ジャガイモのグラム数は、０ｇ〜２２０ｇの間を１０ｇ区切り、つまり23通りの計算、しらたきのグラム数は、０ｇ〜１４４６０ｇの間を10ｇ区切り、つまり1447通りの計算、玉ねぎのグラム数は、０ｇ〜１６４０ｇの間を10ｇ区切り、つまり165通りの計算、醤油のグラム数は、０ｇ〜１８ｇの間を１ｇ区切り、つまり19通りの計算、砂糖のグラム数は、０ｇ〜４３０ｇの間を１０ｇ区切り、つまり44通りの計算、をする（25×23×1447×165×19×44通り）ことになるが、実際には栄養素のいずれかが前記（５−３）を超過することが明白な場合は計算を省略することによって、これより少ない回数の計算とすることが出来る。
なお、前記食品（牛肉、ジャガイモ、しらたき、玉ねぎ、醤油、砂糖）一定量あたりに含まれる栄養素の種類ならびに量は、前記（６−３）の通りである。
【００６６】
（１９−３）
情報処理装置は、前記（１８−３）に示した量の食品が存在する場合の栄養素の量を計算し、
適切な前記食品の組み合わせ、例えば前記（５−３）に近い、前記食品の量の組み合わせを計算結果として出力する。
ただし、前記計算では、ユーザによって指定された数量（例えば、前記（１８−３）に示された食品の例では、牛肉40g、ジャガイモ20g、しらたき30g、玉ねぎ20g、醤油5g、砂糖10g）における、栄養素の数量を情報処理装置が計算し、計算結果が、前記料理に含めたい栄養素の種類ならびに数量と比較してどれだけの差があるかの計算結果（例えば百分率）を、例えば出力部である画面に表示するものであってもよい。
【００６７】
ＣＰＵ１１は、例えば出力部１５に入力部１４を使用した入力を受け付ける画面を表示させるとか、記憶部１２に記憶された情報を読み込むとか、ドライブ部１７に記憶媒体１０に記憶された情報を読み込ませるとか、通信部１６に、例えば他の情報処理装置から情報を読み込ませるなどの方法によって、甲に含めたい乙（乙を指定すべきときに甲が指定されたときは、前記甲を構成する乙の種類ならびに数量）の種類、一定量の乙に含まれる丙の種類ならびに数量、甲に含めたい丙の種類ならびに数量といった、計算に必要な情報を収集するステップ（Ｓ２０１）、ステップＳ２０１によって収集されたデータを例えばＲＡＭ１３に記憶させるステップ（Ｓ２０２）、プログラム１２Ｐに基づいて、ステップＳ２０２によって記憶された内容をもとに、前記甲に含めたい丙の種類ならびに数量を計算するステップ（Ｓ２０３）、ステップ２Ｓ２０３による計算の結果を、例えば液晶ディスプレイである出力部１５の画面に表示させるとか、スピーカーである出力部１５に聴覚によって認識できる方式によって出力させるとか、プリンタである出力部１５にプリントアウトさせるなどの出力部１５に出力させるステップ（Ｓ２０４）を実行し、処理を終了する。ステップＳ２０３における計算の内容は、実施の形態1に開示した通りである。
上記の説明は、甲を料理、乙を食品、丙を栄養素と読み替えることができる。
【００６８】
＜実施の形態２＞
本実施の形態では、甲に含めたい乙をの種類を指定する情報（以下、乙情報という）、甲に含めたい丙の種類ならびに数量を指定する情報（以下、丙情報という）、乙の一定量に含まれる丙の種類ならびに量に関する情報（以下、乙丙情報という）、甲の一定量に含まれる乙または丙の種類ならびに数量に関する情報（以下、甲乙情報）を情報処理装置に記憶させ、前記情報処理装置は、乙情報に含まれる乙を、いかなる数量にすれば丙情報に合致する、またはそれに近い丙の種類ならびに数量になるかを計算する。
【００６９】
ただし、甲は一定量あたり0種類以上の乙を含むものであって、乙は一定量あたり0種類以上の丙を含むものである。
例えば、甲は料理、乙は食品、丙は栄養素であるとき、料理である肉じゃがは、食品である牛肉、しらたき、玉ねぎ、醤油、砂糖を含み、前記食品（牛肉、しらたき、玉ねぎ、醤油、砂糖）は一定量（例えば100g）あたり、所定の種類ならびに量の栄養素を含む。
【００７０】
図3は乙情報、図6は丙情報、図4は乙丙情報が、図5は甲乙情報がそれぞれ情報処理装置に記憶されたものを、表形式で示した一例。
ただし、乙情報、丙情報、乙丙情報、甲乙情報は、表形式でなければならないものではなく、他の形態、例えば、ある値を与えればある値が返る、つまりクラスと呼ばれる形態であってもよい。
【００７１】
本実施の形態は、情報処理装置が、乙情報、丙情報、乙丙情報、甲乙情報を収集する収集ステップ、
収集ステップによって収集された乙情報に甲が存在する場合、該甲に含まれる丙の種類ならびに数量を計算し、該計算結果を丙情報に存在する乙または丙の種類ならびに数量から減算する減算ステップ、
乙情報に存在する乙の数量であって、丙情報に存在する条件を満たしうる乙の数量であって、適切なものを列挙する列挙ステップ、
前記列挙ステップによって列挙された数量が、乙情報に存在する乙の数量であると仮定して乙情報に存在する乙に含まれる丙の種類ならびに数量を計算し、該計算結果から丙情報に存在する条件を満たす、またはそれに近い乙の数量を特定する計算ステップ、
から構成される。
【００７２】
収集ステップでは、例えば入力部により入力された内容、外部媒体に記録された内容、通信網を経由し他の情報処理装置に記憶された情報をダウンロードする、などの手段の一部または全部を用いて、情報処理装置が必要とする乙情報、丙情報、乙丙情報、甲乙情報を情報処理装置が収集し、該収集された情報を、情報処理装置に存在する記憶部に記憶する。
【００７３】
減算ステップでは、前記収集ステップにより収集された乙情報に甲が含まれる場合、該甲に含まれる丙の種類ならびに数量を算出し、該算出結果を、前記収集ステップによって収集された丙情報に存在する丙の種類ならびに数量から減算したものを、新しい丙情報として、情報処理装置に存在する記憶部に記憶する。
【００７４】
例えば、乙情報に乙または甲の種類として、A、B、C、Dが指定され（図７参照）、
該Dは甲であって、
該Dは1個あたり20〜50mgの丙E、10〜30mgの丙F、1〜1個の甲Gにより構成される旨と、
該Gは1個あたり10〜20mgの丙Eから構成される旨が記憶され（図８参照）、
丙情報では丙Eの数量を200〜400mgにしたい旨が記憶されているとする（図１０における表１００２参照）。
【００７５】
図９を参照し、減算ステップにおける情報処理装置が実行する処理を説明する。表９０１は、図７の再掲である。表９０２は、表９０１に存在する甲を、該甲を構成する乙の種類ならびに数量に置き換えたものである。表９０３は、表９０２に存在する甲を、該甲を構成する乙の種類ならびに数量に置き換えたものである。表９０４は、表９０３に存在する乙を、種類ごとに合計したものである。情報処理装置は、甲を構成する甲または乙の種類ならびに量が記憶されている（図８を参照）ため、前記計算によって、甲であるＤを構成する乙の種類ならびに数量が特定される。
前記Dに存在する前記Gが1個とは、丙Eが10〜20mgに置き換えられるため、前記Dは1個あたり、前記丙Eが20〜50mg、前記丙Fが10〜30mg、前記丙Eが10〜20mgから構成される、
つまり、前記Dは、前記丙Eが30〜70mg、前記丙Fが10〜20mgから構成されるため（図９参照）、
前記丙情報から、前記Dを構成する丙の種類ならびに情報を減算する、
すなわち、前記丙情報では丙Eの数量を200〜400mgにしたいとあるところ、前記減算によって、前記丙情報における丙Eの数量を170〜330mgとする（図１０参照）。
【００７６】
図１０を参照し、減算ステップにおける情報処理装置が実行する処理を説明する。図１０では、丙情報では、Ｅの数量を200〜400mgにしたい旨が記録され、乙情報はＡ、Ｂ、Ｃ、Ｄが指定され、そのうちＤが甲であって、該Ｄを構成する丙の種類ならびに量は、Ｆが１０〜３０ｍｇ、Ｅが３０〜７０ｍである場合を図示している。丙情報に指定された数量（Ｅが２００〜４００ｍｇ）から、前記Ｄを構成する丙の種類ならびに量（Ｅが３０〜７０ｍｇ）を減算し、Ｅの数量を１７０〜３３０ｍｇとしたい旨を丙情報とする。
つまり、減算ステップ終了後は、前記乙であるA、B、Cの数量は、前記丙の数量が、170〜330mg、またはこれに近い数値になるように求めることになる。
【００７７】
列挙ステップでは、丙情報ならびに乙丙情報を参照し、乙情報に存在する乙の数量であって、丙情報に存在する条件を満たしうる値を列挙し、該列挙された値を情報処理装置に存在する記憶部に記憶する。
【００７８】
例えば、Hという乙が存在し、前記Hに含まれるJという丙は、前記Hが100gあたり20mgである旨が乙丙情報に記憶され、丙情報では前記Jの量を60mg以下としたい旨が記録されているとする。このとき、前記Hの数量が300gを超える場合、前記Hに含まれる前記Jの数量が60mgを超えるため、乙情報に存在する乙である前記Hの数量であって丙情報に存在する条件を満たしうる数量は、
60÷（20÷100）=300
という数式によって、300g以下である旨が特定される。該数式における60とは丙情報に記録された前記Jの数量の上限、数式20÷100とは、前記Hに含まれる前記Jは、前記Hが100gあたり20mgであるから、前記Hに含まれる前記Jは、前記Hが1gあたりいくらかを求める数式。
【００７９】
最大値は上記の方法で求めるが、乙情報に存在する乙の数量であって、丙情報に存在する条件を満たしうる値は最大値以外にも無数に考えられることがほとんどである。計算の便宜上、一定の規則、例えば、0以上最大値以下の値であって、最大値が100以上ならば10の倍数、最大値が100未満ならば1の倍数であるものを列挙するなどの規則により定めた値を列挙する。
【００８０】
すなわち、情報処理装置が、乙である前記Jの数量が300g以下であると判断したならば、列挙される値は、0、10、（この間10の倍数）、290、300である。
【００８１】
計算ステップでは、列挙ステップによって列挙された数量を乙の数量であるとして計算し、丙情報に存在する条件を満たすまたはこれに近い計算結果を選択し、該選択結果を、本形態における計算結果とするステップである。該計算結果は、例えば記憶部や外部媒体に記憶するとか、出力部に表示するなどされる。
【００８２】
これより、情報処理装置における本実施の形態における動作の一例を例示する。なお、この例示では、甲は料理、乙は食品、丙は栄養素を意味する。
【００８３】
収集ステップにて、丙情報、乙情報、乙丙情報、甲乙情報を情報処理装置が収集する方法を説明する。図１１は、収集ステップを実行するにあたり、出力部に表示することにより入力部を介した操作を情報処理装置が受け付ける画面の一例。
【００８４】
乙情報を情報処理装置が収集する方法の一例として、表１１０１をユーザがクリックして表示される選択肢から入力したい甲または乙の種類を指定し、該表１１０１に入力したい甲または乙の種類を表示させ、情報処理装置は、該表１１０１に表示された内容を読み取ることによって乙情報を取得する形態が考えられる。
【００８５】
図１２は、入力したいものが甲であるか乙であるかを選択する画面の一例。選択部１２０１から甲を入力したいか乙を入力したいかを選択し、ボタン１２０２を押下することによって、乙を指定した場合は図１３、甲を指定した場合は図１４を表示する。
【００８６】
図１３は、図１２にて乙を指定した場合に、入力する乙の種類を選択する画面の一例。選択部１３０１から入力したい乙を選択し、ボタン１３０２を押下して入力したい乙を確定する。
【００８７】
図１４は、図１２にて甲を指定した場合に、入力する甲の種類を選択する画面の一例。選択部１４０１から入力したい甲を選択し、ボタン１４０２を押下して入力したい甲を確定する。
【００８８】
図１５は、図１１に示す画面に、乙情報を入力した場合の一例。
乙情報を情報処理装置が収集する方法の一例は、図１５における表１５０５（上から、醤油、牛肉、玉ねぎ、しらたき、砂糖、スパゲティを意味する情報が表示されている。該表１５０５は、例えばセルをクリックすれば入力内容の全文が表示されるなどの手段により、何が入力されているかをユーザが把握できるようにしてある）に表示された情報、つまり、醤油、牛肉、玉ねぎ、しらたき、砂糖、スパゲティ、を、情報処理装置は乙情報として収集する。
このとき、同一の甲が複数個指定されている場合は、その数だけ乙情報に含める（例えば、スパゲティが甲である場合にて、玉ねぎ、スパゲティ2個の場合は、乙情報を、玉ねぎ、スパゲティ、スパゲティとする）とか、同一の甲の個数の最小値と最大値が異なる場合はエラーとして計算を中止するとか、該表１５０５に入力された内容をそのまま使うものでない形態であってもよい。
【００８９】
丙情報を情報処理装置が収集する手段の一例は、選択部１１０２に入力すべき内容（例えば性別や年代など）を入力し、ボタン１１０４をクリックすることにより、情報処理装置は所定の計算を行い、情報処理装置に記憶されるべき丙情報を決定し、表１１０５に表示する。
【００９０】
例えば、前記選択部１１０２における属性に「だん性」（「男性」と表記してもよい）、年代に「３０」が入力ないし指定された状態で前記ボタン１１０４がクリックされたとき、情報処理装置は、所定の計算（例えば、記憶部１２に格納されたプログラム１２Ｐに基づいて、ＣＰＵ１１が行う計算。ＣＰＵ１１が行う計算は、情報処理装置の内部または外部から必要な情報を取得する過程が伴っていてもよい）によって、丙情報は一定の値（例えば、エネルギー量２６７３．２ｋｃａｌ（キロカロリー）、たんぱく質が８６．８〜１３３．７ｇ、脂質が５９．４〜８９．１ｇ、炭水化物が３３４．２〜４３４．４ｇ、ナトリウムが０〜６００ｍｇである旨）が特定され、該特定内容が表１１０５に表示される。また、該表１１０５は、ユーザによって数値を変更できる形態としてもよく、選択内容如何（例えば属性の選択内容）によって、その他の情報（例えば妊娠の有無）を入力できるものであって、該入力内容によって特定される丙情報が変化するものであってもよい。
【００９１】
ただし、前記入力に従って表１１０５の表示内容を変更するとか、画面１１０５に入力するとか、ボタン１１０３を押下して専門的な項目（図示しない）を表示し、該専門的な項目に入力された内容を表１１０５に反映する、などの方法によって入力されていてもよい。
【００９２】
乙丙情報、甲乙情報は、入力された乙情報、丙情報をもとに、情報処理装置にとって必要とされる情報を、CPU11がプログラム12Pに基づいて、種々の方法、例えば、記憶部から読み込む、外部媒体から読み書き部を経由して読み込む、通信網を経由して他の情報処理装置からダウンロードする、などの方法の一部または全部を使用して作成する。ただし、入力部から乙丙情報や甲乙情報を入力させることとしてもよい。
【００９３】
乙丙情報を作成する処理の具体例は、乙情報に存在する情報（本例示では、牛肉、しらたき、玉ねぎ、醤油、砂糖、スパゲティ）であって、情報処理装置が読み込むことのできる、甲を記録したデータベース（例えば、記憶部１２、外部媒体１０、通信網Ｎを介した他の情報処理装置の少なくともいずれかに記録されたデータベース）に存在するものを甲とみなしてその他を乙とみなすとか、情報処理装置が読み込むことのできるデータベース（例えば、記憶部１２、外部媒体１０、通信網Ｎを介した他の情報処理装置の少なくともいずれかに記録されたデータベース）であって乙を記録したデータベース（例えば、記憶部１２、外部媒体１０、通信網Ｎを介した他の情報処理装置の少なくともいずれかに記録されたデータベース）に存在するものを乙とみなしてその他を甲とみなすとか、種々の方法が考えられる。
【００９４】
また、甲が記録されたデータベースにも乙が記録されたデータベースにも存在しないものが乙情報に存在する場合（例えば、牛肉が、甲が記憶されたデータベースにも乙が記録されたデータベースにも存在しない）は、丙を0種類含む乙とみなすとか、乙を0種類含む甲とみなすとか、エラーとして計算を中止するとか、種々の方法が考えられる。
【００９５】
減算ステップを、情報処理装置が実施する処理の一例を例示する。本例示では、乙情報は、牛肉、しらたき、玉ねぎ、醤油、砂糖、スパゲティ、であって（図3の通り）、丙情報は、エネルギー量を2673kcal、たんぱく質を86.9〜133.7g、脂質を59.4〜89.1g、炭水化物を334.1〜434.1g、ナトリウムを0〜600mgとしたい旨が存在する（図6の通り）場合を例示する。
なお、甲乙情報、乙丙情報は、減算ステップ開始時点では取得されていなくてもよく、その場合（減算ステップに必要な甲乙情報、乙丙情報が不足している場合を含む）は、情報処理装置におけるCPU11は、記憶部あるいは外部媒体に記憶された情報あるいは通信網を経由して他の情報処理装置に記憶された内容から、甲乙情報あるいは乙丙情報として使用できる情報を取得し、該情報を甲乙情報あるいは乙丙情報として取り扱うとか、ダミーの甲乙情報あるいは乙丙情報（例えば、乙が0種類である甲とか、丙が0種類である乙を示す情報）を作成することとしてもよい。
【００９６】
図１６を参照しながら、情報処理装置が減算ステップを実行する手順を説明する。
【００９７】
表１６０１は、本例示に係る乙情報。
情報処理装置は、該乙情報に甲が存在する場合は、かかる甲を構成する丙の種類ならびに数量を計算する。
【００９８】
情報処理装置１は、乙情報に存在する甲がいずれであるかを決定する。その手段は、例えば、甲乙情報に存在するものを甲、それ以外を乙とみなす（甲乙情報、乙丙情報のいずれにも存在しない場合は、０種類の丙から構成される乙とみなす）手段、乙丙情報に存在するものを乙、それ以外を甲とみなす（甲乙情報、乙丙情報のいずれにも存在しない場合は、０種類の乙から構成される甲とみなす）手段などが考えられる。
【００９９】
ここでは、乙情報ならびに丙情報が作成され、甲乙情報が作成されていない状態で減算ステップを開始した状態であって、甲の一定量に含まれる乙の種類ならびに数量、ならびに、乙の一定量に含まれる丙の種類ならびに数量を記憶した情報を、情報処理装置が読み込むことのできる場合を例に説明する。情報処理装置は、前記情報に甲として記憶されているものを甲とみなし、それ以外を乙とみなす。
【０１００】
前述した方法以外にも、特定の文字で始まっているものを乙とみなすなど、種々の手段が考えられる。
【０１０１】
甲に含まれる丙の種類ならびに数量を計算する手順は、図9を参照して説明している部分を参照されたい。
【０１０２】
ここでは、スパゲティは甲であるから、該スパゲティを構成する乙が、スパゲティ麺２２５g、ほうれん草６０〜７０g、ベーコン１６〜２４g、ホイップクリーム９２〜９８g、である旨が特定され、これらの乙に含まれる栄養素の量は、例えば、エネルギー量８２０．９〜８７９．９kcal、たんぱく質９．４〜１１．１ｇ、脂質４１．８〜４７．１ｇ、炭水化物８６．３〜８７．５ｇ、ナトリウム３４７．６〜４２６．４ｇである旨が特定される。
【０１０３】
なお、本説明は、情報処理装置が読み込むことのできる情報によって上記の計算ができる場合を例示している。
それができない場合（例えば、スパゲティを構成する乙はスパゲティ麺である旨は記憶されているものの、スパゲティ麺を構成する丙の種類ならびに数量が記憶されていないなど）は、その旨を表示部に表示させてユーザに不足する情報の入力を求めるとか、その部分を乙が0種類である甲とみなす（例えば、スパゲティを構成する乙としてＡＡＡという甲が含まれている旨は記憶されているものの、ＡＡＡを構成する乙の種類ならびに数量が記憶されていないなど）とか、丙が0種類である乙とみなすとか、エラーとして計算を中止するとか、種々の方法の一部または全部をとる形態が考えられる。
【０１０４】
表1602は、乙情報に存在する甲に含まれる丙の種類ならびに数量を示した表。
本例示では、前記スパゲティに含まれる栄養素の種類ならびに数量が示されている。
【０１０５】
情報処理装置は、乙情報に存在する甲に含まれる丙の種類ならびに数量を合計する。その計算結果は、表1603に示した通りである。
本例示では、乙情報（牛肉、しらたき、玉ねぎ、醤油、砂糖、スパゲティ）に含まれる甲（スパゲティ）に含まれる丙の種類ならびに数量は、表1602に示した通り、エネルギー量８２０．９〜８７９．９kcal、たんぱく質９．４〜１１．１ｇ、脂質４１．８〜４７．１ｇ、炭水化物８６．３〜８７．５ｇ、ナトリウム３４７．６〜４２６．４ｇである。
【０１０６】
図１６０２において、しらたき、砂糖、玉ねぎ、牛肉、醤油の丙（栄養素）の種類ならびに数量が空欄であるのは、この時点では、前記乙（、しらたき、砂糖、玉ねぎ、牛肉、醤油）の数量が未定、つまり、前記乙（しらたき、砂糖、玉ねぎ、牛肉、醤油）に含まれる丙の種類ならびに量が特定できないためである。
【０１０７】
本例示では、乙情報に存在する甲が1個である場合を例示しているが、甲が0個、あるいは複数個である場合であっても、同様の処理により、乙情報に存在する甲を構成する丙の種類ならびに数量が特定できることは言うまでもない。
【０１０８】
情報処理装置は、丙情報に存在する丙の種類ならびに数量から、乙情報に含まれる甲を構成する丙の種類ならびに数量を減算する。その手順を図17を参照しながら説明する。
【０１０９】
図17における表1701は、丙情報の一例（図６の再掲）。表1702は、図6における1603の再掲。表1703は、丙情報に存在する丙の種類ならびに数量から、乙情報に存在する甲を構成する丙の種類ならびに数量を減算した計算結果（図１６における表１６０３の再掲）。
すなわち、丙情報に存在するたんぱく質は８６．９〜１３３．７ｇであって、乙情報に存在する甲を構成するたんぱく質の数量は９．４〜１１．１ｇであるから、前者の最大値から後者の最大値を減算し0以下ならば0とし、前者の最小値から後者の最小値を減算し0以下ならば0とする計算を行う（最小値が最大値を超えた場合は最小値と最大値を入れ替える）。他の丙も同様。計算結果は、表１７０３の通り。
【０１１０】
前述した計算は一例にすぎない。前述しない計算をする（例えば減算結果を四捨五入するなど）形態としてもよい。
【０１１１】
列挙ステップを情報処理装置が実行する手順を説明する。
【０１１２】
本例示では。乙情報が、しらたき、砂糖、玉ねぎ、牛肉、醤油、である場合（図１７における表１７０１の通り）であって、丙情報が、エネルギーが１７９３．３〜１８５２．３ｋｃａｌ、たんぱく質が７７．５〜１２２．６ｇ、脂質が１７．６〜４２．０ｇ、炭水化物が２４７．８〜３４６．９ｇ、ナトリウムが０〜１７３．６ｍｇとしたい旨が存在する場合（図１７における表１７０３の通り）を例に例示する。
【０１１３】
なお、甲乙情報、乙丙情報は、列挙ステップ開始時点では取得されていなくてもよく、その場合（列挙ステップに必要な甲乙情報、乙丙情報が不足している場合を含む）は、情報処理装置におけるCPU11は、記憶部あるいは外部媒体に記憶された情報あるいは通信網を経由して他の情報処理装置に記憶された内容から、乙丙情報として使用できる情報を取得し、該情報を乙丙情報として取り扱うとか、ダミーの乙丙情報（例えば、丙が0種類である乙を示す情報）を作成することとしてもよい。
【０１１４】
図１８における表１８０１は、乙情報に存在する乙の、１ｇあたりの丙の種類ならびに数量（乙丙情報）の一例。表１８０２は、
図１８における表１８０１は、列挙ステップ開始時点で存在している、または、列挙ステップにて作成された乙丙情報、つまり、列挙ステップ開始時点で存在している乙の１ｇごとに含まれる丙の種類ならびに数量を示す表である。表１８０２は、列挙ステップ開始時における丙情報の一例。表１７０３の再掲。
【０１１５】
列挙ステップでは、おのおのの乙における丙の量が、丙情報に記憶された条件を満たすことがある最大の数値を求める。
【０１１６】
例えば、乙であるしらたきは、丙であるエネルギーが、しらたき１ｇあたり０．０６ｋｃａｌであるから、丙情報に記憶された通りにエネルギー量１８５２．３ｇ以下とするためには、前記しらたきの数量は、１８５２．３÷０．０６≒３０８７１．３であるため、０〜３０８７１．３ｇの間であることがわかる。（仮にしらたきの数量が３０８７２ｇであると仮定すると、０．０６×３０８０２＝１８５２．３２であるため、他の乙の数量を０ｇにしたとしても、丙情報に指定されたエネルギーの総量を超過する。）
【０１１７】
表１８０３は、前記計算をした結果を示した図表（下限をすべて０とした場合を例示しているため、上限のみ記載）。例えば、表１８０３の「玉ねぎ」がある行の「脂質」がある列は、「４２０００」とあるが、これが意味するところは、乙である前記玉ねぎの１ｇ当たりの丙である脂質の数量は０．００１ｇであるから、表１８０２の通り、つまり、脂質の数量を４２．０ｇ以下にするには、４２÷０．００１＝４２０００であるため、前記玉ねぎの数量を４２０００ｇ以下にしなければならないことを意味する。
【０１１８】
情報処理装置は、前記計算によって特定した、乙の種類ごとの数量の範囲を同時に満たす数量の範囲を特定する。
【０１１９】
例えば、前記計算の結果（表１８０３を参照）によると、しらたきの数量は、３０８７１．７ｇ以下かつ６１３００ｇ以下かつ８４００００ｇ以下かつ１１５６３．３ｇ以下かつ１７３６ｇ以下にすべき旨が算出されているため、これらの条件を同時に満たす数値は、（最も小さい数値である）１７３６ｇ以下のときである旨が情報処理装置によって特定される。
【０１２０】
他の乙の数量も、同様に特定され、該特定内容は表１８０４に示した通りである。
【０１２１】
すなわち、しらたきの数量が０〜１７３６ｇ、砂糖の数量が０〜３４９．７ｇ、玉ねぎの数量が０〜４７５２．１ｇ、牛肉の数量が０〜１２７．７ｇ、醤油の数量が０〜５．３ｇであるとき、丙情報に記憶された条件を満たす場合があることがわかる。しかし、前記範囲を同時に示す数量は無数にあるため、前記数量を満たす数値の組み合わせを、情報処理装置はいくつか列挙する必要がある。
【０１２２】
本例示では、前記列挙は、０ｇ以上であって、前記条件の最大値が１００ｇ以上であるときは１０の倍数、それ以外の場合は１の倍数であって、前記条件の最大値以下である値を列挙する場合を例示する。これ以外のルールによって列挙すべき値を決定するものであってもかまわない。
【０１２３】
前記ルールによって列挙すべき値を決定するときは、例えば、醤油の数量が０〜５．３ｇであるときは、列挙する値は、０ｇ、１ｇ、２ｇ、３ｇ、４ｇ、５ｇとなる。列挙した値の範囲の一例は、図１８における表１８０５に記した通りである。
【０１２４】
計算ステップを情報処理装置が実施する手順を例示する。
【０１２５】
本例示では、乙情報ならびに該乙情報が示す乙の数量が、しらたき０〜１７０ｇを１０ｇ間隔、砂糖０〜３４０ｇを１０ｇ間隔、玉ねぎ０〜４７５０ｇを１０ｇ間隔、牛肉０〜１２０ｇを１０ｇ間隔、醤油０〜５０ｇを１ｇ間隔（図１８における表１８０５）であって、丙情報は丙情報が、エネルギーが１７９３．３〜１８５２．３ｋｃａｌ、たんぱく質が７７．５〜１２２．６ｇ、脂質が１７．６〜４２．０ｇ、炭水化物が２４７．８〜３４６．９ｇ、ナトリウムが０〜１７３．６ｍｇとしたい旨が存在する場合（図１７における表１７０３の通り）を例に例示する。
【０１２６】
計算ステップでは、例えば、前記（乙情報ならびに該乙情報が示す乙の数量）条件を満たし、かつ、前記（図１７における表１７０３の通り）丙情報を満たす、またはそれに近い数量となる乙の数量を求めることを目的とする。
【０１２７】
計算ステップを情報処理装置が開始するとき、乙丙情報を記憶していなくてもよい。その場合は、情報処理装置は、乙丙情報を取得または作成する。
【０１２８】
乙丙情報を作成する手順の一例は、前記（乙情報ならびに該乙情報が示す乙の数量）に存在する情報（本例示では、牛肉、しらたき、玉ねぎ、醤油、砂糖）であって、情報処理装置が読み込むことのできる、甲を記録したデータベース（例えば、記憶部１２、外部媒体１０、通信網Ｎを介した他の情報処理装置の少なくともいずれかに記録されたデータベース）に存在するものを甲とみなしてその他を乙とみなすとか、情報処理装置が読み込むことのできるデータベース（例えば、記憶部１２、外部媒体１０、通信網Ｎを介した他の情報処理装置の少なくともいずれかに記録されたデータベース）であって乙を記録したデータベース（例えば、記憶部１２、外部媒体１０、通信網Ｎを介した他の情報処理装置の少なくともいずれかに記録されたデータベース）に存在するものを乙とみなしてその他を甲とみなすとか、種々の方法が考えられる。
【０１２９】
図１９は、情報処理装置が計算ステップを実施する際に作成されるデータの一例。表１９０１は、計算ステップを実行するにあたり情報処理装置が作成した乙丙情報の一例を示す表。
【０１３０】
表１９０１は、乙の１ｇ当たりに含まれる丙の種類ならびに数量を示している。たとえば、「しらたき」の行における「エネルギー（ｋｃａｌ）」の列に記載された「０．０６」とは、しらたき１ｇに含まれるエネルギーの量は０．０６ｋｃａｌであることを表している、
図２０は、計算ステップにてユーザが乙の数量を指定する場合に出力部に表示される画面の一例を示す図。表２００１は、現在指定されている乙の種類ならびに数量、表２００２は、表２００１の通りに乙の種類ならびに数量が指定されている場合における丙の種類ならびに数量と、前記種類ならびに数量を丙情報と比較したときの割合を表示する。
【０１３１】
入力部２１０１は、数量を変更したい乙の種類を選択する部分で、入力部２１０２は、数量を変更したい乙の数量を変更する部分である。
【０１３２】
例えば、しらたきの数量を３０ｇ、他の乙の数量を０ｇとしたいときは、入力部２０１１のいずれかを「しらたき」と指定し、入力部２０１２は、表示部２００１に表示される数量が３０になるように入力する。（表２００１に入力する形態であってもよい）
【０１３３】
本例示では、最小値のみを指定する形態を示し、最大値は最小値と同じ値が入力されたものとみなして取り扱っている形態を示しているが、これ以外の形態、例えば、最小値・最大値をそれぞれ入力できるとか、最大値のみ入力できるとかであってもよい。
【０１３４】
図２１は、乙である「しらたき」の数量を３０ｇとした場合の画面の一例。
表２１０１は、現在指定されている乙の種類ならびに数量、表２１０２は、表２１０１の通りに乙の種類ならびに数量が指定されている場合における丙の種類ならびに数量と、前記種類ならびに数量を丙情報と比較したときの割合を表示する。
【０１３５】
入力部２１１１は、数量を変更したい乙の種類を選択する部分で、入力部２１１２は、数量を変更したい乙の数量を変更する部分である。（表２１０１に入力する形態であってもよい）
【０１３６】
表２１０２は、「内容量ＭＩＮ」「内容量ＭＡＸ」の列が、現在の指定内容、つまり、しらたき３０ｇで他の乙が０ｇである場合における丙の種類ならびに数量を示し、「充足率」の列が、丙情報に対する割合を示している。
【０１３７】
本例示では、丙情報では、エネルギー量が１７９３．３〜１８５２．３ｋｃａｌとしたい旨が指定されているが、しらたき３０ｇに含まれるエネルギーの量は１．８ｇであるため、1.8÷1793.3≒0.0010であるため、百分率に直し「0,100373472％」と表示される。
その他の丙も同様である。
【０１３８】
ユーザは、充足率が適切であると判断したとき、所定操作、たとえばＯＫボタン（図示しない）の押下によって、指定した乙の数量を確定する。
【０１３９】
本例示は、ユーザによって乙の数量が調整され、丙の数量を確認し、適切と判断される数量であるとき、所定操作によって乙の数量を確定する形態を例示した。しかし、ユーザ以外が前記処理の一部または全部、例えば情報処理装置がこれらの処理を実行するものであってもよい。
【０１４０】
図２２は、実施の形態２に係る情報処理装置が実行する処理の手順の一例を示すフローチャート。ＣＰＵ１１は、プログラム１２Ｐに基づいて以下の処理を実行する。ＣＰＵ１１は、乙情報ならびに丙情報を取得する収集ステップ（Ｓ２２０１）を実行する。丙情報からＳ２２０２にて取得された乙情報に含まれる甲に含まれる丙の種類ならびに数量を除外する減算ステップ（Ｓ２２０２）を実行する（乙情報に含まれる甲の種類ならびに数量は、本実施形態では変更されないことが意図されているため。本実施形態で変更されないことが意図されているものが乙に含まれる場合も同様）。乙情報に含まれる乙の数量であって、丙情報に記録された条件を満たす可能性がある乙の数量を決定する列挙ステップ（Ｓ２２０３）を実行する。丙情報に記録された条件を勘案して乙情報に含まれる乙の数量を決定する計算ステップ（Ｓ２２０４）を実行する。ＣＰＵ２１は、前記各ステップによって計算された値の一部または全部を出力部１５に出力して、処理を終了する。
【０１４１】
＜その他＞
本明細書に記された数値は、本来の数値を四捨五入などの丸めを行ったものである場合がある。そのため、「600-424.6=173.6」など、不正確な計算が記されているように読み取れる場合がある。
【０１４２】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。また、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１４３】
出力部１５（例えば液晶ディスプレイ）に表示された内容であって、その内容の全部を表示できないときは、図２０における入力部２１１１での「＜いも類＞こん」など、一部のみ表示されることがある、この場合は、例えば、当該箇所をクリックするなど、定められた操作をすることによってその全部が表示されることとしてもよい。
【図１】
2019091127.tif 000003
【図２】
2019091127.tif 000004
【図３】
2019091127.tif 000005
【図４】
2019091127.tif 000006
【図５】
2019091127.tif 000007
【図６】
2019091127.tif 000008
【図７】
2019091127.tif 000009
【図８】
2019091127.tif 000010
【図９】
2019091127.tif 000011
【図１０】
2019091127.tif 000012
【図１１】
2019091127.tif 000013
【図１２】
2019091127.tif 000014
【図１３】
2019091127.tif 000015
【図１４】
2019091127.tif 000016
【図１５】
2019091127.tif 000017
【図１６】
2019091127.tif 000018
【図１７】
2019091127.tif 000019
【図１８】
2019091127.tif 000020
【図１９】
2019091127.tif 000021
【図２０】
2019091127.tif 000022
【図２１】
2019091127.tif 000023
【図２２】
2019091127.tif 000024