home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 12
/
CD_ASCQ_12_0294.iso
/
maj
/
2364
/
minilab
/
exer6.bas
< prev
next >
Wrap
BASIC Source File
|
1994-02-27
|
41KB
|
1,005 lines
REM W. Prévost 1993 : MINILAB: Module EXERCICES
DECLARE SUB ResetMouse ()
DECLARE SUB Mouse (OnOff%)
DECLARE SUB GetMouse ()
DECLARE SUB Clic (ClickDelay%)
DECLARE SUB MouseSpeed (Curseur%)
DECLARE SUB IconAide (a, B)
DECLARE SUB IconA (a, B, coul)
DECLARE SUB IconSuivant (a, B)
DECLARE SUB IconPrecedant (a, B)
DECLARE SUB ZoneXMouse (X1%, X2%)
DECLARE SUB ZoneYMouse (Y1%, Y2%)
DECLARE SUB ReadData ()
DECLARE SUB TexteIntro ()
DECLARE SUB TextEx1 ()
DECLARE SUB TextEx2 ()
DECLARE SUB TextEx3 ()
DECLARE SUB TextEx4 ()
DECLARE SUB TextEx5 ()
DECLARE SUB TextEx6 ()
DECLARE SUB TextEx7 ()
DECLARE SUB TextEx8 ()
DECLARE SUB TextEx9 ()
DECLARE SUB TextEx10 ()
DECLARE SUB TextEx11 ()
DECLARE SUB TextEx12 ()
DECLARE SUB TextEx13 ()
DECLARE SUB TextEx14 ()
DECLARE SUB TextEx15 ()
DECLARE SUB TextEx16 ()
DECLARE SUB TextEx17 ()
DECLARE SUB TextEx18 ()
DECLARE SUB TextEx19 ()
DECLARE SUB TextEx20 ()
DECLARE SUB TextEx21 ()
DECLARE SUB TextEx22 ()
DECLARE SUB TextEx23 ()
DECLARE SUB TextAide1 ()
DECLARE SUB TextAide22 ()
DECLARE FUNCTION Interr% (Num%, AX%, Bx%, CX%, DX%)
DIM SHARED MS%(45)
CLEAR
ReadData
DEFINT A-Z
DIM SHARED a, X%, Y%, B%, coul
ON ERROR GOTO TraiteErreur
SCREEN 12
OPEN "Minilab\SETUP.INI" FOR INPUT AS #1
SEEK #1, 1
INPUT #1, CoulBarreTitre, CoulLettresTitre, CoulZoneTravail
INPUT #1, VitesseSouris, ClickDelay
CLOSE #1
debut: COLOR 15
LINE (0, 0)-(639, 26), CoulBarreTitre, BF
LINE (0, 106)-(639, 479), 0, BF
LINE (0, 29)-(639, 29), 15
c = CoulLettresTitre: X = 25: Y = 14: GOSUB minilab: X = 26: GOSUB minilab
X = 245: GOSUB exer6: X = 246: GOSUB exer6
LINE (0, 31)-(639, 60), 7, BF: LINE (0, 61)-(639, 105), 15, BF
LINE (0, 59)-(639, 59), 15: LINE (0, 103)-(639, 103), 7
c = 4: Y = 44: X = 25: GOSUB Aide: X = 26: GOSUB Aide: X = 39: GOSUB trt
X = 75: GOSUB trt: GOSUB Suivant: X = 76: GOSUB Suivant
X = 150: GOSUB trt: GOSUB Precedant: X = 151: GOSUB Precedant
c = 0: X = 517: GOSUB M: GOSUB E: GOSUB trt: GOSUB N: GOSUB U
X = 518: GOSUB menup
IconAide 30, 65
IconA 80, 65, 10
X = 95: Y = 80: c = 10: GOSUB a: GOSUB par: X = 96: GOSUB a: GOSUB par
IconA 130, 65, 14
X = 145: Y = 80: c = 14: GOSUB B: GOSUB par: X = 146: GOSUB B: GOSUB par
IconA 180, 65, 12
X = 195: Y = 80: c = 12: GOSUB c: GOSUB par: X = 196: GOSUB c: GOSUB par
IconSuivant 230, 65
IconPrecedant 280, 65
a = 330: B = 65: LINE (a, B)-(a + 40, B + 30), 0, B 'icone Menu
LINE (a + 2, B + 2)-(a + 38, B + 11), 9, BF
X = 336: Y = 71: c = 15: GOSUB menup: X = 337: GOSUB menup
LINE (a + 2, B + 13)-(a + 38, B + 24), 7, BF
a = 95: aa = 545: B = 120: bb = 420: cf = 0: GOSUB Box
LINE (a + 6, B + 6)-(aa - 6, B + 20), 5, BF
X = 307: Y = B + 13: c = 15: GOSUB inf: X = 308: GOSUB inf
TexteIntro
X = 186: Y = 379: c = 9: GOSUB trt: X = 315: GOSUB trt: f$ = ""
ResetMouse
Curseur% = VitesseSouris
MouseSpeed Curseur%
ZoneXMouse 101, 539: ZoneYMouse 142, 399
AttenteDebut: Mouse 1: DO: GetMouse
f$ = INKEY$: f$ = UCASE$(f$)
LOOP UNTIL B% = 1 OR LEN(f$)
Mouse 0
IF f$ = "C" THEN GOTO EX1
IF f$ = "Q" THEN GOTO Menu
IF Y% > 369 AND Y% < 381 AND X% > 159 AND X% < 171 THEN GOTO EX1
IF Y% > 369 AND Y% < 381 AND X% > 286 AND X% < 298 THEN GOTO Menu
GOTO AttenteDebut
EX1: c = 10: N = 1: GOSUB cadre: GOSUB schema1: TextEx1 '...1
ResetMouse
MouseSpeed Curseur%
ZoneXMouse 5, 624: ZoneYMouse 61, 359
Att1: GOSUB AttenteChoix: GOTO Att1
Aide1: GOSUB cadre2: TextAide1: RETURN Att1
Rep1: GOSUB cadre2: COLOR 10: LOCATE 27, 5
PRINT "REPONSE: B) I(del) = (9 V - 1,6 V) / 47O "; CHR$(234); " = 15 mA"
GOSUB AttenteChoix
EX2: c = 10: N = 2: GOSUB cadre: GOSUB schema1: TextEx2 '...2
Att2: GOSUB AttenteChoix: GOTO Att2
Aide2: GOSUB cadre2: TextAide1: RETURN Att2
Rep2: GOSUB cadre2: COLOR 10: LOCATE 27, 5
PRINT "REPONSE: A) R = (6 V - 1,6 V) / O,O2 A = 22O "; CHR$(234)
GOSUB AttenteChoix
EX3: c = 10: N = 3: GOSUB cadre: TextEx3 '...3
Att3: GOSUB AttenteChoix: GOTO Att3
Aide3: GOSUB cadre2: COLOR 15
LOCATE 26, 5: PRINT "Résistances en série: Req = R1 + R2 + R3 ..."
LOCATE 28, 5: PRINT "Résistances en parallèle: Req = (R1 x R2) / (R1 + R2)"
RETURN Att3
Rep3: GOSUB cadre2: COLOR 10: LOCATE 27, 5
PRINT "REPONSE: B) Req = (1O k + 1O k) x 1O k / (1O k + 1O k + 1O k)"
LOCATE 28, 26: PRINT "= 2OO M"; CHR$(234); " / 3O k"; CHR$(234); " = 6,66 k"; CHR$(234)
GOSUB AttenteChoix
EX4: c = 10: N = 4: GOSUB cadre: GOSUB schema1: TextEx4 '...4
Att4: GOSUB AttenteChoix: GOTO Att4
Aide4: c = 12: GOSUB cadre2: COLOR 15
LOCATE 26, 5: PRINT "P (puissance) = U (tension) x I (intensité)"
LOCATE 28, 5: PRINT "Tension de seuil d'une del rouge = 1,6 V environ"
RETURN Att4
Rep4: GOSUB cadre2: LOCATE 26, 5: COLOR 10
PRINT "REPONSE: A) 1/4 W En effet, la puissance à dissiper sera:"
LOCATE 28, 5
PRINT "P = (12 - 1,6) x ((12 - 1,6) / 68O)) = 1O,4 x .O15 = O.16 W "; CHR$(241); " 5%"
GOSUB AttenteChoix
EX5: c = 10: N = 5: GOSUB cadre: TextEx5 '...5
Att5: GOSUB AttenteChoix: GOTO Att5
Rep5: GOSUB cadre2: COLOR 10: LOCATE 27, 5: PRINT "REPONSE: c) "
GOSUB AttenteChoix
EX6: c = 14: N = 6: GOSUB cadre: TextEx6 '...6
Att6: GOSUB AttenteChoix: GOTO Att6
Aide6: c = 7: GOSUB cadre2: COLOR 15
LOCATE 27, 5: PRINT "U(eff) = U(max) x O.7O7"
RETURN Att6
Rep6: GOSUB cadre2: COLOR 14
LOCATE 27, 5: PRINT "REPONSE: C) 22O V x 1.4142 = 311 V crête à crête"
GOSUB AttenteChoix
EX7: c = 14: N = 7: GOSUB cadre: TextEx7 '...7
Att7: GOSUB AttenteChoix: GOTO Att7
Aide7: GOSUB cadre2: COLOR 15
LOCATE 27, 5: PRINT "U au secondaire = U redressée x O.7O7"
RETURN Att7
Rep7: GOSUB cadre2: COLOR 14: LOCATE 26, 5
PRINT "REPONSE: C) 24 V x 1.4 = 33,6 V Les diodes de redressement"
LOCATE 28, 5: PRINT "provoquent une chute de tension d'environ 2 x O,7 = 1,4 V."
GOSUB AttenteChoix
EX8: c = 14: N = 8: GOSUB cadre: TextEx8 '...8
Att8: GOSUB AttenteChoix: GOTO Att8
Rep8: GOSUB cadre2: COLOR 14
LOCATE 27, 5: PRINT "REPONSE: B) double alternance"
GOSUB AttenteChoix
EX9: c = 14: N = 9: GOSUB cadre: GOSUB schema2: TextEx9 '...9
Att9: GOSUB AttenteChoix: GOTO Att9
Aide9: GOSUB cadre2: COLOR 15: LOCATE 26, 5
PRINT "Rapport cyclique d'un signal périodique: rapport entre la durée du"
LOCATE 28, 5: PRINT "niveau haut et la durée du niveau bas."
RETURN Att9
Rep9: GOSUB cadre2: COLOR 14: LOCATE 27, 5
PRINT "REPONSE: B) 6O% : niveau haut d'une durée de T x O,6"
GOSUB AttenteChoix
EX10: c = 14: N = 10: GOSUB cadre '...10
GOSUB schema2: c = 11: Y = 250: X = 190: GOSUB trois
X = 240: GOSUB quatre: X = 290: GOSUB cinq
TextEx10
Att10: GOSUB AttenteChoix: GOTO Att10
Aide10: GOSUB cadre2: LOCATE 27, 5: COLOR 15
PRINT "Période d'un signal périodique: durée d'un cycle complet du signal."
RETURN Att10
Rep10: c = 14: GOSUB cadre2: COLOR 14: LOCATE 27, 5
PRINT "REPONSE: B) 1 ms (niveau haut: O,6 ms ; niveau bas: O,4 ms)"
c = 12: B = 230: h = 175: I = 190: LINE (I, B)-(I, h), c: LINE -(I + 30, h), c
LINE -(I + 30, B), c: LINE -(I + 50, B), c
GOSUB AttenteChoix
EX11: c = 12: N = 11: GOSUB cadre: TextEx11 '...11
c = 3: X = 68: Y = 185: GOSUB a: X = 68: Y = 225: GOSUB B
X = 180: Y = 205: GOSUB S
Att11: GOSUB AttenteChoix: GOTO Att11
Aide11: GOSUB cadre2: COLOR 15: LOCATE 27, 5
PRINT "La table de vérité du circuit en question est donnée ci-dessus."
COLOR 14
LOCATE 11, 40: PRINT "A B S": LOCATE 13, 40: PRINT "O O 1"
LOCATE 14, 40: PRINT "O 1 1": LOCATE 15, 40: PRINT "1 O 1"
LOCATE 16, 40: PRINT "1 1 O"
LINE (363, 161)-(363, 253), 6: LINE (307, 183)-(387, 183), 6
LINE (330, 161)-(330, 253), 6
RETURN Att11
Rep11: GOSUB cadre2: COLOR 12: LOCATE 27, 5
PRINT "REPONSE: B) 1 (il s'agit d'une porte NAND, ou NON-ET)"
GOSUB AttenteChoix
EX12: c = 12: N = 12: GOSUB cadre: TextEx12 '...12
Att12: GOSUB AttenteChoix: GOTO Att12
Aide12: GOSUB cadre2: COLOR 15: LOCATE 26, 5
PRINT "Le transistor, de type NPN, est passant lorsque la tension Ube"
LOCATE 28, 5: PRINT "entre sa base et son émetteur est supérieure à O,6 V."
RETURN Att12
Rep12: GOSUB cadre2: COLOR 12: LOCATE 27, 5
PRINT "REPONSE: C) 1O V En effet, 1O V x (15 / (22O + 15)) = O,63 V"
GOSUB AttenteChoix
EX13: c = 12: N = 13: GOSUB cadre: TextEx13 '...13
Att13: GOSUB AttenteChoix: GOTO Att13
Aide13: GOSUB cadre2: LOCATE 26, 5: COLOR 15
PRINT "Un condensateur est chargé à 95% de sa tension finale au bout d'un"
LOCATE 28, 5
PRINT "temps égal à 3 x R x C (le produit R x C est la constante de temps)."
RETURN Att13
Rep13: GOSUB cadre2: COLOR 12: LOCATE 26, 5
PRINT "REPONSE: B) 1OO k"; CHR$(234)
LOCATE 28, 18
PRINT "En effet, 3 x 33O nF x 1OO k"; CHR$(234); " = O,O99 s"
GOSUB AttenteChoix
EX14: c = 12: N = 14: GOSUB cadre: TextEx14 '...14
Att14: GOSUB AttenteChoix: GOTO Att14
Aide14: GOSUB cadre2: COLOR 15: LOCATE 26, 5
PRINT "U au secondaire = Us x .7O7"
LOCATE 28, 5: PRINT "Puissance apparente d'un transformateur = Ueff x Ieff, en VA"
RETURN Att14
Rep14: GOSUB cadre2: COLOR 12: LOCATE 26, 5
PRINT "REPONSE: B) Le secondaire du transformateur devra fournir une"
LOCATE 27, 15
PRINT "tension au moins égale à O.7O7 (15 V + 1,4 V + 2 V) = 13 V"
LOCATE 28, 15
PRINT "Puissance apparente: au moins 13 V x 1,5 A = 19,5 VA"
GOSUB AttenteChoix
EX15: c = 12: N = 15: GOSUB cadre: TextEx15 '...15
Att15: GOSUB AttenteChoix: GOTO Att15
Aide15: GOSUB cadre2: COLOR 15: LOCATE 26, 5
PRINT "(U au secondaire x 1.414) - chute dans les diodes = U redressée"
LOCATE 27, 5
PRINT "Courant nominal d'un transfo = Puissance (en VA)/ U secondaire totale"
LOCATE 28, 5
PRINT "Ex.: Un transfo 2 x 12 V/26 VA peut débiter 26/24 = 1 A environ."
RETURN Att15
Rep15: GOSUB cadre2: COLOR 12: LOCATE 26, 5
PRINT "REPONSE: B) Mise en série des secondaires. La tension disponible sera"
LOCATE 27, 5
PRINT "de (1.414 (2 x 12 V)) - 1,4 V (chute dans les diodes), soit 32,5 V."
LOCATE 28, 5
PRINT "En parallèle, on n'obtiendrait que 15,5 V, mais une intensité double."
GOSUB AttenteChoix
EX16: c = 13: N = 16: GOSUB cadre: TextEx16 '...16
Att16: GOSUB AttenteChoix: GOTO Att16
Rep16: GOSUB cadre2: COLOR 13: LOCATE 26, 5
PRINT "REPONSE: A)"
GOSUB AttenteChoix
EX17: c = 13: N = 17: GOSUB cadre: TextEx17 '...17
Att17: GOSUB AttenteChoix: GOTO Att17
Rep17: GOSUB cadre2: COLOR 13: LOCATE 26, 5
PRINT "REPONSE: A)"
GOSUB AttenteChoix
EX18: c = 13: N = 18: GOSUB cadre: TextEx18 '...18
Att18: GOSUB AttenteChoix: GOTO Att18
Rep18: GOSUB cadre2: COLOR 13: LOCATE 26, 5
PRINT "REPONSE: B)"
GOSUB AttenteChoix
EX19: c = 13: N = 19: GOSUB cadre: TextEx19 '...19
Att19: GOSUB AttenteChoix: GOTO Att19
Rep19: GOSUB cadre2: COLOR 13: LOCATE 27, 5
PRINT "REPONSE: A), B) et C) sont vraies et complémentaires..."
GOSUB AttenteChoix
EX20: c = 13: N = 20: GOSUB cadre: TextEx20 '...20
Att20: GOSUB AttenteChoix: GOTO Att20
Rep20: GOSUB cadre2: COLOR 13: LOCATE 26, 5
PRINT "REPONSE: C) on l'appelle aussi TIMER (consulter le DATABOOK)"
GOSUB AttenteChoix
EX21: c = 9: N = 21: GOSUB cadre: GOSUB ScopeGrid: TextEx21
Fq1 = 60: V1 = 310: VCH1! = V1 / 10: VDIV1! = 1.25: T1! = 1 / Fq1
Y = 232: X = 350: GOSUB TraceSinus
Att21: GOSUB AttenteChoix: GOTO Att21
Aide21: GOSUB cadre2: COLOR 15: LOCATE 27, 5
PRINT "Le calibre 2OO correspond à 2OO V par division verticale."
RETURN Att21
Rep21: GOSUB cadre2: COLOR 9: LOCATE 26, 5
PRINT "REPONSE: C) 31O V"
GOSUB AttenteChoix
EX22: c = 9: N = 22: GOSUB cadre: GOSUB ScopeGrid: TextEx22
Fq1 = 50: V1 = 200: VCH1! = V1 / 10: VDIV1! = 1.25: T1! = 1 / Fq1
Y = 232: X = 350: GOSUB TraceSinus
Att22: GOSUB AttenteChoix: GOTO Att22
Aide22: GOSUB cadre2: TextAide22: RETURN Att22
Rep22: GOSUB cadre2: COLOR 9: LOCATE 26, 5
PRINT "REPONSE: B) T = 2 x 1O ms = 2O ms = O.O2 s"
LOCATE 28, 5: PRINT " f = 1 / O.O2 s = 5O Hz"
GOSUB AttenteChoix
EX23: c = 9: N = 23: GOSUB cadre: GOSUB ScopeGrid: TextEx23
Fq1 = 50: V1 = 200: VCH1! = V1 / 10: VDIV1! = 1.25: T1! = 1 / Fq1
Y = 182: X = 350: GOSUB TraceSinus
Fq1 = 100: V1 = 200: VCH1! = V1 / 10: VDIV1! = 1.25: T1! = 1 / Fq1
Y = 282: X = 350: GOSUB TraceSinus
Att23: GOSUB AttenteChoix: GOTO Att23
Aide23: GOSUB cadre2: TextAide22: RETURN Att23
Rep23: GOSUB cadre2: COLOR 9: LOCATE 27, 5
PRINT "REPONSE: C) La fréquence est donc deux fois inférieure."
GOSUB AttenteChoix
END
REM ================================================
cadre: a = 0: aa = 639: B = 107: bb = 380: cf = 0
LINE (a, B)-(aa, 479), 0, BF: GOSUB Box
COLOR c: LOCATE 9, 5: PRINT "Exercice"; N: RETURN
cadre2: a = 0: aa = 639: B = 382: bb = 479: cf = 0: GOSUB Box: RETURN
Box: LINE (a, B)-(aa, bb), 7, BF: LINE (a + 5, B + 5)-(aa - 5, bb - 5), 0, B
PAINT (a + 3, B + 10), 7, 0: LINE (a + 6, B + 6)-(aa - 6, bb - 6), cf, BF
LINE (a + 1, B + 1)-(a + 1, bb - 1), 15: LINE -(aa - 1, bb - 1), 15
LINE (a + 35, B)-(a + 35, B + 5), 8: LINE (a + 35, bb - 5)-(a + 35, bb - 1), 8
LINE (aa - 35, B)-(aa - 35, B + 5), 8: LINE (aa - 35, bb - 5)-(aa - 35, bb - 1), 8
LINE (a + 1, B + 35)-(a + 5, B + 35), 8: LINE (a + 1, bb - 35)-(a + 5, bb - 35), 8
LINE (aa, B + 35)-(aa - 5, B + 35), 8: LINE (aa, bb - 35)-(aa - 5, bb - 35), 8
RETURN
ScopeGrid:
FOR h = 132 TO 332 STEP 25: LINE (350, h)-(600, h), 9: NEXT h
FOR V = 350 TO 600 STEP 25: LINE (V, 132)-(V, 332), 9: NEXT V
FOR h = 132 TO 332 STEP 5: LINE (473, h)-(477, h), 9: NEXT h
FOR V = 350 TO 600 STEP 5: LINE (V, 230)-(V, 234), 9: NEXT V: RETURN
TraceSinus:
DO: FOR P = -8 TO 1
IF T1! > 0 * 10 ^ P AND T1! <= 2 * 10 ^ P THEN TCAL! = 1 * 10 ^ P: EXIT DO
IF T1! > 2 * 10 ^ P AND T1! <= 5 * 10 ^ P THEN TCAL! = 2 * 10 ^ P: EXIT DO
IF T1! > 5 * 10 ^ P AND T1! <= 9.9 * 10 ^ P THEN TCAL! = 5 * 10 ^ P: EXIT DO
NEXT P: LOOP
cc = 10
TDIV! = 360 / (25 * (T1! / TCAL!))
DO
FOR a = 0 TO 180 STEP 3
ang! = a * .01745: divt! = a / TDIV!
PSET (X + divt!, Y + (VCH1! * SIN(ang!)) * VDIV1!), cc
IF X + divt! > 599 THEN EXIT DO
NEXT a
FOR a = 180 TO 360 STEP 3
ang! = a * .01745: divt! = a / TDIV!
PSET (X + divt!, Y + (VCH1! * SIN(ang!)) * VDIV1!), cc
IF X + divt! > 599 THEN EXIT DO
NEXT a
X = X + (25 * (T1! / TCAL!)): LOOP
RETURN
Menu: GOSUB charge: CHAIN "minilab\minilab2.bas"
charge: a = 190: B = 125: aa = 450: bb = 185: cf = 3: GOSUB Box
X = 260: Y = 155: c = 0: GOSUB inst: X = 261: GOSUB inst: RETURN
REM = Chiffres & lettres & messages graphiques
trois: FOR h = X - 1 TO X + 1: PSET (h, Y - 3), c: NEXT h
PSET (X - 2, Y - 2), c: PSET (X + 2, Y - 2), c
PSET (X + 2, Y - 1), c: FOR h = X - 1 TO X + 1: PSET (h, Y), c: NEXT h
PSET (X + 2, Y + 1), c
PSET (X - 2, Y + 2), c: PSET (X + 2, Y + 2), c
FOR h = X - 1 TO X + 1: PSET (h, Y + 3), c: NEXT h: X = X + 7: RETURN
quatre: FOR V = Y - 3 TO Y + 3: PSET (X + 1, V), c: NEXT V
PSET (X, Y - 2), c: PSET (X - 1, Y - 1), c
FOR h = X - 2 TO X + 2: PSET (h, Y), c: NEXT h: X = X + 7: RETURN
cinq: FOR h = X - 2 TO X + 2: PSET (h, Y - 3), c: NEXT h
PSET (X - 2, Y - 2), c: PSET (X - 2, Y - 1), c
FOR h = X - 1 TO X + 1: PSET (h, Y), c: NEXT h: PSET (X + 2, Y + 1), c
PSET (X - 2, Y + 2), c: PSET (X + 2, Y + 2), c
FOR h = X - 1 TO X + 1: PSET (h, Y + 3), c: NEXT h: X = X + 7: RETURN
a: PSET (X, Y - 4), c: PSET (X + 1, Y - 4), c
PSET (X - 1, Y - 3), c: PSET (X + 2, Y - 3), c
FOR vert = Y - 2 TO Y + 4: PSET (X - 2, vert), c: PSET (X + 3, vert), c: NEXT vert
FOR hor = X - 1 TO X + 2: PSET (hor, Y + 1), c: NEXT hor: X = X + 9: RETURN
B: FOR V = Y - 4 TO Y + 4: PSET (X - 2, V), c: NEXT V 'B
FOR h = X - 1 TO X + 2: PSET (h, Y - 4), c: NEXT h
FOR h = X - 1 TO X + 2: PSET (h, Y), c: NEXT h
FOR h = X - 1 TO X + 2: PSET (h, Y + 4), c: NEXT h
FOR V = Y - 3 TO Y - 1: PSET (X + 3, V), c: NEXT V
FOR V = Y + 1 TO Y + 3: PSET (X + 3, V), c: NEXT V: X = X + 9: RETURN
c: PSET (X, Y - 4), c: PSET (X + 1, Y - 4), c
PSET (X - 1, Y - 3), c: PSET (X + 2, Y - 3), c
FOR vert = Y - 2 TO Y + 2: PSET (X - 2, vert), c: NEXT vert
PSET (X + 3, Y - 2), c: PSET (X + 3, Y + 2), c
PSET (X, Y + 4), c: PSET (X + 1, Y + 4), c
PSET (X - 1, Y + 3), c: PSET (X + 2, Y + 3), c: X = X + 9: RETURN
D: FOR vert = Y - 4 TO Y + 4: PSET (X - 2, vert), c: NEXT vert
FOR hor = X - 1 TO X + 1: PSET (hor, Y - 4), c: NEXT hor
PSET (X + 2, Y - 3), c
FOR vert = Y - 2 TO Y + 2: PSET (X + 2, vert), c: NEXT vert
FOR hor = X - 1 TO X + 1: PSET (hor, Y + 4), c: NEXT hor
PSET (X + 2, Y + 3), c: X = X + 9: RETURN
E: FOR vert = Y - 4 TO Y + 4: PSET (X - 2, vert), c: NEXT vert
FOR hor = X - 1 TO X + 3: PSET (hor, Y - 4), c: NEXT hor
FOR hor = X - 1 TO X + 1: PSET (hor, Y), c: NEXT hor
FOR hor = X - 1 TO X + 3: PSET (hor, Y + 4), c: NEXT hor: X = X + 9: RETURN
f: FOR vert = Y - 4 TO Y + 4: PSET (X - 2, vert), c: NEXT vert
FOR hor = X - 1 TO X + 3: PSET (hor, Y - 4), c: NEXT hor
FOR hor = X - 1 TO X + 1: PSET (hor, Y), c: NEXT hor: X = X + 9: RETURN
G: PSET (X, Y - 4), c: PSET (X + 1, Y - 4), c 'G
PSET (X - 1, Y - 3), c: PSET (X + 2, Y - 3), c
FOR vert = Y - 2 TO Y + 2: PSET (X - 2, vert), c: NEXT vert
PSET (X + 3, Y - 2), c: PSET (X + 3, Y + 2), c: PSET (X + 3, Y + 1), c
PSET (X, Y + 4), c: PSET (X + 1, Y + 4), c
PSET (X - 1, Y + 3), c: PSET (X + 2, Y + 3), c
FOR h = X + 1 TO X + 3: PSET (h, Y), c: NEXT h: X = X + 9: RETURN
I: X = X - 2: FOR V = Y - 4 TO Y + 4: PSET (X, V), c: NEXT V: X = X + 7: RETURN
L: FOR V = Y - 4 TO Y + 4: PSET (X - 2, V), c: NEXT V
FOR h = X - 1 TO X + 3: PSET (h, Y + 4), c: NEXT h: X = X + 9: RETURN
M: FOR V = Y - 4 TO Y + 4: PSET (X - 3, V), c: NEXT V
FOR V = Y - 4 TO Y + 4: PSET (X + 3, V), c: NEXT V
PSET (X - 2, Y - 3), c: PSET (X - 1, Y - 2), c: PSET (X - 1, Y - 2), c
PSET (X, Y - 1), c
PSET (X + 2, Y - 3), c: PSET (X + 1, Y - 2), c: PSET (X + 1, Y - 2), c
X = X + 9: RETURN
N: FOR V = Y - 4 TO Y + 4: PSET (X - 3, V), c: NEXT V 'N
FOR V = Y - 4 TO Y + 4: PSET (X + 3, V), c: NEXT V
V = Y - 3: FOR h = X - 2 TO X + 2: PSET (h, V), c: V = V + 1: NEXT h
X = X + 9: RETURN
O: PSET (X, Y - 4), c: PSET (X + 1, Y - 4), c
PSET (X - 1, Y - 3), c: PSET (X + 2, Y - 3), c
FOR V = Y - 2 TO Y + 2: PSET (X - 2, V), c: PSET (X + 3, V), c: NEXT V
PSET (X, Y + 4), c: PSET (X + 1, Y + 4), c
PSET (X - 1, Y + 3), c: PSET (X + 2, Y + 3), c: X = X + 9: RETURN
P: FOR V = Y - 4 TO Y + 4: PSET (X - 2, V), c: NEXT V
FOR h = X - 1 TO X + 1: PSET (h, Y - 4), c: NEXT h
PSET (X + 2, Y - 3), c: PSET (X + 3, Y - 2), c: PSET (X + 2, Y - 1), c
FOR h = X - 1 TO X + 1: PSET (h, Y), c: NEXT h: X = X + 9: RETURN
r: FOR V = Y - 4 TO Y + 4: PSET (X - 2, V), c: NEXT V
FOR h = X - 1 TO X + 1: PSET (h, Y - 4), c: NEXT h
PSET (X + 2, Y - 3), c: PSET (X + 3, Y - 2), c: PSET (X + 2, Y - 1), c
FOR h = X - 1 TO X + 1: PSET (h, Y), c: NEXT h
FOR V = Y + 1 TO Y + 4: PSET (X + 2, V), c: NEXT V: X = X + 9: RETURN
S: FOR h = X - 1 TO X + 2: PSET (h, Y - 4), c: NEXT h 'S
FOR h = X - 1 TO X + 2: PSET (h, Y), c: NEXT h
FOR h = X - 1 TO X + 2: PSET (h, Y + 4), c: NEXT h
FOR V = Y - 3 TO Y - 1: PSET (X - 2, V), c: NEXT V
FOR V = Y + 1 TO Y + 3: PSET (X + 3, V), c: NEXT V
PSET (X + 3, Y - 3), c: PSET (X - 2, Y + 3), c: X = X + 9: RETURN
T: FOR V = Y - 3 TO Y + 4: PSET (X, V), c: NEXT V
FOR h = X - 3 TO X + 3: PSET (h, Y - 4), c: NEXT h: X = X + 9: RETURN
U: FOR V = Y - 4 TO Y + 3: PSET (X - 2, V), c: PSET (X + 3, V), c: NEXT V
FOR h = X - 1 TO X + 2: PSET (h, Y + 4), c: NEXT h: X = X + 9: RETURN
V: FOR V = Y - 4 TO Y + 1: PSET (X - 2, V), c: PSET (X + 3, V), c: NEXT V
FOR V = Y + 2 TO Y + 3: PSET (X - 1, V), c: PSET (X + 2, V), c: NEXT V
PSET (X, Y + 4), c: PSET (X + 1, Y + 4), c: X = X + 9: RETURN
X: f = X - 3: FOR D = Y - 3 TO Y + 3: PSET (f, D), c: f = f + 1: NEXT D
f = X + 3: FOR D = Y - 3 TO Y + 3: PSET (f, D), c: f = f - 1: NEXT D
PSET (X + 3, Y + 4), c: PSET (X + 3, Y - 4), c
PSET (X - 3, Y + 4), c: PSET (X - 3, Y - 4), c: X = X + 9: RETURN
trt: Y = Y + 7: FOR hor = X - 3 TO X + 4: PSET (hor, Y), c: NEXT hor
FOR hor = X - 3 TO X + 4: PSET (hor, Y + 1), c: NEXT hor: Y = Y - 7: RETURN
par: X = X - 2: PSET (X + 1, Y - 4), c
PSET (X + 2, Y - 3), c: FOR V = Y - 2 TO Y + 2: PSET (X + 3, V), c: NEXT V
PSET (X + 1, Y + 4), c: PSET (X + 2, Y + 3), c: X = X + 9: RETURN
minilab: GOSUB M: GOSUB I: GOSUB N: GOSUB I: GOSUB L: GOSUB a: GOSUB B: RETURN
inst: GOSUB U: GOSUB N: X = X + 9: GOSUB I: GOSUB N: GOSUB S: GOSUB T
GOSUB a: GOSUB N: GOSUB T: X = X + 9: GOSUB S: GOSUB V: GOSUB P: RETURN
exer6: GOSUB E: GOSUB X: GOSUB E: GOSUB r: GOSUB c: GOSUB I: GOSUB c: GOSUB E
GOSUB S: X = X + 8: GOSUB c: GOSUB O: GOSUB r: GOSUB r: GOSUB I: GOSUB G
GOSUB E: GOSUB S: RETURN
Aide: GOSUB a: GOSUB I: GOSUB D: GOSUB E: RETURN
Suivant: GOSUB S: GOSUB U: GOSUB I: GOSUB V: GOSUB a: GOSUB N: GOSUB T: RETURN
menup: GOSUB M: GOSUB E: GOSUB N: GOSUB U: RETURN
Precedant: GOSUB P: GOSUB r: GOSUB E: GOSUB c: GOSUB E: GOSUB D: GOSUB a
GOSUB N: GOSUB T: RETURN
inf: GOSUB I: GOSUB N: GOSUB f: GOSUB O: RETURN
REM SCHEMAS
schema1: P = 250: D = 390: h = 160:
LINE (P, h + 35)-(P, h), 12: LINE -(D, h), 12: LINE -(D, h + 15), 12
CIRCLE (D, h + 24), 9, 4
LINE (D - 4, h + 20)-(D + 4, h + 20), 12: LINE -(D, h + 28), 12
LINE -(D - 4, h + 20), 12
PAINT (D, h + 24), 4, 12: LINE (D - 3, h + 29)-(D + 3, h + 29), 12
PSET (D + 15, h + 24): DRAW "c12 E3 G3 R3 G3"
LINE (D, h + 33)-(D, h + 45), 12: LINE (D - 4, h + 45)-(D + 4, h + 70), 10, B
LINE (D, h + 71)-(D, h + 85), 7: LINE -(P, h + 85), 7: LINE -(P, h + 40), 7
LINE (P - 6, h + 35)-(P + 6, h + 35), 12
LINE (P - 4, h + 40)-(P + 4, h + 45), 7, BF: RETURN
schema2: LINE (180, 145)-(180, 250), 11: LINE (165, 235)-(460, 235), 11
FOR a = 190 TO 450 STEP 10
LINE (a, 235)-(a, 238), 11: NEXT a
c = 10: B = 230: h = 175: FOR I = 190 TO 390 STEP 50
LINE (I, B)-(I, h), c: LINE -(I + 30, h), c
LINE -(I + 30, B), c: LINE -(I + 50, B), c: NEXT I: RETURN
res1: LINE (xr - 3, yr)-(xr + 3, yr + 20), cr, B: RETURN
rvar: LINE (xr - 3, yr)-(xr + 3, yr + 30), cr, B
LINE (xr - 8, yr + 25)-(xr + 8, yr + 5), cr
DRAW "L3 R4 D3": RETURN
em: Y = Y + 1: FOR h = X - 1 TO X + 1: PSET (h, Y - 3), c: NEXT h
PSET (X - 2, Y - 2), c: PSET (X + 2, Y - 2), c
PSET (X - 2, Y - 1), c: PSET (X + 2, Y - 1), c
FOR h = X - 2 TO X + 1: PSET (h, Y), c: NEXT h: PSET (X - 2, Y + 1), c
PSET (X - 2, Y + 2), c: PSET (X + 2, Y + 2), c
FOR h = X - 1 TO X + 1: PSET (h, Y + 3), c: NEXT h: X = X + 7
Y = Y - 1: RETURN
REM Routines pour Souris
AttenteChoix: Mouse 1: DO: Clic ClickDelay: f$ = INKEY$: f$ = UCASE$(f$)
LOOP UNTIL B% = 1 OR LEN(f$): Mouse 0
IF f$ = "N" THEN GOTO Menu
IF f$ = "D" THEN GOTO TestAide
IF f$ = "A" OR f$ = "B" OR f$ = "C" THEN GOSUB TestRep
IF f$ = "S" THEN GOTO TestSuivant
IF f$ = "P" THEN GOTO TestPrecedant
IF B% = 1 AND Y% > 64 AND Y% < 96 THEN GOTO TestIcone
GOTO AttenteChoix: RETURN
TestIcone:
IF X% > 329 AND X% < 371 THEN GOTO Menu
IF X% > 29 AND X% < 71 THEN GOSUB TestAide
IF X% > 79 AND X% < 121 THEN GOSUB TestRep
IF X% > 129 AND X% < 171 THEN GOSUB TestRep
IF X% > 179 AND X% < 221 THEN GOSUB TestRep
IF X% > 229 AND X% < 271 THEN GOTO TestSuivant
IF X% > 279 AND X% < 321 THEN GOTO TestPrecedant
RETURN
TestAide: IF N > 10 THEN GOTO TestAideBis
IF N = 1 THEN GOTO Aide1
IF N = 2 THEN GOTO Aide2
IF N = 3 THEN GOTO Aide3
IF N = 4 THEN GOTO Aide4
IF N = 5 THEN SOUND 800, .3
IF N = 6 THEN GOTO Aide6
IF N = 7 THEN GOTO Aide7
IF N = 8 THEN SOUND 800, .3
IF N = 9 THEN GOTO Aide9
IF N = 10 THEN GOTO Aide10
RETURN
TestAideBis:
IF N = 11 THEN GOTO Aide11
IF N = 12 THEN GOTO Aide12
IF N = 13 THEN GOTO Aide13
IF N = 14 THEN GOTO Aide14
IF N = 15 THEN GOTO Aide15
IF N = 16 THEN SOUND 800, .3
IF N = 17 THEN SOUND 800, .3
IF N = 18 THEN SOUND 800, .3
IF N = 19 THEN SOUND 800, .3
IF N = 20 THEN SOUND 800, .3
IF N = 21 THEN GOTO Aide21
IF N = 22 THEN GOTO Aide22
IF N = 23 THEN GOTO Aide23
RETURN
TestSuivant: IF N > 10 THEN GOTO TestSuivantBis
IF N = 1 THEN GOTO EX2
IF N = 2 THEN GOTO EX3
IF N = 3 THEN GOTO EX4
IF N = 4 THEN GOTO EX5
IF N = 5 THEN GOTO EX6
IF N = 6 THEN GOTO EX7
IF N = 7 THEN GOTO EX8
IF N = 8 THEN GOTO EX9
IF N = 9 THEN GOTO EX10
IF N = 10 THEN GOTO EX11
TestSuivantBis:
IF N = 11 THEN GOTO EX12
IF N = 12 THEN GOTO EX13
IF N = 13 THEN GOTO EX14
IF N = 14 THEN GOTO EX15
IF N = 15 THEN GOTO EX16
IF N = 16 THEN GOTO EX17
IF N = 17 THEN GOTO EX18
IF N = 18 THEN GOTO EX19
IF N = 19 THEN GOTO EX20
IF N = 20 THEN GOTO EX21
IF N = 21 THEN GOTO EX22
IF N = 22 THEN GOTO EX23
IF N = 23 THEN GOTO EX1
TestPrecedant: IF N > 10 THEN GOTO TestPrecedantBis
IF N = 1 THEN SOUND 750, .3: GOTO Att1
IF N = 2 THEN GOTO EX1
IF N = 3 THEN GOTO EX2
IF N = 4 THEN GOTO EX3
IF N = 5 THEN GOTO EX4
IF N = 6 THEN GOTO EX5
IF N = 7 THEN GOTO EX6
IF N = 8 THEN GOTO EX7
IF N = 9 THEN GOTO EX8
IF N = 10 THEN GOTO EX9
TestPrecedantBis:
IF N = 11 THEN GOTO EX10
IF N = 12 THEN GOTO EX11
IF N = 13 THEN GOTO EX12
IF N = 14 THEN GOTO EX13
IF N = 15 THEN GOTO EX14
IF N = 16 THEN GOTO EX15
IF N = 17 THEN GOTO EX16
IF N = 18 THEN GOTO EX17
IF N = 19 THEN GOTO EX18
IF N = 20 THEN GOTO EX19
IF N = 21 THEN GOTO EX20
IF N = 22 THEN GOTO EX21
IF N = 23 THEN GOTO EX22
TestRep: IF N > 10 THEN GOTO TestRepBis
IF N = 1 THEN GOTO Rep1
IF N = 2 THEN GOTO Rep2
IF N = 3 THEN GOTO Rep3
IF N = 4 THEN GOTO Rep4
IF N = 5 THEN GOTO Rep5
IF N = 6 THEN GOTO Rep6
IF N = 7 THEN GOTO Rep7
IF N = 8 THEN GOTO Rep8
IF N = 9 THEN GOTO Rep9
IF N = 10 THEN GOTO Rep10
TestRepBis:
IF N = 11 THEN GOTO Rep11
IF N = 12 THEN GOTO Rep12
IF N = 13 THEN GOTO Rep13
IF N = 14 THEN GOTO Rep14
IF N = 15 THEN GOTO Rep15
IF N = 16 THEN GOTO Rep16
IF N = 17 THEN GOTO Rep17
IF N = 18 THEN GOTO Rep18
IF N = 19 THEN GOTO Rep19
IF N = 20 THEN GOTO Rep20
IF N = 21 THEN GOTO Rep21
IF N = 22 THEN GOTO Rep22
IF N = 23 THEN GOTO Rep23
REM
TraiteErreur: BEEP: Mouse 0
a = 100: aa = 540: B = 150: bb = 320: LINE (a, B)-(aa, bb), 0, BF
LINE (a, B)-(aa, bb), 12, B: LINE (a, B + 30)-(aa, B + 30), 12, B
COLOR 12: LOCATE 11, 38: PRINT "ERREUR"
CodErr$ = STR$(ERR): NoCode$ = "Code d'erreur :"
IF ERR < 25 OR ERR = 26 THEN me$ = "Erreur interne au programme"
IF ERR > 28 OR ERR < 53 THEN me$ = "Erreur interne au programme"
IF ERR = 25 THEN me$ = "Périphérique absent ou éteint"
IF ERR = 27 THEN me$ = "Imprimante : Attente papier..."
IF ERR = 53 THEN me$ = "Fichier absent !"
IF ERR = 57 THEN me$ = "Erreur de périphérique E / S"
IF ERR = 61 THEN me$ = "Disque saturé"
IF ERR = 68 THEN me$ = "Périphérique non disponible"
IF ERR = 75 OR ERR = 76 THEN me$ = "Erreur de chemin d'accès au fichier"
COLOR 12: LOCATE 14, (80 - LEN(me$)) / 2: PRINT me$
COLOR 14: LOCATE 16, (78 - LEN(NoCode$)) / 2: PRINT NoCode$; CodErr$
Message$ = "Appuyez sur une touche pour continuer..."
COLOR 12: LOCATE 18, (80 - LEN(Message$)) / 2: PRINT Message$
SLEEP 2: DO: f$ = INKEY$: LOOP UNTIL LEN(f$)
RESUME debut
MouseData:
DATA 55,8b,ec,56,57,8b,76,0c,8b,04,8b,76,0a,8b,1c,8b,76,08,8b,0c
DATA 8b,76,06,8b,14,cd,21,8b,76,0c,89,04,8b,76,0a,89,1c
DATA 8b,76,08,89,0c,8b,76,06,89,14,5f,5e,5d,ca,08,00,#
DEFSNG A-Z
SUB Clic (ClickDelay%)
GetMouse
FOR I = 0 TO ClickDelay: NEXT I
END SUB
SUB GetMouse
r% = Interr%(&H33, 3, Bx%, CX%, DX%)
B% = Bx%: X% = CX%: Y% = DX%
END SUB
SUB IconA (a, B, coul)
LINE (a, B)-(a + 40, B + 30), 0, BF
LINE (a, B)-(a + 40, B + 30), coul, B
END SUB
SUB IconAide (a, B)
a = 30: B = 65: LINE (a, B + 15)-(a + 40, B + 30), 9, B
CIRCLE (a + 20, B + 15), 13, 7: CIRCLE (a + 20, B + 15), 8, 7
LINE (a + 17, B + 3)-(a + 23, B + 7), 12, BF
LINE (a + 17, B + 27)-(a + 23, B + 23), 12, BF
LINE (a + 7, B + 12)-(a + 12, B + 18), 12, BF
LINE (a + 33, B + 12)-(a + 28, B + 18), 12, BF
END SUB
SUB IconPrecedant (a, B)
LINE (a, B)-(a + 40, B + 30), 12, B
LINE (a + 15, B)-(a + 40, B + 30), 9, B
LINE (a + 35, B + 12)-(a + 12, B + 18), 9, BF
LINE (a + 12, B + 7)-(a + 12, B + 23), 9
LINE -(a + 4, B + 15), 9: LINE -(a + 12, B + 7), 9
PAINT (a + 10, B + 17), 9, 9
END SUB
SUB IconSuivant (a, B)
LINE (a, B)-(a + 40, B + 30), 12, B
LINE (a, B)-(a + 25, B + 30), 9, B
LINE (a + 5, B + 12)-(a + 28, B + 18), 12, BF
LINE (a + 28, B + 7)-(a + 28, B + 23), 12
LINE -(a + 36, B + 15), 12: LINE -(a + 28, B + 7), 12
PAINT (a + 30, B + 17), 12, 12
END SUB
FUNCTION Interr% (Num%, AX%, Bx%, CX%, DX%)
IF MS%(0) = 0 THEN SYSTEM
DEF SEG = VARSEG(MS%(0))
POKE VARPTR(MS%(0)) + 26, Num%
CALL ABSOLUTE(AX%, Bx%, CX%, DX%, VARPTR(MS%(0)))
Interr% = AX%
END FUNCTION
SUB Mouse (OnOff%)
IF OnOff% = 0 THEN OnOff% = 2 ELSE OnOff% = 1
r% = Interr%(&H33, OnOff%, Bx%, CX%, DX%)
END SUB
SUB MouseSpeed (Curseur%)
r% = Interr%(&H33, 15, Bx%, Curseur%, Curseur%)
END SUB
SUB ReadData
RESTORE MouseData
DEF SEG = VARSEG(MS%(0))
FOR I% = 0 TO 99
READ Byte$
IF Byte$ = "#" THEN EXIT FOR
POKE VARPTR(MS%(0)) + I%, VAL("&H" + Byte$)
NEXT I%
END SUB
SUB ResetMouse
r% = Interr%(&H33, 0, Bx%, CX%, DX%)
r% = Interr%(&H33, 1, Bx%, CX%, DX%)
END SUB
SUB TextAide1
COLOR 15: LOCATE 26, 5
PRINT "I (intensité) = U (tension) / R (résistance) (Loi d'Ohm)"
LOCATE 28, 5: PRINT "Tension de seuil d'une del rouge = 1,6 V environ"
END SUB
SUB TextAide22
COLOR 15: LOCATE 26, 5
PRINT "Chaque division horizontale correspond à une durée de 1O ms."
LOCATE 28, 5: PRINT "f (fréquence) = 1 / T (période)"
END SUB
SUB TexteIntro
a$ = "Questions à Choix Multiples "
B$ = "Répondre par a, b ou c (clavier ou souris)."
c$ = "L'option AIDE apporte, s'il y a lieu,"
D$ = "des renseignements utiles ou nécessaires."
E$ = "Frappez S ou cliquez sur l'icône correspondante"
f$ = "pour passer au problème suivant."
G$ = "Commencer Quitter le module"
COLOR 13: LOCATE 11, (80 - LEN(a$)) / 2: PRINT a$
LOCATE 13, ((80 - LEN(B$)) / 2) + 1: PRINT B$
LOCATE 15, (80 - LEN(c$)) / 2: PRINT c$
LOCATE 17, (80 - LEN(D$)) / 2: PRINT D$
LOCATE 19, (80 - LEN(E$)) / 2: PRINT E$
LOCATE 21, (80 - LEN(f$)) / 2: PRINT f$
COLOR 9: LOCATE 24, (80 - LEN(G$)) / 2: PRINT G$
LINE (160, 370)-(170, 380), 9, B: LINE (287, 370)-(297, 380), 9, B
END SUB
SUB TextEx1
COLOR 12: LOCATE 13, 27: PRINT "9 V"
COLOR 10: LOCATE 14, 52: PRINT "47O "; CHR$(234): COLOR 11
LOCATE 19, 8: PRINT "Quelle est l'intensité du courant dans la del ?"
LOCATE 22, 8: PRINT "A) 2O mA B) 15 mA C) 1,5 A"
END SUB
SUB TextEx10
COLOR 11: LOCATE 16, 53: PRINT "ms": LOCATE 19, 8
PRINT "Quelle est la période du signal périodique représenté ci-dessus ?"
LOCATE 22, 8: PRINT "A) O,6 ms B) 1 ms C) 4 ms"
END SUB
SUB TextEx11
LINE (100, 170)-(150, 240), 3, B
LINE (80, 185)-(100, 185), 3: LINE (80, 225)-(100, 225), 3
LINE (150, 205)-(170, 205), 3: COLOR 11: LOCATE 18, 8
PRINT "Si l'entrée A est au niveau 1 et l'entrée B au niveau O,"
LOCATE 20, 8
PRINT "quel sera le niveau de la sortie S de ce circuit logique ?"
LOCATE 22, 8: PRINT "A) O B) 1 C) cela dépend du type de C.I."
END SUB
SUB TextEx12
xt = 180: yt = 235: CIRCLE (xt, yt), 17, 11
LINE (xt - 3, yt - 10)-(xt, yt + 10), 11, BF: PSET (xt, yt), 11
DRAW "E12 c12 U30 D30 c11 G12 F12 U3 G3 R2 D65 c7 R80 L190"
U = xt - 45: LINE (xt, yt)-(U, yt), 11: LINE -(U, yt - 25), 10
LINE (U - 3, yt - 25)-(U + 3, yt - 50), 10, B 'R1
LINE (U, yt - 50)-(U, yt - 65), 10: LINE -(U - 35, yt - 65), 10
DRAW "c10 H3 F3 G3":
LINE (U, yt)-(U, yt + 25), 10
LINE (U + 3, yt + 25)-(U - 3, yt + 50), 10, B: LINE (U, yt + 50)-(U, yt + 75), 10
LINE (189, 168 + 25)-(195, 143 + 25), 12, B
LINE (192, 143 + 25)-(192, yt - 80), 12: LINE -(231, yt - 80), 12
CIRCLE (240, yt - 80), 9, 12
LINE (244, yt - 76)-(244, yt - 84), 12: LINE -(236, yt - 80), 12
LINE -(244, yt - 76), 12: PAINT (240, yt - 80), 12, 12
LINE (235, yt - 76)-(235, yt - 84), 12: PSET (242, yt - 68)
DRAW "c12 G3 R3 G3": LINE (249, yt - 80)-(275, yt - 80), 12
CIRCLE (277, yt - 80), 2, 12
COLOR 14: LOCATE 11, 11: PRINT "U"
COLOR 10: LOCATE 13, 11: PRINT "22O k"; CHR$(234)
COLOR 10: LOCATE 17, 11: PRINT "15 k"; CHR$(234)
COLOR 12: LOCATE 10, 35: PRINT "9 V"
COLOR 12: LOCATE 12, 26: PRINT "47O "; CHR$(234)
COLOR 11: LOCATE 15, 27: PRINT "2N2222"
LOCATE 14, 43: PRINT "A partir de quelle tension U"
LOCATE 16, 43: PRINT "la del s'allumera-t-elle ?"
LOCATE 22, 8: PRINT "A) 6,5 V B) 8,2 V C) 1O V"
END SUB
SUB TextEx13
COLOR 11: LOCATE 12, 8
PRINT "Sous courant continu, un condensateur de 33O nF se charge à 95%"
LOCATE 14, 8
PRINT "de sa tension finale au bout de O,1 seconde, à un millième de"
LOCATE 16, 8
PRINT "seconde près."
LOCATE 18, 8
PRINT "Quelle est la valeur de la résistance associée a ce condensateur ?"
LOCATE 22, 8
PRINT "A) 1 k"; CHR$(234); " B) 1OO k"; CHR$(234); " C) 1O M"; CHR$(234)
END SUB
SUB TextEx14
COLOR 11: LOCATE 11, 8
PRINT "On souhaite réaliser une alimentation variable pouvant fournir 15 V"
LOCATE 13, 8
PRINT "et un courant maximal de 1,5 A. Le redressement sera double alternance."
LOCATE 15, 8
PRINT "Lequel de ces transformateurs devra-t-on choisir, sachant que le"
LOCATE 17, 8
PRINT "régulateur retenu nécessite une tension de 2 V à ses bornes ?"
LOCATE 19, 8
PRINT "(On négligera la tension de ronflement.)"
LOCATE 22, 8: PRINT "A) 9 V/12 VA B) 15 V/25 VA C) 18 V/12 VA"
END SUB
SUB TextEx15
COLOR 11: LOCATE 12, 8
PRINT "On dispose d'un transformateur 2 x 12 V/26 VA. Comment procèdera-t-on"
LOCATE 14, 8
PRINT "pour obtenir une tension continue, après redressement et filtrage,"
LOCATE 16, 8
PRINT "supérieure à 2O V ?"
LOCATE 18, 8
PRINT "A) On n'utilisera qu'un seul des deux secondaires."
LOCATE 20, 8
PRINT "B) On mettra les secondaires en série."
LOCATE 22, 8
PRINT "C) On mettra les secondaires en parallèle."
END SUB
SUB TextEx16
COLOR 11
LOCATE 12, 5: PRINT "Lequel de ces énoncés est VRAI ?"
LOCATE 15, 5
PRINT "A) Une diode Zener, polarisée en inverse (anode négative par rapport"
LOCATE 16, 8
PRINT "à la cathode), constitue une référence de tension stable."
LOCATE 18, 5
PRINT "B) En polarisation directe, une Zener n'est pas conductrice."
LOCATE 20, 5
PRINT "C) Pour limiter le courant inverse, on doit toujours associer un"
LOCATE 21, 8
PRINT "condensateur à une diode Zener."
END SUB
SUB TextEx17
COLOR 11
LOCATE 12, 5: PRINT "Lequel de ces énoncés est FAUX ?"
LOCATE 15, 5
PRINT "A) Un montage Darlington est constitué de deux transistors qui"
LOCATE 16, 8: PRINT "doivent être complémentaires (NPN et PNP)."
LOCATE 18, 5: PRINT "B) Un montage Darlington peut associer plus de deux transistors."
LOCATE 20, 5
PRINT "C) Le montage Darlington, aussi applelé émetteur-suiveur, réalise"
LOCATE 21, 8: PRINT "une amplification importante."
END SUB
SUB TextEx18
COLOR 11: LOCATE 12, 5
PRINT "Les fréquences audibles par l'homme s'étendent de :"
LOCATE 16, 8: PRINT "A) 1 Hz à 1 kHz environ"
LOCATE 18, 8: PRINT "B) 2O Hz à 2O kHz environ"
LOCATE 20, 8: PRINT "C) 1OO Hz à 12O kHz environ"
END SUB
SUB TextEx19
COLOR 11: LOCATE 12, 5
PRINT "Une pile ordinaire, saline ou alcaline, finit par se décharger au bout"
LOCATE 14, 5
PRINT "d'un certain temps et ne plus être en mesure de fournir sa tension"
LOCATE 16, 5: PRINT "nominale. Ce regrettable processus a pour cause :"
LOCATE 18, 8: PRINT "A) l'augmentation progressive de sa résistance interne"
LOCATE 20, 8: PRINT "B) la nature électrochimique de l'action qui produit la f.c.e.m."
LOCATE 22, 8: PRINT "C) le fait qu'il ne s'agit pas d'une source de tension parfaite"
END SUB
SUB TextEx2
COLOR 12: LOCATE 13, 27: PRINT "6 V": COLOR 10: LOCATE 14, 52: PRINT "R"
COLOR 11
LOCATE 18, 8: PRINT "On veut faire circuler un courant de 2O mA dans la del."
LOCATE 20, 8: PRINT "Quelle sera la valeur de la résistance R ?"
LOCATE 22, 8: PRINT "A) 22O "; CHR$(234); " B) 47O "; CHR$(234); " C) 22 k"; CHR$(234)
END SUB
SUB TextEx20
COLOR 11: LOCATE 12, 5
PRINT "Le NE 555 est un circuit intégré utilisable en :"
LOCATE 16, 8: PRINT "A) régulateur de tension positif"
LOCATE 18, 8: PRINT "B) amplificateur de tension"
LOCATE 20, 8: PRINT "C) oscillateur astable ou monostable"
END SUB
SUB TextEx21
COLOR 11: LOCATE 12, 5: PRINT "VOLTS/DIV : 2OO"
LOCATE 14, 5: PRINT "Quelle est l'amplitude du signal?"
LOCATE 17, 8: PRINT "A) 2OO V"
LOCATE 19, 8: PRINT "B) 25O V"
LOCATE 21, 8: PRINT "C) 31O V"
END SUB
SUB TextEx22
COLOR 11: LOCATE 12, 5: PRINT "VOLTS/DIV : 1OO V"
LOCATE 13, 5: PRINT "TIME/DIV : 1O ms"
LOCATE 15, 5: PRINT "Quelle est la fréquence de ce signal?"
LOCATE 17, 8: PRINT "A) 2O Hz"
LOCATE 19, 8: PRINT "B) 5O Hz"
LOCATE 21, 8: PRINT "C) 1OO Hz"
END SUB
SUB TextEx23
COLOR 11: LOCATE 11, 4: PRINT "TIME/DIV : 1O ms"
LOCATE 13, 4: PRINT "Lequel de ces énoncés est VRAI?"
LOCATE 15, 4: PRINT "A) les deux signaux sont de même"
LOCATE 16, 4: PRINT " fréquence"
LOCATE 18, 4: PRINT "B) la fréquence du signal 1 est deux"
LOCATE 19, 4: PRINT " fois supérieure à celle du signal 2"
LOCATE 21, 4: PRINT "C) la période du signal 1 est deux"
LOCATE 22, 4: PRINT " fois plus longue que celle du"
LOCATE 23, 4: PRINT " signal 2"
END SUB
SUB TextEx3
c = 14: LINE (240, 205)-(265, 205), c
LINE (265, 185)-(265, 225), c: LINE -(308, 225), c
LINE (308, 221)-(333, 229), 10, B: LINE (333, 225)-(375, 225), c
LINE -(375, 185), c: LINE -(355, 185), c
LINE (355, 181)-(330, 189), 10, B: LINE (330, 185)-(310, 185), c
LINE (310, 181)-(285, 189), 10, B
LINE (284, 185)-(265, 185), c: LINE (375, 205)-(400, 205), c
LOCATE 11, 37: PRINT "R1 R2"
LOCATE 16, 40: PRINT "R3 R1 = R2 = R3 = 1O k"; CHR$(234): COLOR 11
LOCATE 19, 8: PRINT "Calculer la valeur de la résistance équivalente Req."
LOCATE 22, 8: PRINT "A) 3,3 k"; CHR$(234); " B) 6,7 k"; CHR$(234); " C) 1O k"; CHR$(234)
END SUB
SUB TextEx4
COLOR 12: LOCATE 13, 26: PRINT "12 V"
COLOR 10: LOCATE 14, 52: PRINT "68O "; CHR$(234): COLOR 11
LOCATE 18, 8: PRINT "La résistance appartient à la série E12 "; CHR$(241); " 5%"
LOCATE 20, 8: PRINT "Quelle puissance devra-t-on choisir ?"
LOCATE 22, 8: PRINT "A) 1/4 W B) 1/2 W C) 1 W"
END SUB
SUB TextEx5
COLOR 11: LOCATE 12, 8: PRINT "Lequel de ces énoncés est FAUX ?"
LOCATE 15, 8: PRINT "A) un condensateur ne laisse pas passer un courant continu"
LOCATE 17, 8: PRINT "B) un condensateur laisse passer un courant alternatif"
LOCATE 19, 8: PRINT "C) un condensateur laisse passer le courant continu et le"
LOCATE 21, 8: PRINT " courant alternatif."
END SUB
SUB TextEx6
COLOR 11: LOCATE 13, 8
PRINT "Le secteur EDF délivre du 22O V alternatif (tension efficace),"
LOCATE 15, 8: PRINT "de fréquence 5O Hz."
LOCATE 17, 8: PRINT "Quelle est l'amplitude maximale de cette tension?"
LOCATE 22, 8: PRINT "A) 11O V B) 22O V C) 31O V"
END SUB
SUB TextEx7
COLOR 11: LOCATE 13, 8
PRINT "Un transformateur 22O/24 V, 48 VA délivre sur son secondaire"
LOCATE 15, 8: PRINT "une tension alternative de 24 V. ": LOCATE 17, 8
PRINT "Quelle sera la valeur de la tension après redressement et filtrage ?"
LOCATE 22, 8: PRINT "A) 16,8 V B) 24 V C) 32,2 V"
END SUB
SUB TextEx8
LINE (180, 150)-(180, 255), 11: LINE (165, 210)-(430, 210), 11
COLOR 11: LOCATE 11, 21: PRINT "U": LOCATE 15, 53: PRINT "t"
Y = 210: cc2 = 12: k = 45
X = 120: FOR a = 180 TO 360 STEP 3
ang! = a * .01745: PSET (X + a / 3, Y + k * SIN(ang!)), cc2: NEXT a
FOR a = 180 TO 360 STEP 3
ang! = a * .01745: PSET (X + 60 + a / 3, Y + k * SIN(ang!)), cc2: NEXT a:
X = 240: Y = 210: FOR a = 180 TO 360 STEP 3
ang! = a * .01745: PSET (X + a / 3, Y + k * SIN(ang!)), cc2: NEXT a
FOR a = 180 TO 360 STEP 3
ang! = a * .01745: PSET (X + 60 + a / 3, Y + k * SIN(ang!)), cc2: NEXT a:
COLOR 11: LOCATE 18, 8
PRINT "La figure ci-dessus représente la forme d'une tension redressée."
LOCATE 20, 8: PRINT "S'agit-il d'un redressement: ": LOCATE 22, 8
PRINT "A) mono alternance B) double alternance C) déphasé de 9O°"
END SUB
SUB TextEx9
COLOR 11: LOCATE 18, 8
PRINT "Quel est le rapport cyclique du signal périodique représenté"
LOCATE 20, 8: PRINT "ci-dessus ? "
LOCATE 22, 8: PRINT "A) 5O% B) 6O% C) 75%"
END SUB
SUB ZoneXMouse (X1%, X2%)
r% = Interr%(&H33, 7, 0, X1%, X2%)
END SUB
SUB ZoneYMouse (Y1%, Y2%)
r% = Interr%(&H33, 8, Bx%, Y1%, Y2%)
END SUB