質量パーセント組成から実験式を求める計算機
質量パーセントから、最も簡単な整数比の式が分かります。水素11.19 %、酸素88.81 %とそれぞれの原子量からH2Oが得られます。物質量や比、分数を消すために掛けた数も表示され、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
この実験式計算機は、各元素の質量パーセントと原子量を、実験式の最も単純な整数比の下付き数字に変換します。一般化学では、純物質中の各元素の質量パーセントを測定あるいは与えられ、それぞれを原子量で割って相対モル量に変換し、最小のモル量で全体を割り、残った分数を整数に整えて各下付き数字を小さな整数にする、という作業がよく行われます。教科書でおなじみの検算例には、水素と酸素がおよそ11%と89%でH2Oになるケースや、炭素・水素・酸素がおよそ40%、6.7%、53%でグルコースの実験式単位であるCH2Oになるケースがあります。本エンジンは完全に決定的で、ネットワーク通信も乱数サンプリングも日付依存の近道もありません。
質量パーセントから求める実験式と結果の見方
実験式は、実際の1分子中の原子数を数える分子式とは限らない、化合物中の各元素の原子数の最も単純な整数比を表します。
組成が質量パーセントで与えられている場合、標準的な手順では純粋な試料が100グラムあると仮定し、各質量パーセントをその元素のグラム数として扱い、各質量をその元素の原子量で割ってモル数を求め、最後に全モル値を最小のモル値で割って小さな整数に近い比を作ります。
ある比が明らかに2分の1や3分の1など単純な分数である場合は、すべての比にある小さな整数を掛けて各下付き数字がきれいな整数に丸まるようにし、その後に最大公約数で約分して式を最も簡単な形に保ちます。原子量のライブ参照表もなければ、確率的な丸めの競合もありません。
拒否されるケースには、元素リストの欠落、空の配列、非有限の質量パーセントや原子量、非正の質量パーセント、そしてゼロまたは非正の原子量が含まれます。原子量がゼロで割ることは未定義であり、物理的なモル量を生み出さないためです。既知の化学式から質量パーセントを求めたい場合は、専用の質量パーセント組成ツールを利用してください。
質量パーセント組成からの実験式が学習・実験・ソフトウェアのどこで使われるか
学生がこの計算に出会うのは、教科書が元素分析のパーセントを与えて分子量への換算の前に実験式を求めさせるとき、燃焼分析が炭素・水素・酸素の割合を報告するとき、あるいは同じ組成を持つ二つの試料が同じ最も単純な式を共有するかを確認するときです。
教員は、原子量を黙って変えたり比の丸め方が一貫しない不透明な電卓アプリを信用せずに、控えめな数の元素の組み合わせに対する解答例を事前に生成できます。実験助手や品質管理では、分析証明書に質量パーセントが記載され、理論的な実験式単位が別途記載された既知の塩や水和物の系列と照合しなければならないときに、同じ比の計算を利用します。
開発者は同じ契約をスクリプトから呼び出し、化学チューターアプリ用の決定的なテストベクトルを用意したり、実験ノート出力の前にユーザーが入力した組成表を正規化したり、手書きの概算ではなく整数の下付き数字を要求するプログラミング課題の条件を満たしたりします。応答が返った後、データは一切保存されません。
活用例
宿題とワークシートの解答例
教科書の質量パーセント表と原子量を、採点前にH2OやCH2Oのような実験式に変換します。
実験・チュータリングソフトウェア
対話式の授業や検算のために、ユーザーが入力した質量パーセント組成を最も単純な整数の下付き数字に正規化します。
よくある質問
質量パーセント組成から実験式を求める計算機の料金はいくらですか?
このページ上でブラウザから利用する分には無料です。不正な入力には課金されません。
質量パーセントから実験式の下付き数字はどのように定義されていますか?
すべてのモル量を最小の値で割り、その比を最も簡単な整数の下付き数字に拡大します。
原子量がゼロの場合はどうなりますか?
原子量がゼロだとモル計算がゼロ除算になってしまうため許可されません。
実験式は分子式と同じですか?
常に同じとは限りません。実験式は最も単純な整数比であり、分子式は真のモル質量が分かっている場合にその比を整数倍したものです。
元素のシンボルを指定する必要はありますか?
指定しない場合はE1、E2のようなプレースホルダーが順番に使われます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/empirical-from-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"elements":[{"symbol":"H","percent":11.19,"atomic_mass":1.008},{"symbol":"O","percent":88.81,"atomic_mass":15.999}]}'const res = await fetch("https://api.kit.forhosting.com/chem/empirical-from-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"elements": [
{
"symbol": "H",
"percent": 11.19,
"atomic_mass": 1.008
},
{
"symbol": "O",
"percent": 88.81,
"atomic_mass": 15.999
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/empirical-from-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"elements": [
{
"symbol": "H",
"percent": 11.19,
"atomic_mass": 1.008
},
{
"symbol": "O",
"percent": 88.81,
"atomic_mass": 15.999
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/empirical-from-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"elements":[{"symbol":"H","percent":11.19,"atomic_mass":1.008},{"symbol":"O","percent":88.81,"atomic_mass":15.999}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"elements":[{"symbol":"H","percent":11.19,"atomic_mass":1.008},{"symbol":"O","percent":88.81,"atomic_mass":15.999}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/empirical-from-percent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"elements": [
{
"symbol": "H",
"percent": 11.19,
"atomic_mass": 1.008
},
{
"symbol": "O",
"percent": 88.81,
"atomic_mass": 15.999
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.empirical_from_percent",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_elements | 40 |
max_abs | 1000000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
宿題や実験レポート、ワークシートの解答例にはこのページでブラウザから無料で利用できるほか、CIやチュータリングソフト、授業のデモで再現性のある実験式データが必要な場合は、成功したリクエストごとに$0.002でAPIを呼び出せます。
質量パーセント組成から求める実験式の意味と、レスポンスに含まれる内容
この計算機は、各元素についてシンボル、入力された質量パーセント、使用した原子量、モル数、正規化された比、最終的な整数の下付き数字を含むelements配列と、同じ順序のsubscripts配列、H2OやCH2Oのようなコンパクトなempirical_formula文字列、分数を解消するために使われた整数の倍率、最小モル量、使用した精度、メソッドタグempirical_from_percent、式の短い注記、定義文字列、単位のヒントを返します。使用する原子量は自分で指定し、演算は安定した整数で完結するか、リクエストを拒否するかのどちらかです。このページが答えるのは組成データからの実験式の下付き数字の算出のみであり、ワークシートや単体テスト、API利用者に適した出力を返します。
元素・パーセント・原子量の読み取り方と、下付き数字の再現性の保ち方
シンボルを省略した場合でも、E1やE2のようなプレースホルダーが、自動チェックに使える読みやすい式文字列を生成します。質量パーセントは有限かつ正でなければならず、原子量は有限かつ厳密にゼロより大きくなければなりません。計算では有限の除算のみを使い、決められた許容誤差の範囲内で分数比を解消する最小の整数倍率を有限回の探索で求め、その後に最大公約数で約分します。優先されるフィールドはelementsで、質量パーセントと原子量(グラム毎モル)を持つオブジェクトの配列であり、実験式の文字列を組み立てる際に使う任意のシンボルも含められます。別名としてcomposition、data、itemsが受け付けられるため、スプレッドシートやクエリ文字列、型付きフォームでも同じ契約をそのまま使い回せます。各オブジェクト内でpercentはmass_percent、pct、mass_pct、percentageとしても送信でき、atomic_massはA、atomicMass、molar_mass、mm、atomic_weightとしても送信できます。代わりに、percentsとatomic_massesという並列配列を、同じ長さの任意のsymbolsとともに送ることもでき、ノートブックが既に列を別々に保存している場合に便利です。原子量がゼロの場合は、フィールド名とともにinvalid_inputで拒否されます。自動化パイプラインの中で同一の数学的結果が必要になったら、このページの無料ブラウザ実行と有料APIを組み合わせ、実験式の算出手順を自分で再実装せずに済ませてください。
質量パーセント組成からの実験式が学習・実験・ソフトウェアのどこで使われるか
プロダクトや教育向けツールでは、学習者が質量パーセントと原子量を入力し、UIがモル数、比、コンパクトな式文字列を表示しなければならないときに、このエンドポイントが使われます。このページ上では処理はすべてブラウザ内で完結します。APIを通じた場合、成功した検索1件につき$0.002が課金され、検証に失敗した場合は課金されません。無料の対話的な確認と、それと同一の結果を返す有料APIという分業は、KITのtier-Aカタログの他のツールと同じであり、教室のデモから自動化パイプラインへ、数学的な結果を変えることなく移行できます。関連する量が必要な場合は質量パーセント組成やモル質量ツールと、無料で決定的な化学計算機からなる小さな実験室を構築する際は他の科学系エンドポイントと組み合わせて利用してください。
連携の活用例
決定的なテストフィクスチャ
単体テスト、チューターアプリ、CIのために、再現性のあるモル数・比・下付き数字・empirical_formula文字列を生成します。