★ APPLICATIONS ★ DIVERS ★ PROGRAMMES AU KILO ★ |
Equatio2 (CPC Infos) | Applications Divers |
Rejoignez vous aussi les rangs des glorieux programmeurs de P.A.K. Pas besoin de s'appeler Bill Gates pour voir sa routine publiée dans CPC Infos : un peu d'astuce et une pointe d'ingéniosité suffisent. Comme toujours, si vous souhaitez, vous aussi, avoir votre nom dans le journal, envoyez vos P.A.K. sur papier, K7 ou disque à l'adresse suivante : Editions SORACOM CPC INFOS - PAK La Haie de Pan 35170 BruzJ'ai trouvé des erreurs dans le P.A.K. EQUATION. Premièrement, la méthode uilisée n'est pas la plus courte, il y en a une plus simple, que les débutants en basic pourront aisément comprendre. Cette méthode est énoncée plus loin. Ensuite, 2 types de systèmes entraînant un plantage ne sont pas reconnus. Prenons le système ax + by = c et a'x + b'y = c'. 1, La 2ème équation est un multiple de la 1ère. Dans ce cas, il y a une infinité de solutions de type : S = (x ; (c-ax)/b). Exemple : x + y = 2 et 2x + 2y = 4. 2. Il n'y a pas de solution et on obtient :x + y = 2 et x + y = 4. N'oublions pas que les professeurs de mathématiques sont vicieux et qu'il y a souvent des systèmes avec ces 2 types d'équations dans les devoirs des lycéens, Donc, je vous propose de modifier EQUATION en utilisant la méthode du déterminant appelé delta (Δ). Dans un système de type : ax + by = c a'x + b'y=c,' le déterminant de x (Δx) = cb'-bc' et Δy = ac'- ca', enfin le déterminant général (Δ) est = ab' - ba'. Donc x = Δx / Δ et y = Δy / Δ. Je vous propose de modifier les lignes 80-120 du programme EQUATION comme indiqué dans le listing EQUATIO2.BAS et d'effacer les lignes 130 et 140. Voilà, j'espère ne pas vous avoir ennuyé avec ces cours de maths. Je vais continuer ma série de correction de PAK si vous n'y voyez aucun inconvénient. Dans le P.A.K. GRAFIC vous donnez comme exemple 0104 ou 0702. Or, le CPC effectue les opérations suivantes : a/d, a/e, a/b, a/c et si l'une des variables est égale à zéro, on obtient un «Division by zéro». Je propose donc soit de ne pas insérer de données égales à zéro au début, soit ajouter cette ligne : 65 if b=0 or d=0 or e=0 or c=0 then run.
|