problemes de tri (2 eme partie)

Des MO et des TO...

Modérateur : Politburo

Répondre
smague

problemes de tri (2 eme partie)

Message par smague »

Voici

maintenant comment ameliorer le tri du Basic1) Saisissez le programme basic suivant et sauvegardez le sous le nom "CHARHEX.BAS"Cet utilitaire permet

de saisir des codes binaires par paquets de 16avec une verification automatique de saisie .Il permet d eviter des erreurs de saisie commises avec des

POKE VAL,ADR100 REM CHARGEUR HEXADECIMAL avec controle de saisie110 SCREEN 3,0,0:CLS120 INPUT "Adresse de DEPART ";DEP$130 LET N = VAL

("&H"+DEP$):CLS135 REM mise à zero du checksum140 LET CK=0 : COLOR 1150 PRINT HEX$(N)" ":COLOR3155 REM saisie par groupes de 16 octets160 FOR

T=1 TO 16170 LINEINPUT A$175 PLAY"O5L5SO"180 IF A$="" THEN 170190 IF A$="FIN" THEN END200 P=VAL("&H"+A$)210 POKE N,P:LET N=N+1:LET

CK=CK+P220 NEXT T230 COLOR 6:INPUT "CHECKSUM: ";CT235 REM controle saisie par valeur du checksum240 IF CK=CT THEN 260 ELSE N = N-16250 BEEP:PRINT

"ERREUR DE SAISIE ":GOTO 140260 COLOR 2:PRINT "OK":GOTO 1402) Lancer l utilitaire de saisie RUN "CHARHEX.BAS"et entrer les codes suivants en

indiquant que l adresse de depart est DF00(à chaque entrée de 16 octets on entre le checksum et CHARHEX verifie si la saisie est bonne)DF00 EC 1E 83

00 01 34 06 34 10 EE E4 30 C4 6F 8C 59 : 1574DF10 EC 62 34 06 A6 80 34 02 31 02 A6 A0 34 02 AE 84 : 1477DF20 10 AE A4 A6 80 81 16 26 0C 30 01 A6 80 6A

61 27 : 1434DF30 54 6A 61 27 50 8D 5A 34 02 A6 A0 81 16 26 0C 31 : 1267DF40 21 A6 A0 6A 61 27 23 6A 61 27 1F 8D 44 A1 E4 35 : 1560DF50 02 25 19 22 30

6A 61 27 2C 6A E4 27 0F 20 C4 35 : 1101DF60 06 6D 8C 05 26 A3 35 16 39 00 35 02 6C 8C FA 30 : 1194DF70 C4 31 43 86 03 34 02 A6 84 E6 A4 E7 80 A7 A0 6A

: 1987DF80 E4 26 F4 35 02 35 06 6A 61 27 D4 33 43 30 C4 20 : 1472DF90 83 81 60 25 02 80 20 39 FF FF FF FF FF FF FF FF : 2652Sauvegarder ensuite le

module binaire en memoire sur disquette.par SAVEM "TRI.BIN",&HDF00,&HDF9F,&HDF00 Revenons à notre programme de tri en Basic et

completons le:par la ligne 6 et les lignes 72 à 90 5 CLS 6 CLEAR ,&HDEFF:LOADM"TRI.BIN":DEFUSR0=&HDF0010 DIM A$(10) 20

A$(0)="être":A$(1)="Etalons":A$(2)="accablant" 30 A$(3)="âtre":A$(4)="ASSEZ":A$(5)="été" :A$(6)="ETIONS" 40 A$(7)="étirons":A$(8

)="escalier" :A$(9)="escale":A$(10)="écarté" 42 ' methode de tri traditionnelle en basic 45 LOCATE 0,0 47 PRINT "Tri réalisé par le BASIC

microsoft" 50 FOR I=0 TO 9:F0R J=I+l TO 10:IF A$(J)<A$(I) THEN SWAP A$(I),A$(J) 60 NEXI J,I:PRINT 65 FOR I=0 TO 10 :PRINT A$(1):NEXT I 70

PRINT:PRINT:PRINT "Pas vraiment satisfaisant !" 72 LINE (20,0)-(20,14)"*",175 REM TRI AMELIORE76 LOCATE 24,0:COLOR 377 PRINT "Tri amélioré"80

A$=USR0(A$(0)):PRINT : FOR I = 0 TO 10 : LOCATE 24,I+2 : PRINT A$(I):NEXT I90 LOCATE 24,I+4:PRINT " le resultat est quand même meilleur"100 END
Répondre

Retourner vers « Thomson »