正味イオン方程式
銀・硝酸・ナトリウム・塩化物イオンと、固体の塩化銀にナトリウムと硝酸イオンが並ぶ式は、Ag+(aq) + Cl-(aq) → AgCl(s) になります。両辺のイオンを入れると傍観イオンが消えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
正味イオン方程式は、溶液中の反応で実際に変化する化学種だけを示します。完全イオン方程式の両側に書いた水中イオンから、反応物と生成物に同一で現れる傍観イオンを相殺し、残った正味イオン方程式を一つの文字列として返します。沈殿・中和・溶液中の多くの酸化還元演習は、強い電解質をすでにイオンへ分けたあと、その相殺に帰着します。生徒・指導者・試験準備スクリプトは、列挙したイオンの電荷形式が無効なときに黙ってトークンを落とすのではなく、はっきり失敗する決定的な答えを必要とします。
正味イオン方程式とは何か、傍観イオンはどう相殺されるか
水溶液化学では、分子方程式は化合物をそのまま書き、完全イオン方程式は強い電解質を水中に実在するイオンへ分け、正味イオン方程式は式や電荷が変わる種だけを残します。両側に同じ量で載るイオンは傍観です。電荷を釣り合わせ溶液を電気的に中性に保ちますが、沈殿・弱電解質・気体・酸化還元生成物の形成には加わりません。
それらを消すのは多重集合の引き算であり、化学的な意見ではありません。左側が Ag+、NO3-、Na+、Cl- を列挙し、右側が AgCl(s)、Na+、NO3- を列挙すれば、Na+ と NO3- は一対一で相殺し、正味は Ag+(aq) + Cl-(aq) → AgCl(s) です。
係数は重要です。 左の塩化物イオン二つは右の二つを消し、余った係数は正味側に残ります。水中イオンがすべて相殺されると溶液中に正味反応はなく、採点が誤読しうる空の成功ではなく文字列 no net reaction を返します。AgCl(s)、H2O(l)、CO2(g) のような分子種は、同じ式と同じ状態が両側に現れない限り傍観ではありません。
正味式を完結させるため残します。算法は、列挙していない固体を発明せず、溶解度規則を適用せず、式の中の原子を並べ替えません。送ったリストだけを読み、式と整数電荷で同一の水中イオンを照合し、残りを一本の矢印で書きます。
入力契約、受理する電荷形式、誤りの扱い
各要素は必須の ion 文字列と、省略時は一となる任意の正の整数 coefficient を持つオブジェクトです。オブジェクトの代わりに単なる文字列も送れます。2Cl- のように式へ先頭係数を付けた形も受け付けます。
水中イオンはすべて有効な電荷形式を付けなければなりません。
受理する形は、大きさ一の末尾符号(Na+、Cl-、NH4+、NO3-、OH-)、一から八の大きさと字母または括弧のあとの符号(Ca2+、Al3+、Fe2+、O2-、[Fe(CN)6]4-)、すでに数字で終わる多原子イオン向けのキャレット形(SO4^2-、PO4^3-、CO3^-2)、括弧電荷(SO4(2-)、Fe(3+))、解析前に ASCII へ畳む Na⁺ や SO₄²⁻ のような Unicode 上付きです。
イオン上の任意の (aq) は受理し正規化します。分子種は非水状態を括弧で付けます。(s)、(l)、(g) です。
欠落配列、空配列、片側四十種超、一から五十の外の係数、非有限のごみも同じように失敗し課金されません。表示は大きさ一の電荷を末尾符号で書き、Ca2+ はキャレットなし、SO4^2- はキャレット付きで、数字で終わる式が電荷と衝突しないようにします。
授業や実験で役立つ場面
教室と指導プラットフォームは、符号の誤りで傍観を落とさずに沈殿や酸塩基の正味を確認できるよう、正味イオン方程式計算機を使います。強い電解質をすでに電離した実験ノートは、二つのイオンリストを送り、観測の横に正味文字列を保存できます。多重集合の算術にすぎない相殺のために数式処理系を開くより安価です。
失敗した検証は残高を消費しないので、契約を見るために壊れた電荷をわざと送っても探索スクリプトは安いままです。すでにお持ちの完全イオンリストを送り、相殺後の形を読み取ってください。
活用例
授業での沈殿確認
生徒に AgNO3 + NaCl の水中イオンを送らせ、Na+ と NO3- が相殺し Ag+(aq) + Cl-(aq) → AgCl(s) が残ることを確認させます。
試験と LMS の自動採点
無効な電荷形式を拒み、生徒が挙げていない沈殿を発明しない決定的な基準で、正味イオン方程式の設問を採点します。
よくある質問
計算機はどの電荷形式を受け付けますか?
Na+、Ca2+、SO4^2-、SO4(2-)、または Na⁺ のような Unicode 上付きを使います。式がすでに数字で終わり |電荷| > 1 の多原子イオンはキャレットか括弧が必要です。
イオンが拒否されたのはなぜですか?
列挙したイオンは有効な電荷形式が必要です。分子種なら (s)、(l)、(g) のような状態が必要です。
沈殿の予測や溶解度の規則も使いますか?
使いません。入力した両辺のリストに同じ形で現れるイオンを相殺するだけです。固体を勝手に加えたり溶解度の規則を当てはめたりしないので、AgCl(s)のように不溶性の生成物は状態を付けて自分で入れてください。
すべてのイオンが相殺されたらどうなりますか?
溶液中で正味の反応は起きていないことを、はっきり知らせます。空の結果を返さないので、採点で成功と見誤ることがありません。
係数は相殺に影響しますか?
影響します。左辺の塩化物イオン2個は右辺の塩化物イオン2個と打ち消し合い、余った係数はそのまま正味の側に残ります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/net-ionic-equation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"reactants":[{"ion":"Ag+","coefficient":1},{"ion":"NO3-","coefficient":1},{"ion":"Na+","coefficient":1},{"ion":"Cl-","coefficient":1}],"products":[{"ion":"AgCl(s)","coefficient":1},{"ion":"Na+","coefficient":1},{"ion":"NO3-","coefficient":1}]}'const res = await fetch("https://api.kit.forhosting.com/chem/net-ionic-equation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"reactants": [
{
"ion": "Ag+",
"coefficient": 1
},
{
"ion": "NO3-",
"coefficient": 1
},
{
"ion": "Na+",
"coefficient": 1
},
{
"ion": "Cl-",
"coefficient": 1
}
],
"products": [
{
"ion": "AgCl(s)",
"coefficient": 1
},
{
"ion": "Na+",
"coefficient": 1
},
{
"ion": "NO3-",
"coefficient": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/net-ionic-equation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"reactants": [
{
"ion": "Ag+",
"coefficient": 1
},
{
"ion": "NO3-",
"coefficient": 1
},
{
"ion": "Na+",
"coefficient": 1
},
{
"ion": "Cl-",
"coefficient": 1
}
],
"products": [
{
"ion": "AgCl(s)",
"coefficient": 1
},
{
"ion": "Na+",
"coefficient": 1
},
{
"ion": "NO3-",
"coefficient": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/net-ionic-equation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"reactants":[{"ion":"Ag+","coefficient":1},{"ion":"NO3-","coefficient":1},{"ion":"Na+","coefficient":1},{"ion":"Cl-","coefficient":1}],"products":[{"ion":"AgCl(s)","coefficient":1},{"ion":"Na+","coefficient":1},{"ion":"NO3-","coefficient":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"reactants":[{"ion":"Ag+","coefficient":1},{"ion":"NO3-","coefficient":1},{"ion":"Na+","coefficient":1},{"ion":"Cl-","coefficient":1}],"products":[{"ion":"AgCl(s)","coefficient":1},{"ion":"Na+","coefficient":1},{"ion":"NO3-","coefficient":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/net-ionic-equation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"reactants": [
{
"ion": "Ag+",
"coefficient": 1
},
{
"ion": "NO3-",
"coefficient": 1
},
{
"ion": "Na+",
"coefficient": 1
},
{
"ion": "Cl-",
"coefficient": 1
}
],
"products": [
{
"ion": "AgCl(s)",
"coefficient": 1
},
{
"ion": "Na+",
"coefficient": 1
},
{
"ion": "NO3-",
"coefficient": 1
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.net_ionic_equation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 40 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力契約、受理する電荷形式、誤りの扱い
必須配列 reactants と products の二つを含む JSON 本体を送ってください。電荷もその状態もないトークン、Na++ のような二重符号、後続のないキャレット、混在の Na+-、固体と記した荷電イオンは、欄と行を指名して invalid_input になります。成功時の本体は net_ionic_equation、再構成した full_ionic_equation、spectator_ions、spectator_count、canceled_units、has_net_reaction、残りの表示文字列 reactants_net と products_net、method spectator_cancellation、短い式の覚え書きを含みます。
正味イオン方程式 API が役立つ場面
試験生成器は、イオンを黙って省いてそれらしい誤った正味を出すのではなく、Na++ を invalid_input と印す決定的な基準を必要とします。実装は純粋な parse の段階 A のため、成功した呼び出しは公開の $0.002 で、モデルトークンも外向きネットワークもありません。各側を公開の四十種上限内に保ち、返された net_ionic_equation 文字列を試験に固定すれば、宿題・LMS プラグイン・エッジワーカー向けに再現可能な正味が得られ、自前の化学エンジンは不要です。このページは分子方程式の係数合わせでも溶解度規則の神託でも酸化数のワークシートでもありません。
連携の活用例
実験ノートと API
数式処理の大きなライブラリを取り込まずに、滴定や沈殿の観測の横へ正味イオン方程式の文字列を保存します。
技術的な質問
完全イオン方程式を正味イオン方程式へどう減らしますか。
reactants と products をイオンのリストとして送ってください。両側の同一な水中イオンは相殺されます。応答欄 net_ionic_equation は残りの種をプラス記号と矢印でつなぎます。
傍観イオンとは何ですか。
傍観イオンは完全イオン方程式の両側に同じ式と電荷で現れます。一対一(または小さい方の係数まで)相殺し、spectator_ions に列挙されます。
正味イオン方程式計算機の料金はいくらですか。
ブラウザの道具は無料です。API 要求は成功した呼び出しあたり $0.002 で KIT の前払い残高を使い、無効な入力は課金されません。