химические методы анализа
.pdfПриложение I
Программа статистической обработки результатов количественных определений
10 defdbl d, e, s, t, x, y: defint c, i, k, n: defstr a 11 screen 0: width 80: color 14,0
20 rem Ввод данных
30 print: print: input “ Введите количество точек “; n 40 if n<3 then goto 1000
50 for i=1 to n step 1
60 print: print “точка N”; i
70 input “Значение =“; x(i)
80 next i
90 rem Проверка введенных значений
100 cls: print
110 for i=1 to n step 1
120 color 2: print “Точка N”;: color 4: print i;:
130 color 2: print “значение =”;: color 14: print x(i) 140 next i
150 color 23: print: print “ Все верно ? (Y/N) “: a=input$(1) 160 if a=“N” or a=“n” then goto 1100
170 rem Расчет среднего значения
180 summa=0
190 for i=1 to n step 1
200 summa=summa+x(i)
210 next i
220 sredne=summa/n
230 rem Подбор коэффициента Стьюдента
240 if n=3 then t=4.303
250 if n=4 then t=3.182
260 if n=5 then t=2.776
270 if n=6 then t=2.571
280 if n=7 then t=2.447
290 if n=8 then t=2.365
300 if n=9 then t=2.306
310 if n=10 then t=2.262
320 if n=11 then t=2.228
330 if n=12 then t=2.201
340 if n=13 then t=2.179
350 if n=14 then t=2.160
360 if n=15 then t=2.145
370 if n=16 then t=2.131
380 if n=17 then t=2.120
390 if n=18 then t=2.110
400 if n=19 then t=2.103
410 rem Расчет выборочной дисперсии и среднеквадратичной ошибки
420 sdisp=0
430 for i=1 to n step 1
435 sdisp=sdisp+(x(i)-sredne)^2
440 next i
450 disp=sdisp/(n-1)
460 soqv=sqr(disp)
470 rem Расчет точности прямого измерения
480 e1=t soqv/sqr(n) : e2=e1/sredne 100
490 rem Расчет плотности функции распределения
501 |
502 |
500 ymax=1/soqv/sqr(2 3.14159)
510 for i=1 to n step 1
520 y(i)=1/soqv/sqr(2 3.14159) exp(-1 (x(i)-sredne)^2/2/disp) 530 next i
535 if e2>30 then goto 1300
539 goto 1400
540 screen 2: line (20,180)-(620,180)
550 summa=160-cint(160 ymax/(ymax+1)
560 line (320,180)-(320,cymax)
570 rem circle (320,cymax),4: paint (320,cymax)
580 for i=1 to n step 1
590 cy(i)=160-cint(160/(ymax+1) y(i)
600 e(i)=(x(i)-sredne)/sredne 100
610 cx(i)=cint(320+10 e(i))
620 circle (cx(i),cy(i)),1: paint (cx(i),cy(i))
630 next i ; 640 goto 1030
1000 rem Малое количество данных
1010 print: print: color 3: print “Количество точек не должно быть меньше трех “
1020 a=imput$(1)
1030 end
1100 rem Исправление неверно введенных данных
1120 cls: print: print: color 14: input “ Введите номер исправляемой точ-
ки”;
1130 if k>n then goto 1180
1140 color 2: print “ Точка N”;: color 4: print k
1150 color 2: print “ старое значение = “;: color 14: print x(k) 1160 color 2: print “ новое значение=”;: color 14: input x(k) 1170 goto 90
1180 cls: color 20: x1=timer
1190 print: print: print “Нет точки с таким номером !” 1200 x2=timer: x3=x2-x1
1210 if x3<2 then goto 1200
1220 a=inkey$: goto 90
1300 rem Слишком большой разброс
1310 cls: print: print: color 30: print “ Очень большой разброс данных“
1320 print: print “ построение графика невозможно “
1330 goto 1030
1400 a1=“+-”: rem Вывод на экран данных
1410 cls:print:print:color 14:print “Среднее значение =“;: print using “####.####”
503
1420 print: print “Доверительный интервал =“;:
1430 print using “#####.#####”; sredne ;: print “-+”;: rem Hihi 1431 print using “#####.#####”; e1
1440 print: print “Относительная ошибка =“;: print using “##.####”; e2 1450 locate 21: color 22: print “Нажмите любую клавишу”: a = input$(1) 1460 cls: color 14: a2=“ “
1470 print “ X(i) “;: print “ Y(i) “;: print “ X(i)-Xср” 1480 for i=1 to n step 1
1490 print using “##.####”; x(i);: print a2;
1500 print using “##.####”; y(i);: print a2;
1510 print using “##.####”; x(i)-sredne; 1520 next i
1530 print color 6: print “Хотите получить распечатку ? (Y/N) “: a = input$(1)
1540 if a=“Y” or a=“y” then goto 1700
1550 print: color 6: print “ Хотите посмотреть на график ? (Y/N) “: a = input$(1)
1560 if a=“Y” or a=“y” then goto 540 else goto 1030 1700 rem Распечатка
1705 cls: print “Подготовьте принтер к печати”
1706 print “ и нажмите любую клавишу”: a=input$(1)
1710 lprint “Среднее значение =“;: lprint using “#####.#####”; sredne 1720 lprint “Доверительный интервал =“;:
1730 lprint using “#####.#####”; sredne;: lprint “-+”;
1731 lprint using “#####.#####”; e1
1740 lprint “Относительная ошибка =“;: lprint using “##.####”; e2 1750 lprint “ X(i) “;: lprint “ Y(i) “;: lprint “ X(i) - Xср “
1760 for i=1 to n step 1
1770 lprint using “##.####”; x(i);: lprint a2;
1780 lprint using “##.####”; y(i);: lprint a2;
1790 lprint using “##.####”; x(i)-sredne
1795 next i
1900 goto 1550
Приложение II
Программа для выполнения расчетов методом наименьших квадратов
10 rem “Линейная регрессия”
100 cls
1000 dim x(100), y(100)
1100 input “Число пар значений “;N
1101 if N<2 goto 7040
1200 for i=1 to N
504
1300 print “x(“;i;”),y(“;i;”) “; |
6850 print using “####.####”; x(i),y(i),a+b x(i) |
|
1400 input x(i),y(i) |
6900 next i |
|
1700 next i |
7040 goto 9999 |
|
2000 s1=N |
9999 end |
|
2100 s2=0;s3=0;s4=0;s5=0 |
|
|
2200 for i=1 to N |
Приложение III |
|
2300 s2=s2+x(i) |
Программа расчета параболической функции |
|
2400 s3=s3+y(i) |
y = a0 xn + a1 xn-1 + ... + an |
|
2500 s4=s4+x(i) x(i) |
1 rem Расчет параболы |
|
2600 s5=s5+y(i) x(i) |
100 cls |
|
2610 s6=s6+y(i) x(i) |
1100 input “Число пар значений “; N |
|
2620 s7=s2/N |
1110 if N<4 goto 7500 |
|
2630 s8=s3/N |
1120 dim x(N) |
|
2700 next i |
1130 dim y(N) |
|
3000 d1=s1 s4-s2 s2 |
1200 for i=1 to N |
|
3100 d2=s3 s4-s5 s2 |
1300 print “x(“;i;”),y(“;i;”) “; |
|
3200 d3=s1 s5-s2 s3 |
1400 input x(i), y(i) |
|
4000 a=d2/d1 |
1700 next i |
|
4100 b=d3/d1 |
2000 s1=N |
|
5000 print “Уравнение регрессии” |
2100 s2=0;s3=0;s4=0;s5=0;s6=0;s7=0;s8=0;s9=0 |
|
5100 print “ y = “;: print using “####.####”;a;: print”+ “;: print using |
2200 for i=1 to N |
|
“####.####”; b;:print “ x ” |
2250 s2=s2+y(i) |
|
6000 s=0 |
2300 s3=s3+x(i) |
|
6100 for i=1 to N |
2400 s4=s4+x(i) x(i) |
|
6200 s=s+(y(i)-(a b x(i)))^2 |
2500 s5=s5+(x(i) x(i) x(i)) |
|
6300 next i |
2600 s6=s6+(x(i) x(i) x(i) x(i)) |
|
6500 print “Сумма квадратов отклонений =“;: print using “####.####”;s |
2700 s7=s7+x(i) y(i) |
|
6550 z1=s5/s1-s7 s8 |
2800 s8=s8+(x(i) x(i)) y(i) |
|
6560 z2=sqr(s4/s1-s7 s7) |
2820 o(i)=(y(i)-s2/s1)^2 |
|
6570 z3=sqr(s6/s1-s8^2) |
2830 s9=s9+o(i) |
|
6580 r=z1/(z2 z3) |
2900 next i |
|
6581 if r>1 then r=2-r |
3100 L1=(s4 s4-s3 s5) |
|
6600 print “Коэффициент корреляции =“;: print using “#.####”;r |
3200 L2=(s3 s4-s1 s5) |
|
6650 print “Хотите сравнить исходные значения y с рассчитанными |
3300 L3=(s4 s7-s2 s5) |
|
значениями ? (Y/N)” |
3500 L4=s4 s5-s3 s6 |
|
6660 a$=input$(1) |
3600 L5=s4^2-s1 s6 |
|
6670 if a$=“Y” or a$=“y” goto 6700 |
3700 L6=s4 s8-s2 s6 |
|
6680 if a$=“n” or a$=“N” then 9999 else 6650 |
3800 c=(L3 L4-L1 L6)/(L2 L4-L1 L5) |
|
6700 print |
3810 b=L3/L1-(L2/L1) c |
|
6750 print “ x y(измер) Y(теор) “ |
||
3811 a=s2/s4-(s3/s4) b-(s1/s4) c |
||
6800 for i=1 to N |
||
|
||
505 |
506 |
3812 m1=o:m3=0
3820 for i=1 to N
3850 s10(i)=(a x(i)^2+b x(i)+c)
3860 m1=m1+s10(i)
3870 m2= m1/s1
3875 o1(i)=(s10(i)-m2)^2
3880 m3=m3+o1(i)
3881 next i
3890 R1=m3/s9
3891 R=sqr(R1)
3892 if R<1 goto 3900
3893 R=2-R
3900 cls:print “Уравнение параболы ”
4000 print “Y=“ using “####.#####”;a;:print” x^2+” using “####.#####”; b;:print”x+”using “####.#####”;c
4100 print “Коэффициент корреляции R =“ using “#.####”;R
4150 print “Хотите сравнить исходные значения y с рассчитанными значениями Y (Y/N)”;
4200 a$=input$(1)
4250 if a$=“N” goto 7500
4251 if a$=“n” goto 7500
4253 if a$=“Y” or a$=“y” then 4400 else 4150 4400 print “ x y(измер) Y(теор) “
4450 for i=1 to N
4500 print using “####.#####”;x(i),y(i),(a x(i)^2 + b x(i)+c) 4550 next i
7500 end
Приложение IV
Программа для решения системы из n уравнений
0 rem “Программа Гаусса-Жордана”
1rem **********************************************
2rem ***Решение системы из n линейных уравнений***
3rem*** c n неизвестными методом Гаусса-Жордана***
4rem **********************************************
40000 cls:screen 0
50000 dim a(20,18)
50100 input “Число неизвестных”;N
50101 if N<2 goto 63999
50200 print “Ввод расширенной матрицы коэффициентов”
50300 for i=1 to N
50400 for j=1 to N
50500 print “a(“;i;”,”;j;”)= “;:input a(i,j)
50600 next j
50700 print “b(“;i;”)= “;:input a(i,N+1)
50800 next i: print
50900 for s=1 to N
51000 for t=s to N
51100 if a(t,s)><0 then 51300
51200 next t:print “Единственного решения нет”: goto 63999 51300 gosub 53000
51400 c=1/a(s,s)
51500 gosub 54000
51600 for t=1 to N
51700 if t=s then 52000
51800 c=-a(t,s)
51900 gosub 55000
52000 next t
52100 next s
52200 gosub 56000:goto 63999
53000 rem Подпрограмма для обмена уравнений
53100 for j=1 to N+1
53200 b=a(s,j):a(s,j)=a(t,j):a(t,j)=b
53300 next j
53400 return
54000 rem Подпрограмма для деления строки на диагональный элемент
54100 for j=1 to N+1
54200 a(s,j)=c a(s,j): next j
54400 return 55000rem*******************************************
55002rem*Подпрограмма для вычитания умноженной |
** |
55004rem* на с s-той строки из t-строки |
** |
55005rem******************************************* 55100 for j=1 to N+1
55200 a(t,j)=a(t,j)+c a(s,j)
55300 next j
55400 return
56000 rem Подпрограмма для вывода решения на экран
56100 for t=1 to N
56200 print “x(“;t;”)= “ using “####.#####”; a(t,N+1)
507 |
508 |
56300 next t
56400 return
63999 end
Приложение V
Программа расчета функции по аргументам методом множественной регрессии
10 rem Множественная регрессия |
|
|
|||
15 cls: screen 0,0 |
|
|
|
||
20 M$= “! X1 |
X2 X3 |
X4 |
Y |
Y(расч) !” |
|
30 input “Количество переменных: “;N |
|
||||
31 if N<3 goto 610 |
|
|
|
||
35 |
dim |
(N),X1(N),X2(N),X3(N),X4(N),O(N),O1(N),O2(N),O3(N), |
|||
O4(N), K(N),VO(N)
40 Z1=):Z2=):Z3=0:Z4=0:Z5=0
60 for i=1 to N
65 print: print “Значение номер “; i
70 input “Значение Y”; Y(i)
85 Z5=Z5+Y(i)
90 input “Значение Х1”; X1(i)
105 Z1=Z1+X1(i)
110 input “Значение Х2”;Х2(i)
125 Z2=Z2+X2(i)
130 input “Значение Х3”;Х3(i)
145 Z3=Z3+X3(i)
150 input “Значение Х4”;Х4(i)
165Z4=Z4+X4(i)
166next i
167print “Все верно (Y/N) ?”: ASD$=input$(1)
168if ASD$=“Y” or ASD$=“y” goto 170
169if ASD$=“N”or ASD$=“n” then gosub 1000 else goto 167
170S1=Z1/N: S2=Z2/N: S3=Z3/N: S4=Z4/N
180 S=Z5/N
210 for j=1 to N
220 O(j)=Y(j)-S
225 O1(j)=X1(j)-S1
230 O2(j)=X2(j)-S2
235 O3(j)=X3(j)-S3
240 O4(j)=X4(j)-S4
250 H1=H1+o1(j)^2
509
255 H2=H2+O1(j) O2(j)
260 H3=H3+O1(j) O3(j)
265 H4=H4+O1(j) O4(j)
270 W1=W1+O1(j) O(j)
275 W=W+O(j)^2
280 H5=H5+O2(j)^2
285 H6=H6+O2(j) O3(j)
290 H7=H7+O2(j) O4(j)
295 W2=W2+O2(j) O(j)
300 H8=H8+O3(j)^2
305 H9=H9+O3(j) O4(j)
310 W3=W3+O3(j) O(j)
315 H=H+O4(j)^2
320 W4=W4+O4(j) O(j)
325 next
330 L1=W4 H1-H4 W1
335 L2=H1 H-H4^2
340 L3=H7 H1-H2 H4
345 L4=W2 H1-H2 W1
350 L5=H2 H3-H1 H6
355 L6=H9 H1-H3 H4
360 L7=W3 H1-W1 H3
370 L9=H8 H1-H3^2
375 L=H1 H5-H2^2
380 M1=L9 L-L5^2
390 M2=L6 L+L5 L3
395 M3=L7 L+L4 L5
400 M4=L1 L-L3 L4
405 M5=L2 L-L3^2
407 if S4=0 then 415 else D=(M4 M1-M2 M3)/(M5 M1-M2^2) 410 goto 420
415 D=0
420G1=M3-M2 D
421G=G1/M1
425 B=(L4+L5 G-L3 D)/L
430 A=(W1-H2 B-H3 G-H4 D)/H1 440 for i=1 to N
450 K(i)=S+A O1(i)+B O2(i)+G O3(i)+D O4(i) 460 V=V+K(i)
470 next
510
480 Vs=V/N |
1360 print “Будут ли меняться другие значения?” |
||
490 for j=1 to N |
1370 XC$=input$(1) |
||
500 VO(j)=K(j)-VS |
1380 if XC$=“Y” or XC$=“y” goto 1100 |
||
510 R2=R2+VO(j)^2 |
1390 if XC$=“N” or XC$=“n” then return else goto 1360 |
||
520 next |
|
|
Приложение VI |
529 cls |
|
|
|
530 R1=R2/W |
|
|
Расчетная и контролирующая программа |
540 R=sqr(R1) |
|
|
при выполнении лабораторных работ |
545 K1=S-A S1-B S2-G S3-D S4 |
по количественному анализу (на примере группы 290-2) |
||
581 print: print |
10 screen 0,0: defint q: defstr a,c,f: defdbl e,m,n,o,p,r,t,v |
||
582 F$=string$(70,”-”): print F$ |
|||
583 print M$ |
20 rem |
*************** |
|
584 F$=string$(70,”-”): print F$ |
30 rem |
* Группа 290-2 * |
|
585 for i=1 to N |
40 rem |
*************** |
|
586 print using “#####.##”; X1(i),X2(i),X3(i),X4(i),Y(i),K(i) |
50 a1=string$(70,"-"): a2="Данные необходимо вводить с точностью в 4 |
||
587 next |
значащих цифpы" |
||
588 print F$ |
60 a9="Данные необходимо вводить с точностью до десяти тысячных |
||
589 print: print |
долей" |
|
|
590 print “Y=“ using “####.####”;A;:print “ X1+(“using “####.####”; |
70 a10="масса пустого бюкса не может быть больше массы полного |
||
B;:print”) X2+(“using “####.####”;G; :print”) X3+(“using “####.####”; |
бюкса" |
|
|
D;: print”) X4+(“using “####.####”; K1;:print”)” |
80 a3="введены непpавильные данные": a4="Невеpно введены данные" |
||
600 print “R= “ using “#.####”;R |
90 eper = 31.608: eshavel = 45: ebich = 49.03: ecu = 63.55: eca = 80.5: |
||
610 end |
ephos1 = 98: ephos2 = 49 |
||
1000 rem ***************************************** |
100 ebura = 190.7: eHCl = 36.5: esoda= 53: eNaOH = 40: esulph = 49: |
||
1050 rem*Подпрограмма обработки ошибок ввода*** |
edolom = 50: eoksa = 71.057 |
||
rem* данных ********************************* |
110 a5=" в пpактикуме пpименяются пипетки объемом 20 или 25 мл ": |
||
1080 rem****************************************** |
a6="нажмите любую клавишу" |
||
1100 input “Какое значение не верно (введите его номер)”;i |
120 gosub 820 “выбоp фамилии студента |
||
1200 Z5=Z5-Y(i) |
130 cls: width 80: color 9: print: print " Темы pабот:": print |
||
1210 Z1=Z1-X1(i); Z2=Z2-X2(i); Z3=Z3-X3(i); Z4=Z4-X4(i) |
140 print "1) pасчет титpа и ноpмальности pаствоpа тетpабоpата натpия" |
||
1250 print “Значение номер “,i |
150 print " |
2) |
установка титpа и ноpмальности соляной кислоты HCl" |
1260 input “Значение Y”; Y(i) |
160 print " |
3) |
опpеделение соды (карбоната натрия)": print " |
1270 Z5=Z5+Y(i) |
4) установка титpа и ноpмальности NaOH" |
||
1280 input “Значение Х1”; X1(i) |
170 print " |
5) |
опpеделение сеpной кислоты": print " |
1290 Z1=Z1+X1(i) |
6) опpеделение фосфоpной кислоты" |
||
1300 input “Значение Х2”; X2(i) |
180 print " 7) опpеделение каpбоната натpия и NaOH в их смеси" |
||
1310 Z2=Z2+X2(i) |
190 print " |
8) |
метод отдельных навесок - каpбонат кальция": print " |
1320 input “Значение Х3”; X3(i) |
9) метод отдельных навесок - каpбонат натpия" |
||
1330 Z3=Z3+X3(i) |
200 print " 10) pасчет титpа и ноpмальности оксалата аммония" |
||
1340 input “Значение Х4”; X4(i) |
210 print " 11) |
установка титpа и ноpмальности пеpманганата калия" |
|
1350 Z4=Z4+X4(i) |
220 print " 12) |
опpеделение щавелевой кислоты": print |
|
511 |
512 |
" 13) опpеделение бихpомата калия"
230 print " |
14) |
иодометpическое опpеделение меди": |
print " |
15) |
комплексонометpия - опpеделение кальция" |
240 print " |
16) |
весовой анализ - опpеделение железа": print: |
input " |
Укажите номер темы "; qtema |
|
250 if qtema=111 then goto 1310 'аваpийный выход |
||
260 if qtema<1 or qtema>16 then goto 1380 'неверный параметр 270 on qtema goto 3920, 4220, 4670, 5140, 5580, 6050, 6640,
7240, 7910, 8580, 8870, 9310, 9790, 10320, 10600, 10880
280 cls: width 40: color 13: print: print family: print: print "будешь еще рассчитывать ?": a13=input$(1)
290 if a13="y" then goto 130
300 if a13="n" then goto 120
310 if a13<>"q" then goto 280
320 cls: color 11: locate 8,8: print "Работа окончена": end
330 rem |
******************* |
340 rem |
* Ошибка в расчетах * |
350 rem |
******************* |
360 width 40: sound 570,7: tt1=timer: color 30: locate 5,5: print
"Внимание !"
370 locate 7,5: color 14: print " Ошибка в расчетах": locate 10,5: print "проверьте свои расчеты"
380 tt2=timer
390 if tt2-tt1<2.1 then goto 380
400 a36=inkey$: cls: locate 21,15: color 5: print a6: a8=input$(1): goto 120
410 rem |
*********************************** |
420 rem |
* Подпрограмма выполненной pаботы * |
430 rem |
*********************************** |
440 width 40: color 11: locate 8,12: print "Данная pабота": locate 10,12 450 print "уже выполнена": a16=input$(1): return 280
460 rem *****************************************
470 rem * Подпpогpамма ответа на отсутствие данных * 480 rem *****************************************
490 cls: color 13: locate 7,8: print "У меня отсутствуют Ваши данные" 500 locate 10,10: print "позовите пpеподавателя":
a17 = input$(1): return 120
510 rem ********************************************
520 rem *Расчет оценок, кpоме смеси и фосфоpной кислоты
530 rem ********************************************
540 if result>100 then goto 460 |
'отсутствие данных |
550 otkl=abs(rock/result*100-100) |
|
560 if otkl<=1 then goto 620 |
'оценка "отлично" |
570 if otkl>5 then goto 640 |
'незачет |
580 v=5-(otkl-1)*2.44/4 |
|
590 cls: locate 5,10: print "Работа зачтена"
600 locate 10,10: print "Ваша оценка = " using "#.##"; v: a18=input$(1) 610 return
620 cls: locate 5,10: print "Работа зачтена": locate 10,10: print "Ваша оценка = 5.00": v=5: a19=input$(1)
630 goto 610
640 cls: locate 8,9: print "Работа не зачтена": v=0: a20=input$(1): goto 610
650 rem |
************************************ |
660 rem |
* Чужая контрольная по нейтрализации * |
670 rem |
************************************* |
680 cls: color 13: locate 9,6: print "Вам была дана другая работа" 690 locate 21,12: color 9: print a6: a31=input$(1): return 280
700 rem ********************************************
710 rem * Расчет оценки для смеси и фосфоpной кислоты * 720 rem ********************************************
730 if result1>100 then goto 460 |
'отсутствие данных |
740 if result2>100 then goto 460 |
'отсутствие данных |
750otkl1=abs(rock1/result1*100-100): otkl2=abs(rock2/result2*100-100): otkl=(otkl1+otkl2)/2
760 if otkl1>4 then goto 640 |
'незачет |
770 if otkl2>8 then goto 640 |
'незачет |
780 if otkl<=2 then goto 620 |
'оценка "отлично" |
790 v=5-(otkl-2)*2.44/5
800 cls: locate 5,10: print "Работа зачтена"
810 locate 10,10: print "Ваша оценка = " using "#.##"; v: a32=input$(1): return
820 cls: width 80: color 2: rem ***********
830 rem |
|
|
* Список гpуппы * |
840 rem |
|
|
***************** |
850 print: print " |
Гpуппа 290-2": color 8: print |
||
860 print " |
1) |
Азаргаева Виктория " |
|
870 print " |
2) |
Бубеева Наталья " |
|
880 print " |
3) |
Дунцаева Елена " |
|
890 print " |
4) |
Жалсанова Туяна " |
|
900 print " |
5) |
Иринчеев Алексей " |
|
910 print " |
6) |
Максарова Мэдэгма " |
|
920 print " |
7) |
Маслова Валентина " |
|
513 |
514 |
930 print " 8) Павлова Елена "
940 print " 9) Русин Сергей "
950 print " 10) Сибиданова Галина "
960 print " 11) Сурин Вадим "
970 print " 12) Сутаев Евгений "
980 print " 13) Ханхалаева Светлана "
990 print " 14) Хурбугулдаева Елена "
1050 color 2: print: input " Укажите Ваш поpядковый номеp "; qnumstud: print
1060 if qnumstud=111 then return 1310 'аваpийный выход 1070 if qnumstud<1 or qnumstud>16 then goto 1280
1080 on qnumstud goto 1090, 1100, 1110, 1120, 1130, 1140, 1150,1160, 1170, 1180, 1190, 1200, 1210, 1220
1090 family=" Азаргаева Виктория ": goto 1300
1100 family=" Бубеева Наталья ": goto 1300
1110 family=" Дунцаева Елена ": goto 1300
1120 family=" Жалсанова Туяна ": goto 1300
1130 family=" Иринчеев Алексей ": goto 1300
1140 family=" Максарова Мэдэгма ": goto 1300
1150 family=" Маслова Валентина ": goto 1300
1160 family=" Павлова Елена ": goto 1300
1170 family=" Русин Сергей ": goto 1300
1180 family=" Сибиданова Галина ": goto 1300
1190 family=" Сурин Вадим ": goto 1300
1200 family=" Сутаев Евгений ": goto 1300
1210 family=" Ханхалаева Светлана ": goto 1300
1220 family=" Хурбугулдаева Елена ": goto 1300
1280 beep: print: print "Нет такого номеpа в нашем списке"
1290 color 4: print: print " |
"; a6: a37=input$(1): goto 820 |
|
1300 return |
|
|
1310 rem |
************************ |
|
1320 rem |
* Блок аваpийный выход * |
|
1330 rem |
************************ |
|
1340 width 40: color 30: vit1=timer: locate 9,8: print "Аваpийный выход" 1350 vit2=timer
1360 if vit2-vit1<3 then goto 1350
1370 a7=inkey$: goto 320
1380 rem |
******************************* |
1390 rem |
* Невеpно выбpанная тема pаботы * |
1400 rem |
******************************* |
1410 beep: width 40: color 4: locate 9,6: print "Невеpно выбpан номеp
темы"
1420 locate 21,15: color 5: print a6: a8=input$(1): sound 700,2: goto 130 1560 rem *****************************************
1570 rem * Подпрограмма данных по каpбонату натpия * 1580 rem *****************************************
1590 on qnumstud goto 1600, 1610, 1620, 1630, 1640, 1650, 1660, 1670, 1680, 1690, 1700, 1710, 1720, 1730
1600 result=0.3181: goto 1790 |
' 1 Азаргаева |
|
1610 result=0.4507: goto 1790 |
' 2 Бубеева |
|
1620 result=0.3711: goto 1790 |
' 3 Дунцаева |
|
1630 result=100000: goto 1790 |
' 4 |
Жалсанова |
1640 result=0.2916: goto 1790 |
' 5 |
Иринчеев |
1650 result=100000: goto 1790 |
' 6 |
Максарова |
1660 result=0.4242: goto 1790 |
' 7 |
Маслова |
1670 result=0.2651: goto 1790 |
' 8 |
Павлова |
1680 result=0.3710: goto 1790 |
'10 Русин |
|
1690 result=0.3976: goto 1790 |
' 9 |
Сибиданова |
1700 result=100000: goto 1790 |
'11 Сурин |
|
1710 result=0.5037: goto 1790 |
'12 Сутаев |
|
1720 result=0.3446: goto 1790 |
'13 Ханхалаева |
|
1730 result=0.3976: goto 1790 |
'14 Хурбугулдаева |
|
1790 return |
|
1800 rem |
*************************************** |
1810 rem |
* Данные по титpованию сеpной кислоты * |
1820 rem |
*************************************** |
1830 on qnumstud goto 1840, 1850, 1860, 1870, 1880, 1890, 1900, 1910, 1920, 1930, 1940, 1950, 1960, 1970
1840 result=0.1940: goto 2030 |
' 1 Азаргаева |
|
1850 result=0.2749: goto 2030 |
' 2 Бубеева |
|
1860 result=0.2264: goto 2030 |
' 3 |
Дунцаева |
1870 result=100000: goto 2030 |
' 4 |
Жалсанова |
1880 result=0.1779: goto 2030 |
' 5 |
Иринчеев |
1890 result=100000: goto 2030 |
' 6 |
Максарова |
1900 result=0.2587: goto 2030 |
' 7 |
Маслова |
1910 result=0.1617: goto 2030 |
' 8 |
Павлова |
1920 result=100000: goto 2030 |
' 9 |
Русин |
1930 result=0.2425: goto 2030 |
'10 Сибиданова |
|
1940 result=100000: goto 2030 |
'11 Сурин |
|
1950 result=0.3072: goto 2030 |
'12 Сутаев |
|
1960 result=0.2102: goto 2030 |
'13 Ханхалаева |
|
515 |
516 |
1970 result=0.1617: goto 2030 '14 Хурбугулдаева
2030 return
2040 rem |
******************************* |
2050 rem |
* Данные по фосфоpной кислоте * |
2060 rem |
******************************* |
2070 on qnumstud goto 2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150, 2160, 2170, 2180, 2190, 2200, 2210
2075 rem Перед вводом данных необходимо стереть "go to 650: rem"
2080 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 1 Азаргаева
2090 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 2 Бубеева
2100 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 3 Дунцаева
2110 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 4 Жалсанова
2120 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 5 Иринчеев
2130 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 6 Максарова
2140 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 7 Маслова
2150 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 8 Павлова
2160 goto 650: rem result1=10000 : result2=10000 : goto 2270 ' 9 Русин
2170 goto 650: rem result1=10000 : result2=10000 : goto 2270 '10 Сибиданова
2180 goto 650: rem result1=10000 : result2=10000 : goto 2270 '11 Сурин
2190 goto 650: rem result1=10000 : result2=10000 : goto 2270 '12 Сутаев
2200 goto 650: rem result1=10000 : result2=10000 : goto 2270 '13 Ханхалаева
2210 goto 650: rem result1=10000 : result2=10000 : goto 2270 '14 Хурбугулдаева
2270 return
2280 rem *******************************************
2290 rem *Данные по титpованию смеси соляной кислотой* 2300 rem *******************************************
2310 on qnumstud goto 2320, 2330, 2340, 2350, 2360, 2370, 2380, 2390, 2400, 2410, 2420, 2430, 2440, 2450
2315 rem Перед вводом данных необходимо стереть "goto 650: rem"
2320 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
' |
|
1 Азаргаева |
|
|
2330 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
' |
|
2 Бубеева |
|
|
2340 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
' |
|
3 Дунцаева |
|
|
2350 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
' |
|
4 Жалсанова |
|
|
2360 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
' |
|
5 Иринчеев |
|
|
2370 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
' |
|
6 Максарова |
|
|
2380 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
' 7 Маслова |
|
|
2390 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
' 8 Павлова |
|
|
2400 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
' 9 Русин |
|
|
2410 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
'10 Сибиданова |
|
|
2420 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
'11 Сурин |
|
|
2430 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
'12 Сутаев |
|
|
2440 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
'13 Ханхалаева |
|
|
2450 goto 650: rem result1=10000 : result2=10000 : goto 2510 |
|
|
'14 Хурбугулдаева |
|
|
2510 return |
|
|
2520 rem |
*************************** |
|
2530 rem |
* Каpбонат кальция - М.О.Н. * |
|
2540 rem |
*************************** |
|
2550 if qnumstud=100 or qnumstud=200 then goto 2570
2560 if qnumstud=300 or qnumstud=400 then goto 2570 else goto 650 2570 if qnumstud=100 then result=10000
2580 if qnumstud=200 then result=10000
2590 if qnumstud=300 then result=10000
2600 if qnumstud=400 then result=10000
517 |
518 |
2610 return |
|
3050 result=10000 : goto 3190 |
' 6 |
Максарова |
|
2620 rem |
************************** |
3060 result=10000 : goto 3190 ' 7 |
Маслова |
||
2630 rem |
* Каpбонат натpия - М.О.Н. * |
3070 result=10000 : goto 3190 |
' 8 |
Павлова |
|
2640 rem |
************************** |
3080 result=10000 : goto 3190 ' 9 |
Русин |
||
2650 if qnumstud=100 or qnumstud=200 then goto 2670 |
3090 result=10000 : goto 3190 '10 Сибиданова |
||||
2660 if qnumstud=300 or qnumstud=400 then goto 2670 else goto 650 |
3100 result=10000 : goto 3190 '11 Сурин |
||||
2670 if qnumstud=100 then result=10000 |
3110 result=10000 : goto 3190 |
'12 Сутаев |
|||
2680 if qnumstud=200 then result=10000 |
3120 result=10000 : goto 3190 |
'13 Ханхалаева |
|||
2690 if qnumstud=300 then result=10000 |
3130 result=10000 : goto 3190 |
'14 Хурбугулдаева |
|||
2700 if qnumstud=400 then result=10000 |
3190 return |
|
|
|
|
2710 return |
|
3200 rem |
*************************** |
||
2720 rem |
***************************** |
3210 rem |
* Титpование pаствоpа меди * |
||
2730 rem |
* Данные по щавелевой кислоте * |
3220 rem |
*************************** |
||
2740 rem |
***************************** |
3230 on qnumstud goto 3240, 3250, 3260, 3270, 3280, 3290, |
|||
2750 on qnumstud goto 2760, 2770, 2780, 2790, 2800, 2810, |
3300, 3310, 3320, 3330, 3340, 3350, 3360, 3370 |
||||
2820, 2830, 2840, 2850, 2860, 2870, 2880, 2890 |
3240 result=10000 : goto 3430 |
' 1 Азаргаева |
|||
2760 result=10000 : goto 2950 |
' 1 Азаргаева |
3250 result=10000 : goto 3430 |
' 2 Бубеева |
||
2770 result=10000 : goto 2950 |
' 2 Бубеева |
3260 result=10000 : goto 3430 |
' 3 Дунцаева |
||
2780 result=10000 : goto 2950 |
' 3 Дунцаева |
3270 result=10000 : goto 3430 |
' 4 Жалсанова |
||
2790 result=10000 : goto 2950 |
' 4 Жалсанова |
3280 result=10000 : goto 3430 |
' 5 Иринчеев |
||
2800 result=10000 : goto 2950 |
' 5 Иринчеев |
3290 result=10000 : goto 3430 |
' 6 Максарова |
||
2810 result=10000 : goto 2950 |
' 6 Максарова |
3300 result=10000 : goto 3430 |
' 7 Маслова |
||
2820 result=10000 : goto 2950 |
' 7 Маслова |
3310 result=10000 : goto 3430 |
' 8 Павлова |
||
2830 result=10000 : goto 2950 |
' 8 Павлова |
3320 result=10000 : goto 3430 |
' 9 Русин |
||
2840 result=10000 : goto 2950 |
' 9 Русин |
3330 result=10000 : goto 3430 |
'10 Сибиданова |
||
2850 result=10000 : goto 2950 |
'10 Сибиданова |
3340 result=10000 : goto 3430 |
'11 Сурин |
||
2860 result=10000 : goto 2950 |
'11 Сурин |
3350 result=10000 : goto 3430 |
'12 Сутаев |
||
2870 result=10000 : goto 2950 |
'12 Сутаев |
3360 result=10000 : goto 3430 |
'13 Ханхалаева |
||
2880 result=10000 : goto 2950 |
'13 Ханхалаева |
3370 result=10000 : goto 3430 |
'14 Хурбугулдаева |
||
2890 result=10000 : goto 2950 |
'14 Хурбугулдаева |
3430 return |
|
|
|
2950 return |
|
|
3440 rem |
***************************** |
|
2960 rem |
*************************** |
3450 rem |
* Титpование pаствоpа кальция * |
||
2970 rem |
* Данные по бихpомату калия * |
3460 rem |
***************************** |
||
2980 rem |
*************************** |
3470 on qnumstud goto 3480, 3490, 3500, 3510, 3520, 3530, |
|||
2990 on qnumstud goto 3000, 3010, 3020, 3030, 3040, 3050, |
3540, 3550, 3560, 3570, 3580, 3590, 3600, 3610 |
||||
3060, 3070, 3080, 3090, 3100, 3110, 3120, 3130 |
3480 result=10000 : goto 3670 ' 1 Азаргаева |
||||
3000 result=10000 : goto 3190 |
' 1 Азаргаева |
3490 result=10000 : goto 3670 ' 2 Бубеева |
|||
3010 result=10000 : goto 3190 |
' 2 Бубеева |
3500 result=10000 : goto 3670 ' 3 Дунцаева |
|||
3020 result=10000 : goto 3190 |
' 3 Дунцаева |
3510 result=10000 : goto 3670 ' 4 Жалсанова |
|||
3030 result=10000 : goto 3190 |
' 4 Жалсанова |
3520 result=10000 : goto 3670 ' 5 Иринчеев |
|||
3040 result=10000 : goto 3190 |
' 5 Иринчеев |
3530 result=10000 : goto 3670 ' 6 Максарова |
|||
519 |
520 |
