accueil
site ouvert le 11 aout 2000, fermé en 2006 à cause de mécontentement des anti écolos, réouvert en janvier 2008

contact vieuxrhone@free.fr 

Cartographie

Le Site du Vieux Rhône.

carte avec carrés du code qra locator
carte d'accès aux photos

programmes pour fx880p

J'ai écris tel quel ces programmes que j'utilise dans cette calculatrice, j'espère bientôt en faire une version en langage C, si on m'aide...

p7

2 PRINT "CALCUL ANGLE ET DISTANCE. ENTRER QRA LOC, ICI, LAS BAS";
3 GOSUB #5
4 GOSUB #6
5 GOSUB #4
6 GOTO 2
9 END

P8
10 PRINT "POUR CONVERTIR QRA vers LA-LA. POUR LE CONTRAIRE UTILISER P2;" ";
20 GOSUB #6
30 GOTO 10

P9
2 PRINT "RENTRER ICI LA LO PUIS LAS BAS la lo ";
4 INPUT "LA",LA,"LO",LO,"la",la,"lo",lo
6 GOSUB #4
8 GOTO 2

P1 programme servant à connaitre l'heure dans dans une prise de son stockée sur CD audio connaissant l'heure de début de la prise de son en se servant de l'afficheur temps restant de la platine disque
5 GOTO 100
10 INPUT "LO",LO,"heure solaire",H,"D",D
20 h=H-LO*(24/360)+D
30 PRINT DMS$(h);:INPUT H:GOTO 200
100 INPUT "duree disque",fh,fm,fs," heure debut sequence" ,dh,dm,ds
105 INPUT "temps  restant minutes secondes",rm,rs
110 d = DEG(dh,dm,ds):f=DEG(fh,fm,fs):r=DEG(00,rm,rs):t=d+f-r
120 PRINT "heure";DMS$(t);" ";: GOTO 105

conversion qra loc vers latitude longitude
P2
2 SETN
3 GOTO 100
5 INPUT "A",A,"B",B
10 FOR I=A TO B
30 PRINT CHR$(I);
40 NEXT I
100 A$=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
110 INPUT "la",la,"lo",lo
115 la=la+5E-9:lo=lo+5E-9:GOTO 120
117 PRINT "decallage horaire par rapport au meridien zero";DMS$((lo  )/360/24)
120 a=INT(lo+180)/360*18
130 b=INT(la+090)/180*18
140 c=INT(10*FRAC((lo+180)/360*18))
150 d=INT(10*FRAC((la+090)/180*18))
160 e=INT(24*FRAC((lo+180)/360*18*10))
170 f=INT(24*FRAC((la+090)/180*18*10))
171 g=INT(24*FRAC((lo+180)/360*18*10*24))
172 h=INT(24*FRAC((la+090)/180*18*10*24))
173 i=INT(10*FRAC((lo+180)/360*18*10*24*24))
174 j=INT(10*FRAC((la+090)/180*18*10*24*24))
175 PRINT "la "DMS$"(la);" lo ";"DMS$(lo),
180 PRINT MID(A$,a+1,1);"  ";MID(A$,b+1,1);" ";c;d;" ";MID(A$,e+1,1)"  ";MID(A$,f+1,1);"  ";MID(A$,g+1,1);"  ";MID(A$,h+1,1;" ";i;j;" ";:la=la-5E-9:lo=lo-5E-9
345 L$=INPUT$(1)
346 IF L$="D";PRINT "decalage horaire";DMS$((lo   )/360/24)

pour savoir à quel angle est vu l'horizon
100 INPUT "ALTITUDE?",q
102 print "angle horizon=";-ACS(6378E3/(6378E3+q))

Programme de calcul distance (longueur du grand cercle) et angle entre deux stations radio (par exemple), le long passe est le plus grand des deux grands arcs de cercles reliant les deux points, en passant donc par l'antipode. Merci à François Munier, copain de terminale pour m'avoir aidé à retrouver la formule des grands cercles.
Note, une version modifié d'un article et de ce programme a été publié par le réseau des émetteurs français (REF), en 1995 : je leur avait envoyé pour qu'ils le publient, à l'époque j'était FR5HS . Le REF a publié l'article, en le modifiant un peu, et en signant cet article à leur nom, au lieu du mien, par la suite ils ont totalement ignoré mes revendications. Je précisait aussi que même si une station est aux antipodes, contrairement à l'idée reçue qu'en cas de propagation homogène (ce qui n'arrive presque jamais) qu'une station aux antipode semble venir de tout cotés, cela n'est plus vrai si elle possède une antenne directive, le REF a déformé l'article en disant justement le contraire, l'idée reçue donc!!!
depuis j'ai ajouté les nouvelles subdivisions
 
 

p4
5 GOTO 107
10 INPUT C$
20 SET F2
30 IF C$="";INPUT "LA",LA,"LO",LO
40 IF C$="CILAOS";LA=-DEG(21,7):LO=DEG(55,29)
45 IF C$="PITON";LA=-DEG(21,5):LO=DEG(55,29)
60 IF C$="PARIS";LA=DEG(48,50,11)):LO=DEG(2,20,14)
70 IF C$="CHARBONOD";LA=DEG(45,45,55):LO=DEG(5,46,23.75)
105 INPUT "  la",la," lo",lo
106 la = la
107 SETF2:b=90-LA:a=90-la:C=lo-LO
111 c=ACS(COSa*COSb+SINa*SINb*COSC):DIST=c*1.854*60:M=c*60
250 IF lo=LO;IF LA=la;PRINT "pile dessus";:GOTO 345
255 GOTO 270
260 IF LO=lo;di=LA-la:DIST=di*1.854*60
270 IF b=180;c=180-a:A=lo
280 IF a=0;c=b:A=0
285 IF a=180;c=180-b:A=180:GOTO 340
290 IF b=0;c=a:A=180-lo
295 IF A<0;A=360+A
296 IF c=180;GOTO 340
297 IF b=0;GOTO 340
298 IF b=180;GOTO 340
299 IF a=0;GOTO 340
300 z=((COSa-COSb*COSc)/(SINb*SINc)):IF z>1;z=1
305 IF <-1;z=-1
310 A=180-ACS-(z*SGNc)
320 IFC>180;A=180+A
330 IFC<0 ;A=360-A
340 IF c=180;PRINT "antipode";"distance=";DIST:GOTO 105
341 PRINT LA;LO;"vers";la;lo;"distance";DIST;"Km";c*60;"NM";"angle";A;
345 l$=INPUT$(1):IF L$="L";PRINT"      long pass ";1.854*60*(360-c)
346 IF L$="D";PRINT "la bas l'heure solaire est GMT plus";DMS$(lo/360*24)
347 RETURN
350 GOTO 105

pour rendre ce programme indépendant enlever ou faire sauter ligne 5 et ligne 105, sinon ce programme sert de module pour calculer la distance entre deux carrés du code QRA locator
 

p5

10 SETN
20 PRINT "PRECISION",6,8,10,";:INPUT p
100 A=1:B=2:C=3:D=4:E=5:F=6:G=7:H=8:I=9:J=10:K=11:L=12:M=13:N=14:O=15:P=16:Q=17:R=18:S=19:T=20:U=21:V=22:W=23:X=24
120 INPUT W$:GOTO 125
123 PRINT "CALCUL LA,LO RENTRER LE CODE":GOTO 120
125 PRINT W$;" ";
130 a= VALF(MID$(W$,1,1))
140 b= VALF(MID$(W$,2,1))
150 c= VALF(MID$(W$,3,1))
160 d= VALF(MID$(W$,4,1))
170 e= VALF(MID$(W$,5,1))
180 f= VALF(MID$(W$,6,1)): IF p=6;g=0:h=0:i=0:j=0: GOTO 210
182 g= VALF(MID$(W$,7,1))
184 h= VALF(MID$(W$,8,1)): IF p=8;i=0:j=0:GOTO 210
186 i= VALF(MID$(W$,9,1))
188 j= VALF(MID$(W$,10,1))
210 LO=-180+360/18(a-1)+360/18/18*c+360/18/10/24*(e-1)+360*(g-1)/18/10/24/24+i/18/10/24/24/10*360
220 LA=180/18*(b-1)+180/18/10*d+180/18/10/24*(f-1)-90+180*(h-1)/18/10/24/24+j/18/10/24/24/10*180
230 PRINT "LA";DMS$(LA);" LO";DMS$(LO):RETURN
250 RETURN
 
 
 

P6
3 ON ERROR GOTO 10
10 SET N
20 PRINT "PRECISION",6,8,10,;:INPUT p
100 A=1:B=2:C=3:D=4:E=5:F=6:G=7:H=8:I=9:J=10:K=11:L=12:M=13:N=14:O=15:P=16:Q=17:R=18:S=19:T=20:U=21:V=22:W=23:X=24
120 INPUT Q$:GOTO 125
123 PRINT "CALCUL LA,LO RENTRER LE CODE":GOTO 120
125 PRINT Q$;" ";
130 a= VALF(MID$(Q$,1,1))
140 b= VALF(MID$(Q$,2,1))
150 c= VALF(MID$(Q$,3,1))
160 d= VALF(MID$(Q$,4,1))
170 e= VALF(MID$(Q$,5,1))
180 f= VALF(MID$(Q$,6,1)): IF p=6;g=0:h=0;i=0;j=0: GOTO 210
182 g= VALF(MID$(Q$,7,1))
184 h= VALF(MID$(Q$,8,1)): IF p=8;i=0:j=0:GOTO 210
186 i= VALF(MID$(Q$,9,1))
188 j= VALF(MID$(Q$,10,1))
210 lo=-180+360/18(a-1)+360/18/18*c+360/18/10/24*(e-1)+360*(g-1)/18/10/24/24+i/18/10/24/24/10*360
220 la=180/18*(b-1)+180/18/10*d+180/18/10/24*(f-1)-90+180*(h-1)/18/10/24/24+j/18/10/24/24/10*180
230 PRINT "la";DMS$(la);" lo";DMS$(lo):RETURN
250 RETURN
 
 
 
 

110 INPUT A,B
120 FOR I=A TO B
135 'A$=INPUT$(1)
136 PRINT CHR$(PEEK(I));
140 NEXT

P5bis, sert à éviter p6 enlever à P5 ligne 230 et 250 ajouter

290 SET N
310 A=1:B=2:C=3:D=4:E=5:F=6:G=7:H=8:I=9:J=10:K=11:L=12:M=13:N=14:O=15:P=16:Q=17:R=18:S=19:T=20:U=21:V=22:W=23:X=24
320 INPUT Q$:GOTO 325
323 PRINT "CALCUL LA,LO RENTRER LE CODE la bas":GOTO 320
325 PRINT X$;" ";
330 k= VALF(MID$(Q$,1,1))
340 l= VALF(MID$(Q$,2,1))
350 m= VALF(MID$(Q$,3,1))
360 n= VALF(MID$(Q$,4,1))
370 o= VALF(MID$(Q$,5,1))
380 q= VALF(MID$(Q$,6,1)): IF p=6;r=0:s=0:t=0:u=0: GOTO 410
382 r= VALF(MID$(Q$,7,1))
384 s= VALF(MID$(Q$,8,1)): IF p=8;t=0:u=0:GOTO 410
386 t= VALF(MID$(Q$,9,1))
388 u= VALF(MID$(Q$,10,1))
410 lo=-180+360/18(k-1)+360/18/18*m+360/18/10/24*(o-1)+360*(r-1)/18/10/24/24+t/18/10/24/24/10*360
420 la=180/18*(l-1)+180/18/10*n+180/18/10/24*(q-1)-90+180*(s-1)/18/10/24/24+u/18/10/24/24/10*180
430 PRINT "la";DMS$(la);" lo";DMS$(lo):RETURN
450 RETURN