Professional Documents
Culture Documents
fx-702p FR
fx-702p FR
E;C=C+B 11@ GOTO 40 120 PRT G 130 ENDSelon la dichotamie, on prend d’abord la moitié de la donnée A et on determine si le carré de cette moitié est éqal A la valeur de A ou non. Si ce n'est pas le cas, on prend la moitié de la moitié et on Méleve au carré jusqu’a obtenir fa valeur approximative de A, Le processus de calcul est le suivant. oo i, Dee 4951878 Feat ans ce programme, instruction "VAC" de la ligne 10 sert & effacer la mémoire. Ensuite, on introuuit la donnée A. Cette donnée est utilisée par la suite pour la comparaison de I'instruction 1F, II n'est pas possible de (aire «les changements directs, Ceux-ci sont opérés par affectation a B. instruction IF est utilisée ici pour déterminer la valeur approximative a la Signe 60. Le nombre limite de chitfres de calcul est déterming. G et H sont utilisés pour déterminer le point aucuel la limite supérieure est atteinte, et I'exécution se termine quand le résultat est égal au précédent. Liinstruction IF de la ligne 90 est pareille a celle de I'exemple 2. Si la racine carrée est divisible, le carré du résultat est déterming, fa donnée A sera égale et le résultat sera affiché. instruction IF de a ligne 100 détermine laquelle des deux parties également civisées se rapproche de ta solution (valeur approximative) Dans ce programme, les instructions IF sont utilisées de maniére différente a précédemment, mais la fonction de chaque instruction IF reste pareilte. Le programme est quelque peu compliqué, car plusieurs instructions 1F en combinaison sont nécessaites Linstruction IF des lignes 90 et 100 compare A et E. L’organigramme de cette opération est montré ci-dessous (a>ey Toutefois, le langage BASIC ne prévoit pas di une combinaison de deux instructions IF. Suivant leur emplacement dans le programme, les instructions IF ont des effets différents, commir on peut le voir dans ios exemptes 1 et 2. Dans l'exemple 1, une instruction IF est utifisée au début de la houcle pour causer un saut a END avant exécution de 'opération Dans lexemple 2, les opérations sont exécutées puis la comparaison de décision est effectuée, Ces deux méthodes montrent que, suivant ta donnée, Kinstruction IF peut étre place au début d'une boucle, comme dans I'exemple 1, ou fa fin d’une opération, comme dans l'exemple 2. ® Instruction FOR-NEXT Liinstewetion FOR*NEXT est utilisée lorsque le nombre de répétitions d'une méme boucle est connu © Fonction de I'instruction FOR: NEXT instruction FOR*NEXT est composée comme ci-dessous FOR variable = 12 TO mm STEP valour initiale: Incrément = variable ou expression numérique valeur finale Organigramme Ordre dopération d’expression numérique, etc. NEXT variable =oCette instruction commande la répétition de Mopération spécifiée entre “FORT et "NEXT" avec une variable passant de #4 #1 incrémentée successivement de ¢ Quand la variable at teint m, le déroulement ir programme passe a "NEXT" Par exemple, la programme ci-dessous montre comment exéouter une action donnée lorsque la variable 1 passe de 1.4 10 par incréments de 2, FOR |= 1TO 10 STEP 2 NEXT | Co STEP pent @tre omis si inerérnent de ta variable est ce 1 FOR | = 1 TO 10 STEP 1 est FOR |=1TO 10 * Uinstruction FOR*NEXT n’augmente la variable que de fa valeur de linerément spécitié, et ne peut pas la décrémenter. $i la variable doit étre décrémentée de 10 a1, il faut alors I négatif, comme “STEP 1 valent a sous forme de nombre Exemple 1: Créer un tableau de Yi, 8 i2, S ie 3, avec compris entre 1 et 50. Co progranime est montré ci-dessous. 10 VAC 20 FOR 1=1 TO 5® STEP 1 ‘ 30 +1 teas 40 +12 80 50 +173 pot teres c 60 PRT 1,A,B,C i fi 70 NEXT 1 Danas -BHit2 END) | (ee csir3 : f Fin Sortie B.C. | A Cet exemple peut uniquement étre réalisé au moyen d'une instruction FOR+NEXT. Les totaux dei, 7 er 13 (E } sont affichés tandis que la variable 1 est augmentée de 1450 var incréments de un. De ce fait, operation spécifide entre “FOR " de la ligne 20 et “NEXT de la ligne 70 est repeater 50 fois tandis que | est augmenté de 1 a 50 par ineréments de 1 exemple peut étre réalisé avec une instrucion IF 10 VAC 20 1=1 30 A=A+I 40 B=B+IT2 5 C=C+It3 60 PRT 1,A,B,C 7O 1=1+1 80 IF 1=51;END 90 GOTO 30 Nous pourrons clairement comprendre ta fonction de instruction FOR*NEXT si nous comparons exemple utitisant celle-ci et l'exemple avec instruction UF. En d'autres termes, instruction FOR*NEXT combine les fonctions de test d'une instruction IF et dune: instruction GOTO, tout en assurant ne fonction d'inerémentation 20 = { 20 1=1 FOR 1=1 TO 5@ STEP 1-> {32 15) 80 IF 1=51;END ao wext 1» { $3 Goro 30 Uinstruction FOR*NEXT posséde a la fois des fonctions d’incrémentation et de test, ce sorte qu'elle est d'un usage (és souple et pratique lorsque le nombre de répétition d'une boucle est connu. roeExemple 2: Créer un programme pour’ produire une table des fonctions sinus de 0 a t par incréments de 0,01 Ce programme est le suivant 1@ MODE 4 20 FOR 1=@ TO 1 STEP 0.01 30 PRT SIN I 40 NEXT | 50 END Cet exemple détermine les fonctions sinus de 0 a 1 par incréments de 0,01. On peut utiliser linstruction FOR+NEXT en posant son incrément égal 4 0,01. Cette incrémentation est possible car les circuits de cette calculatrice utilisent un systéme décimal. SIN 1 est obtenu et enteé en utilisant linstruction de la ligne 30. "MODE 4” de la ligne 10 spécifie 1a mesure angulaire “degrés”, MODE 5 et MODE 6 specifient respectivement “radians” et “grades” © Diverses boucles Exemple: Usterminer le rt ime nombre d'une série de Fibonacci Une série de Fibonacci est une série dentiers gui sont chacun égaux & la somime des deux précédents. En U'autres termes, la somme du premier et second nombres est égale au troisiéme, la somme cles deuxié troisiéme est égal au quatriéme, et ainsi de suite. 0,1,1,2,3,5,8, 13,21, 4, on ee meet Ce programme est le suivant 10 A=0:B=1 20 INP N 30 FOR 1=3 TO N 4@ C=A+B 50 70 NEXT | 8Q PRT C 90 END A, Bet C représentent les variables de la série, A est la valeur du nombre précédent, B celle du suivant et C est le total (le nombre suivant Bh Une valeur initiale est attribuée 4 A et une valeur initiale de 1 4 B. L’opération commence donc au troisiéme rang Liinstruction FOR-NEXT commence la boucle 4 3 et la continue jusqu’au paint césiré in igme valeur}. La valeur initiale de "instruction FOR*NEXT n’est pas foreément 1 Les opérations de substitution ces lignes 40 & 60 exigent une attention particuliere. Cet ordre ne peut etre inverse, Lorsque la somme de A et de B est introduite en C, B est placé en A et C dans B. Si cet ordre d’opération n’est pas suivi, la substitution ne s’effectue pas correctement Ce mode d'utilisation de l'instruction FOR*NEXT différe des exemples précédents, Par consqeuent, a variable N est utilisé car ta valeur terminale est moditiée sur la base des entrées suivantes aeCet exemple peut tre réalisé avec I'instruction IF. Un modéle de programme utilisant linstruction IF apparait ci-dessous 10 A=O:B=1:1=3 20 INP N 30 C=A+B 40 A=B 5@ B=C 60 IF ISN 7® PRT C 80 END Dans ce prograinme, instruction IF de la ligne 60 incrémente la variable [tout en remplissant la fonction de instruction GOTO. Les valeurs initiales sont fixées a l'aide d'une mutti-instruction sur la figne 10. 1+1:GOTO 30 ‘© Emboitement Les boucles FOR*NE XT peuvent étre emboitées a jusqu’a 8 niveaux, FOR re Voila un exemple aemiboitement 8 4 niveau FOR oo eeccceeeeevecess Une instruction FOR*NEXT est insérée 4 intérieur d'une autre instruction FOR*NEXT. de ta maniere ATFOR eee ee eee eens ; indiquée. | ie NEXT NEXT NEXT (__NexT Lors d'un tel emboitement, i! taut prendre garde 8 instruction NEXT correspondant a instruction FOR et aux variables concernées, be méme, emboitement doit étre réalisé comme ci-dessus, c'est-d-dire que les boucles doivent é1re entiérement inclues dans d’autres. Le recouvrement de boucles FOR: NEXT, c'esta-dire qu'une partie d'une houcle sort d'une autre, n‘est pas autorisé, L'exemple ci-dessous montre un emboltement errane. Ce genre de houcle FOR* NEXT n’est pas utilisable, FOR [FOR NEXT. ‘—NEXT De plus, le déroulement peut sortir de la boucle FOR NEXT, mais ne peut y entrer x ;—FOR [FOR opr THEN. NEXT Next. fe} -52-45-2 Rangées Les rangées tombent dans deux categories: les rangées unidimensionnelies (listes} et bidinrensionnelles (tableaux! suivant la disposition des éléments; elle peuvent étre utilisées tautes deux Une rangée unidimensionnolle est représeniée par ALE) ou BU/), (4) et (/) étant les indices inférieuts. Une rangée bidimensionnelle est représentie par Ui, f} ou Ut, 1), (2, 7) et (1, mn} étant des indices inférieuss 4 deux variables. On trouvera des exemples de ces deux types ci-dessous. FRngée unidimensionnelle (liste) Rangée bidimensionnele (tableau) ™IA molif2]3]4]75)e6l7)ele] 0} a0 0 | a0] At | a2} a3] aa] as] AG} a7 | As | ag 1 [At 1 | 80 | 81 - 21 a2 2] 3 [a3 3| 4 | AA 4 | [5 [a5 jal 6 [ae Tey AT a Te [as el AQ 95 10 | BO [10 | Pour tes listes et rangées, cette calculatrice utilise les inémoires AO A AY, & TO, dont ta vone norntale a été fendue, La rangée unidimensionnelte (liste) est représentée par (0) 8 AL199). La rangée bictimensionnelle (tableau) est représentée par A(O, 0) 4 AUS, 9) En d'autres termes, A(0) et AO accupent la méme mémoire, A(10)} et BO la méme mémoire, ALT, OP et BO. la méme mémoire, et A(18, 7) et S7 la méme mémoire. De plus, seul A peut étre utilisé comme variable de la rangée, * Lorsquon utilise les rangées, iI est nécessaire d’étendre le nombre de mémoire suivant leur ampleur Cette opération est effectuée en manuel, DEFM 11 (17 est compris entre 0 et 19, et doit 8t1e 1 ou supérieur lorsqu‘ utilise dans une rangée} we (Voir page 12 pour plus de details) Cette opération doit étre effectuée. Si le nombre de mémoire est inférieur au nombre d’éiément: range, une erreur se produit lorsque Fopération est exécutée, dee ba -53-™ Rangées unidimensionnelles (listes) Jne range unicimensionnelle est unw: disposition de 0 4 199 éléments avec un indice infésieur Exemple: A(0), AT}... (199) Exempie 1: Cider un programme pour utlicher la valeur ded dans la liste A(j) alors qu’il change de 0a 9) Organigramme 10 FOR 1=®@ TO 9 20 ACID=I 30 NEXT | f 40 FOR 1=®@ TO 9 5@ PRT ACI) 60 NEXT | 7® END Les instructions FOR-NEXT des tignes 10.4 30 ont été expliquer rédemment, Toutefois, AUL) est utilisé en ligne 20 et une valeur Phuiest attribuce, Ue mame, Minstiuction FOR*NEXT des lignes 40 4 60 af fichient a valeur de |i liste vn utilisant Finstruction PRT de fa ligne 50, Be plus, avant d'exteuter ce programme, iL ost nécessarie 1’étendre tes némuirys de 20 unit's, C Fin DEFM2 @ De catty maniére, la liste stocke tes données en tant que variables spares simplemient en changeant bes Alemonts, sans changer He uidsignation cy vartabe, C'est a fon tion prt association avec Vinsteuc tinny FOR *Né XP Exemple 2: Uri amin: pour afficher ta différence entre ter moyenne ot les 1s indixt tants 21 introthuisant les résultats coker de 5O 64 10 A=O 20 FOR 1=0 TO 49 (_Pébat 30 INP ACI) I 40 A=A+AC1) To 5@ NEXT | A eahilicae 1 60 N=A750 7@ PRT N a 8@ FOR 1=@ TO 49 Sort AU) - 90 PRT ACI)-N a - Sore 10Q NEXT | UAsaraw He 110 END l 1-0 49. Dans ce progragines les résultats sont antroduits en ligne 30-4 Vaid de ta liste Al Ae me totale est obtenun en tigne 4 Sortir 5 . Ensuite, la moye et lis diff AMiI-N os storkées (résultals invdividiels) et ka moyen alti st déclarée pour enirer un grand nombine d we Gert sera trés court, aca Si fon utilisatt pas de liste, on obtiendrait ceci A)——>A ACI) > B AC2)<— 96 et las dés aration dente INP A,B,C, La séparation des données nécossitoralt be scoup de temps, —54-