محاسبه جرم مولی برای ترکیبات و مولکولهای شیمیایی
جرم مولی (وزن مولکولی) هر ترکیب شیمیایی را با وارد کردن فرمول آن محاسبه کنید. فرمولهای پیچیده با پرانتز را مدیریت کرده و تجزیه و تحلیل دقیق عناصر را ارائه میدهد.
محاسبه جرم مولی
نحوه استفاده
- فرمول شیمیایی را در کادر ورودی بالا وارد کنید
- برای حرف اول نماد عناصر از حروف بزرگ استفاده کنید (مثلاً 'H' برای هیدروژن، 'Na' برای سدیم)
- برای عناصر گروهبندی شده از پرانتز استفاده کنید، مثلاً Ca(OH)2
نمونهها
مستندات
محاسبه جرم مولی
مقدمه
محاسبه جرم مولی ابزاری ضروری برای شیمیدانها، دانشآموزان و پژوهشگران است که نیاز دارند به سرعت و به طور دقیق وزن مولکولی ترکیبات شیمیایی را تعیین کنند. جرم مولی، که به عنوان وزن مولکولی نیز شناخته میشود، نمایانگر جرم یک مول از یک ماده است و به گرم بر مول (g/mol) بیان میشود. این محاسبهگر به شما این امکان را میدهد که هر فرمول شیمیایی را وارد کنید و بلافاصله جرم مولی آن را با جمع کردن وزنهای اتمی تمام عناصر تشکیلدهنده بر اساس نسبتهای آنها در ترکیب محاسبه کنید.
درک جرم مولی برای محاسبات شیمیایی مختلف، از جمله استوکیومتری، تهیه محلول و تحلیل واکنشها، اساسی است. چه در حال متعادل کردن معادلات شیمیایی باشید، چه در حال تهیه محلولهای آزمایشگاهی یا مطالعه خواص شیمیایی، دانستن جرم مولی دقیق ترکیبات برای دستیابی به نتایج دقیق حیاتی است.
محاسبهگر کاربرپسند ما میتواند یک دامنه وسیعی از فرمولهای شیمیایی را مدیریت کند، از مولکولهای ساده مانند H₂O تا ترکیبات آلی پیچیده و نمکها با عناصر متعدد. این ابزار به طور خودکار نمادهای عناصر را شناسایی میکند، زیرنویسها را تفسیر میکند و پرانتزها را پردازش میکند تا محاسبات دقیقی برای هر فرمول شیمیایی معتبر انجام دهد.
جرم مولی چیست؟
جرم مولی به عنوان جرم یک مول از یک ماده تعریف میشود که به گرم بر مول (g/mol) اندازهگیری میشود. یک مول دقیقاً شامل ۶.۰۲۲۱۴۰۷۶ × ۱۰²³ موجودیتهای بنیادی (اتمها، مولکولها یا واحدهای فرمول) است - عددی که به عنوان ثابت آووگادرو شناخته میشود. جرم مولی یک ترکیب برابر با مجموع جرمهای اتمی تمام اتمها در مولکول است و مقادیر آنها را در نظر میگیرد.
برای مثال، آب (H₂O) دارای جرم مولی تقریباً ۱۸.۰۱۵ g/mol است که با جمع کردن محاسبه میشود:
- هیدروژن (H): ۱.۰۰۸ g/mol × ۲ اتم = ۲.۰۱۶ g/mol
- اکسیژن (O): ۱۵.۹۹۹ g/mol × ۱ اتم = ۱۵.۹۹۹ g/mol
- مجموع: ۲.۰۱۶ g/mol + ۱۵.۹۹۹ g/mol = ۱۸.۰۱۵ g/mol
این بدان معناست که یک مول از مولکولهای آب (۶.۰۲۲۱۴۰۷۶ × ۱۰²³ مولکول آب) دارای جرمی برابر با ۱۸.۰۱۵ گرم است.
فرمول/محاسبه
جرم مولی (M) یک ترکیب با استفاده از فرمول زیر محاسبه میشود:
که در آن:
- جرم مولی ترکیب (g/mol) است
- جرم اتمی عنصر (g/mol) است
- تعداد اتمهای عنصر در فرمول شیمیایی است
برای ترکیبات با فرمولهای پیچیده که شامل پرانتز هستند، محاسبه به این مراحل دنبال میشود:
۱. فرمول شیمیایی را تجزیه کنید تا تمام عناصر و مقادیر آنها را شناسایی کنید ۲. برای عناصر داخل پرانتز، مقادیر آنها را با زیرنویس خارج از پرانتز ضرب کنید ۳. حاصلضربهای جرم اتمی هر عنصر و تعداد کل آنها در فرمول را جمع کنید
برای مثال، محاسبه جرم مولی هیدروکسید کلسیم Ca(OH)₂: ۱. عناصر را شناسایی کنید: Ca، O، H ۲. مقادیر را تعیین کنید: ۱ اتم Ca، ۲ اتم O (۱ × ۲)، ۲ اتم H (۱ × ۲) ۳. محاسبه: (۴۰.۰۷۸ × ۱) + (۱۵.۹۹۹ × ۲) + (۱.۰۰۸ × ۲) = ۴۰.۰۷۸ + ۳۱.۹۹۸ + ۲.۰۱۶ = ۷۴.۰۹۲ g/mol
راهنمای گام به گام
چگونه از محاسبهگر جرم مولی استفاده کنیم
۱. فرمول شیمیایی را وارد کنید
- فرمول شیمیایی را در کادر ورودی تایپ کنید
- از نمادگذاری شیمیایی استاندارد استفاده کنید (مانند H2O، NaCl، Ca(OH)2)
- حرف اول هر عنصر را بزرگ بنویسید (مانند "Na" برای سدیم، نه "na")
- از اعداد به عنوان زیرنویس برای نشان دادن چند اتم استفاده کنید (مانند H2O برای آب)
- برای عناصر گروهبندی شده از پرانتز استفاده کنید (مانند Ca(OH)2 برای هیدروکسید کلسیم)
۲. نتایج را مشاهده کنید
- محاسبهگر به طور خودکار جرم مولی را در حین تایپ محاسبه میکند
- نتیجه به گرم بر مول (g/mol) نمایش داده میشود
- تجزیه و تحلیل دقیقی از سهم هر عنصر در جرم کل نشان داده میشود
- فرمول محاسبه برای اهداف آموزشی نمایش داده میشود
۳. تجزیه و تحلیل تجزیه عناصر
- هر عنصر را با جرم اتمیاش مشاهده کنید
- تعداد هر عنصر در ترکیب را ببینید
- سهم جرم هر عنصر را مشاهده کنید
- درصد به جرم هر عنصر را یادداشت کنید
۴. نتایج را کپی یا به اشتراک بگذارید
- از دکمه کپی برای کپی کردن نتیجه به کلیپ بورد استفاده کنید
- نتایج را برای اهداف آزمایشگاهی یا آموزشی به اشتراک بگذارید
درک نتایج
محاسبهگر چندین اطلاعات را ارائه میدهد:
- جرم مولی کل: مجموع تمام جرمهای اتمی در ترکیب (g/mol)
- تجزیه عناصر: جدولی که سهم هر عنصر را نشان میدهد
- فرمول محاسبه: مراحل ریاضی استفاده شده برای محاسبه نتیجه
- تصویری از مولکول: نمایی بصری از سهم نسبی جرم هر عنصر
موارد استفاده
محاسبهگر جرم مولی در کاربردهای عملی متعددی در زمینههای مختلف خدمت میکند:
کار در آزمایشگاه شیمی
- تهیه محلول: محاسبه جرم حلشونده مورد نیاز برای تهیه محلولهای با مولاریته خاص
- محاسبات استوکیومتری: تعیین مقادیر واکنشدهنده و محصول در واکنشهای شیمیایی
- شیمی تحلیلی: تبدیل بین جرم و مول در تجزیه و تحلیل کمی
- برنامهریزی سنتز: محاسبه بازده نظری در سنتز شیمیایی
آموزش
- تمرینات شیمی: کمک به دانشآموزان برای حل مسائل مربوط به جرم مولی
- تمرینهای آزمایشگاهی: پشتیبانی از آزمایشهای عملی که نیاز به محاسبات جرم مولی دارند
- فرمولهای شیمیایی: آموزش دانشآموزان در مورد چگونگی تفسیر و تجزیه و تحلیل فرمولهای شیمیایی
- درسهای استوکیومتری: نشان دادن رابطه بین جرم و مول
پژوهش و صنعت
- توسعه دارو: محاسبه دوزهای دارویی بر اساس غلظتهای مولی
- علم مواد: تعیین ترکیب مواد و آلیاژهای جدید
- تحلیل محیطی: تبدیل بین واحدهای غلظت در مطالعات آلودگی
- کنترل کیفیت: تأیید ترکیبات شیمیایی در فرآیندهای تولید
کاربردهای روزمره
- پخت و پز: درک مفاهیم گاسترونومی مولکولی
- پروژههای شیمی خانگی: پشتیبانی از آزمایشهای علمی آماتوری
- باغبانی: محاسبه ترکیبهای کود و غلظتهای مواد مغذی
- تصفیه آب: تحلیل محتوای معدنی در تصفیه آب
گزینههای دیگر
در حالی که محاسبهگر جرم مولی ما یک راهحل آنلاین راحت را ارائه میدهد، روشها و ابزارهای جایگزینی برای محاسبه جرم مولی وجود دارد:
۱. محاسبه دستی: با استفاده از جدول تناوبی و ماشین حساب برای جمع کردن جرمهای اتمی
- مزایا: درک بنیادی از مفهوم را ایجاد میکند
- معایب: زمانبر و مستعد خطا برای فرمولهای پیچیده
۲. نرمافزار شیمی تخصصی: برنامههایی مانند ChemDraw، Gaussian یا ACD/Labs
- مزایا: ویژگیهای اضافی مانند تجسم ساختاری را ارائه میدهد
- معایب: معمولاً گرانقیمت و نیاز به نصب دارد
۳. برنامههای موبایل: برنامههای متمرکز بر شیمی برای گوشیهای هوشمند
- مزایا: قابل حمل و راحت
- معایب: ممکن است عملکرد محدودی داشته باشند یا شامل تبلیغات باشند
۴. الگوهای صفحهگسترده: فرمولهای سفارشی در Excel یا Google Sheets
- مزایا: قابل تنظیم برای نیازهای خاص
- معایب: نیاز به تنظیم و نگهداری دارد
۵. ماشین حسابهای علمی: مدلهای پیشرفته با توابع شیمیایی
- مزایا: نیاز به اتصال اینترنت ندارد
- معایب: محدود به فرمولهای سادهتر و خروجی کمتر دقیق
محاسبهگر آنلاین جرم مولی ما بهترین جنبههای این جایگزینها را ترکیب میکند: رایگان است، نیاز به نصب ندارد، فرمولهای پیچیده را مدیریت میکند، تجزیه و تحلیلهای دقیقی را ارائه میدهد و رابط کاربری شهودی دارد.
تاریخچه
مفهوم جرم مولی در کنار درک ما از نظریه اتمی و ترکیب شیمیایی تکامل یافته است. در اینجا نقاط عطف کلیدی در توسعه آن آمده است:
نظریه اتمی اولیه (قرن ۱۸)
نظریه اتمی جان دالتون (۱۸۰۳) پیشنهاد کرد که عناصر از ذرات غیرقابل تقسیم به نام اتمها تشکیل شدهاند که دارای جرمهای خاص هستند. این پایهگذار درک این بود که ترکیبات زمانی تشکیل میشوند که اتمها در نسبتهای خاصی ترکیب شوند.
یونس یعقوب برزیلیوس در سال ۱۸۱۳ نمادهای شیمیایی برای عناصر معرفی کرد و سیستم نمادگذاری استانداردی را ایجاد کرد که امکان نمایش فرمولهای شیمیایی به صورت سیستماتیک را فراهم میکرد.
استانداردسازی وزنهای اتمی (اواسط قرن ۱۹)
استانیسلاو کانیچارو تمایز بین وزن اتمی و وزن مولکولی را در کنگره کارلسروهه (۱۸۶۰) روشن کرد و به حل سردرگمی در جامعه علمی کمک کرد.
مفهوم مول در اواخر قرن نوزدهم توسعه یافت، هرچند که این اصطلاح تا بعداً به طور گستردهای استفاده نشد.
توسعههای مدرن (قرن ۲۰)
اتحادیه بینالمللی شیمی خالص و کاربردی (IUPAC) در سال ۱۹۱۹ تأسیس شد و شروع به استانداردسازی نامگذاری شیمیایی و اندازهگیریها کرد.
در سال ۱۹۷۱، مول به عنوان یک واحد پایه SI پذیرفته شد که به عنوان مقدار مادهای که شامل همان تعداد موجودیتهای بنیادی است که در ۱۲ گرم کربن-۱۲ وجود دارد، تعریف شد.
تعریف اخیر مول (موثر از ۲۰ مه ۲۰۱۹) آن را در قالب ثابت آووگادرو تعریف میکند که اکنون به طور دقیق برابر با ۶.۰۲۲۱۴۰۷۶ × ۱۰²³ موجودیتهای بنیادی است.
ابزارهای محاسباتی (اواخر قرن ۲۰ تا حال)
با ظهور کامپیوترها، محاسبه جرم مولی آسانتر و در دسترستر شد. نرمافزارهای شیمی اولیه در دهههای ۱۹۸۰ و ۱۹۹۰ شامل محاسبهگرهای جرم مولی به عنوان توابع پایه بودند.
انقلاب اینترنت در اواخر دهه ۱۹۹۰ و اوایل ۲۰۰۰ محاسبهگرهای آنلاین جرم مولی را به ارمغان آورد و این ابزارها را به صورت رایگان برای دانشآموزان و حرفهایها در سرتاسر جهان در دسترس قرار داد.
محاسبهگرهای پیشرفته جرم مولی امروز، مانند ما، میتوانند فرمولهای پیچیده با پرانتز را مدیریت کنند، دامنه وسیعی از نمادهای شیمیایی را تفسیر کنند و تجزیه و تحلیل دقیقی از ترکیبات عناصر ارائه دهند.
مثالها
در اینجا مثالهای کد برای محاسبه جرم مولی در زبانهای برنامهنویسی مختلف آمده است:
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} g/mol")
43print(f"NaCl: {calculate_molar_mass('NaCl'):.3f} g/mol")
44print(f"C6H12O6: {calculate_molar_mass('C6H12O6'):.3f} g/mol")
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)} g/mol`);
48console.log(`NaCl: ${calculateMolarMass('NaCl').toFixed(3)} g/mol`);
49console.log(`C6H12O6: ${calculateMolarMass('C6H12O6').toFixed(3)} g/mol`);
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 g/mol%n", calculateMolarMass("H2O"));
70 System.out.printf("NaCl: %.3f g/mol%n", calculateMolarMass("NaCl"));
71 System.out.printf("C6H12O6: %.3f g/mol%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") << " g/mol" << std::endl;
55 std::cout << "NaCl: " << calculateMolarMass("NaCl") << " g/mol" << std::endl;
56 std::cout << "C6H12O6: " << calculateMolarMass("C6H12O6") << " g/mol" << std::endl;
57
58 return 0;
59}
60
ویژگیهای پیشرفته
محاسبهگر جرم مولی ما شامل چندین ویژگی پیشرفته برای افزایش عملکرد آن است:
مدیریت فرمولهای پیچیده
محاسبهگر میتواند فرمولهای شیمیایی پیچیده را پردازش کند که شامل:
- چندین عنصر (مانند C6H12O6)
- پرانتز برای عناصر گروهبندی شده (مانند Ca(OH)2)
- پرانتزهای تو در تو (مانند Fe(C5H5)2)
- چندین بار وقوع همان عنصر (مانند CH3COOH)
تجزیه و تحلیل دقیق عناصر
برای اهداف آموزشی، محاسبهگر ارائه میدهد:
- جرم اتمی هر عنصر به صورت جداگانه
- تعداد اتمها برای هر عنصر
- سهم جرم هر عنصر در مجموع
- درصد به جرم هر عنصر
تجسم
محاسبهگر شامل یک نمای بصری از ترکیب مولکول است که سهم نسبی جرم هر عنصر را از طریق یک نمودار میلهای رنگی نشان میدهد.
اعتبارسنجی فرمول
محاسبهگر فرمولهای ورودی را اعتبارسنجی میکند و پیامهای خطای مفیدی برای:
- کاراکترهای نامعتبر در فرمول
- عناصر شیمیایی ناشناخته
- پرانتزهای نامتعادل
- فرمولهای خالی
سوالات متداول
جرم مولی چیست؟
جرم مولی جرم یک مول از یک ماده است که به گرم بر مول (g/mol) اندازهگیری میشود. این برابر با مجموع جرمهای اتمی تمام اتمها در یک مولکول است و مقادیر آنها را در نظر میگیرد.
چگونه جرم مولی با وزن مولکولی متفاوت است؟
جرم مولی و وزن مولکولی نمایانگر همان کمیت فیزیکی هستند اما در واحدهای مختلف بیان میشوند. جرم مولی به گرم بر مول (g/mol) بیان میشود، در حالی که وزن مولکولی معمولاً به واحدهای جرم اتمی (amu) یا دالتون (Da) بیان میشود. از نظر عددی، آنها دارای همان مقدار هستند.
چرا جرم مولی در شیمی مهم است؟
جرم مولی برای تبدیل بین مقدار ماده (مولها) و جرم (گرم) ضروری است. این تبدیل برای محاسبات استوکیومتری، تهیه محلول و بسیاری از کاربردهای شیمیایی دیگر اساسی است.
دقت این محاسبهگر جرم مولی چقدر است؟
محاسبهگر ما از آخرین مقادیر جرم اتمی IUPAC استفاده میکند و نتایج را با چهار رقم اعشار دقت ارائه میدهد. برای بیشتر محاسبات شیمیایی، این سطح دقت بیشتر از حد کافی است.
آیا محاسبهگر میتواند فرمولهایی با پرانتز را مدیریت کند؟
بله، محاسبهگر میتواند فرمولهای پیچیده با پرانتز، مانند Ca(OH)2 و حتی پرانتزهای تو در تو مانند Fe(C5H5)2 را پردازش کند.
اگر فرمول من شامل ایزوتوپها باشد، چه؟
محاسبات جرم مولی استاندارد از میانگین وزنی ایزوتوپهای طبیعی استفاده میکنند. اگر نیاز به محاسبه جرم یک ایزوتوپ خاص دارید، باید از جرم دقیق آن ایزوتوپ به جای جرم اتمی استاندارد استفاده کنید.
چگونه میتوانم نتایج را در محاسبات خود استفاده کنم؟
شما میتوانید از جرم مولی محاسبهشده برای:
- تبدیل بین جرم و مول (جرم ÷ جرم مولی = مول)
- محاسبه مولاریته (مول ÷ حجم به لیتر)
- تعیین روابط استوکیومتری در واکنشهای شیمیایی استفاده کنید
منابع
۱. براون، T. L.، لمی، H. E.، برستون، B. E.، مرفی، C. J.، وودوارد، P. M.، و استولتزفوس، M. W. (۲۰۱۷). شیمی: علم مرکزی (۱۴مین ویرایش). پیرسون.
۲. زومدال، S. S.، و زومدال، S. A. (۲۰۱۶). شیمی (۱۰مین ویرایش). Cengage Learning.
۳. اتحادیه بینالمللی شیمی خالص و کاربردی. (۲۰۱۸). وزنهای اتمی عناصر ۲۰۱۷. شیمی خالص و کاربردی، ۹۰(۱)، ۱۷۵-۱۹۶. https://doi.org/10.1515/pac-2018-0605
۴. ویزر، M. E.، هولدن، N.، کاپلن، T. B.، و غیره. (۲۰۱۳). وزنهای اتمی عناصر ۲۰۱۱. شیمی خالص و کاربردی، ۸۵(۵)، ۱۰۴۷-۱۰۷۸. https://doi.org/10.1351/PAC-REP-13-03-02
۵. موسسه ملی استانداردها و فناوری. (۲۰۱۸). وبکتاب شیمی NIST، SRD ۶۹. https://webbook.nist.gov/chemistry/
۶. چانگ، R.، و گلدسبی، K. A. (۲۰۱۵). شیمی (۱۲مین ویرایش). McGraw-Hill Education.
۷. پتروچی، R. H.، هرینگ، F. G.، مادورا، J. D.، و بیسونوته، C. (۲۰۱۶). شیمی عمومی: اصول و کاربردهای مدرن (۱۱مین ویرایش). پیرسون.
۸. جامعه سلطنتی شیمی. (۲۰۲۳). جدول تناوبی. https://www.rsc.org/periodic-table
محاسبهگر جرم مولی ما برای دانشآموزان، معلمان، پژوهشگران و حرفهایها در زمینه شیمی و رشتههای مرتبط طراحی شده است. امیدواریم که این ابزار به شما در محاسبات شیمیاییتان کمک کند و درک شما از ترکیب مولکولی را افزایش دهد.
سعی کنید جرم مولی ترکیبات مختلف را محاسبه کنید تا ببینید چگونه ترکیبهای آنها بر خواص آنها تأثیر میگذارد!
بازخورد
برای شروع دادن بازخورد درباره این ابزار، روی توست بازخورد کلیک کنید
ابزارهای مرتبط
کشف ابزارهای بیشتری که ممکن است برای جریان کاری شما مفید باشند