احسب الكتلة المولية (وزن الجزيء) لأي مركب كيميائي عن طريق إدخال صيغته. يتعامل مع الصيغ المعقدة التي تحتوي على أقواس ويقدم تفاصيل مفصلة عن العناصر.
تُعتبر آلة حساب الكتلة المولية أداة أساسية للكيميائيين والطلاب والباحثين الذين يحتاجون إلى تحديد الوزن الجزيئي للمركبات الكيميائية بسرعة وبدقة. الكتلة المولية، والمعروفة أيضًا بالوزن الجزيئي، تمثل كتلة مول واحد من مادة ما وتُعبر عنها بالجرام لكل مول (غ/مول). تتيح لك هذه الآلة إدخال أي صيغة كيميائية وحساب كتلتها المولية على الفور من خلال جمع الأوزان الذرية لجميع العناصر المكونة وفقًا لنسبها في المركب.
فهم الكتلة المولية أمر أساسي لمختلف الحسابات الكيميائية، بما في ذلك الكيمياء الحصصية، وتحضير المحاليل، وتحليل التفاعلات. سواء كنت توازن المعادلات الكيميائية، أو تحضر المحاليل المخبرية، أو تدرس الخصائص الكيميائية، فإن معرفة الكتلة المولية الدقيقة للمركبات أمر بالغ الأهمية للحصول على نتائج دقيقة.
تتعامل الآلة سهلة الاستخدام مع مجموعة واسعة من الصيغ الكيميائية، من الجزيئات البسيطة مثل H₂O إلى المركبات العضوية المعقدة والأملاح التي تحتوي على عناصر متعددة. تتعرف الأداة تلقائيًا على رموز العناصر، وتفسر الأرقام السفلية، وتعالج الأقواس لضمان حسابات دقيقة لأي صيغة كيميائية صالحة.
تُعرف الكتلة المولية بأنها كتلة مول واحد من مادة، مقاسة بالجرام لكل مول (غ/مول). يحتوي مول واحد على 6.02214076 × 10²³ كيانًا أساسيًا (ذرات، جزيئات، أو وحدات صيغة) - وهو عدد معروف بثابت أفوجادرو. تساوي الكتلة المولية لمركب ما مجموع الكتل الذرية لجميع الذرات في الجزيء، مع الأخذ في الاعتبار كمياتها المعنية.
على سبيل المثال، تحتوي الماء (H₂O) على كتلة مولية تقريبية تبلغ 18.015 غ/مول، يتم حسابها عن طريق إضافة:
هذا يعني أن مول واحد من جزيئات الماء (6.02214076 × 10²³ جزيء ماء) له كتلة تبلغ 18.015 جرامًا.
تُحسب الكتلة المولية (M) لمركب باستخدام الصيغة التالية:
حيث:
بالنسبة للمركبات ذات الصيغ المعقدة التي تتضمن الأقواس، تتبع الحسابات الخطوات التالية:
على سبيل المثال، حساب الكتلة المولية لهيكسيد الكالسيوم Ca(OH)₂:
أدخل الصيغة الكيميائية
عرض النتائج
تحليل تحليل العناصر
نسخ أو مشاركة النتائج
تقدم الآلة عدة قطع من المعلومات:
تخدم آلة حساب الكتلة المولية العديد من التطبيقات العملية عبر مجالات مختلفة:
بينما تقدم آلة حساب الكتلة المولية عبر الإنترنت حلاً مريحًا، هناك طرق وأدوات بديلة لحساب الكتلة المولية:
الحساب اليدوي: باستخدام جدول دوري وآلة حاسبة لجمع الكتل الذرية
برامج الكيمياء المتخصصة: برامج مثل ChemDraw، Gaussian، أو ACD/Labs
تطبيقات الهاتف المحمول: تطبيقات تركز على الكيمياء للهواتف الذكية
قوالب جداول البيانات: صيغ مخصصة في Excel أو Google Sheets
آلات حاسبة علمية: نماذج متقدمة تحتوي على وظائف كيميائية
تجمع آلة حساب الكتلة المولية عبر الإنترنت بين أفضل جوانب هذه البدائل: فهي مجانية، ولا تتطلب تثبيت، وتتعامل مع الصيغ المعقدة، وتوفر تحليلات تفصيلية، وتقدم واجهة مستخدم بديهية.
تطور مفهوم الكتلة المولية جنبًا إلى جنب مع فهمنا للنظرية الذرية والتركيب الكيميائي. إليك أبرز المعالم في تطورها:
اقترح جون دالتون في نظريته الذرية (1803) أن العناصر تتكون من جزيئات غير قابلة للتجزئة تُسمى الذرات ذات كتل مميزة. وضعت هذه الأساس لفهم أن المركبات تتشكل عندما تتحد الذرات بنسب محددة.
قدم يونس جاكوب بيرزيليوس رموزًا كيميائية للعناصر في عام 1813، مما أنشأ نظام تدوين موحد جعل من الممكن تمثيل الصيغ الكيميائية بشكل منهجي.
وضح ستانيسلاو كانيزارو التمييز بين الوزن الذري والوزن الجزيئي في مؤتمر كارلسروه (1860)، مما ساعد على حل الارتباك في المجتمع العلمي.
تم تطوير مفهوم المول في أواخر القرن التاسع عشر، على الرغم من أن المصطلح لم يُستخدم على نطاق واسع حتى وقت لاحق.
تأسست الاتحاد الدولي للكيمياء البحتة والتطبيقية (IUPAC) في عام 1919 وبدأت في توحيد التسمية الكيميائية والقياسات.
في عام 1971، تم اعتماد المول كوحدة أساسية في النظام الدولي (SI)، مُعرفًا بأنه كمية المادة التي تحتوي على نفس عدد الكيانات الأساسية مثل عدد الذرات في 12 جرامًا من الكربون-12.
التعريف الأكثر حداثة للمول (ساري المفعول في 20 مايو 2019) يعرّفه من حيث ثابت أفوجادرو، الذي أصبح الآن ثابتًا بدقة 6.02214076 × 10²³ كيانًا أساسيًا.
مع ظهور الحواسيب، أصبح حساب الكتلة المولية أسهل وأكثر وصولًا. تضمنت البرمجيات الكيميائية المبكرة في الثمانينيات والتسعينيات آلات حساب الكتلة المولية كوظائف أساسية.
جلبت ثورة الإنترنت في أواخر التسعينيات وأوائل العقد الأول من القرن الحادي والعشرين آلات حساب الكتلة المولية عبر الإنترنت، مما جعل هذه الأدوات متاحة مجانًا للطلاب والمهنيين في جميع أنحاء العالم.
تستطيع آلات حساب الكتلة المولية المتقدمة اليوم، مثل أداةنا، التعامل مع الصيغ المعقدة التي تحتوي على أقواس، وتفسير مجموعة واسعة من التدوينات الكيميائية، وتقديم تحليلات تفصيلية للتركيبات العنصرية.
إليك أمثلة على كود لحساب الكتلة المولية في لغات برمجة مختلفة:
1# مثال بايثون لحساب الكتلة المولية
2def calculate_molar_mass(formula):
3 # قاموس الكتل الذرية
4 atomic_masses = {
5 'H': 1.008, 'He': 4.0026, 'Li': 6.94, 'Be': 9.0122, 'B': 10.81,
6 'C': 12.011, 'N': 14.007, 'O': 15.999, 'F': 18.998, 'Ne': 20.180,
7 'Na': 22.990, 'Mg': 24.305, 'Al': 26.982, 'Si': 28.085, 'P': 30.974,
8 'S': 32.06, 'Cl': 35.45, 'Ar': 39.948, 'K': 39.098, 'Ca': 40.078
9 # أضف المزيد من العناصر حسب الحاجة
10 }
11
12 # تحليل الصيغة وحساب الكتلة المولية
13 i = 0
14 total_mass = 0
15
16 while i < len(formula):
17 if formula[i].isupper():
18 # بداية رمز العنصر
19 if i + 1 < len(formula) and formula[i+1].islower():
20 element = formula[i:i+2]
21 i += 2
22 else:
23 element = formula[i]
24 i += 1
25
26 # تحقق من الأرقام (الرقم السفلي)
27 count = ''
28 while i < len(formula) and formula[i].isdigit():
29 count += formula[i]
30 i += 1
31
32 count = int(count) if count else 1
33
34 if element in atomic_masses:
35 total_mass += atomic_masses[element] * count
36 else:
37 i += 1 # تخطي الأحرف غير المتوقعة
38
39 return total_mass
40
41# مثال على الاستخدام
42print(f"H2O: {calculate_molar_mass('H2O'):.3f} غ/مول")
43print(f"NaCl: {calculate_molar_mass('NaCl'):.3f} غ/مول")
44print(f"C6H12O6: {calculate_molar_mass('C6H12O6'):.3f} غ/مول")
45
1// مثال جافا سكريبت لحساب الكتلة المولية
2function calculateMolarMass(formula) {
3 const atomicMasses = {
4 'H': 1.008, 'He': 4.0026, 'Li': 6.94, 'Be': 9.0122, 'B': 10.81,
5 'C': 12.011, 'N': 14.007, 'O': 15.999, 'F': 18.998, 'Ne': 20.180,
6 'Na': 22.990, 'Mg': 24.305, 'Al': 26.982, 'Si': 28.085, 'P': 30.974,
7 'S': 32.06, 'Cl': 35.45, 'Ar': 39.948, 'K': 39.098, 'Ca': 40.078
8 // أضف المزيد من العناصر حسب الحاجة
9 };
10
11 let i = 0;
12 let totalMass = 0;
13
14 while (i < formula.length) {
15 if (formula[i].match(/[A-Z]/)) {
16 // بداية رمز العنصر
17 let element;
18 if (i + 1 < formula.length && formula[i+1].match(/[a-z]/)) {
19 element = formula.substring(i, i+2);
20 i += 2;
21 } else {
22 element = formula[i];
23 i += 1;
24 }
25
26 // تحقق من الأرقام (الرقم السفلي)
27 let countStr = '';
28 while (i < formula.length && formula[i].match(/[0-9]/)) {
29 countStr += formula[i];
30 i += 1;
31 }
32
33 const count = countStr ? parseInt(countStr, 10) : 1;
34
35 if (atomicMasses[element]) {
36 totalMass += atomicMasses[element] * count;
37 }
38 } else {
39 i += 1; // تخطي الأحرف غير المتوقعة
40 }
41 }
42
43 return totalMass;
44}
45
46// مثال على الاستخدام
47console.log(`H2O: ${calculateMolarMass('H2O').toFixed(3)} غ/مول`);
48console.log(`NaCl: ${calculateMolarMass('NaCl').toFixed(3)} غ/مول`);
49console.log(`C6H12O6: ${calculateMolarMass('C6H12O6').toFixed(3)} غ/مول`);
50
1import java.util.HashMap;
2import java.util.Map;
3
4public class MolarMassCalculator {
5 private static final Map<String, Double> ATOMIC_MASSES = new HashMap<>();
6
7 static {
8 // تهيئة الكتل الذرية
9 ATOMIC_MASSES.put("H", 1.008);
10 ATOMIC_MASSES.put("He", 4.0026);
11 ATOMIC_MASSES.put("Li", 6.94);
12 ATOMIC_MASSES.put("Be", 9.0122);
13 ATOMIC_MASSES.put("B", 10.81);
14 ATOMIC_MASSES.put("C", 12.011);
15 ATOMIC_MASSES.put("N", 14.007);
16 ATOMIC_MASSES.put("O", 15.999);
17 ATOMIC_MASSES.put("F", 18.998);
18 ATOMIC_MASSES.put("Ne", 20.180);
19 ATOMIC_MASSES.put("Na", 22.990);
20 ATOMIC_MASSES.put("Mg", 24.305);
21 ATOMIC_MASSES.put("Al", 26.982);
22 ATOMIC_MASSES.put("Si", 28.085);
23 ATOMIC_MASSES.put("P", 30.974);
24 ATOMIC_MASSES.put("S", 32.06);
25 ATOMIC_MASSES.put("Cl", 35.45);
26 ATOMIC_MASSES.put("Ar", 39.948);
27 ATOMIC_MASSES.put("K", 39.098);
28 ATOMIC_MASSES.put("Ca", 40.078);
29 // أضف المزيد من العناصر حسب الحاجة
30 }
31
32 public static double calculateMolarMass(String formula) {
33 int i = 0;
34 double totalMass = 0;
35
36 while (i < formula.length()) {
37 if (Character.isUpperCase(formula.charAt(i))) {
38 // بداية رمز العنصر
39 String element;
40 if (i + 1 < formula.length() && Character.isLowerCase(formula.charAt(i+1))) {
41 element = formula.substring(i, i+2);
42 i += 2;
43 } else {
44 element = formula.substring(i, i+1);
45 i += 1;
46 }
47
48 // تحقق من الأرقام (الرقم السفلي)
49 StringBuilder countStr = new StringBuilder();
50 while (i < formula.length() && Character.isDigit(formula.charAt(i))) {
51 countStr.append(formula.charAt(i));
52 i += 1;
53 }
54
55 int count = countStr.length() > 0 ? Integer.parseInt(countStr.toString()) : 1;
56
57 if (ATOMIC_MASSES.containsKey(element)) {
58 totalMass += ATOMIC_MASSES.get(element) * count;
59 }
60 } else {
61 i += 1; // تخطي الأحرف غير المتوقعة
62 }
63 }
64
65 return totalMass;
66 }
67
68 public static void main(String[] args) {
69 System.out.printf("H2O: %.3f غ/مول%n", calculateMolarMass("H2O"));
70 System.out.printf("NaCl: %.3f غ/مول%n", calculateMolarMass("NaCl"));
71 System.out.printf("C6H12O6: %.3f غ/مول%n", calculateMolarMass("C6H12O6"));
72 }
73}
74
1' دالة VBA في Excel لحساب الكتلة المولية
2Function CalculateMolarMass(formula As String) As Double
3 ' تعريف الكتل الذرية في قاموس
4 Dim atomicMasses As Object
5 Set atomicMasses = CreateObject("Scripting.Dictionary")
6
7 atomicMasses.Add "H", 1.008
8 atomicMasses.Add "He", 4.0026
9 atomicMasses.Add "Li", 6.94
10 atomicMasses.Add "Be", 9.0122
11 atomicMasses.Add "B", 10.81
12 atomicMasses.Add "C", 12.011
13 atomicMasses.Add "N", 14.007
14 atomicMasses.Add "O", 15.999
15 atomicMasses.Add "F", 18.998
16 atomicMasses.Add "Ne", 20.18
17 atomicMasses.Add "Na", 22.99
18 atomicMasses.Add "Mg", 24.305
19 atomicMasses.Add "Al", 26.982
20 atomicMasses.Add "Si", 28.085
21 atomicMasses.Add "P", 30.974
22 atomicMasses.Add "S", 32.06
23 atomicMasses.Add "Cl", 35.45
24 atomicMasses.Add "Ar", 39.948
25 atomicMasses.Add "K", 39.098
26 atomicMasses.Add "Ca", 40.078
27 ' أضف المزيد من العناصر حسب الحاجة
28
29 Dim i As Integer
30 Dim totalMass As Double
31 Dim element As String
32 Dim countStr As String
33 Dim count As Integer
34
35 i = 1
36 totalMass = 0
37
38 Do While i <= Len(formula)
39 If Asc(Mid(formula, i, 1)) >= 65 And Asc(Mid(formula, i, 1)) <= 90 Then
40 ' بداية رمز العنصر
41 If i + 1 <= Len(formula) And Asc(Mid(formula, i + 1, 1)) >= 97 And Asc(Mid(formula, i + 1, 1)) <= 122 Then
42 element = Mid(formula, i, 2)
43 i = i + 2
44 Else
45 element = Mid(formula, i, 1)
46 i = i + 1
47 End If
48
49 ' تحقق من الأرقام (الرقم السفلي)
50 countStr = ""
51 Do While i <= Len(formula) And Asc(Mid(formula, i, 1)) >= 48 And Asc(Mid(formula, i, 1)) <= 57
52 countStr = countStr & Mid(formula, i, 1)
53 i = i + 1
54 Loop
55
56 If countStr = "" Then
57 count = 1
58 Else
59 count = CInt(countStr)
60 End If
61
62 If atomicMasses.Exists(element) Then
63 totalMass = totalMass + atomicMasses(element) * count
64 End If
65 Else
66 i = i + 1 ' تخطي الأحرف غير المتوقعة
67 End If
68 Loop
69
70 CalculateMolarMass = totalMass
71End Function
72
73' الاستخدام في Excel:
74' =CalculateMolarMass("H2O")
75' =CalculateMolarMass("NaCl")
76' =CalculateMolarMass("C6H12O6")
77
1#include <iostream>
2#include <string>
3#include <map>
4#include <cctype>
5#include <iomanip>
6
7double calculateMolarMass(const std::string& formula) {
8 // تعريف الكتل الذرية
9 std::map<std::string, double> atomicMasses = {
10 {"H", 1.008}, {"He", 4.0026}, {"Li", 6.94}, {"Be", 9.0122}, {"B", 10.81},
11 {"C", 12.011}, {"N", 14.007}, {"O", 15.999}, {"F", 18.998}, {"Ne", 20.180},
12 {"Na", 22.990}, {"Mg", 24.305}, {"Al", 26.982}, {"Si", 28.085}, {"P", 30.974},
13 {"S", 32.06}, {"Cl", 35.45}, {"Ar", 39.948}, {"K", 39.098}, {"Ca", 40.078}
14 // أضف المزيد من العناصر حسب الحاجة
15 };
16
17 double totalMass = 0.0;
18 size_t i = 0;
19
20 while (i < formula.length()) {
21 if (std::isupper(formula[i])) {
22 // بداية رمز العنصر
23 std::string element;
24 if (i + 1 < formula.length() && std::islower(formula[i+1])) {
25 element = formula.substr(i, 2);
26 i += 2;
27 } else {
28 element = formula.substr(i, 1);
29 i += 1;
30 }
31
32 // تحقق من الأرقام (الرقم السفلي)
33 std::string countStr;
34 while (i < formula.length() && std::isdigit(formula[i])) {
35 countStr += formula[i];
36 i += 1;
37 }
38
39 int count = countStr.empty() ? 1 : std::stoi(countStr);
40
41 if (atomicMasses.find(element) != atomicMasses.end()) {
42 totalMass += atomicMasses[element] * count;
43 }
44 } else {
45 i += 1; // تخطي الأحرف غير المتوقعة
46 }
47 }
48
49 return totalMass;
50}
51
52int main() {
53 std::cout << std::fixed << std::setprecision(3);
54 std::cout << "H2O: " << calculateMolarMass("H2O") << " غ/مول" << std::endl;
55 std::cout << "NaCl: " << calculateMolarMass("NaCl") << " غ/مول" << std::endl;
56 std::cout << "C6H12O6: " << calculateMolarMass("C6H12O6") << " غ/مول" << std::endl;
57
58 return 0;
59}
60
تتضمن آلة حساب الكتلة المولية لدينا العديد من الميزات المتقدمة لتعزيز وظيفتها:
يمكن للآلة معالجة الصيغ الكيميائية المعقدة مع:
لأغراض تعليمية، توفر الآلة:
تتضمن الآلة تمثيلًا بصريًا لتركيب الجزيء، يظهر مساهمة الكتلة النسبية لكل عنصر من خلال مخطط شريطي ملون.
تتحقق الآلة من الصيغ المدخلة وتوفر رسائل خطأ مفيدة لـ:
الكتلة المولية هي كتلة مول واحد من مادة، مقاسة بالجرام لكل مول (غ/مول). تساوي مجموع الكتل الذرية لجميع الذرات في جزيء، مع الأخذ في الاعتبار كمياتها المعنية.
تمثل الكتلة المولية والوزن الجزيئي نفس الكمية الفيزيائية ولكن تُعبر عنها بوحدات مختلفة. تُعبر الكتلة المولية بالجرام لكل مول (غ/مول)، بينما يُعبر الوزن الجزيئي غالبًا بوحدات الكتلة الذرية (amu) أو الدالتون (Da). من الناحية العددية، لها نفس القيمة.
تعتبر الكتلة المولية أساسية للتحويل بين كمية المادة (المولات) والكتلة (الجرامات). يعد هذا التحويل أساسيًا للحسابات الكيميائية الحصصية، وتحضير المحاليل، والعديد من التطبيقات الكيميائية الأخرى.
تستخدم الآلة أحدث قيم الكتل الذرية من IUPAC وتوفر نتائج بدقة تصل إلى أربعة أرقام عشرية. بالنسبة لمعظم الحسابات الكيميائية، فإن هذا المستوى من الدقة أكثر من كافٍ.
نعم، يمكن للآلة معالجة الصيغ المعقدة التي تحتوي على أقواس، مثل Ca(OH)2، وحتى الأقواس المتداخلة مثل Fe(C5H5)2.
تستخدم حسابات الكتلة المولية القياسية متوسط وزن النظائر الموجودة بشكل طبيعي. إذا كنت بحاجة إلى حساب كتلة نظير معين، فستحتاج إلى استخدام الكتلة الدقيقة لذلك النظير بدلاً من الكتلة الذرية القياسية.
يوضح تحليل العناصر رمز كل عنصر، ووزنه الذري، وعدده في الصيغة، ومساهمته في الكتلة الإجمالية، والنسبة المئوية للكتلة. يساعدك هذا في فهم تركيب المركب.
نعم، تعمل الآلة على أي صيغة كيميائية صالحة، بما في ذلك المركبات العضوية مثل C6H12O6 (الجلوكوز) أو C8H10N4O2 (الكافيين).
تحقق من صياغتك لـ:
يمكنك استخدام الكتلة المولية المحسوبة لـ:
براون، ت. ل.، ليماي، هـ. إ.، بيرستين، ب. إ.، مورفي، ج. ج.، وودوارد، ب. م.، & ستولزفوس، م. و. (2017). الكيمياء: العلم المركزي (الطبعة 14). بيرسون.
زومدال، س. س.، & زومدال، س. أ. (2016). الكيمياء (الطبعة 10). Cengage Learning.
الاتحاد الدولي للكيمياء البحتة والتطبيقية. (2018). الأوزان الذرية للعناصر 2017. الكيمياء البحتة والتطبيقية، 90(1)، 175-196. https://doi.org/10.1515/pac-2018-0605
ويزر، م. إ.، هولدن، ن.، كوبلين، ت. ب.، وآخرون. (2013). الأوزان الذرية للعناصر 2011. الكيمياء البحتة والتطبيقية، 85(5)، 1047-1078. https://doi.org/10.1351/PAC-REP-13-03-02
المعهد الوطني للمعايير والتكنولوجيا. (2018). NIST Chemistry WebBook، SRD 69. https://webbook.nist.gov/chemistry/
تشانغ، ر.، & غولدسبي، ك. أ. (2015). الكيمياء (الطبعة 12). McGraw-Hill Education.
بتروتشي، ر. هـ.، هيرينغ، ف. ج.، مادورا، ج. د.، & بيسونيت، ج. (2016). الكيمياء العامة: المبادئ والتطبيقات الحديثة (الطبعة 11). بيرسون.
الجمعية الملكية للكيمياء. (2023). الجدول الدوري. https://www.rsc.org/periodic-table
تم تصميم آلة حساب الكتلة المولية لدينا لتكون أداة موثوقة وسهلة الاستخدام للطلاب والمعلمين والباحثين والمهنيين في الكيمياء والحقول ذات الصلة. نأمل أن تساعدك في حساباتك الكيميائية وتعزز فهمك للتكوين الجزيئي.
جرّب حساب الكتلة المولية لمركبات مختلفة لترى كيف تؤثر تركيباتها على خصائصها!
اكتشف المزيد من الأدوات التي قد تكون مفيدة لسير عملك