質量から実験式を計算
量った元素の質量とワークシートの原子量から実験式が分かります。炭素40 g、水素6.7 g、酸素53.3 gならCH2Oです。物質量から比までの各段階もすべて表示され、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
実験式とは、化合物中の原子の最も簡単な整数比であり、実験室での古典的な求め方は、各元素の測定された質量と、与えられたまたは調べた原子量から始まります。各質量をその原子量で割ってモルを求め、そのモルを最小のモル量で割り、次に小数を整数の添字にする最小の整数を掛けます。
質量から実験式を求める手順
実験式は、化合物に含まれる原子の数を最も簡単な整数比で表したものです。量った各元素の質量を、問題で与えられた原子量で割ると物質量が求まります。次に、すべての物質量をいちばん小さい値で割って比をそろえ、小数が残る場合は小数が消える最小の整数を掛けて、整数の添え字にします。たとえば炭素40 g、水素6.7 g、酸素53.3 gでは比がほぼ1対2対1となり、実験式はCH2Oになります。
原子量を自分で選べる理由と注意点
この計算機には周期表が組み込まれておらず、原子量は入力した値をそのまま使います。そのため、教科書の小数2桁の表でも、小数4桁の標準原子量でも、発展問題の同位体の質量でも、手元のワークシートと同じ値で検算できます。原子量を0のままにすると0で割ることになるため、計算ははっきりしたエラーで止まります。質量は0以上で、少なくとも1つは正の値が必要です。
入力:質量、原子量、およびモル比の求め方
質量は非負である必要があります。試料が空にならないよう、少なくとも1つの質量は正でなければなりません。原子量は厳密にゼロより大きい必要があります。
各項目のモルは質量を原子量で割った値に等しくなります。ネットワーク、乱数シード、壁時計のない純粋な算術であるため、同一の入力は常に同一の出力を生成します。Worker アイソレートの安全性を保つため、リストの元素数は適度に抑えてください。
それでも、教室での多元素の例や、学生が重量分析から手入力する研究スタイルの組成表のほとんどをカバーできます。
活用例
宿題と実験レポートの確認
学生は、測定した元素の質量とワークシートの原子量を入力し、モル比と実験式の文字列を比較し、原子量がゼロのままの場合は明確なエラーを確認できます。
よくある質問
原子量がゼロの場合はどうなりますか?
モルは質量を原子量で割った値に等しいため、原子量はゼロより大きい必要があります。ゼロは拒否され、課金されません。
周期表の内蔵は必要ですか?
いいえ。 原子量はお客様が指定するため、教科書の表、実験シート、同位体質量のいずれも、固定カタログなしで使用できます。
質量からの実験式計算機は無料ですか?
ブラウザツールはお客様のデバイス上で無料で動作します。検証失敗は課金されません。
どの原子量を使えばよいですか?
ワークシートや教科書に載っている値を使うと、答えが解答と一致します。原子量はご自身で入力するので、小数2桁の表、小数4桁の標準原子量、発展問題の同位体の質量のどれでも使えます。
質量がすべて0のときはどうなりますか?
試料が空になるため、実験式は求められません。少なくとも1つの質量は正の値である必要があり、負の質量も実際の秤量に当たらないので受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/empirical-from-masses \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"elements":[{"symbol":"C","mass":40,"atomic_mass":12.011},{"symbol":"H","mass":6.7,"atomic_mass":1.008},{"symbol":"O","mass":53.3,"atomic_mass":15.999}]}'const res = await fetch("https://api.kit.forhosting.com/chem/empirical-from-masses", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"elements": [
{
"symbol": "C",
"mass": 40,
"atomic_mass": 12.011
},
{
"symbol": "H",
"mass": 6.7,
"atomic_mass": 1.008
},
{
"symbol": "O",
"mass": 53.3,
"atomic_mass": 15.999
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/empirical-from-masses",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"elements": [
{
"symbol": "C",
"mass": 40,
"atomic_mass": 12.011
},
{
"symbol": "H",
"mass": 6.7,
"atomic_mass": 1.008
},
{
"symbol": "O",
"mass": 53.3,
"atomic_mass": 15.999
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/empirical-from-masses", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"elements":[{"symbol":"C","mass":40,"atomic_mass":12.011},{"symbol":"H","mass":6.7,"atomic_mass":1.008},{"symbol":"O","mass":53.3,"atomic_mass":15.999}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"elements":[{"symbol":"C","mass":40,"atomic_mass":12.011},{"symbol":"H","mass":6.7,"atomic_mass":1.008},{"symbol":"O","mass":53.3,"atomic_mass":15.999}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/empirical-from-masses", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"elements": [
{
"symbol": "C",
"mass": 40,
"atomic_mass": 12.011
},
{
"symbol": "H",
"mass": 6.7,
"atomic_mass": 1.008
},
{
"symbol": "O",
"mass": 53.3,
"atomic_mass": 15.999
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.empirical_from_masses",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
この機能は、周期表を内蔵せず、お客様の数値だけからその計算を決定的に行うため、宿題、実験レポート、教育パイプラインで教科書の原子量や実験的な相対質量を使い、テストで JSON 出力を固定できます。原子量がゼロの場合は、ゼロ除算ではモルが定義されないため、invalid_input として拒否されます。
入力:質量、原子量、およびモル比の求め方
各オブジェクトが有限の数値として mass と atomic_mass を持ち、式の文字列用のオプションの symbol またはラベルを持つ elements 配列を送信してください。原子量がゼロの場合は invalid_input で失敗し、課金されません。これは、ゼロ除算が Infinity や NaN に暗黙に置き換えられないという製品の約束に沿ったものです。同じ長さの並列配列 masses と atomic_masses を、表示ラベル用のオプションの symbols とともに送信することもできます。エンジンは最小の正のモル量を見つけ、すべてのモル値をその最小値で割ってモル比を作成し、再現可能な JSON のために安定した丸めでその比を記録します。
応答における式、個数、比、乗数の読み方
成功すると、応答には formula が含まれます。シンボルが標準的な元素記号のように見える場合は Hill 順の文字列、そうでない場合は入力順のラベルで、個数が1より大きいときは各シンボルの後に整数の添字が付きます。elements 配列には、各アクティブな成分が mass、atomic_mass、moles、最小モル量に対する mole_ratio、整数化後の count とともに一覧表示されます。multiplier フィールドは、最大公約数で約分する前に適用される整数の倍率で、実験式が最も小さい整数比になるようにします。total_mass は、実験ノートの合計との簡単な照合のために、与えられた質量の合計を返します。method は常に mass_atomic_mass_mole_ratio で、下流のコードが形状を推測せずに分岐できます。採点ソフトが最小モルで割った後の中間ステップのみを確認する場合は mole_ratio だけを、評価基準が最終的な実験式を求める場合は count と formula を、UI が段階的な解答を表示する場合は elements テーブル全体をご利用ください。必須フィールドの欠落、並列配列の長さの不一致、非有限の数値、すべてゼロの質量、負の質量、ゼロの原子量は、すべて invalid_input で失敗します。
API の利用、料金、教室でのワークフロー、実用上の制限
宿題の確認、授業でのデモ、実験計算の迅速な検証には、スプレッドシートや化学 CAS をインストールせずに、無料のブラウザ内「質量からの実験式」計算機をご利用ください。原子量は呼び出し側が指定するため、教科書の小数点以下2桁の表、4桁の標準原子量、高度な演習用の同位体質量を、カタログの更新を待たずに使用できます。大きさは公開された範囲内に保ち、採点オラクルには教室規模の入力を優先し、元の入力は他の KIT の parse 項目と同じ保持ルールで扱ってください。個別指導プラットフォーム、LMS の自動採点、カリキュラム生成、LIMS の組成パイプラインが、KIT 残高で成功項目ごとに $0.002 の安定した JSON 契約を必要とする場合は、プリペイド API をご利用ください。エンジンがリクエストを拒否した後、検証失敗が残高を消費することはありません。学生が絶対質量ではなく百分率から始める場合は百分率組成ツールと、次のステップが実験的なモル質量を使って実験式を分子式に変換する場合はモル質量計算機と、このエンドポイントを組み合わせてください。SDK を提供する開発者は、elements 配列を、質量、原子量、モル、比、個数を表示する UI テーブルに直接マッピングできます。これは、学生が実験的な質量から実験式を導く際に手で作成するのと同じ列です。
連携の活用例
個別指導と自動採点ドリル
レッスン作成者は、固定の原子量表を使った組成問題を生成し、完全な化学エンジンを組み込まずに構造化された JSON の個数を採点できます。
LIMS と組成パイプライン
質量と原子量をすでに保存しているスクリプトは、安定したプリペイドエンドポイントを呼び出して、試料レコードに実験式を添付します。
技術的な質問
質量から実験式はどのように計算しますか?
mass と atomic_mass(およびオプションの symbol)を持つオブジェクトとして elements を送信してください。応答には、モル、モル比、整数の個数、式の文字列が含まれます。
質量と atomic_mass の並列配列を送信できますか?
はい。elements オブジェクト配列の代わりに、同じ長さの masses と atomic_masses、およびオプションで式ラベル用の symbols を指定してください。