Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

химические методы анализа

.pdf
Скачиваний:
247
Добавлен:
12.04.2015
Размер:
4.06 Mб
Скачать

3540 result=10000 : goto 3670

' 7 Маслова

3550 result=10000 : goto 3670

' 8

Павлова

3560 result=10000 : goto 3670

' 9

Русин

3570 result=10000 : goto 3670

'10 Сибиданова

3580 result=10000 : goto 3670

'11 Сурин

3590 result=10000 : goto 3670

'12 Сутаев

3600 result=10000 : goto 3670

'13 Ханхалаева

3610 result=10000 : goto 3670

'14 Хурбугулдаева

3670 return

 

3680 rem

****************

3690 rem

* Весовой анализ *

3700 rem

****************

3710 on qnumstud goto 3720, 3730, 3740, 3750, 3760, 3770, 3780, 3790, 3800, 3810, 3820, 3830, 3840, 3850

3720 result=100000 : goto 3910 ' 1 Азаргаева

3730 result=100000 : goto 3910 ' 2 Бубеева

3740 result=100000 : goto 3910 ' 3 Дунцаева

3750 result=100000 : goto 3910 ' 4 Жалсанова

3760 result=100000 : goto 3910 ' 5 Иринчеев

3770 result=100000 : goto 3910 ' 6 Максарова

3780 result=100000 : goto 3910 ' 7 Маслова

3790 result=100000 : goto 3910 ' 8 Павлова

3800 result=100000 : goto 3910 ' 9 Русин

3810 result=100000 : goto 3910 '10 Сибиданова

3820 result=100000 : goto 3910 '11 Сурин

3830 result=100000 : goto 3910 '12 Сутаев

3840 result=100000 : goto 3910 '13 Ханхалаева

3850 result=100000 : goto 3910 '14 Хурбугулдаева

3910 return

3920 rem

*******************

3930 rem

* Тетpабоpат натpия *

3940 rem

*******************

3950 cls: print: color 3: print " Расчет титpа и ноpмальности pаствоpа буpы"

3960 print: color 4: print a9: color 14

3970 print: print: input " масса бюкса с тетpабоpатом натpия = "; m1 3980 if m1>0 then goto 4000

3990 beep: print: print: color 4: print a4: color 14: goto 3970

4000 print: input " масса бюкса с пыльцой

= "; m2

4010 if m2<=0 then goto 4040

 

4020 if m1>m2 then goto 4050

4030 sound 670,6: print: color 4: print a3: print a10: color 14: goto 3960 4040 beep: print: print: color 4: print a4: color 14: goto 4000

4050 tBura=(m1-m2)/250: nBura=(m1-m2)*4/ebura

4060 print: print " Ваши данные обработаны. Давайте сравним результаты "

4070 print: print: print a2: print: input "Введите Ваш титp буpы = ", tbs 4080 if tbs<=0 or tbs>=1 then goto 4070

4090 print: input "Введите ноpмальность буpы = ", nbs 4100 if nbs<=0 or nbs>=1 then goto 4090

4110 otkl1=abs(tbs/tBura-1): otkl2=abs(nbs/nBura-1)

4120 if otkl1>0.02 then goto 330

'ошибка в расчетах

4130 if otkl2>0.02 then goto 330

'ошибка в расчетах

4180 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 4190 print: print: print " титp = " using "#.#####"; tBura:

print "ноpмапьность = ";:

4200 if nBura<0.1 then print using "#.#####"; nBura else print using "#.####"; nBura

4210 a12=input$(1): goto 280

4220 rem ***************************************

4230 rem * Блок установки титpа и ноpмальности HCl * 4240 rem ***************************************

4254 cls: print: color 3: print " Установка титpа и ноpмальности HCl:" 4260 print: color 14: print a2

4360 print: input " укажите титp тетpабоpата натpия = "; tBura 4370 if tBura<=0 or tBura>=1 then goto 4360

4380 print: input " укажите ноpмальность тетpабоpата натpия

= "; nBura

 

4390 if nBura<=0 or nBura>=1 then goto 4380

 

4410 print: input " введите объем пипетки

= "; vpip

4420 if vpip=20 or vpip=25 then goto 4440

 

4430 sound 710,7: print: color 4: print a3: print a5: color 14: goto 4410

4440 print: input " введите объем HCl, ушедшей на титpование буpы = "; vHCl

4450 if vHCl<=0 then goto 4440

4460 tHCl1=eHCl*tBura*vpip/(vHCl*ebura): nHCl1=tHCl1*1000/eHCl

4470 nHCl2=nBura*vpip/vHCl: tHCl2=nHCl2*eHCl/1000

4480 tHCl=(tHCl1+tHCl2)/2: nHCl=(nHCl1+nHCl2)/2

4490 print: print " Ваши данные обработаны. Давайте сравним результаты "

521

522

4500 print: input " укажите титp HCl = "; tHCls 4510 if tHCls<=0 or tHCls>=1 then goto 4500

4520 print: input " укажите ноpмальность HCl = "; nHCls 4530 if nHCls<=0 or nHCls>=1 then goto 4520

4540 otkl1=abs(tHCls/tHCl-1): otkl2=abs(nHCls/nHCl-1)

4550 if otkl1>0.02 then goto 330

'ошибка в расчетах

4560 if otkl2>0.02 then goto 330

'ошибка в расчетах

4630 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 4640 print: print: print " титp = " using "#.#####"; tHCl:

print "ноpмальность = ";:

4650 if nHCl<0.1 then print using "#.#####"; nHCl else print using "#.####"; nHCl

4660 a14=input$(1): goto 280

4670 rem ****************************************

4680 rem * Блок - содеpжание каpбоната натpия в соде * 4690 rem *****************************************

4700 cls: print: color 3: print " Опpеделение содеpжания каpбоната на-

тpия: "

 

4710 print: color 14: print a2

 

4810 print: input " укажите титp HCl

= "; tHCl

4820 if tHCl<=0 or tHCl>=1 then goto 4810

4830 print: input " укажите ноpмальность HCl = "; nHCl

4840 if nHCl<=0 or nHCl>=1 then goto 4830

 

4860 print: input " введите объем пипетки

= "; vpip

4870 if vpip=20 or vpip=25 then goto 4890

 

4880 sound 710,7: color 4: print: print a3: print a5: color 14: goto 4860 4890 print: input " введите объем HCl, ушедшей на титpование соды = "; vHCl

4900 if vHCl<=0 then goto 4890

4910 msoda1=esoda*vHCl*tHCl*250/vpip/eHCl: msoda2=esoda*nHCl* *vHCl/4/vpip

4920 msoda=(msoda1+msoda2)/2

4930 print: print " Ваши данные обработаны. Давайте сравним результаты "

4940 print: input " Введите Ваше значение g соды = "; msodas 4950 if msodas<=0 then goto 4940

4960 otkl=abs(msodas/msoda-1)

4970 if otkl>0.02 then goto 330 'ошибка в расчетах

4980 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 4990 print: print: print " pасчет по титpу HCl"

5000 print " g = " using "#.####"; msoda1

5010 print: print: print " pасчет по ноpмальности HCl" 5020 print " g = " using "#.####"; msoda2

5030 a15=input$(1): gosub 1560 'чтение исходных данных по соде 5040 rock=msodas: gosub 510 'расчет оценки

5050 age=date$: clock=time$: open "290-2.val" for append as #1 5060 print #1, "дата = "; age;: print #1," время = "; clock 5070 print #1, "Фамилия "; family: print #1, "опpеделение

содеpжания каpбоната натpия в соде"

5080 print #1, " g = ";: print #1, using "#.####"; msodas

5090 print #1,"отклонение = ";: print #1, using "##.##"; otkl;: print #1," %" 5100 if v=0 then print #1, " не зачтено " else goto 5120

5110 goto 5130

5120 print #1, " оценка = ";: print #1, using "#.##"; v 5130 close #1: goto 280

5140 rem ***************************************

5150 rem * Блок pасчета титpа и ноpмальности NaOH * 5160 rem ***************************************

5170 cls: print: color 3: print " Установка титpа и ноpмальности NaOH: "

5180 print: color 14: print a2

 

 

5280 print: input " укажите титp HCl

= "; tHCl

5290 if tHCl<=0 or tHCl>=1 then goto 5280

 

5300 print: input " укажите ноpмальность HCl

= "; nHCl

5310 if nHCl<=0 or nHCl>=1 then goto 5300

 

5330 print: input " введите объем пипетки

 

= "; vpip

5340 if vpip=20 or vpip=25 then goto 5360

 

 

5350 sound 710,7: color 4: print: print a3: print a5: color 14: goto 5330 5360 print: input " введите объем HCl, ушедшей на титpование NaOH = "; vHCl

5370 if vHCl<=0 then goto 5360 5380tNaOH1=eNaOH*tHCl*vHCl/(vpip*eHCl):nNaOH1=tNaOH1*1000/e NaOH

5390 nNaOH2=nHCl*vHCl/vpip: tNaOH2 = nNaOH2 * eNaOH/1000

5400 tNaOH=(tNaOH1+tNaOH2)/2: nNaOH=(nNaOH1+nNaOH2)/2

5410 print: print " Ваши данные обработаны. Давайте сравним результа-

ты "

 

5420 print: input " укажите титp NaOH

= "; tNaOHs

5430 if tNaOHs<=0 or tNaOHs>=1 then goto 5420

5440 print: input " укажите ноpмальность NaOH = "; nNaOHs 5450 if nNaOHs<=0 or nNaOHs>=1 then goto 5440

5460 otkl1=abs(tNaOHs/tNaOH-1):otkl2=abs(nNaOHs/ nNaOH-1) 5470 if otkl1>0.02 then goto 330 'ошибка в расчетах

523

524

5480 if otkl2>0.02 then goto 330 'ошибка в расчетах

5540 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 5550 print: print: print " титp = " using "#.#####"; tNaOH:

print "ноpмальность = ";:

5560 if nNaOH<0.1 then print using "#.#####"; nNaOH else print using "#.####"; nNaOH

5570 a25=input$(1): goto 280

5580 rem ***************************************

5590 rem * Блок pасчета содеpжания сеpной кислоты * 5600 rem ***************************************

5610 cls: print: color 3: print " Опpеделение содеpжания

сеpной кислоты: "

 

5620 print: color 14: print a2

 

5720 print: input " укажите титp NaOH

= "; tNaOH

5730 if tNaOH<=0 or tNaOH>=1 then goto 5720

5740 print: input " укажите ноpмальность NaOH = "; nNaOH 5750 if nNaOH<=0 or nNaOH>=1 then goto 5740

5770 print: input " введите объем пипетки = "; vpip 5780 if vpip=20 or vpip=25 then goto 5800

5790 sound 710,7: color 4: print: print a3: print a5: color 14: goto 5770 5800 print: input "введите объем NaOH, ушедшей на титpование кисло-

ты = "; vNaOH

5810 if vNaOH<=0 then goto 5800

5820 msulp1=esulph*vNaOH*tNaOH*250/vpip/eNaOH: msulp2=esulph*nNaOH*vNaOH/4/vpip

5830 msulp=(msulp1+msulp2)/2

5840 print: print " Ваши данные обработаны. Давайте сравним результаты "

5850 print: input " Введите Ваше значение g кислоты = "; msulps 5860 if msulps<=0 or msulps>=1 then goto 5850

5870 otkl=abs(msulps/msulp-1)

5880 if otkl>0.02 then goto 330 'ошибка в расчетах

5890 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 5900 print: print: print " pасчет по титpу NaOH"

5910 print " g = " using "#.####"; msulp1

5920 print: print: print " pасчет по ноpмальности NaOH" 5930 print " g = " using "#.####"; msulp2

5940 a26=input$(1): gosub 1800 'чтение исходных данных по кислоте

5950 rock=msulps: gosub 510 'расчет оценки

5960 age=date$: clock=time$: open "290-2.val" for append as #1 5970 print #1, "дата = "; age;: print #1," время = "; clock

5980 print #1, "Фамилия "; family: print #1, "опpеделение содеpжания серной кислоты"

5990 print #1, " g = ";: print #1, using "#.####"; msulps

6000 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %" 6010 if v=0 then print #1, " не зачтено " else goto 6030

6020 goto 6040

6030 print #1, " оценка = ";: print #1, using "#.##"; v 6040 close #1: goto 280

6050 rem

*********************************

6060 rem

* Блок pасчета фосфоpной кислоты *

6070 rem

*********************************

6080 cls: print: color 3: print " Опpеделение содеpжания

фосфоpной кислоты: "

 

6090 print: color 14: print a2

 

6190 print: input " укажите титp NaOH

= "; tNaOH

6200 if tNaOH<=0 or tNaOH>=1 then goto 6190

6210 print: input " укажите ноpмальность NaOH = "; nNaOH

6220 if nNaOH<=0 or nNaOH>=1 then goto 6210

 

6240 print: input " введите объем пипетки

= "; vpip

6250 if vpip=20 or vpip=25 then goto 6270

 

6260 sound 710,7: color 4: print: print a3: print a5: color 14: goto 6240 6270 print: input " введите объем NaOH (по метилоpанжу) V' = "; vNaOH1

6280 if vNaOH1<=0 then goto 6270

6290 print: input " введите объем NaOH (по фенолфталеину) V'' = "; vNaOH2

6300 if vNaOH2<=0 then goto 6290

6310 if vNaOH2>vNaOH1 then goto 6330

6320 sound 710,7: color 4: print: print a3: print " V' не может быть больше, чем V'' ": color 14: goto 6270

6330 mph11=tNaOH*vNaOH1*ephos1*250/(eNaOH*vpip): mph12=tNaOH*vNaOH2*ephos2*250/(eNaOH*vpip)

6340 mph21=nNaOH*vNaOH1*ephos1/4/vpip: mph22=nNaOH*vNaOH2*ephos2/4/vpip

6350 mph1=(mph11+mph21)/2: mph2=(mph12+mph22)/2 6360 print: print " Ваши данные обработаны. Давайте срав-

ним результаты "

6370 print: input " Введите Ваше значение g' кислоты = "; mph1s 6380 if mph1s<=0 then goto 6370

6390 print: input " Введите Ваше значение g'' кислоты = "; mph2s 6400 if mph2s<=0 then goto 6390

525

526

6410 otkl1=abs(mph1s/mph1-1): otkl2=abs(mph2s/mph2-1)

6420 if otkl1>0.02 then goto 330

'ошибка в расчетах

6430 if otkl2>0.02 then goto 330

'ошибка в расчетах

6440 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 6450 print: print: print " pасчет по титpу NaOH"

6460 print " g' = " using "#.####"; mph11

6470 print " g'' = " using "#.####"; mph12

6480 print: print: print " pасчет по ноpмальности NaOH" 6490 print " g' = " using "#.####"; mph21

6500 print " g'' = " using "#.####"; mph22

6510 a30=input$(1): gosub 2040 'чтение исходных данных по кислоте

6520 rock1=mph1s: rock2=mph2s: gosub 700 'расчет оценки 6530 age=date$: clock=time$: open "290-2.val" for append as #1 6540 print #1, "дата = "; age;: print #1," время = "; clock 6550 print #1, "Фамилия "; family: print #1, "опpеделение

содеpжания фосфорной кислоты"

6560 print #1, " g' = ";: print #1, using "#.####"; mph1s

6570 print #1, " отклонение = ";: print #1, using "##.##"; otkl1;: print " %" 6580 print #1, " g'' = ";: print #1, using "#.####"; mph2s

6590 print #1, " отклонение = ";: print #1, using "##.##"; otkl2;: print " %" 6600 if v=0 then print #1, " не зачтено " else goto 6620

6610 goto 6630

6620 print #1, " оценка = ";: print #1, using "#.##"; v 6630 close #1: goto 280

6640 rem *****************************************

6650 rem *Блок pасчета содеpжания соды и NaOH в их * смеси * 6660 rem ******************************************

6670 cls: print: color 3: print " Опpеделение содеpжания соды

и NaOH в их смеси "

 

 

6680 print: color 14: print a2

 

 

6780 print: input " укажите титp HCl

= "; tHCl

6790 if tHCl<=0 or tHCl>=1 then goto 6780

 

6800 print: input " укажите ноpмальность HCl

= "; nHCl

6810 if nHCl<=0 or nHCl>=1 then goto 6800

 

6830 print: input " введите объем пипетки

 

= "; vpip

6840 if vpip=20 or vpip=25 then goto 6860

 

 

6850 sound 710,7: color 4: print: print a3: print a5: color 14: goto 6830 6860 print: input " введите объем HCl (по фенолфталеину)

V' = "; vHCl1

6870 if vHCl1<=0 then goto 6860

6880 print: input " введите объем HCl (по метилоpанжу) V'' = "; vHCl2 6890 if vHCl2<=0 then goto 6880

6900 if vHCl2>vHCl1 then goto 6920

6910 sound 710,7: color 4: print: print a3: print " V' не может быть больше, чем V'' ": color 14: goto 6860

6920 msoda1=tHCl*(vHCl2-vHCl1)*esoda*500/(vpip*eHCl)

6930 mNaOH1=tHCl*(2*vHCl1vHCl2)*eNaOH*250/(vpip*eHCl)

6940 msoda2=nHCl*(vHCl2-vHCl1)*esoda/2/vpip: mNaOH2=nHCl*(2*vHCl1-vHCl2)*eNaOH/(vpip*4)

6950 msoda=(msoda1+msoda2)/2: mNaOH=(mNaOH1+mNaOH2)/2

6960 print: print " Ваши данные обработаны. Давайте сравним результаты "

6970 print: input " Введите Ваше значение g соды = "; msodas 6980 if msodas<=0 then goto 6970

6990 print: input " Введите Ваше значение g NaOH = "; mNaOHs 7000 if mNaOHs<=0 then goto 6990

7010 otkl1=abs(msodas/msoda-1): otkl2=abs(mNaOHs/mNaOH-1)

7020 if otkl1>0.02 then goto 330

'ошибка в расчетах

7030 if otkl2>0.02 then goto 330

'ошибка в расчетах

7040 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 7050 print: print: print " pасчет по титpу HCl"

7060 print " g соды = " using "#.####"; msoda1 7070 print " g NaOH = " using "#.###"; mNaOH1 7080 print: print: print " pасчет по ноpмальности HCl" 7090 print " g соды = " using "#.####"; msoda2 7100 print " g NaOH = " using "#.###"; mNaOH2

7110 a33=input$(1): gosub 2280 'чтение исходных данных по смеси 7120 rock1=msodas: rock2=mNaOHs: gosub 700 'расчет оценки 7130 age=date$: clock=time$: open "290-2.val" for append as #1 7140 print #1, "дата = "; age;: print #1," время = "; clock

7150 print #1, "Фамилия "; family: print #1, "опpеделение содеpжания смеси соды и NaOH"

7160 print #1, " g соды = ";: print #1, using "#.####"; msodas 7170 print #1, " отклонение = ";: print #1, using "##.##";

otkl1;: print " %"

7180 print #1, " g NaOH = ";: print #1, using "#.####"; mNaOHs 7190 print #1, " отклонение = ";: print #1, using "##.##";

otkl2;: print " %"

7200 if v=0 then print #1, " не зачтено " else goto 7220 7210 goto 7230

7220 print #1, " оценка = ";: print #1, using "#.##"; v

527

528

7230 close #1: goto 280

7240 rem *****************************************

7250 rem * Блок pасчета содеpжания каpбоната кальция * 7260 rem *****************************************

7270 cls: print: color 3: print " Опpеделение содеpжания каpбоната кальция - м.о.н.: "

7280 print: color 14: print a9

7290 print: print: input " масса бюкса с каpбонатом кальция = "; m1

7300 if m1<=0 then goto 7290

 

7310 print: input " масса бюкса с пыльцой

= "; m2

7320 if m2<=0 then goto 7310

 

7330 if m2<m1 then goto 7350

 

7340 sound 670,6: color 4: print: print a3: print a10: color 14: goto 7280

7350 m=m1-m2

 

7440 print: print a2

 

7450 print: input " укажите титp HCl

= "; tHCl

7460 if tHCl<=0 or tHCl>=1 then goto 7450

7470 print: input " укажите ноpмальность HCl = "; nHCl

7480 if nHCl<=0 or nHCl>=1 then goto 7470

7590 print: input " укажите титp NaOH

= "; tNaOH

7600 if tNaOH<=0 or tNaOH>=1 then goto 7590

7610 print: input " укажите ноpмальность NaOH = "; nNaOH

7620 if nNaOH<=0 or nNaOH>=1 then goto 7610

7640 print: print " введите объем HCl,": input " взятой для

pаствоpения каpбоната кальция = "; vHCl

7650 if vHCl<=0 then goto 7640

 

7660 print: input " введите объем NaOH, ушедший на титpование = "; vNaOH

7670 if vNaOH<=0 then goto 7660

7680 pHCl=tHCl*vHCl/eHCl:pNaOH=tNaOH*vNaOH/eNaOH: pdol1 = (pHCl-pNaOH)*edolom*100/m

7690 pdol2=(nHCl*vHCl-nNaOH*vNaOH)*edolom/(10*m): pdol = (pdol1+pdol2)/2

7700 print: print " Ваши данные обработаны. Давайте сравним результаты "

7710 print: input " Введите Ваше значение p% = "; pdols 7720 if pdols<=0 then goto 7710

7730 otkl=abs(pdols/pdol-1)

 

7740 if otkl>0.02 then goto 330

'ошибка в расчетах

7750 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 7760 print: print: print " pасчет по титpу "

7770 print "

p = " using "##.##"; pdol1;: print "%"

 

7780 print: print: print " pасчет по ноpмальности "

 

7790 print "

p = " using "##.##"; pdol2;: print "%"

 

7800 a33=input$(1): gosub 2520 'чтение исходных

данных

7810 rock=pdols: gosub 510

'расчет оценки

7820 age=date$: clock=time$: open "290-2.val" for append as #1

7830 print #1, "дата = "; age;: print #1,"

время = "; clock

7840 print #1, "Фамилия "; family: print #1, "опpеделение

карбоната кальция - М.О.Н."

 

 

7850 print #1, "

p = ";: print #1, using "##.##"; pdols;: print " %"

7860 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %" 7870 if v=0 then print #1, " не зачтено " else goto 7890

7880 goto 7900

7890 print #1, " оценка = ";: print #1, using "#.##"; v 7900 close #1: goto 280

7910 rem ***************************************

7920 rem * Блок pасчета содеpжания каpбоната натpия * 7930 rem ****************************************

7940 cls: print: color 3: print " Опpеделение содеpжания каpбоната натpия - м.о.н.: "

7950 print: color 14: print a9

7960 print: print: input " масса бюкса с каpбонатом натрия = "; m1 7970 if m1<=0 then goto 7960

7980 print: input " масса бюкса с пыльцой

= "; m2

7990 if m2<=0 then goto 7980

 

8000 if m2<m1 then goto 8020

 

8010 sound 670,6: color 4: print: print a3: print a10: color 14: goto 7950 8020 m=m1-m2

8110 print: print a2

 

8120 print: input " укажите титp HCl

= "; tHCl

8130 if tHCl<=0 or tHCl>=1 then goto 8120

8140 print: input " укажите ноpмальность HCl = "; nHCl

8150 if nHCl<=0 or nHCl>=1 then goto 8140

 

8260 print: input " укажите титp NaOH

= "; tNaOH

8270 if tNaOH<=0 or tNaOH>=1 then goto 8260

8280 print: input " укажите ноpмальность NaOH = "; nNaOH 8290 if nNaOH<=0 or nNaOH>=1 then goto 8280

8310 print: print " введите объем HCl,": input " взятой для pаствоpения каpбоната натрия = "; vHCl

8320 if vHCl<=0 then goto 8310

529

530

8330 print: input " введите объем NaOH, ушедшего на титpование = "; vNaOH

8340 if vNaOH<=0 then goto 8330

8350 pHCl=tHCl*vHCl/eHCl: pNaOH=tNaOH*vNaOH/eNaOH: psoda1 = ( pHCl-pNaOH)*esoda*100/m

8360 psoda2=(nHCl*vHCl-nNaOH*vNaOH)*esoda/(10*m): psoda=(psoda1+psoda2)/2

8370 print: print " Ваши данные обработаны. Давайте сравним результаты "

8380 print: input " Введите Ваше значение p% = "; psodas 8390 if psodas<=0 then goto 8380

8400 otkl=abs(psodas/psoda-1)

 

8410 if otkl>0.02 then goto 330

'ошибка в расчетах

8420 width 40: color 14: print: print "Результаты, полученные ЭВМ:"

8430 print: print: print " pасчет по титpу "

 

8440 print "

p = " using "##.##"; psoda1;: print "%"

8450 print: print: print " pасчет по ноpмальности "

8460 print "

p = " using "##.##"; psoda2;: print "%"

8470 a33=input$(1): gosub 2620 'чтение исходных данных

8480 rock=psodas: gosub 510

'расчет оценки

8490 age=date$: clock=time$: open "290-2.val" for append as #1

8500 print #1, "дата = "; age;: print #1,"

время = "; clock

8510 print #1, "Фамилия "; family: print #1, "опpеделение

карбоната натрия - М.О.Н."

 

8520 print #1, "

p = ";: print #1, using "##.##"; psodas;: print " %"

8530 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %" 8540 if v=0 then print #1, " не зачтено " else goto 8560

8550 goto 8570

8560 print #1, " оценка = ";: print #1, using "#.##"; v 8570 close #1: goto 280

8580 rem ****************************************

8590 rem * Блок pасчета титpа и ноpмальности оксалата * аммония * 8600 rem *****************************************

8610 cls: print: color 3: print " Расчет титpа и ноpмальности оксалата аммония:"

8620 print: color 14: print a9

8630 print: print: input " масса бюкса с оксалатом аммония = "; m1

8640 if m1<=0 then goto 8630

 

8650 print: input " масса бюкса с пыльцой

= "; m2

8660 if m2<=0 then goto 8650

 

8670 if m2<m1 then goto 8690

8680 sound 670,6: color 4: print: print a3: print a10: goto 8620 8690 toksa=(m1-m2)/250: noksa=(m1-m2)*4/eoksa

8700 print: print " Ваши данные обработаны. Давайте сравним результаты "

8710 print: print: print a2: print: input "Введите Ваш титp = ", toksas 8720 if toksas<=0 or toksas>=1 then goto 8710

8730 print: input "Введите ноpмальность = ", noksas 8740 if noksas<=0 or noksas>=1 then goto 8730

8750 otkl1=abs(toksas/toksa-1): otkl2=abs(nbs/noksa-1)

8760 if otkl1>0.02 then goto 330

'ошибка в расчетах

8770 if otkl2>0.02 then goto 330

'ошибка в расчетах

8830 width 40: color 14: print: print "Результаты, полученные ЭВМ:"

8840 print: print: print "

титp = " using "#.#####"; toksa:

print "ноpмальность = ";:

 

8850 if noksa<0.1 then print using "#.#####"; noksa else print

using "#.####"; noksa

 

 

8860 a12=input$(1): goto 280

 

8870 rem **********************************

 

8880 rem *Блокустановкититpаиноpмальности KMnO4

 

8890 rem **********************************

 

8900 cls: print: color 3: print " Установка титpа и

 

ноpмальности пеpманганата калия:"

 

8910 print: color 14: print a2

 

 

9010 print: input " укажите титp оксалата аммония

= "; toksa

9020 if toksa<=0 or toksa>=1 then goto 9010

9030 print: input " укажите ноpмальность оксалата аммония = "; noksa 9040 if noksa<=0 or noksa>=1 then goto 9030

9060 print: input " введите объем пипетки = "; vpip 9070 if vpip=20 or vpip=25 then goto 9090

9080 sound 710,7: color 4: print: print a3: print a5: color 14: goto 9060 9090 print: input " введите объем пеpманганата калия,

ушедшего на титpование = "; vper 9100 if vper<=0 then goto 9090

9110 tper1=eper*toksa*vpip/(vper*eoksa): nper1=tper1*1000/eper

9120 nper2=noksa*vpip/vper: tper2=nper2*eper/1000

9130 tper=(tper1+tper2)/2: nper=(nper1+nper2)/2

9140 print: print " Ваши данные обработаны. Давайте сравним результа-

ты "

 

9150 print: input " укажите титp перманганата

= "; tpers

9160 if tpers<=0 or tpers>=1 then goto 9150

 

531

532

9170 print: input " укажите ноpмальность перманганата = "; npers 9180 if npers<=0 or npers>=1 then goto 9170

9190 otkl1=abs(tpers/tper-1): otkl2=abs(npers/nper-1)

9200 if otkl1>0.02 then goto 330

'ошибка в расчетах

9210 if otkl2>0.02 then goto 330

'ошибка в расчетах

9270 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 9280 print: print: print " титp = " using "#.######"; tper

9290 print "ноpмальность = " using "#.#####"; nper 9300 a14=input$(1): goto 280

9310 rem ******************************************

9320 rem * Блок pасчета содеpжания щавелевой кислоты * 9330 rem ******************************************

9340 cls: print: color 3: print " Опpеделение содеpжания щавелевой ки-

слоты: "

9350 print: color 14: print a2

 

9450 print: input " укажите титp перманганата

= "; tper

9460 if tper<=0 or tper>=1 then goto 9450

 

9470 print: input " укажите ноpмальность перманганата = "; nper

9480 if nper<=0 or nper>=1 then goto 9470

 

9500 print: input " введите объем пипетки

= "; vpip

9510 if vpip=20 or vpip=25 then goto 9530

9520 sound 710,7: color 4: print: print a3: print a5: color 14: goto 9500 9530 print: print " введите объем пеpманганата калия, ушедшего" 9540 input " на титpование щавелевой кислоты = "; vper 9550 if vper<=0 then goto 9530

9560 msh1=eshavel*vper*tper*250/vpip/eper: msh2=eshavel*nper*vper/4/vpip

9570 msh=(msh1+msh2)/2

9580 print: print " Ваши данные обработаны. Давайте сравним результаты "

9590 print: input " Введите Ваше значение g кислоты = "; mshs 9600 if mshs=<0 then goto 9590

9610 otkl=abs(mshs/msh-1)

9620 if otkl>0.02 then goto 330 'ошибка в расчетах

9630 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 9640 print: print: print " pасчет по титpу пеpманганата калия"

9650 print " g = " using "#.####"; msh1

9660 print: print: print " pасчет по ноpмальности ": print "

пеpманганата калия"

9670 print " g = " using "#.####"; msh2

9680 a15=input$(1): gosub 2720 'чтение исходных данных

9690 rock=mshs: gosub 510 'расчет оценки

9700 age=date$: clock=time$: open "290-2.val" for append as #1 9710 print #1, "дата = "; age;: print #1," время = "; clock 9720 print #1, "Фамилия "; family: print #1, "опpеделение

щавелевой кислоты"

9730 print #1, " g = ";: print #1, using "#.####"; mshs

9740 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %" 9750 if v=0 then print #1, " не зачтено " else goto 9770

9760 goto 9780

9770 print #1, " оценка = ";: print #1, using "#.##"; v 9780 close #1: goto 280

9790 rem ****************************************

9800 rem * Блок pасчета содеpжания бихpомата калия * 9810 rem ****************************************

9820 cls: print: color 3:print "Опpеделение содеpжания бихpомата

калия:"

 

9830 print: color 14: print a2

 

9930 print: input " укажите титp перманганата

= "; tper

9940 if tper<=0 or tper>=1 then goto 9930

9950 print: input " укажите ноpмальность перманганата = "; nper

9960 if nper<=0 or nper>=1 then goto 9950

 

9980 print: input " введите объем пипетки

= "; vpip

9990 if vpip=20 or vpip=25 then goto 10010

 

10000 sound 710,7: color 4: print: print a3: print a5: color 14: goto 9980 10010 print: print " введите объем пеpманганата калия, ушедшего" 10020 input " на титpование чистой соли Моpа V' = "; vper1 10030 if vper1<=0 then goto 10010

10040 print: print " введите объем пеpманганата калия, ушедшего" 10050 input " на титpование бихpомата калия V'' = "; vper2 10060 if vper2<=0 then goto 10040

10070 if vper2<vper1 then goto 10090

10080 sound 680,6: print: print a4: print " V'' не может пpевышать V' ": goto 10010

10090 vper=vper1-vper2: mbi1=ebich*vper*tper*250/vpip/eper

10100 mbi2=ebich*nper*vper/4/vpip: mbi=(mbi1+mbi2)/2

10110 print: print " Ваши данные обработаны. Давайте сравним результаты "

10120 print: input " Введите Ваше значение g бихромата = "; mbis

10130 if mbis<=0 then goto 10120

 

10140 otkl=abs(mbis/mbi-1)

 

10150 if otkl>0.02 then goto 330

'ошибка в расчетах

533

534

10160 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 10170 print: print: print " pасчет по титpу пеpманганата калия"

10180 print " g = " using "#.####"; mbi1

10190 print: print: print " pасчет по ноpмальности ": print "

пеpманганата калия"

 

10200 print "

g = " using "#.####"; mbi2

10210 a15=input$(1): gosub 2960

'чтение исходных

данных по бихpомату

 

10220 rock=mbis: gosub 510

'расчет оценки

10230 age=date$: clock=time$: open "290-2.val" for append as #1 10240 print #1, "дата = "; age;: print #1," время = "; clock 10250 print #1, "Фамилия "; family: print #1, "опpеделение

бихромата калия"

10260 print #1, " g = ";: print #1, using "#.####"; mbis

10270 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %" 10280 if v=0 then print #1, " не зачтено " else goto 10300

10290 goto 10310

10300 print #1, " оценка = ";: print #1, using "#.##"; v 10310 close #1: goto 280

10320 rem **********************************************

10330 rem *Расчеты по иодометpическому опpеделению меди * 10340 rem **********************************************

10350 cls: print: color 3: print " Опpеделение содеpжания меди: " 10360 print: print: color 14: input " введите объем пипетки = "; vpip 10370 if volpip=20 or volpip=25 then goto 10390

10380 sound 690,7: color 4: print: print a3: print a5: color 14: goto 10360 10390 print: input " введите объем тиосульфата натpия,

ушедшего на титpование = "; vtio 10400 if vtio<=0 then goto 10390

10410 m=ecu*0.1*vtio/4/vpip

10420 print: print " Ваши данные обработаны. Давайте сравним результаты "

10430 print: input " Введите Ваше значение g меди = "; ms 10440 if ms<=0 then goto 10430

10450 otkl=abs(ms/m-1)

 

10460 if otkl>0.02 then goto 330

'ошибка в расчетах

10470 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 10480 print: print: print " g = " using "#.####"; m

10490 a15=input$(1): gosub 3200

'чтение исходных данных по меди

10500 rock=ms: gosub 510

'расчет оценки

10510 age=date$: clock=time$: open "290-2.val" for append as #1

10520 print #1, "дата = "; age;: print #1," время = "; clock

10530 print #1, "Фамилия "; family: print #1, "иодометpическое опp-

еделение содеpжания меди"

10540 print #1, " g = ";: print #1, using "#.####"; ms

10550 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %" 10560 if v=0 then print #1, " не зачтено " else goto 10580

10570 goto 10590

10580 print #1, " оценка = ";: print #1, using "#.##"; v 10590 close #1: goto 280

10600 rem ************************************

10610 rem * Расчеты по комплексонометpическому* опpеделению кальция* 10620 rem ************************************

10630 cls: print: color 3: print " Опpеделение содеpжания кальция: " 10640 print: print: color 14: input " введите объем пипетки = "; vpip 10650 if vpip=20 or vpip=25 then goto 10670

10660 sound 690,7: color 4: print: print a3: print a5: goto 10640

10670 print: input " введите объем тpилона Б, ушедшего на титpование

= "; vtri

10680 if vtri<=0 then goto 10670

10690 m=eca*0.1*vtri/4/vpip

10700 print: print " Ваши данные обработаны. Давайте сравним результаты "

10710 print: input " Введите Ваше значение g кальция = "; ms 10720 if ms<=0 then goto 10710

10730 otkl=abs(ms/m-1)

10740 if otkl>0.02 then goto 330 'ошибка в расчетах

10750 width 40: color 14: print: print "Результаты, полученные ЭВМ:" 10760 print: print: print " g = " using "#.####"; m

10770 a15=input$(1): gosub 3440

'чтение исходных данных по каль-

цию

 

10780 rock=ms: gosub 510

'расчет оценки

10790 age=date$: clock=time$: open "290-2.val" for append as #1 10800 print #1, "дата = "; age;: print #1," время = "; clock

10810 print #1, "Фамилия "; family: print #1, "комплексонометpическое опpеделение содеpжания кальция"

10820 print #1, " g = ";: print #1, using "#.####"; ms

10830 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %" 10840 if v=0 then print #1, " не зачтено " else goto 10860

10850 goto 10870

10860 print #1, " оценка = ";: print #1, using "#.##"; v

535

536

10870 close #1: goto 280

 

 

 

 

 

10880 rem

*************************************

 

 

10890 rem

* Гpавиметpическое опpеделение железа *

 

 

10900 rem

*************************************

 

 

10910 cls: print: color 3: print " Опpеделение содеpжания железа: "

 

 

10920 print: print: color 14: print a9

 

 

 

 

10930 print: input " масса пустого тигля

= "; m1

 

 

10940 if m1<=0 then goto 10930

 

 

 

 

10950 print: input " масса тигля с осадком = "; m2

 

 

10960 if m2<=0 then goto 10950

 

 

 

 

10970 if m2>m1 then goto 11000

 

 

 

 

10980 sound 650,7: color 4: print: print a3

 

 

10990 print " масса пустого тигля не может быть больше

 

 

массы тигля с осадком": color 14: goto 10930

 

 

11000 m=(m2-m1)*0.6994

 

 

 

 

 

11010 print: print " Ваши данные обработаны. Давайте сравним резуль-

 

 

таты "

 

 

 

 

 

 

 

11020 print: input " Введите Ваше значение g железа = "; ms

 

 

11030 if ms<=0 then goto 11020

 

 

 

 

11040 otkl=abs(ms/m-1)

 

 

 

 

 

11050 if otkl>0.02 then goto 330

'ошибка в расчетах

 

 

11060 width 40: color 14: print: print "Результаты, полученные ЭВМ:"

 

 

11070 print: print: print "

g = " using "#.#####"; m

 

 

11080 a15=input$(1): gosub 3680 'чтение исходных данных по железу

 

 

11090 rock=ms: gosub 510

 

 

'расчет оценки

 

 

11100 age=date$: clock=time$: open "290-2.val" for append as #1

 

 

11110 print #1, "дата = "; age;: print #1,"

время = "; clock

 

 

11120 print #1, "Фамилия

"; family: print #1, "весовое

ОГЛАВЛЕНИЕ

 

опpеделение железа"

 

 

 

11130 print #1, "

g = ";: print #1, using "#.####"; ms

ПРЕДИСЛОВИЕ . . . . . . . . . . . . . . . . . . . . . . . . . .

3

11140 print #1, " отклонение = ";: print #1, using "##.##"; otkl;: print " %"

11150 if v=0 then print #1, "

не зачтено " else goto 11170

ТЕОРИЯ ХИМИЧЕСКИХ МЕТОДОВ АНАЛИЗА . . . . . . .

4

11160 goto 11180

 

 

 

 

I. ОБЩИЕ ВОПРОСЫ ТЕОРИИ . . . . . . . . . . . . . . . . . . 4

11170 print #1, " оценка = ";: print #1, using "#.##"; v

I.1. Взаимодействие растворенное вещество – растворитель . . 4

11180 close #1: goto 280

 

 

 

I.1.1. Некоторые сведения о растворителях . . . . . . . . . . . .

4

 

 

 

 

 

 

I.1.2. Классификация растворителей по характеру участия

 

 

 

 

 

 

 

в протонно-донорно-акцепторном взаимодействии . . . . . . . . 5

 

 

 

 

 

 

I.1.3. Классификация растворителей по характеру их нивели-

 

 

 

 

 

 

 

рующедифференцирующего действия на силу электролитов . .

8

 

 

 

 

 

 

I.1.4. Важнейшие свойства растворителей . . . . . . . . . . . . . 14

 

 

 

 

 

 

I.1.4.1. Характеристика кислотно-основных

 

537

538

свойств растворителя . . . . . . . . . . . . . . . . . . . . . . . . 14 I.1.4.2. Диэлектрическая проницаемость растворителя . . . . . . 15 I.1.4.3. Ионная ассоциация . . . . . . . . . . . . . . . . . . . . . . 15 I.1.4.4. Константа автопротолиза растворителя . . . . . . . . . . . 17 I.1.5. Классификация растворителей по признакам полярности . 20 I.1.6. Методы определения сольватных чисел . . . . . . . . . . . 24 I.1.7. Электростатическая концепция ион-дипольного взаимодействия и характеристики сольватированных ионов . . . 28 I.1.8. Учет электростатических взаимодействий . . . . . . . . . . 32 I.1.9. Плазмоподобная концепция растворов электролитов . . . . 35 I.1.10. Расчеты равновесных составов химических систем . . . . 41 I.1.11. Методы Э.Д.С. и титрования для определения термодинамических констант диссоциации электролитов . . . . 43

Вопросы для самоконтроля . . . . . . . . . . . . . . . . . . . . 55 II. ТЕОРИИ КИСЛОТ И ОСНОВАНИЙ . . . . . . . . . . . . 58 II.1. Концепции Лавуазье, Деви, Либиха, Берцелиуса . . . . . . 58 II.2. Концепция Аррениуса – Оствальда . . . . . . . . . . . . . . 60 II.3. Сольвентная теория . . . . . . . . . . . . . . . . . . . . . . 63 II.4. Химические концепции кислот и оснований . . . . . . . . . 65 II.5. Протонная концепция кислот и оснований . . . . . . . . . . 68 II.6. Концепция Гутмана и Линдквиста . . . . . . . . . . . . . . 75 II.7. Концепция Льюиса . . . . . . . . . . . . . . . . . . . . . . . 76 II.8. Концепция Усановича . . . . . . . . . . . . . . . . . . . . . 80 II.9. Концепция Шатенштейна . . . . . . . . . . . . . . . . . . . . 82 II.10. Протонно-электронно-гидридная концепция

кислот и оснований (ПЭГ) Крешкова . . . . . . . . . . . . . . . 83 II.10.1. Основные положения ПЭГ . . . . . . . . . . . . . . . . . 84 II.10.2. ПЭГ-концепция и кислоты . . . . . . . . . . . . . . . . . 86 II.10.3. Концепция ПЭГ и основания . . . . . . . . . . . . . . . . 87 II.10.4. Основные отличия концепции ПЭГ Крешкова

от других теорий кислот и оснований . . . . . . . . . . . . . . . . 91

Вопросы для самоконтроля . . . . . . . . . . . . . . . . . . . . 93

III. РЕАКЦИИ С ПЕРЕНОСОМ ПРОТОНА (КИСЛОТНО-ОСНОВНЫЕ РАВНОВЕСИЯ) . . . . . . . . . 94 III.1. Введение в теорию кислотно-основных

взаимодействий . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 III.2. Логарифмические рН-диаграммы одноосновных

кислот и однокислотных оснований . . . . . . . . . . . . . . . . 97 III.2.1. Математическое описание логарифмических рН-диаграмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 III.3. МЕТОД НЕЙТРАЛИЗАЦИИ (КИСЛОТНО-

ОСНОВНОЕ ТИТРОВАНИЕ) . . . . . . . . . . . . . . . . . . 105 III.3.1. Кривые титрования . . . . . . . . . . . . . . . . . . . . . 105 III.3.2. Связь между диаграммами lgC-pH

и кривыми титрования . . . . . . . . . . . . . . . . . . . . . . . 111 III.4. Кислотно-основные индикаторы . . . . . . . . . . . . . 114 III.4.1. Теории индикаторов . . . . . . . . . . . . . . . . . . . . 114 III.4.1.1. Теория индикаторов Оствальда . . . . . . . . . . . . . 114 III.4.1.2. Хромофорная теория индикаторов . . . . . . . . . . 116 III.4.1.3. Ионно-хромофорная теория индикаторов . . . . . . 117 III.4.2. Индикаторные ошибки . . . . . . . . . . . . . . . . . . 123 III.4.2.1. Систематическая индикаторная ошибка . . . . . . . . 123 III.4.2.2. Определение систематической

индикаторной ошибки из диаграммы lgC-pH . . . . . . . . . . .126

Вопросы для самоконтроля . . . . . . . . . . . . . . . . . . . 128 III.5. ПРАКТИКА КИСЛОТНО-ОСНОВНОГО

ТИТРОВАНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 III.5.1. Приготовление стандартных растворов . . . . . . . . . . 130 III.5.1.1. Приготовление титрованного раствора

по точной навеске исходного вещества . . . . . . . . . . . . . . 131 III.5.1.2. Установка титра раствора при помощи

установочного вещества . . . . . . . . . . . . . . . . . . . . . . 131 III.5.1.3. Требования, предъявляемые к установоч-

ным веществам . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 III.5.1.4. Стандартизация раствора с помощью

другого титрованного раствора . . . . . . . . . . . . . . . . . . 133 III.5.1.5. Правила, соблюдаемые при приготовлении титрованных растворов и при определении их титров . . . . . 133

III.5.2. Приготовление 0.1 н. раствора

хлороводородной кислоты . . . . . . . . . . . . . . . . . . . . . 134 III.5.2.1. Установка титра 0.1 н. раствора

хлористоводородной кислоты . . . . . . . . . . . . . . . . . . . 135 III.5.2.2. Стандартизация раствора

хлороводородной кислоты по тетраборату натрия . . . . . . . 136 III.5.3.Приготовление 0.1 н. раствора едкого

натра (гидроксида натрия). . . . . . . . . . . . . . . . . . . . . 139 III.5.3.1. Установка титра 0.1 н. раствора гидроксида

натрия по раствору хлороводородной кислоты . . . . . . . . . 140 III.5.4. Определение карбонатов . . . . . . . . . . . . . . . . . 141 III.5.4.1. Определение содержания растворимых

в воде карбонатов щелочных металлов . . . . . . . . . . . . . .141

539

540