begin
port[b+4]:=2;
e:=port[b+6] and 16;
port[b+4]:=0;
if e=16 then d:=d+exp((n-1-f)*ln(2));
end;
d:=(5*d)/(exp((n)*ln(2))-1);
port[b+4]:=1;
end;
procedure affiche;
begin
acquisition;
d:=(int(1000*d))/1000;
writeln(d);
delay(500);
end;
begin
clrscr;
init;
for g: =1 to 20 do
begin
affiche;
end;
end.
(* COPYRIGHT 1997 Patrick GUEULLE *)
Π‘ ΠΠ¦Π ΠΠΠ₯ 1241 (ΡΠΈΡ. 4.6) Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ MAXIM12.BAS Π½Π° ΡΠ·ΡΠΊΠ΅ BASIC ΠΈ MAXIM12.PAS Π½Π° ΡΠ·ΡΠΊΠ΅ TurboPASCAL.
10 ΠΠΠ β MAXIM12 β
20 KEY OFF: CLS
30 B=&H3F8: REM COM1:
40 N= 12: RΠΠ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·ΡΡΠ΄ΠΎΠ²
50 OUT B+4,1
60 FOR T=0 TO 100: NEXT T
70 OUT B+3,64
80 FOR T=0 TO 500: NEXT T
90 GOTO 200
100 OUT B+4,0: D=0: REM ACQUISITION
105 OUT B+4,2: OUT B+4,0
110 FOR F=0 TO N-1
120 OUT B+4,2
130 E=INP(B+6) AND 16
140 OUT B+4,0
150 IF E=16 THEN D=D+2^(N-1-F)
160 NEXT F
170 D=5*D/(2^N-1)
180 OUT B+4,1: RETURN
190 REM (c) 1997 Patrick GUEULLE
program maxim12;
uses crt;
var n,f,e: byte;
b,g: integer;
d: real;
procedure init;
begin
b:=$3F8; n:=12;
port[b+4]:=1;
delay(100);
port[b+3]:=64;
delay(500);
end;
procedure acquisition;
begin
port[b+4]:=0; d:=0;
port[b+4]:=2; port[b+4]:=2;
port[b+4]:=2; port[b+4]:=0;
for f:=0 to n-1 do
begin
port[b+4]:=2;
e:=port[b+6] and 16;
port[b+4]:=0;
if e=16 then d:=d+exp((n-1-f)*ln(2))
end;
d:=(5*d)/(exp((n)*ln(2))β1);
port[b+4]:=1;
end;
procedure affiche;
begin
acquisition;
d:=(int(1000*d))/1000;
writeln(d);
delay(500);
end;
begin
clrscr;
init;
for g:=1 to 20 do
begin
affiche;
end;
end.
(* COPYRIGHT 1997 Patrick GUEULLE *)
ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. Π§ΠΈΡΠ°ΡΠ΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²Π½ΠΎΡΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΡΠ°ΡΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ MERGE (Π² ΡΠ·ΡΠΊΠ΅ BASIC).
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ VOLTS.BAS ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΠ¦Π ADC 10, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ·ΡΠΊΠ΅ GWBASIC ΠΈΠ»ΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠΌ Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
load "ADC10" (Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°);
Π·Π°ΡΠ΅ΠΌ
MERGE "VOLTS" (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ).
ΠΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ RUN Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:
SAVE "ΠΠΠ―", Π (Π΅ΡΠ»ΠΈ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅);
ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ:
SAVE "ΠΠΠ―" (Π΅ΡΠ»ΠΈ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅).
ΠΡΠ΄Π΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ TurboPASCAL, Π² ΡΠ°ΠΉΠ» ΠΠΠ―.EXE, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄ DOS ΠΈΠ»ΠΈ Windows. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅ΡΡ Π² ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Turbo BASIC ΠΈΠ»ΠΈ Quick BASIC.
Π¦ΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡ
ΠΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° VOLTS.BAS ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°Π³ΠΎΠ² Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΊΡΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΠ¦Π, Π½ΠΎ ΠΎΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄Π½Π° ΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΡ Π·Π°Π΄Π°Ρ.
200 REM VOLTS
210 GOSUB 100
220 D=INT(100*D)/100
230 LOCATE 1,1
240 PRINT USING "##.##"; D
250 GOTO 210
260 REM (c) 1997 Patrick GUEULLE
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ ΡΠΊΡΠ°Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ (Π² Π²ΠΎΠ»ΡΡΠ°Ρ ), ΠΏΠΎΠ΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Π²Ρ ΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ Π² Β«Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅Β», Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΠΠ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ LOCATE, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅ΠΉ ΠΊΡΡΡΠΎΡ Π² Π²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΡΠ³ΠΎΠ» ΡΠΊΡΠ°Π½Π°, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ, ΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅ Π²Π·ΡΡΠΈΡ Π²ΡΠ±ΠΎΡΠΎΠΊ, Ρ. Π΅. ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΈΡΡΠΎΠ²ΠΎΠΌ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡΠ΅.
ΠΠ°Π΄ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΡΡΡ Π΄ΠΎ Π΄Π²ΡΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ (ΡΡΡΠΎΠΊΠ° 220), Π° ΠΏΠΎΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΆΠ΅ΡΡΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ (ΡΡΡΠΎΠΊΠ° 240). ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ.
ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ 8- ΠΈΠ»ΠΈ 10-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΌ ΠΠ¦Π (ΡΠΎΡΠ½ΠΎΡΡΡ 1 %), Π½ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ 12-ΡΠ°Π· ΡΡΠ΄Π½ΡΠΌ ΠΠ¦Π, ΠΈΡΠΏΡΠ°Π²ΠΈΠ² ΡΡΡΠΎΠΊΠΈ 220 ΠΈ 240 ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ² ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠΈ ΠΈΠ½Π΄ΠΈΡΠΈΡΡΠ΅ΠΌΡΡ Π·Π½Π°ΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ (Ρ. Π΅. ΡΠΎΡΠ½ΠΎΡΡΡ 0,1 %):
220 D=INT(1000*D)/1000
240 PRINT USING "##.###"; D
ΠΠ΅ ΡΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ· Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ±Π»ΡΠ΄Π°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ, ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ. ΠΡΠ²ΠΎΠ΄ ΡΡΠ΅Ρ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ Π΄Π»Ρ 8-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ ΠΠ¦Π Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠΈΠΉ Π·Π½Π°ΠΊ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π½Π΅ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π°.
200 REM β BARRE β
210 LOCATE 6,1
220 FOR H=1 TO 5
230 PRINT "Iβ¦.!..";
240 NEXT H
250 PRINT " I "
260 LOCATE 7,1
270 PRINT "0___1___2___"
280 PRINT "3___4___5"
290 GOSUB 100
300 D=INT(10*D)
310 LOCATE 5,1
320 PRINT SPC (D);" I";
330 PRINT SPC (50-D)
340 GOTO 290
350 REM (c) 1997 Patrick GUEULLE
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° BARRE.BAS, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠΈΡ ΠΎΠ²ΠΎΠΉ ΡΠΊΠ°Π»Ρ.
ΠΡΠ° ΡΠΎΡΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΌΠ΅Π½Π΅Π΅ ΡΠΎΡΠ½Π°Ρ, ΡΠ΅ΠΌ ΡΠΈΡΡΠΎΠ²Π°Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ, Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΠΎΡΠ΅Π½ΠΈΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΉ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΠ°Π»Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π½Π° Π±Π°Π·Π΅ ASCII ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΡΠΊΠ°Π»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΊΡΠ°Π½Π°.
Π£ΡΡΠ΅Π΄Π½ΡΡΡΠΈΠΉ ΡΠΈΠ»ΡΡΡ
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ Π±ΡΡΡΡΡΡ ΡΠ»ΡΠΊΡΡΠ°ΡΠΈΠΉ (ΡΠ°ΡΡΠΎ ΠΏΠ°ΡΠ°Π·ΠΈΡΠ½ΡΡ ) Π² ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ΅ΠΌΡΡ ΡΠΈΠ³Π½Π°Π»Π΅ ΡΠΎΡΡΠΎΠΈΡ Π² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΡΠ±ΠΎΡΠΎΠΊ, ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π² Π΄Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ (SECONDE.BAS) ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΠΌΠΈΠ½ΡΡΡ (MINUTE.BAS).
200 REM β SECONDE β
210 Q=0: S=0: GOSUB 100
220 LOCATE 5,1
230 PRINT "ΠΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅β¦"
240 H$=TIME$
250 IF H$<>TIME$ THEN BEEP: GOTO 290
260 GOSUB 100
270 S=S+D: Q=Q+1
280 GOTO 250
290 D=INT(100*S/Q)/100
300 LOCATE 1,1
310 PRINT USING "##.##";D;
320 PRINT "(ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π°"; Q; " ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ)"
330 GOTO 210
340 REM (c) 1997 Patrick GUEULLE
ΠΡΠΎΠΌΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΈ Π΅Π³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΈcΡΠ΅ΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΠ Π’Π°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ 3β4 ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π° Β«Π°Π½ΡΠΈΠΊΠ²Π°ΡΠ½ΠΎΠΌΒ» ΠΠ 8088/4,77 ΠΠΡ, 60β70 ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π° 386SX25 ΠΈ 700-1000 ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π° 486 DX/133 ΠΠΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ BASIC-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
Π‘ΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΠΊΠ»ΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ TIΠΠ$. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠ½ΡΡ ΡΠΊΠ°Π»Ρ ΡΠ΅ΠΊΡΠ½Π΄, ΠΌΠΈΠ½ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ°ΡΠΎΠ². Π Π΅ΡΠ»ΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ DATES.
200 REM β MINUTE β
210 Q=0: S=0: GOSUB 100
220 LOCATE 5,1
230 PRINT "ΠΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅β¦"
240 H$=LEFT$(TIME$,5)
250 IF H$<>LEFT$ (TIME$, 5) THEN BEEP: GOTO 290
260 GOSUB 100
270 S=S+D: Q=Q+1
280 GOTO 250
290 D=INT(100*S/Q) /100
300 LOCATE 1,1
310 PRINT USING "##.##";D;
320 PRINT "(ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π°";Q; " ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ)"
330 GOTO 210
340 REM (c) 1997 Patrick GUEULLE
ΠΠΈΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠΎΠ² ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠΎΠ²
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Π½Π° ΡΠ·ΡΠΊΠ΅ BASIC, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠΎΠ² ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠΎΠ² ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ, Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ±Π΅Π»Π° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ ΠΠ.
200 REM β MINMAX β
210 PRINT "Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ±Π΅Π»Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°"
220 I=5: Π=0: Q=0: GOSUB 100
230 FOR G=1 TO 100
240 GOSUB 100: Q=Q+D
250 NEXT G
260 Q=Q/100
270 IF Q<=I THEN I=Q: S$=TIME$
280 IF Q>=A THEN A=Q: T$=TIME$
290 LOCATE 3,5: PRINT "Mes: ";
300 PRINT USING"##.##"; INT(100*Q)/100;
310 PRINT " "+TIME$
320 LOCATE 5,5: PRINT "ΠΠ°ΠΊΡ: ";
330 PRINT USING "##.##"; INT(100*A) /100
340 PRINT " " + T$
350 LOCATE 7,5: PRINT "ΠΠΈΠ½: ";
360 PRINT USING "##.##β; INT(100*1)/100
370 PRINT " " + S$
380 IF INKEY$=CHR$(32) THEN 220
390 Q=0: GOTO 230
400 REM (c) 1997 Patrick GUEULLE
ΠΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ MINMAX.BAS; ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π΅Π΅ Π±ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π² ΡΠ°ΡΠ°Ρ , ΠΌΠΈΠ½ΡΡΠ°Ρ ΠΈ ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ):
β’ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ;
β’ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°;
β’ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°.
ΠΠ°Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π΄ΠΊΠΎ Π΄Π°Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΡΠΎΠ»Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ±ΠΎΡΠ΅.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π΄ΠΎΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π»Π΅Π½ΡΠΎΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² β ΠΏΡΠΈΠ±ΠΎΡΠΎΠ², ΡΡΠΎΡΡΠΈΡ Π² ΡΠΎΡΠ½ΠΈ ΡΠ°Π· Π΄ΠΎΡΠΎΠΆΠ΅! ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΅ΡΡΠΈΡΡ Π½Π° Π±ΡΠΌΠ°Π³Π΅ ΠΊΡΠΈΠ²ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ΄Π½ΠΎΠ²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎ, Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π° ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ .