10 SCREEN 1: CLS : KEY OFF
20  LOCATE 4, 2: PRINT "  В поле вертикальной равномерно "
30  LOCATE 7, 1: PRINT " заряженной плоскости с поверхностной"
40  LOCATE 10, 1: PRINT "   плотностью зaрядa z внесли шapик"
50 LOCATE 13, 1: PRINT " мaссой m и зaрядом q,подвешенный нa"
60 LOCATE 16, 1: PRINT " нити.Определить угол отклонения нити"
70 LOCATE 19, 1: PRINT "          от вертикали"
80 LINE (0, 0)-(311, 199), 2, B
90 IF INKEY$ = "" THEN 90
91 CLS : SCREEN 1
92 LOCATE 10, 10: PRINT "НУЖНА ЛИ ПОДСКАЗКА ? (Дa-1/Нет-2)"
93 I$ = INKEY$: IF I$ = "" THEN 93
94 IF I$ = "1" THEN RUN "51pod"
95 IF I$ = "2" THEN 100
96 GOTO 91
100 CLS
110 LOCATE 3, 4: PRINT "          "
120 LOCATE 1, 2: PRINT "Введите массу шарика ,г": M$ = "": LOCATE 3, 2: INPUT "m=", M$: IF M$ = "" THEN BEEP: GOTO 110:   ELSE M = VAL(M$)
125 IF M <= 0 THEN BEEP: GOTO 110
130 LOCATE 3, 4: PRINT "          "
140 LOCATE 1, 2: PRINT "Введите заряд шарика ,нКл": Q$ = "": LOCATE 3, 2: INPUT "q=", Q$: IF Q$ = "" THEN BEEP: GOTO 140:   ELSE Q = VAL(Q$)
150 LOCATE 5, 4: PRINT "          "
160 LOCATE 1, 2: PRINT "Введите поверхностную плотность"
170 LOCATE 3, 2: PRINT "  заряда плоскости ,мкКл/м¤": Z$ = "": LOCATE 5, 2: INPUT "z=", Z$: IF Z$ = "" THEN BEEP: GOTO 150:    ELSE Z = VAL(Z$)
180 DM = .2 * M: DZ = .2 * Z: DQ = .2 * Q
190 CLS
200 LINE (8, 10)-(8, 110)
210 X0 = 140: Y0 = 10
220 LINE (X0 - 20, Y0)-(X0 + 20, Y0)
230 FOR D = 0 TO 40 STEP 10
240 LINE (X0 - 20 + D, Y0)-(X0 + D, Y0 - 20)
250 NEXT
260 REM Z=30:Q=22:M=4
270 A = ATN(5.64971 * Z * Q / (1000 * M)): AG = A * 180 / 3.14
280 GOSUB 560
290 GOSUB 620
300 GOSUB 470
310 X1 = X0 + 100 * SIN(A)
320 Y1 = Y0 + 100 * COS(A)
330 LINE (X0, Y0)-(X1, Y1), 1: CIRCLE (X1, Y1), 2, 1
340 I$ = INKEY$: IF I$ = "" THEN 340
350 IF I$ = "+" THEN Z = Z + DZ: GOSUB 440: GOTO 270
360 IF I$ = "-" THEN Z = Z - DZ: GOSUB 440: GOTO 270
370 IF I$ = CHR$(0) + CHR$(72) OR I$ = "8" THEN M = M - DM: GOSUB 440: GOTO 270
380 IF I$ = CHR$(0) + CHR$(75) OR I$ = "4" THEN Q = Q - DQ: GOSUB 440: GOTO 270
390 IF I$ = CHR$(0) + CHR$(77) OR I$ = "6" THEN Q = Q + DQ: GOSUB 440: GOTO 270
400 IF I$ = CHR$(0) + CHR$(80) OR I$ = "2" THEN M = M + DM: GOSUB 440: GOTO 270
410 IF I$ = CHR$(27) THEN 430
420 GOTO 340
430 RUN "33333"
440 IF M <= 0 THEN BEEP: M = DM
450 LINE (X0, Y0)-(X1, Y1), 0: CIRCLE (X1, Y1), 2, 0
460 RETURN
470 LOCATE 17, 4: PRINT "              ": LOCATE 19, 4: PRINT "             ": LOCATE 21, 4: PRINT "            "
480 LOCATE 19, 1: PRINT "q="; CINT(10 * Q) / 10; "нКл": LOCATE 21, 1: PRINT "m="; CINT(10 * M) / 10; "г"
490 LOCATE 23, 25: PRINT "ESC - Выход": LOCATE 15, 1: PRINT "Дaно:": LOCATE 17, 1: PRINT "z="; CINT(10 * Z) / 10; "мкКл/м¤"
500 LOCATE 15, 18: PRINT "Изм.": LOCATE 17, 18: PRINT "+,-": LOCATE 21, 18: PRINT CHR$(24); ","; CHR$(25): LOCATE 19, 18: PRINT CHR$(27); ","; CHR$(26)
510 LOCATE 23, 1: PRINT "a - ?"
520 LOCATE 18, 34: PRINT "       "
525 LINE (X0 - 20, Y0)-(X0 + 20, Y0)
530 LOCATE 18, 25: PRINT "Ответ:a="; CINT(10 * AG) / 10
540 LINE (125, 115)-(125, 180): LINE (125, 172)-(0, 172)
550 RETURN
560 FOR T = 20 TO 100 STEP 20
570 LINE (8, T)-(300, T), 2
580 IF Z > 0 THEN LINE (295, T - 3)-(300, T), 2: LINE -(295, T + 3), 2: LINE (13, T - 3)-(8, T), 0: LINE -(13, T + 3), 0
590 IF Z < 0 THEN LINE (295, T - 3)-(300, T), 0: LINE -(295, T + 3), 0: LINE (13, T - 3)-(8, T), 2: LINE -(13, T + 3), 2
600 NEXT
610 RETURN
620 FOR U = 3 TO 14 STEP 2
630 IF Z > 0 THEN LOCATE U, 1: PRINT "+"
640 IF Z < 0 THEN LOCATE U, 1: PRINT "-"
650 IF CINT(10 * Z) / 10 = 0 THEN GOSUB 680: LOCATE U, 1: PRINT " "
660 NEXT
670 RETURN
680 FOR T = 20 TO 100 STEP 20
690 LINE (8, T)-(300, T), 0
700 LINE (295, T - 3)-(300, T), 0: LINE -(295, T + 3), 0: LINE (13, T - 3)-(8, T), 0: LINE -(13, T + 3), 0
710 NEXT
720 LINE (8, 10)-(8, 110)
730 RETURN
740 LOCATE 3, 4: PRINT "          "
750 LOCATE 1, 2: PRINT "Введите H,м": H$ = "": LOCATE 3, 2: INPUT "H=", H$: IF H$ = "" THEN BEEP: GOTO 740:   ELSE H = VAL(H$)

