x PS
| Quand on démonte L l’imprimante du PC-1500 | É cs 5h à
; ” _—.
AE
briques Æ
#
A la tête d’un empire.
| Cinq jeux pour le PB 100
_ Des idées, des programmes pour vos machines
- ORDINATEUR
\ CS
INDIVIDUEL ET
ji
Le A
vous proposent
LE PETIT ORDINATEUR ILLUSTRÉ |
En MA les n°% 9 et 10 de ce magazine radio seront émis dans la semaine du 1° au 7 et dans celle du 15 au 21
sur les antennes suivantes
Aix-en-Provence : RMP, 100 MHz Mercredi, entre 19 h et 19 h 30 Belfort : Radio-Soleil, 88.1 MHz Lundi, entre 13 h 05 et 13 h 35 Besançon : RVF, 98.1 MHz
Lundi, entre 17 h 30 et 18h Bordeaux : Radio 100, 94.3 MHz Samedi, entre 19 h et 19 h 30 Clermont-Ferrand : MU, 96.2 MHz Mardi, entre 19 h et 19 h 30
Dijon : Radio 2000, 90.7 MHz Lundi, entre 19 h et 19 h 30
Gap : RTM, 90 MHz
Lundi, entre 18 h et 18 h 30
Grenoble : RTA, 90.7 MHz
Samedi, entre 13h 30 et 14h
Lannion : Pays de Trégor, 95.5 MHz Samedi, lors de « Médiagora »
de 19h à 19h 30
Le Mans : Le Mans FM, 104 MHz Vendredi, entre 17h 30et18h
Lille : Radio Contact, 93.4 MHz Jeudi, entre 20 h 30 et 21h
Limoges : HPS, 102.7 MHz Vendredi, entre 16h 30 et 17h
Lyon : Radio Bellevue, 94.9 MHz Mercredi, entre 17 h 30et 18h
D
Montpellier : Radio Alligator, 94.5 MHz Samedi, entre 9 h 30 et 10h |
Nancy : Rock’in Chair, 95.8 MHz Tous les mardis, entre 24 h et 1 h du matin ÿ
Nantes : Atlantic FM, 96.8 MHz Mercredi, entre 16h 45 et 17h 15
Orléans : Orléans FM, 93.6 MHz Mercredi, entre 14 h et 14 h 30
Paris : Radio Gilda, 103.5 MHz Jeudi, entre 19 h 30 et 20h
Poitiers : RPO, 90 MHz Jeudi, entre 18 h et 18 h 30
Rouen : VRL 104 MHz Vendredi, entre 18 h 30 et 19h
Rennes : RBS, 89.1 MHz Samedi, entre 14 h et 14h 30
Seine & Marne : Radio 77, 102.9 MHz Mercredi, entre 20 h 30 et 21h
Strasbourg : Nuée Bleue, 89.5 MHz Vendredi, lors de « Fil en aiguille », de 20 h 30 à 22 h 30
Toulouse : Radio Occitania, 99.1 MHz Samedi, entre 18h 30 et 19h
Tours : Méga-Tours, 103 MHz Dimanche, entre 10h 30 et 12h
1 NOTRE COUVERTURE
Dernièrement, l'illustrateur Jean- Pierre Gibrat est venu jusqu'à notre rédaction en empruntant le métro, Un carnet, un crayon, quelques croquis. Comme on peut le voir,
il songeait aux ordinateurs
de poche |
5
EDITORIAL
.… OÙ vous apprendrez que l'équipe qui fait votre journal travaille dès maintenant sur un projet qui vous intéresse au premier chef.
12 A VOS CLAVIERS
15 MAGAZINE
18
GROSSE IMPRESSION Quand on programme un PC-1211 pour imprimer des textes lisibles à plusieurs mètres de distance.
20
AUX COMMANDES D'UN PAYS IMAGINAIRE
Votre 702 P abrite tout un pays à qui vous devez procurer des emplois, de la nourriture, des écoles, etc. Par bonheur, il ne s'agit que d’une simulation.
23
OÙ EST LA SORTIE ?
Dans le dédale où vous errez, Ariane n'est pas là pour vous aider avec son fil. Mais vous pouvez aussi construire vous-même les plans du labyrinthe (programme pour PC-1251).
25
L’ADRESSAGE INDIRECT Avec la plupart des Basics de poche, l’adressage indirect est un outil souple et facile à utiliser.
27 SUS AUX SFIINO-PREMIFRS !
Laurent oulanikKian, CNristiän Boyer, unes Bransbourg, Frank Broutin, Jacques Deconchat, Bernard Elman, François Fayard, Pierre Flener, Jérôme Gaudin, Pierre Ladislas Gedo, Luis Godinho, Enrico Induni, Pedro tnigo Yanez, Curt Knabe, Renée Koch, Jean-Christophe Krust, Xavier de La Tullaye, Jean-Christophe Laune, Raoul Lebastard, Jean-Charles Lemasson, Etienne Méetz, Thierry Mouton, Thierry Muller, Claude Nowakowski, Jean-Marc Odobez, Alain Pechmajou, Jean-Marc Pluéger, Jean-Pierre Raby, Jean-Jacques Santin, Robert Seraline, Lucien Strebler, Philippe Tenant, André Turlure,
N° 23 - MAI-JUIN 84
16 F mai-juin 1984
recherche, classement, etc. Douze options vous sont offertes,
34
LE PB-100 S'AMUSE
Cing programmes de jeux pour le petit poquette de Casio.
Donnerez-vous votre langue au chat ?
42
UN CANON CONTRE
UN MUR DE BRIQUES
Casser des briques, voilà le but du jeu ! Tout se déroule sur l'écran du X-07, mais l'ordinateur n'en souffrira pas.
44
LA LEÇON D’ANATOMIE Voyage à l'intérieur de l'imprimante du PC-1500. La mise en pièces (détachées) est illustrée par un reportage photographique.
47
MISEZ P'TIT : OP’TIMISEZ HP-41 C : le résultat des deux précédents défis. Les records sont encore tombés.
49
PARLEZ-VOUS LE MORSE ? Le PC-1251, lui, le parle couramment, et il peut très bien vous aider à l’apprendre.
51
LES POINTS FORTS
DU FORTH
Pour comprendre ce langage de programmation, il faut d'abord oublier tout ce que l’on connaît du Basic.
53
DES RESULTATS QUI PRÉSENTENT BIEN
Pourquoi faire compliqué quand il existe une solution simple ? Laissons le PC-1500 s'occuper des racines et des fractions.
54 CRÉATION DE TABLEAUX Il ne s’agit pas de peinture, mais
38
UNE AUTOROUTE ET
DES GRENOUILLES
Un classique du genre, adapté ici au ZX 81 : les grenouilles sont intrépides, aidez-les à ne pas se faire érracer |. ee
Abonnements : Muriel Watremez
assistée de Sylvie Trumel et de Cécilia Mollicone
l'Ordinateur de poche est une publication du
roupe 5 place du Colonel Fabien SSI
75491 PARIS CEDEX 10 Téléphone : (1} 240 22 01 Télex : LORDI 215 105F publications
Directeur de la publication : Jean-Luc Verhoye
d’un tout autre art :
la programmation. Tableaux à une ou deux dimensions, comment les établir et s'y retrouver.
59 AH ! SI VOUS AVIEZ SU...
intégrale, ou partiels, faits sans je consante- ment da l'auteur ou de ses ayants-deoit ou ayantscouse est illicites (alinés 1 de FArt. 40). Cette représentation ou reproduction, par quelque procédé que ca soit, censtituerait donc une contrefaçon senctionnés par les Art. 426 et suivants du Code Pénal.
Notrs pubhcation contrôle les publicités commer- ciales avant insertion pour qu'elles soient parfaite. amant loysles. Ella suit les recommondations du Buresu de Vérification de la Publicité. Si, malgré cex précautions, vous aviez une remarque à faire, vous nous rendriez servica en écrivant au BVP, BP 4508, 75362 PARIS CEDEX O8.
L'ORDINATEUR DE POCHE - PAGE 5
nee
Vos
De la découverte
La découverte du PB-100 par Pierrick Moigneau Séne verte - Format : 4,5x 21 - 168 pages 90,00 FF
Ce livre dévoile progressivement toutes les facettes de l'ordina- leur de poche Casio PB-100 et du Basic à l'aide de nombreux exemples d'application, permettant ainsi aux novices d'entrer en douceur dans le monde de l'informatique.
La découverte du PC-1500 par Jean-Pierre Richard Série verte - Format : 14,5x 21 - 208 pages 100,00 FF
Un ouvrage pour les néophytes curieux qui veulent en savoir plus sur leur ordinateur de poche PC-1500 (ou TRS-80 PC-2). Quelles instructions et commandes emploie-t-i ? Quels types de varia- bles utiliset-il ? Comiment la mémoire est-elle structurée ? Toutes ces questions et bien d'autres trouvent leur réponse dans ce pre- mier toine de “ La découverte du PC-1500 ". Un manuel riche de tous les éléments nécessaires à la programmation en Basic, large- ment compièté d'exercices, d'exemples d'application et. d'un index.
La découverte du FX-702 P par Jean-Pierre Richant Série Verte - Format : 14.5 x 21 - 216 pages 190,00 FF
Instructions et commandes, variables et mémoires, fonctions périphériques, cet ouvrage fournit aux débutants tous les élé- ments de base nécessaires à la programmation en langage Basic de la Casio FX-702 P. Il est complété par de nombreux exemples et exercices d'application.
La découverte du PC-1251 par Jean-Pierre Richard - Série verte - 224 pages 100,00 FF
Comment aborder la programmation du Sharp PC-1251. C'est ce que découvriront les utilisateurs du PC-1251. Citons parmi les principaux thèmes traités : instructions et commandes, variables et mémoires, sous-programmes et traitement de chaînes, gestion des périphériques, Quelques exercices d'application et un index viennent compléter ce manuel qui fournira à l'utilisateur tous les éléments de base indispensables à la programmation en langage Basic.
La découverte de la TI-57 par Xavier de la Taye Série verte - Format : 45x21 - 144 pages 80,00 FF
S'adressant aux débutants, cet ouvrage les conduira dans un lan- gage clair, de l'élémentaire 2 +2 à des programmes perfection- nés. Après une étude fonctionnelle de la calculette, la program- mation est expliquée progressivement, de la conception à la réa- sation en s'appuyant sur de nombreux exemples.
Physique en pothe - tome 1 30 programmes Basic pour PC-1500 et TÉSS He. por Yues Dao-Lena - 176 pages °
Physique en poche - tome 2 ae
30 programmes Basic pour PC-1500 et TES5 11. °
pat Yves Dao-Lena - 176 pages RUE :":.:HO00FF
60 programmes Basic, ciassés par thèmes, abondamment côm- mentés permettent d'aborder certains des phénomènes phys: ques qui nous entourent : quelle est la distance parcourire par la Kinière en uñ miliardième.de-seconde ? avec quelle force la Terre attirerait-ellé un homme de masse de 79 kg. Situé À un mè-
HOO0FF
ion de lomètrès de sa surface? Bis sur PC-1500 et TES
_: les programmes de cès ouvrages pourront aisément être adaptés
à toutes tes-Machines grâce aux très nombreux commentaires.
Chaque tome comprent 30:programmes.
Le PC-1251 à l'écran
20 prügrammes en Basic
par Plenick Moignéau : F4 pages .
$ à 90,00 FF Pierrick Moigneau propose ici 28 programmes utiles ou ludiques, écrits en langage Base, iflustrant les possibilités de l'ordinateur
de poche PC-1251 et de son exténsion CE-125. Des calculs d'ho- Faires aux jeux d'astuces &t de Hasard chaqüe programme est décrit, commenté et illustré d'organi et d'exemples
| d'exécution: Utilisable également sur Tandy TRS-80 PC3.
Suites pour PC 1500 par Jean-François Sehan : Série bleire Format 17 x 25.- 160 pages
; 80,00FF
Destiné aux possesseurs de Sharp PC-1508-et.
de PC2 Tandÿ, cet ouvrage aborde par
Pexemple la programmation de ces “micros- :
poches”
Alors, sur la base de ces 20 programmes, partez tout chuss sur les pistes enrieigées, transfortnez votre “poquette * en piano, éditez les fäctures de vos clients et. inventez-en d'autres 1...
Collèges - Poquéttes et Maths Par Jacques Deconchat : Série verte
Fra 17x25 - 200 pages 100,00 FF Ce livre destiné aux élèves des classes de col: Rège et à tous ceux qui chercherit à mieux saisir les techniques de programmation des calcule trites programmables, propose 35 program- mes d'arithmétique, d'algèbre et de géométrie.
Récréations pour T1-57 - Tome i par Jacques Deconchat + Série verte Fonnat 17 x 25 - 168 pages. 9O0OFF
“Un recueil de quaranté-cing programmes de
jeux -très divers adaptés pour l'ordinateur de poche 14-67. Un eeraple d'exécution est fourni
avec chaque programme permettant de vérifier.
son bon fonctionnement et de mieux percevoir les différentes techniques d'affichage utilisées
Récréation pour Ti-57 - Tome 2 par Jacques Deconchat - Série bleue Format 17 x 25 - 176 pages‘: 9O,00FF 45 nouvelles iiées de jeux pour votre TI-57. Cependant des indications sur l'adaptation à d'autres machines sont fournies en annexe.
Vendredi, entre 17h 30e 18h 7 ""ñïpB bourg : Nude Bleue, 89.5 MHZ
Lille : Radio Contact, 93.4 MHz Vendredi, lors de « Fil en aiguille », Jeudi, entre 20 h 30 et 21h de 20 h 30 à 22h 30
Limoges : HPS, 102.7 MHz Toulouse : Radio Occitania, 99.1 MHz Vendredi, entre 16h 30 et 17h Samedi, entre 18 h 30 et 19h
Lyon : Radio Bellevue, 94.9 MHz Tours : Méga-Tours, 103 MHz Mercredi, entre 17 h 30eæt 18h Dimanche, entre 10 h 30 et 12h
nn
Ë
NN
D'Op en LIST
D:: plus de trois ans, l’Ordinateur de poche publie régulièrement des articles ayant trait à la programmation. Astuces pour un matériel
précis ou de portée plus générale, astuces développées sur plusieurs pages ou signalées en quelques lignes... Astuces, astuces, la programmation est tout entière faite d'astuces.
Parfois, c'est un jeu qui sert de prétexte pour expliquer comment tirer parti d'une instruction ou pour éclairer un algorithme. Mais, dans tout cela, le plus fascinant des jeux, le plus enrichissant, c’est encore la program- mation.
L'équipe qui réalise Op a toujours aidé celles et ceux qui se passionnent pour la programmation. Jusqu'à présent, et mis à part le ZX 81, nous nous étions limités aux machines de poche. Nous avons décidé d'élargir notre horizon et de nous intéresser aussi aux ordinateurs un peu plus encombrants que lon utilise chez soi parce qu’ils ne fonctionnent pas sans le réseau EDF.
éditorial
RÉDACTION-RÉALISATION
Directeur de la rédaction : Bernard Savonet Rédacteur en chef : Jean Baptiste Comiti Rédaction : Anne-Sophie Dreyfus Secrétaire de rédaction : Eliane Gueylard Assistante de rédaction : Maryse Gros Administration : Michelle Aubry
Ont collaboré à ce nurnéro : Thierry Akouka, Christian Allois, Michel Arditti, Xavier Benigni, Laurent Boulanikian, Christian Boyer, Gilles Bransbourg, Frank Broutin, Jacques Deconchat, Bernard Elman, François Fayard, Pierre Flener, Jérôme Gaudin, Pierre Ladisläs Gedo, Luis Godinho, Enrico Induni, Pedro Inigo Yanez, Curt Knabe, Renée Koch, Jean-Christophe Krust, Xavier de La Tullaye, Jean-Christophe Laune, Raoul tebastard, Jean-Chartes Lemasson, Etienne Maetz, Thierry Mouton, Thierry Muller, Claude Nowakowski, Jean-Marc Odobez, Alain Pechmajou, Jean-Marc Pluéger, Jean-Pierre Raby, Jean-Jacques Santin, Robert Seraline, Lucien Strebler, Philippe Tenant, André Turiure.
N° 23 - MAI-JUIN 84
C’est vrai, ils ont un fil à mettant une frappe rapide, et un « grand écran ».
Evidemment, nous n’oublions pas l'informatique de poche. Depuis 1981, nous vous avons montré que nous avons un faible pour elle. ment de cela, nous sommes convaincus que la plupart d’entre vous seront curieux de découvrir les possibilités d'autres one Et vous savez comme nous qu'en matière de programmation, les idées à ser ne dépendent pas nécessairement du matériel utilisé.
la patte.
A l'avenir, ce n’est donc pas l’Op que vous trouverez chez votre marchand de journaux, mais LIST, et cela dès la fin juin. Nos abonnés le recevront à domicile quelques jours plus tôt. Notre équipe s’y emploie.
Depuis trois ans, beaucoup d’entre vous ont pris l'habitude de nous adres- ser par courrier leurs suggestions, leurs idées, leurs propositions d’articles. Notre adresse n’a pas changé. Vous pouvez donc, dès à à LIST...
lilustrations : Frapar, Jean-Pierre Gibrat, Bernard Helme, Hervé Marly, Alain Mirial, Nestor, Alain Prigent, Jean-Marc Rubio, Nicolas Spinga.
ÉDITION-PUBLICITÉ- PROMOTION Editeur : Jean-Pierre Nizard Ÿ Assistante d'édition : Maryse Marti Publicité : Jean-Daniel Belfond
VENTES
Diffusion NMPP : Sophie Marnez Abonnements : Muriel Watremez assistée de Sylvie Trumel et de Cécilia Moliicone
l'Ordinateur de poche est une publication du groupe 5 ptace du Colonel Fabien 75491 PARIS CEDEX 10 Téléphone : (1} 240 22 01 Télex : LORDI 215 105 F
Directeur de la publication : Jean-Luc Verhoye
publications
En contrepartie, ils offrent un clavier per-
Indépendam-
à puiser ou à creu-
à présent, écrire
O l'Op
Tarif d'abonnement [10 numéros)
France: 130FF TYA 4% incluse, Belgique: 1150 F8, Suisse: 40FS, Canads* : 17$C, autres pays : 170FF, Afrique francophone: 206 FF, autre Afrique, Amérique : 255 FF, Asie, Océanie : 295 FF.
* Tarif par avion
La loi du 11 mars 1957 n'eutorisant, sux termes des alinéas 2 st 3 de FAnt. 41, d'une part que « les copies ou reproductions strictement réservées à l'usage privé du copiste et non destinées à une utilisation cohective », st, d'autre part, que les analyses st les courtes
citations dans un but d'exemples et d'iluatre-
tions, «toute représentation où reproduction
intégrale, ou partielle, faite sens le consente-
ment de l'auteur ou de s#s nyants-deoit ou
syants-ceuse est illicite» (alinéa 1% ds À
l'Art. 40). Cette représentation ou reproduction,
par quelque procédé que ce soit, constituersit
donc une contrefaçon sanctionnée par les
Ant. 425 et suivants du Code Pénal.
Notra publication contrôle les publicités commer- ciales avant insertion pour qu'elles soient parfaite. ment loysles. Ele suit les recommandations du Bureeu de Vérification de la Publicité. Si, malgré cas précautions, vous aviez Une remarque à fois, vous nous rendriez s8rvica en écrivant su BVP, BP 4508, 75362 PARIS CEDEX 08,
L'ORDINATEUR DE POCHE - PAGE 5
ELLE
Feldman, Calleux & Assaciés
PAGE 6 - L'ORDINATEUR DE POCHE N° 23 - MAI-JUIN 84
N° 23 - MAI-JUIN 84 RL
CANON X 07. INVENTEZ VOTRE PROGRAMMATHEQUE.
NOMBREUX SONT LES ORDINATEURS QUI PAR- LENT. LE CANON X 07 EST L'UN DES RARES A VOUS ECOUTER. SA FORCE ? UNE PETITE CARTE EXTRAOR- DINAIRE À DOUBLE POUVOIR. POUR ETENDRE LES CAPACITES DU X 07, MAIS SURTOUT POUR REALI- SER ET CONSERVER VOS PROPRES PROGRAMMES COMME VOUS L'ENTENDEZ ET... À LA CARTE.
PRATIQUE, IL PARLE EN BASIC, LE LANGAGE OR- DINATEUR FACILE À APPRENDRE.
AVEC SES NOMBREUSES CASSETTES ET CAR- TES LOGICIELLES À PROGRAMMES AUSSI ELABORES ET DIVERSIFIES QUE LA GESTION DE STOCKS, LA PRI- SE DE COMMANDES, L'ORGANISATION DE RENDEZ- rs CANON X 07 À EGALEMENT BIEN D'AUTRES
GRACE A SES MULTIBRANCHEMENTS : MACHI- NE À ECRIRE, IMPRIMANTE, ORDINATEUR, MODEM... CE TOUT PETIT ORDINATEUR A TROUVE PLUS D'UN MOYEN POUR DEVENIR GRAND.
X 07, LE MICRO-ORDINATEUR VRAIMENT PER- SONNEL. LE PREMIER MICRO-ORDINATEUR MULTI- CARTES.
Frs PUUI UNIS UUVUIIIGE ILES RETENUS DE LA
ir 10 métiers de l’informatique , je désire recevoir gratuitement {et sans aucun engagement) une documentation détaillée la formation EDUCATEL d' enseignement personnalisé des 10 métiers informatiques. #ouverai pour chaque métier préparé le plan de formation complet, son niveau d'accès, rogramme des travaux pratiques, sa durée st son prix. b le désire, une orientation et des conseils personnels me seront fournis gratuitement. ‘eux égaiement téléphoner à EDUCATEL au {1) 208.50.02 (demander Madame LAMY).
M, === se Prénom
OP 0006
l'esse ___. ee rs ne
Je postal Ville SRE &phone (facultatif) he
vaillez-vous ? OUI [1] NON ©] Niveau d'études
|écisez le métier qui vous intéresse:
[00X - 76025 ROUEN CEDEX K Canada, Suisse, Belgique : 49, rue des Augustins - 4000 Liège {r TOM-DOM et Afrique : documentation spéciale par avion.
|
L'ORDINATEUR DE POCHE - PAGE 9
La ARDINATEUR INDIVIDUEL
#
48-ORDINATEURS :-D'UN BASIC A L'AUTRE.
Non:aux langages
SOUS LE SIGNE DES JEUX 68 logiciels tèstes sur 10 ordinateurs : -les étoiles de L'OI Apprendre : est-ce in jeu? : Ea-treation dure
{sur ZX 81)
ORDINATEUR |
O8e NI NE QUELS ORDINATEURS DEMAIN ?
at Souris, écran tacthe, L vrayon lumineux : le clavier sur la touche ?
& El L: « ee 4 es | 2 ä € LA E S ®
PAGE 6 - L'ORDINATEUR DE POCHE
BAnalyste programmeur
B Analyste
B Programmeur d'application BProgrammeur sur micro-ordinateur MPupitreur
à vos EL'INFORMATIQUE, QUEL AVENIR ?
Devenir informaticien en 1984, c'est choisir une carrière d'avenir, avec l'assurance de trouver immédiatement de nombreux débouchés, et des perspectives d'autant plus intéressantes que la place de l'ordinateur ne cesse de s'accroître dans tous les domaines: économique, social, administratif, etc.
En 1984, plus de 300.000 personnes travaillent directement dans l'informatique, les places sont donc nombreuses tant pour les femmes que pour les hommes, et ceci à tous les échelons de la hiérarchie.
Les chiffres de l'A.N.PE. le prouvent: actuellement, plus de la moitié des postes proposés par les employeurs à des informaticiens (programmeur, analyste program- meur, etc.) ne sont pas pourvus, faute de candidats en nombre suffisant.
COMMENT DEVENIR INFORMATICIEN ?
En suivant une formation qui associe un enseignement théorique complet, régu- lièrement remis à jour, à un enseignement pratique : exercice Sur micro-ordinateur où stages sur matériel IBM.
Notre objectif: vous rendre opérationnel pour que vous puissiez aborder dans les meilleures conditions les réalités de la vie professionnelle.
MQUE FAUT-IL POUR REUSSIR UNE FORMATION EN INFORMATIQUE ? L'informatique, ce n’est pas compliqué ! Quet que soit votre niveau de formation,
Vous pouvez apprendre en quelques mois, par les moyens les plus modernes, le métier de l'informatique qui vous convient la mieux. Pour vous y aider, nous
Si vous êtes salarié, votre étude peut être prise en charge par votre employeur (loi du 16-7-1971 Sur la formation continue).
EDUCATEL - 1083, route de Neufchâtel 3000 X - 76025 ROUEN Cédex
NOM __
Code postal
Educatel
G.LE. Uniéco Formation Groupement d'écoles spécialisées. Etablissement privé d'enseignement par correspondance soumis au contrôle pédagogique de l'Etat.
N° 23 - MAI-JUIN 84
métiers informatiques
PR M pit
BON pour une documentation détaillée sur 10 métiers de l'informatique
OUI, je désire recevoir gratuitement (et sans aucun engagement) une documentation détaillée sur la formation EDUCATEL d'enseignement psrsonnalisé des 10 métiers informatiques.
J'y trouverai pour chaque métier préparé le plan de formation complet, son niveau d’accès, le programme des travaux pratiques, sa durée et son prix.
Si je Le désire, une orientation et des conseils personnels me seront fournis gratuitement.
Je peux également téléphoner à EDUCATEL au (1) 208.50.02 (demander Madame LAMY).
Adresse
Téléphone (facuitatif} ____.. Travaillez-vous? OUI [] NON 1 Précisez le métier qui vous intéresse :
EDUCATEL G.IL.E. Unieco Formation 3000 X - 76025 ROUEN CEDEX
Pour Canada, Suisse, Belgique : 49, rue des Augustins - 4000 Liège Pour TOM-DOM et Afrique: documentation spéciale par avion.
B Opérateur sur ordinateur
M Opératrice de saisie
M Spécialisation en langage informatique M Correspondant informatique
BB.T.S. Services informatiques
réponses questions
faisons appet à des professeurs, spécialistes de l'informatique qui, par leur expérience professionnelle, vous permettront de mieux vous préparer au monde du travail.
M COMMENT APPRENDRE «PRATIQUEMENT : L'INFORMATIQUE ?
Vous savez combien il sst important aujourd'hui d'être opérationnel lorsque l'on cherche un emploi, ou que l'on désire changer de métier, surtout dans un secteur de pointe tel que celui de l'informatique.
Si vous le souhaitez, vous participerez à l'un des stages pratiques que nous organisons dans notre Centre de Formation,
Pédagogues mais aussi professionnels de l'informatique, nos professeurs vous ferons travailler sur le matériel le plus utilisé dans les entreprises équipées (ordi- näteur IBM 34}, et vous pourrez être ainsi,confronté aux situations que l'on rencon- tre quotidiennement dans une entreprise ou un service informatique.
MQUE SE PASSET-IL A LA FIN DE LA FORMATION ?
Pour compléter votre formation, vous pouvez, à la fin de votre étude, effectuer un stage en entreprise. Nous nous chargerons de contacter des entreprises afin de vous trouver un terrain de stage.
Si vous le souhaitez, nous soutiendrons égatement votre candidature auprès des employeurs lorsque vous cherchersz un emploi.
Dspuis 10 ans, EDUCATEL prépare aux carrières de l'informatique, Chaque année, nous formons 5.000 informaticiens, depuis l'opératrice de saisis jusqu'à l'analyste,
PRESS eur. Prénom .
SOGEX
OP 0006
Niveau d'études
L'ORDINATEUR DE POCHE - PAGE 9
des seigneurs : 50, Digital Rainbow,
s essais, nés en demi-finales
Le match Hewlett-Packard 1 NCR Décision V. Aprè 2 éliminés, 2 sélection
Quel logiciel choisir ? Nous avons jugé les 23 meilleurs
PA | GE 10 - L'ORDINATEUR DE POCHE
Wang PC, nous tranchons :
Ne 5: AVRIL 4984 - 20 F
N°23. MAÏ-JUIN 84
LA GAMME DES LOGICIELS POCKET SOFT'
POUR SHARP PC-1500° Distribution XLOG
PC-CALC3 : Feuille électronique de calcul
PC-PLOT 3: Utilitaire graphique de PC-CALC3 PC-GRAPH : Représentation graphique
PC-WORD : Traitement de texte
PC-MACRO : Macro-assembleur
PC-HEX : Moniteur hexadécimal avec TRACE PC-MATH: 15 fonctions mathématiques, statistiques et financières PC-UTIL2: 19 instructions BASIC supplémentaires PC-BANK : Gestion simultanée de 5 comptes bancaires PC-PERT : Méthode PERT et chemin critique PC-PLAN : Etablissement de plannings et échéancier PC-POLYNOMIAL : Traitement des polynômes PC-BUDGET : Gestion budgétaire
POUR CANON X-07° Distribution CAN ON
Logiciels pouvant échanger leurs données entre eux:
X-07 CALC: Feuille électronique de calcul avec graphiques X-07 STAT : Statistiques avec graphiques
X-07 GRAPH: Représentation graphique
X-07 DATABASE : Base de données
X-07 INVOICE : Facturation
X-07 INVENTORY : Géstion des stocks
Autres logiciels : X-07 TEXT : Traitement de texte.
Disponibles dans les boutiques micro-informatique
N° 23 - MAI-JUIN 84 L'ORDINATEUR DE POCHE - PAGE 11
A A vos claviers
Apostropher le FX-702 P
Le FX-702 P ne possède pas d’apostrophe. J'ai donc essayé de la remplacer par des guillemets : $ = ‘“L‘’OP" ou PRINT ‘“L''OP”. J'obtiens une erreur : ERR-2. Mainte- nant, en mode programme, si je rentre la ligne : 1 INP $ : PRT ‘“:" ; $ et que j'assigne à $ un mot contenant des guillemets (L'OP, par exem- ple}), le FX-702 P l'acceptera.
C'est un petit truc qui peut toujours servir.
Alexandre Odaux 59 Lomme
B Bravo pour le petit truc, il pourra servir, en effet.
TI-58
en mer
Navigateur de plaisance, j'ai été très intéressé par les programmes proposés par Lucien Strebler.
Possesseur d’une TI-58C, j'ai pu les utiliser, ou du moins les essayer, car leur utilisation en mer soulève un probième que je n'ai pu encore résoudre : l’alimenta- tion de la TI.
Comme l'autonomie de la batterie rechargeable ne
BENQUE 5€ PASSE-T-IL. ?
Quoi ? Vous n'êtes PAS AU COURT: LE PREMIER NUHÉRO PE LIST VIENT DE soRnr!
dépasse guère les 3 heures et que je n'ai pas de groupe
électrogène à bord, il m'est difficile de l'utiliser même au cours d’une navigation de courte durée.
La question que je sou- mets donc à Lucien Strebler est : existe-t-il un dispositif simple qui permette d'alimen- ter une TI-58 ou 59 à partir d'une batterie de 12 volts ?
Avec mes remerciements.
Jacques Popineau 14 Caen
B L'alimentation d'une TI-58 ou d'une autre. calculatrice similaire à bord d'un bateau ne pose aucun problème.
H suffit d'utiliser un con- vertisseur pour rasoir électri- que. Ces appareils font du 220 V alternatif à partir du 12 volts continu de la batte- rie de bord.
Us ont, pour la plupart, tendance à chauffer en utili- sation prolongée. Pour éviter
cela, il n’y a qu'à mettre la calculatrice en charge sans dépasser un quart d'heure d'affilée.
Pour ma part, j'ai utilisé une TI-59 de cette façon en la mettant en charge un quart d'heure par jour et cela pendant une croisière de trois semaines.
A noter que cet appareil permet aussi d'utiliser un.ZX Spectrum. Dans ce cas, il n'est plus question de recharger, mais d'utiliser directement. Bien entendu, le téléviseur associé doit mar- cher sur 12 volts.
LS
Du pareil au même
J'ai remarqué dans certai- nes listes de programmes pour PB-100, notamment les
Ki 1 Æ QE
Hé ! Pas si vite ! Un peu de patience : LIST paraîtra fin juin. PAGE 12- L'ORDINATEUR DE POCHE
Dès à présent écrivez à LIST 5 place du Colonel Fabien 75491 Paris Cedex 10
programmes qui emploient une « imitation » de la fonc- tion WAÏT, une interversion de ce type : 100 FOR | = TO 200 : PRINT : NEXT } au lieu de 100 FOR | = 1 TO 200 : NEXT Ï: PRINT. D'où ces erreurs peuvent-elles pro- venir ? Amicalement.
Michel Guitton 13 Saint Chamas
B En fait, i ne s'agit pas d'erreurs. Avec un PB-100, l'instruction PRINT placée avant ou après NEXT | ne change rien à la pause.
Misez p'tit. mais pas trop
Bravo pour votre rubrique « Misez p'tit» destinée aux utilisateurs de HP-41 C. Mais la frénésie de la réduction ne doit pas faire perdre la tête. En effet, je relève, page 24 de /’Op 20, au sujet du pro- gramme de Jean-Claude Guérout une inexactitude qui mérite d’être signalée. Sur le programme lui-même, je ne trouve rien à redire.
Cette inexactitude con- cerne les économies réalisées en évitant l'emploi d'ENTER dans un programme entre deux nombres. Par exemple 1 ENTER 2 et 1 (SST) 2 font la même chose mais bien que le SST ne soit pas pro- grammé, on ne gagne pas un seul octet !
Dans le second exemple, si ENTER n'est pas pro- grammé, il l'est tout de
N° 23 - MAI-JUIN 84
0
même de facto puisque la
41 C insère systématique-
ment un octet nul entre deux nombres.
Robert Pulluard
Bleiswuk, Pays-Bas
M Certes, certes, je me suis trompé, mais. {écrit l'auteur un peu honteux de son erreur gentiment critiquée), mais il n'en reste pas moins que T1 {SST) 2 vaut mieux que 1 ENTER 2.
D'une part, si l'on ne gagne pas un octet comme trop vite écrit, on gagne bien un pas de programme. C'est un critère d'optimisation.
Et d'autre part si l'on mesure le temps d'exécution de 1 ENTER 2 on trouve 1272 millièmes de seconde contre 1 252 millièmes seule- ment pour 1 {SST) 2. Gain : 20 millièmes de seconde.
N'oublions pas que la règle de ce jeu est d'optimiser, même — et surtout — les bouts de chandelles... Rien que pour fe plaisir !
JCK + Enregistrer sur PB-100...
Avec mon PB-100 et son interface-cassette FA-3, j'ai remarqué que la durée d'enregistrement d'un pro- gramme variait suivant l'ins- truction utilisée.
Avec l'instruction SAVE, l'enregistrement d'un pro- gramme de 544 pas dure 1 minute et 26 secondes. Il ne dure plus que 35 secondes avec l'instruction SAVE A.
Quant au nom de pro- gramme, facultatif, il n'a aucune influence sur le temps d'enregistrement.
Alain Berne 42 Lorette
. et sur FX-702 P
Pour sauvegarder un pro- gramme tenant sur une seule zone, j'utilisais l'instruction SAVE. Et puis, j'ai essayé Finstruction SAVE ALL.
Alors j'ai pu observer que, pour des programmes courts, les ternps d'enregis- trement par SAVE et par SAVE ALL sont assez pro- ches mais, pour des pro- grammes longs, ils sont très différents.
L'instruction SAVE ALL
N° 23 - MAI-JUIN 84
OP
A vos claviers
permet un gain de temps appréciable.
Un gain de temps mais un gain de place aussi : la bande magnétique étant moins encombrée, elle pourra con- tenir un plus grand nombre de programmes, si tous son enregistrés par SAVE ALL.
Pierre-Marie Lebon 71 Chagny
Encore plus court
La suite de Fibonacci, pré- sentée dans /’Op 21 page 38, peut se retrouver en quatre petits pas dans la TI-57 nor- male: x + t SUM 7 2nd Pause RST. H suffit alors de taper 1 R/S et les nombres de Fibonacci défilent.
Gilles Nicolas Medea Aigérie
Quatre pas suffisent pour obtenir la suite de Fibonacci sur TI-57 (LCD ou non): x = t + 2nd Pause RST.
On initialise ainsi : 2nd C.t 1 RST R/S. Et les nombres s'affichent les uns après les autres.
Kerkeni Othman 69 Villeurbanne
M Dans le numéro 22 un programme en cinq pas don- nait les mêmes résultats. On en est arrivé maintenant à quatre petits pas, et ce record ne sera sans doute jamais battu.
Méli-mélo sur FX-702 P
Si vous n'avez pas peur de « planter » votre FX-702P, voici une petite bizarrerie.
Un programme est dans la machine et vous voulez le protéger par un mot de passe.
Frappez alors PASS « mot de passe ». Puis très vite, presque simultanément, tapez EXE et éteignez la machine.
En la rallumant et en listant le programme qui était à
l'intérieur, bien des choses auront changé (surtout à la fin).
Patrick Waechter 67 Bischwiller
M Une seule solution pour sortir le FX-702 P de là : CLR AlL !
Le supérieur et l’inférieur
En matière de programma- tion, il est souvent utile de trouver entre deux nombres le plus grand et le plus petit. Il existe beaucoup d'algorith- mes mais il en est deux (en fait le même) qui sont vrai- ment utiles et facilement pro- grammables sur les PC-1500, 1251, 1211...
Soit à comparer deux nombres x et y. La variable Z doit contenir le plus grand des deux : Sup {x, y}. On peut programmer :
IF X > Y LETZ = X FY>XLETZ = Y
Sur certaines machines, on pourra alléger ce test en:
= Y:IFX2YLETZ = X ce qui revient au même en fin de compte.
Une troisième formule per- met de calculer Sup {x, y) «en force » : Z=Xx (X2Y) + YA4{X<Y}. Ici les expres- sions logiques (X2Y}) et (X<Y} valent 1 si vrai et O si faux. L'une et l'autre ne peu- vent d'évidence être vraies en même temps. Alors, si X2Y, l'expression vaut : Z=Xx(1}+Y4{(0) soit X. Et, si X<Y, elle vaut Z=Xx%(0) + Y#{1) soit Y.
TT
Pour déterminer le plus petit des deux nombres, Inf {x, y}, il suffit d’inverser les tests en (X<Y) et (X>Y). Notez que si x=y alors Inf {x, y) = Sup (x, y} = x = y.
Enfin, on connaît une for- mule mathématique pour cat- culer (sans test informatique) Sup (x, y} ou Inf (x, y] : Sup {x, y)=1/2 (x+y+ IX—yi}) et Inf (x, y}=1/2 +y—1x-vyl}, où, bien sûr, l'expression |x-—y| se traduit en Basic par ABS (X — Y).
Nous obtenons donc enfin un algorithme unique calcu- lant à volonté soit Sup {x, y) soit Inf {x, y) :
T = 1 ou —-i pour avoir Sup (x, y} ou inf {x, y)
= nombre x Y = nombre ÿ Z={(X+Y+T,ABS
{X—Y))/2.
Voilà, tout est dit.
Arnaud Beauregard 78 Bougival
Des drapeaux cousus main
Certains ordinateurs de poche ont des drapeaux, comme la HP-41 C ou les TI- 58 et 59. Mais qu'en est-il du FX-702 P ?
Christian Mazzolin 57 Marly
M ie 702 P est dépourvu de tout drapeau. Cela dit, il! est facile d'en créer soi-même, en les programmant. On utili- sera une Variable, disons À, qui prendra, selon les résut- tats obtenus pendant le déroulement du programme, la valeur 0 ou 1. En testant ensuite la valeur de cette variable, on pourra aiguiller le programme entre deux traite- ments différents en fonction de ce qui s'est produit plus tôt.
Index des annonceurs
Educatel
L'Ordinateur Individuel L'Ordinateur Personnel Maubert Electronic Ordi 5
POI PSI Diffusion
Service Musique Equipement
Vidéo Technologie Votre Ordinateur
L'ORDINATEUR DE POCHE - PAGE 13
RE
A vos claviers
Et puis un jour.
Vous êtes des dizaines de milliers à avoir découvert linformatique de poche. Au début, bien évidemment, c'est toujours
la même chose :
on n'y connaît rien. Et puis un jour...
Chacune de ces
expériences a quelque chose d'original. Voici le récit qu'en fait l’un de nos lecteurs.
B Comment se fait-il qu’un individu soit un jour attiré par les chiffres ? Mystère. Quand je suis entré au lycée, j'ai été très étonné par notre prof de physique. !| maniait sa règle à calcul avec une telle dexté- rité que l’on se demandait si ce n'était pas un peu truqué. Puis j'ai appris à me servir de cet instrument, J'ai même compris pourquoi ça mar- chait. Les logs, la trigo, tout était bon pour jouer avec cette merveilleuse petite machine.
Texas ———— en classe
En abordant la terminale, j'ai dû m’habituer à ce cau- chemar qu'est le traitement des fonctions : y a-t-il des zéros, des points d'inflexion, des asymptotes ?
La règle à calcul était tom- bée un peu dans l'oubli,
d'autant plus qu'elle n'était pas admise aux examens. À l'époque, on utilisait des tables de log à cinq décima- les. Manque de chance, pour divers travaux de physique, il me fallait une décimale de plus. Cela m'a poussé vers le nouvel ordinateur de table HP9820 que l'école venait de s'offrir.
Quelle découverte ! {1 y avait même un traceur de courbes. Inutile de dire que, dès ce jour, j'ai pressenti que les calculs répétitifs seraient du ressort de l'ordinateur. Et me voilà parti: régression linéaire, zéro de fonctions, courbes diverses, trajets de rayons lumineux dans des combinaisons de lentilles, et j'en passe.
C'est à ce moment que je me suis offert une Texas SR-50. Miracle de la techni- que moderne : me mémoire, fonctions trigonométriques, hyperboliques, l'ENIAC dans
JOUEZ RAPIDEMENT DU CLAVIER ! c'est facile avec la TABLATURE ACOUSTIQUE
la seule notation musicale à géométrie informatisée, utilisable directement par l'œil
et tous les CASIO Exemple : PT-30,
1.150 FT.T.C. franco de port en France
+ livret exclusif gratuit {14 transcriptions) SERVICE MUSIQUE EQUIPEMENT, 38 r. Quincampoix 75004 PARIS
Bon pour le nouveau catalogue CASiDen couleurs + doc. complète
NOM : Adresse : Code postal :
Prénom :
Ville :
PAGE 14 - L'ORDINATEUR DE POCHE
ma poche ! Cette machine m'a permis de préparer mon Bac. Par la suite, je l'ai don- née à mon père qui l'utilise toujours.
En arrivant à l'École Poly- technique de Lausanne, je me suis résolu à acheter une calculatrice autrement plus puissante : la Tl-58. J'allais enfin pouvoir travailler cor- rectement. Et de fait, pen- dant plusieurs années, cet ordinateur de poche allait me rendre d'énormes services. Pour l'anecdote, un de mes camarades possédait une TI-59 et nous avions con- cocté un admirable « Master Mind » {sur carte} pour les cours barbants...
Dans cette école, je me suis familiarisé avec les gros- ses « bécanes » (CDC, VAX,...) et certains langages évolués (Pascal, Fortran, Basic). Je me suis alors rendu compte de la jungle qui règne en matière de stan- dards pour ce type de pro- grammation. Comment réa- gir ? On me propose de sui- vre un cours sur l'assembleur du Z 80. Et vive l'assem- bleur ! Mais là aussi, à cha- que processeur son langage. C'est encore la tour de Babel.
Les HP-41 C pointent alors le bout de leur nez. Cela me séduit, mais le nouveau PC- 1211 me fait hésiter, hési- ter. Et ma TI-58 me paraît de plus en plus petite.
— Un OP pour —— ——mieux entendre —
Une fois mes études termi- nées, je me lance dans une profession entièrement axée sur l'acoustique : haut- parleurs, enceintes acousti- ques, acoustique interne des salles, sonorisations, sans parler de tous les problèmes courants de l'ingénieur élec- tricien : circuits, réductions de réseaux... Décidément, cette TI-58 ne me suffit plus. D'autant que je lis une revue spécialisée (/Op pour ne rien vous cacher) qui me fait des « Clins d'œil ». FX-702 P ? J'hésite encore. Et puis non ! Finalement, ce sera le PC-1500 à cause de sa table traçante.
Et me voilà bientôt proprié- taire d’une jolie bibliothèque de programmes. Le tour est joué. Les plus fastidieux des calculs d'acoustique sont
devenus dérisoires, La solu- tion tient sur quelques ban- des magnétiques. 11 me suffit de charger les programmes utiles dans ma machine en fonction de mon agenda {avec 8 Ko de mémoire sup- plémentaire, vive « MER- GE » !}.
Ce dont je suis le plus fier pour l'instant, c'est un pro- gramme résolvant diverses équations d'acoustique interne de salle. Il fonctionne par menu avec touche « HELP » et commandes par défaut. Mais, les program- mes écrits en Basic étant un peu lents à mon goût, je passe maintenant à la vitesse supérieure : le langage- machine.
—— L'âme d'un musicien
Le PC-1500, mon dernier OP ? || a bien sûr l'interface RS-232, mais que penser du CC-40, du X-07, et des autres ? Pour moi, un ordina- teur de poche doit être de poche et le PC-1500 (sans interface) me convient. S'il me fallait une mallette pour le transporter, il perdrait à mes yeux une grande partie de son intérêt. Autant travail- ler avec une machine de table, Cela me fait dire que les ordinateurs de poche sont, grâce à leur format, irremplaçables.
Mon PC-1500 devrait me satisfaire quelques années encore avant que, pris par une certaine démangeaison, je ne me décide à le reléguer au second plan au profit d'un OP plus puissant, plus rapide, et moins cher.
En attendant, quand j'ai besoin de me relaxer, j'écoute l'enregistrement d'un requiem ou d'une symphonie. Debussy, Men- delssohn, Verdi, Bach... Tout s'organise de façon claire autour d'un thème. Quelle perfection, quelle poé- sie ! Mais à propos, un pro- gramme que l'on développe, que l’on met au point, que l'on bichonne... N'y a-t-il pas là aussi un « je ne sais quoi » qui ressemble un peu à l'acti- vité du compositeur de musi- que ? Je me sens tout à coup l'âme d'un Mozart de la petite informatique ! Vite, au travail, avant que l'inspiration ne me quitte.
Ê) Enrico Induni
N° 23 - MAI-JUIN 84
———] a
H UN LIVRE
Jeux en Basic sur ZX 81 Mark Charlton
Editions Sybex
Paris, 1983
Broché, 88 pages
Prix : 49 FF
M Une présentation ave- nante à première vue : un visage souriant sur la cou- verture et, au dos du livre, des photos d'écran qui cor- respondent aux programmes de jeux que l’on découvrira à l’intérieur. Car c’est bien d’un livre de programmes qu'il s’agit : 18 program- mes, tous traduits en fran- çais, mais pratiquement pas commentés. Ils sont seule- ment présentés par quelques lignes de texte.
Ces programmes, inspirés pour la plupart des jeux dits « d’arcades », ont une forme assez élégante, bien adaptée au ZX 81 qui n’est pas particulièrement un champion sur le plan gra- phique.
On pourra regretter le côté un peu austère de la formule retenue ; seuls quel- ques dessins, pas très variés d’ailleurs (on retrouve seize fois le même...), viendront distraire le lecteur. Inutile de rechercher la moindre indication sur les astuces utilisées : ce livre est une suite de bons programmes, ni plus, ni moins.
CE JD
MB Au premier coup d’œil, on croit se trouver devant un PC-12$1 : même format « calepin », même clavier, même interrupteur 4 posi- tions (OFF, RUN, PRO, RSV), même connecteur a 1} broches.
Mais il faut aussitôt se raviser : l'afficheur com- porte non pas une éeule ligne, mais deux lignes de 24 caractères.
Bien sûr les caractères deviennent petits, à peine 3,5 mm de hauteur, mais ils sont encore très lisibles et la molette de réglage du con- traste est toujours présente. Pour pouvoir Joger ces deux lignes, les témoins tels que ceux des modes angu- laires ne sont plus affichés «en clair » sur l’écran mais écrits sur le boîtier, des traits s'allumant tout sim- plement en face.
H y a encore quatre témoins en toutes lettres, mais positionnés verticale- ment à la gauche de l’affi- cheur : DEF, SHIFT, SMALL et /3 Ÿ- (Kata- kana). Nous n'avons pu obtenir ce dernier mode que par hasard lors d’un « reset », les touches alpha- bétiques donnant alors de curieux caractères japo- nais : un nouveau reset, et tout est rentré dans l’ordre.
Un exemple de l’utilité de ces deux lignes : en mode RUN, le calcul demandé et le résultat peuvent être pré- sents simultanément à l’écran, commode !
La mémoire vive a été, comme sur le PC-1255 (voir l'Op 22, page 17}, large- ment augmentée. A l’ordre MEM, le nouveau Sharp répond 9342 au lieu des 3486 octets du PC-1251.
Un examen attentif du clavier du PC-1261 montre finalement quelques diffé- rences avec celui du 51. Alors qu’en première fonc- tion toutes les touches sont identiques, nous notons en Shift la modification de l'emplacement des paren- thèses, l’absence du signe spécial E de l’exposant (le 1261 n’utilisant plus qu’un E normal}, et surtout l'apparition de SML et HELP.
La première fonction permet d’obtenir l'alphabet non pas en lettres capitales, mais en minuscules. Et la seconde permet de lister tous les ordres BASIC du Sharp : en se positionnant à l’aide des quatre curseurs sur l’ordre désiré et en appuyant sur ENTER, on obtient un exemple d'emploi. Ainsi un #elp de l’ordre STEP fait afficher l'exemple succinct mais significatif suivant :
FOR L = 10 TO O0 STEP — 2 NEXT L
Cette facilité est agréable quand on à un «trou de mémoire »: bien plus rapide que d’aller chercher dans le manuel !
Au chapitre de ia pro- grammation, le BASIC est assez voisin de celui du PC- 1251. Toutefois une amélio-
ration a été apportée : les
numéros de ligne ne sont plus limités à 999, mais à 65279 comme pour le PC- 1500, et l’argument de STEP n'est pas nécessaire- ment une valeur entière.
Un mieux aussi concerne la vitesse d'exécution : une boucle FOR I = 1 TO 1000 : NEXT I est exécutée en 75. (au lieu de 42 s.). Mais ce gain de vitesse vaut sur- tout pour les boucles vides. En effet FOR 1 = 1 TO 100 : À = SIN 1 : NEXT I est exécutée en 195. sur le 1261 contre 355. sur le 1251. On peut donc estimer qu’en moyenne la rapidité est augmentée d’un facteur compris entre 2 et 3.
En mode PRO sont stoc- kés deux programmes indé- pendants : bien entendu le programme BASIC, mais aussi une sorte de petit tableur. C’est une surprise que ce tableur incorporé dont la programmation est assez simple. Supposons que nous ayons souvent à calculer des prix TTC à partir du prix hors taxes, la TVA étant à 18,6 %. 11 suf- fit de rentrer en mode PRO la ligne :
#TVA = 186,HPTTC == HT+TVA
De retour en mode RUN, l’ordre # liste les titres des formules entrées dans le tableur. Dans la liste devra donc se trouver #TVA., En
N° 23 - MAI-JUIN 84 L'ORDINATEUR DE POCHE - PAGE 15
RE
Magazine
se positionnant comme avec HELP sur la formule dési- rée et en appuyant sur ENTER, il s'affiche sur la première ligne
HT : TVA : TTC
Il est alors possible de rentrer sur la deuxième ligne le prix HT du produit, et s'afficheront automati- quement les résultats du calcul positionnés sous les titres TVA et TTC. Un nou- veau calcul peut être repris en appuyant sur ENTER directement après l’affi- chage des résultats, toute autre touche faisant sortir du tableur.
Si l’on a plus de trois paramètres ou résultats, l’afficheur se comporte comme une fenêtre se déca- lant au fur et à mesure automatiquement vers la droite dans le tableau de chiffres. Le déplacement de cette fenêtre peut être forcé par l’emploi du curseur à droite ou à gauche.
Les différentes formules de tableur sont listées en
M Le module 1/0 HP 82183 À est en vente depuis le début de l’année 84 à un prix voisin de 730 FF. 1l ne nécessite la présence d’au- cun des modules auxquels il apporte un complément de fonctions : ces 59 nouvelles fonctions sont regroupées dans quatre rubriques du CATALOG 2.
On y trouve 7 fonctions étendues pour lecteur de cassettes qui permettent de désigner un fichier par son numéro d’ordre, c’est-à-dire de travailler au « coup par coup». Les 9 fonctions améliorées du module X- fonctions concernent le trai-
mode PRO par l'ordre LIST#. La mémoire vive allouée au tableur est de 128 octets, mais on peut configurer différemment la répartition de la MEV par blocs de 128 octets entre programme BASIC et for- mules du tableur. Ainsi, après un EQU#3, l’ordre MEM répond 8958 (soit 9342-3%x128), alors que MEM# donne 512 octets.
Pour ce qui est des péri- phériques, nous ne savons pas si Sharp en commercia- lisera qui soient spécifiques au 1261. Toujours est-il que notre essai avec le bloc CE- 125 s’est avéré concluant. Le branchement ne pose aucun problème, l'impri- mante fonctionne toujours, et les micro-cassettes du PC-1251 sont même relues par le 1261.
La machine devrait être commercialisée en France au mois de juillet pour un prix d’environ 2 000 F.
[ CB
tement des chaînes de carac- tères. Elles ne font pas dou- ble emploi avec celles du précédent module, dont elles diffèrent toutes au moins par un détail.
Les 34 fonctions de con- trôle de l'interface HP-IL ont donné leur nom au module : entrées/sorties. Elles permettent de contrô- ler la présence, le fonction- nement et les transmissions de données vers des périphé- riques divers tels qu’impri- mante ou modem, aussi bien au niveau de caractères
ASCII, de programmes complets ou de simples octets.
PAGE 16 - L'ORDINATEUR DE POCHE
RUNE CASSETTE
Pour le Canon X-07 Fichiers
Logi’Stick
Distribuée par DDI Prix : environ 130 FF
B Comme tous les logiciels prêts à l'emploi destinés au X-07, Fichiers se présente sous la forme d’une cassette standard. La notice compte une dizaine de pages, en français. La concision est donc de rigueur.
Avec ce logiciel, on peut créer un fichier dans une zone mémoire de travail, puis le « ranger » dans une autre zone afin de rappeler un second fichier. La taille maximale de tout fichier sera environ la moitié de la MEV disponible, ce qui est largement suffisant.
Sont disponibles 13 fonc- tions (numérotées de 1! à 9 puis appelées C. O, F et R) comportant chacune jusqu’à quatre options. Mais ne vous laissez pas impressionner par ces préci- sions : les diverses com- mandes sont accompagnées de menus simples.
Chaque nouveau fichier porte un nom (sur 8
lettres), et contient au plus
Ces instructions de base
sont indispensables pour piloter efficacement des périphériques sophistiqués et rapides.
Les neuf dernières fonc- tions de contrôle (« avan- cées ») sélectionnent diffé- rents modes de transmission sur la boucle IL, et sont communes au HP-75 C.
Le module d’entrées/sor- ties prolonge — et métamor- phose — l'utilisation de la HP-41, dont le langage con- tinue donc à s’enrichir d’ins- tructions préprogrammées.
[: MA
dix rubriques nommées en 8 lettres mais composées de
vingt caractères... si la ME le permet. Une fois la fiche-type définie, l’entrée des données s'effectue au moyen d’un masque de sai- sie, avec possibilité de reco- pie d’une fiche sur une autre. Les fiches peuvent être triées en fonction de n'importe quelle rubrique — numérique ou alphabé- tique — par ordre crois- sant ; ou bien encore sélec- tionnées manuellement par l'intermédiaire d’une rubri- que, dans le cas d’une mise à jour par exemple.
L'écran ne permet pas de visualiser le contenu com- plet d’une fiche, ce dont l'imprimante se charge heu- reusement : un nouveau masque est défini pour la présentation condensée des fiches. Toutes les modifica- tions effectuées sur le fichier en cours ne sont validées qu’au moment où l’on sauve le fichier sur cas- sette ou carte RAM, ce qui permet de travailler sans risquer de détruire le fichier original.
Parmi les fonctions clas- siques, notons le « direc- tory », autrement dit le sommaire des fiches présen- tes. Ce logiciel, très rapide et pratique, automatise la gestion de la quantité de données qui, chaque jour, encombre nos agendas et feuilles de notes : classer ne signifie plus éparpiller, car le X-07 se charge de tout.
Un reproche : l’utilisa- teur même expérimenté ne pourra pas modifier facile- ment le programme de base, car celui-ci est d’une belle complexité.
[ MA
N° 23 - MAI-JUIN 84
EE
ES —————
H UN LIVRE
Jeux de calculatrices Robinson du Plessis MA éditions
Paris, 1983
Broché, 160 pages Prix : 66 FF
B Robinson du Plessis est né en 1920, à Las Vegas (ce n'est pas moi qui l’invente, c'est écrit sur la jaquette du livre). Il a donc 63 ans au moment où il se décide à écrire son ouvrage. En réa- lité, il nous révèle en page 155 sous le titre « Appel à tous : adressez-nous vos programmes » que ce livre est une création collective réalisée à partir de travaux faits dans les clubs,animés par lui-même. J’ignore si ces auteurs {je cite) « auront l'immense gloire de voir leurs noms associés à ceux de Robinson du Plessis et d’Amardi dans un prochain ouvrage », mais ils semblent
Pratique des Sinclair ZX 8let
Timex Sinclair T/S 1000
Henri Lilen
Editions Radio Paris, 1983
Broché, 158 pages Prix : 80 FF
B D'un grand format, agréablement présenté, ce livre est destiné à ceux qui, n’ayant aucune connais- sance en informatique, ont acheté par curiosité un ZX 81. Il n’est question dans l'ouvrage que du ZX 81 en version de base (1 Ko de mémoire), et la seule exten- sion envisagée est l’impri- mante (l’auteur lui consacre environ 8 pages).
Ceux qui se sont déjà ini- tiés au ZX 81 à l'aide du manuel livré avec l’appareil tireront peu de choses de
à cet ouvrage. Si, en revan- che, vous êtes vraiment débutant, si vous désirez un apprentissage très simple et très progressif, cet ouvrage devrait vous convenir. La lecture est facile ; ce qui se passe sur l'écran est enca- dré, et des commentaires apparaissent, à la manière
N° 23 - MAI-JUIN 84
avoir été quelque peu oubliés dans le premier. En tout cas, l’ouvrage arrive tard. Les calculatrices dont parle du Plessis (Robinson, vous dis-je} sont très classi- ques : HP-25, HP-67/97, TI-57...
C'est un peu dommage pour ce recueil par ailleurs bien conçu, bien illustré et d’une très bonne lisibilité. Les programmes proposés, en général en versions T1 et HP, ne sont pas tous très originaux (c’est le moins que l’on puisse dire). Ils sont par contre convenablement commentés et les textes ne sont pas dépourvus d'humour (Amardi, on aime, ou on n'aime pas !). Pour la plupart, ils sont plu- tôt orientés vers la simula- tion du hasard et les jeux. Un ensemble assez cohérent, des illustrations qui égaient l'ouvrage, mais une sortie bien tardive.
0) BE
des bandes dessinées, dans des bulles. Les points parti- culiers sont mis en évidence par l’utilisation de caractè- res gras. Mentionnons ainsi les exercices régulièrement proposés pour permettre au lecteur de vérifier s’il a bien assimilé le contenu de cha- que chapitre (les solutions sont données en fin de cha- pitre).
C'est un bon manuel pour le débutant, mais on ne découvrira pas dans ce livre toutes les finesses du Basic Sinclair : ce n’est pas son propos. Pas un com- mentaire sur les fonctions trigonométriques, sur les- PEEK ou les POKE, etc. On reste au niveau de l’ini- tiation, mais de l'initiation bien faite.
BE
Magazine
Découvrez le ZX 81 et le Timex Sinclair T/S 1000
Douglas Hergent Traduit de l’anglais par Jean-Pierre Loison Editions Sybex
Paris, 1983
Broché, 196 pages
Prix : 79 FF
MH Voilà un autre ouvrage qui vise le même public que le livre précédent, c'est- à-dire les débutants un peu désorientés par le manuel livré avec l’appareil, et qui recherchent une initiation plus progressive. Une petite différence cependant, signalée dès l’introduction : l'ouvrage est également écrit pour les acheteurs du Timex Sinclair 1000, qui possède 2 Ko de mémoire d’origine. Plusieurs des programmes proposés ne fonctionnent pas sur le ZX 81 de base ; il faudra donc une extension mémoire si
lon veut les utiliser tous. La conception de l'ouvrage est très particu- lière : on y trouve, après une longue description physique du ZX et des dif- férentes fonctions accessi- bles au clavier, un assez joli programme de salutation (11 lignes), mais le lecteur n’est pas invité à le frapper tout de suite. L’apprentis- sage est fait à partir de ce programme, en reprenant les lignes une à une et en les commentant (les listes sont obtenues grâce à l’impri- mante du ZX). C’est une méthode assez originale qui a le mérite d'amener immé- diatement le lecteur à un résultat concret. Le pro- gramme est ensuite sauve- gardé sur cassette, et l’auteur en profite pour parier des logiciels du com- merce, et en particulier de VU-CALC : une digression comme un autre ! On atta- que ensuite les deux systè- mes graphiques du Basic Sinclair, avec de très courts exemples, pour revenir à des instructions plus classi-
ques : IF - THEN et FOR - NEXT. Tout cela est un peu décousu, mais si l’on s'accroche.
Ce n’est qu’à partir du chapitre 4 que l’on aborde les possibilités de calcul du ZX, les chaînes de caractè- res, etc. On y trouve aussi un long (et séduisant) pro- gramme d’histogramme, abondamment commenté dans les pages suivantes. Le chapitre 5, enfin, va un peu plus loin avec la codifica- tion des caractères, la vidéo inverse, les nombres aléa- toires, tout cela utilisé dans deux courts programmes : devinette et aide à la déci- sion.
Si la formule retenue par l’auteur ne m’a pas semblé très pédagogique, le livre est cependant original, facile à lire, et il offre un tour d'horizon assez com- plet sur les possibilités du Sinclair.
C3 BE
M Beaucoup de nos lec-
teurs l’attendaient depuis longtemps. Il est enfin arrivé. Le manuel du langage-machine du PC- 1500, édité par Sharp, est disponible en version anglaise. A notre connais- sance, la seule façon de se le procurer en France est de l'acheter auprès du Club Sharpentier (150F ttc + 17,40 F de frais de port). Quant au manuel du langage-machine du 1251, il n’est pas impossible qu’il soit distribué par la même voie dans un avenir proche. Pour tout renseignement, écrire au club : SBM (Sharpentier) 151-153 avenue Jean Jaurès 93307 Aubervilliers Cedex
L'ORDINATEUR DE POCHE - PAGE 17
Pour faire grosse impression: les calicots
Le PC-1212 (ou le TRS PC-1) associé à son imprimante est assez pauvre en possibilités graphiques. Les caractères qu'il imprime mesurent moins de trois millimètres de haut... On peut cependant obtenir beaucoup mieux. Voici un moyen de multiplier par treize la taille de ces caractères.
M Le petit (?) programme dont vous trouverez la liste page ci-contre per- met de composer des textes à /a demande, en caractères géants.
De nombreux essais ayant montré que les caractères d'affiche sont plus lisibles en blanc sur fond som- bre plutôt que l'inverse, c'est ce gra- phisme ‘’négatif”" qui a été adopté. Pour le fond, c'est le caractère symétrique le plus couvrant, en l'occurence le “8” qui produit le meilleur contraste. C'est ainsi que les messages obtenus à l'aide du programme proposé offrent une lisi- bilité optimale à une distance d'un ou plusieurs mètres.
Tout l'alphabet —en lettres majuscules —
Les caractères sont composés dans une matrice de 12 x7, inscrite dans un carré de 26 mm de côté. L'intervalle entre deux lettres est de 6mm, et entre deux mots de 20 mm. La hauteur totale de l'im- pression est de 30 mm.
Le programme permet de compo- ser les 26 lettres de l'alphabet, en majuscules, plus l’espacement entre les mots. La police de caractères est reproduite ci-contre.
Le mode d'emploi du programme est des plus simples, car votre ordi-
PAGE 18 - L'ORDINATEUR DE POCHE
GA VATE FAIRE...
Be ie se M _V 72 at” L
Wa
nateur de poche s’est littéralement transformé en machine à écrire :
1. Taper RUN ENTER, ce qui a pour effet d'imprimer une bande-amorce et d'initialiser le programme.
2. Après le double bip et l'appari- tion sur l’afficheur du ‘’?”, taper la première lettre du message, puis ENTER. Par exemple, si vous vous appelez PATRICK DUCHARPE et si vous voulez vous offrir une carte de visite de 50 cm de long, tapez P ENTER.
.… UNE GROSSE IMPRESSION !
4. Après le double bip et l'appari- tion du ‘‘?”’, taper SHFT SPC pour obtenir l’espacement entre deux mots.
5. Reprendre l'opération n°2 pour chacune des lettres D, U, C, H, À, R, P, €.
6. Pour les perfectionnistes : taper un espacement comme pour l'opéra- tion n°4 pour obtenir une bande de fin de message.
Maintenant à vous de jouer, mais faites attention aux fautes de
3. Reprendre l'opération n°2 pour frappe | chacune des lettres À, T,R, 1, C, K. O1 Pierre Ladislas Gedo œ oo 00 dé to D co oo 6 © Oo © C0 Gp À Ci-contre, la 20° et la ru 8 ri 5 ( 888 53838 21° lettres de (en . œ l'alphabet grandeur ÈS ETES ES EE 5 © ER nature. ÈS DO0RS 99 088 Ci-dessous, les SE Lo a Oo Es LLTINTES caractères AÂZaprs $5 EOR LOS SRSSUTS sons BEST one EEE eo LEP D RE D CG Qo ds Où Go CG Go CG C5 CG 00 di CG CG CG 6 Qu EG ie eee : PPT | DPNTONE | JPUrTRS poPoaERERRINPREAE EEE NPA PORENESEREÉEVBE FU elle CC 8888 ÉU sURRRONS N0Gte ÀÙ RRUSNSLS OASIS eBuest HSE 0 Hit 4 ÊÀ gags s: RUES UE LA sense avssest Ulis À & il ï RIT ut Po: Babe Ragbon A1 11 mor RL RE 88 SES "ES°ESS SÉESVES 83 BOEBSBR ES TEBASE TERRE" PHRRET"VCPRERRRE" "PRES CVES ii 5 HS î fé Éastue EU 8e T8 N aflte À 888 À sffs À BRU MÉRRE RE one AE ! À AE tes DURS D eggealle Ë É v8 08 Fa le OO EN À Be LEA rer EE À ÉTAPE RIM RIT RL ÉCRIS ITS SN Ni UN NN NU) eg: (ii) stage ane qu AORNLIRE RE ar MORTE LATE MR he qi Li (EL RE A Er qi Hsfl FE Cannet iii TPONETI CN IT Un RL ER nes ::
N° 23 - MAI-JUIN 84
Calicots
Programme pour PC-1212 et PC-1 Auteur Pierre Ladislas Gedo
Copyright Ordinateur de poche et l’auteur
1:GOSUE 10: 2di'PRIMT GS$5J4: ŒHÉSUEÉ 31: 3 limpression de la bande-amorcei GOSUR 10 RETUEH : # # Assignation des mémoires: nu- 21" UGOSUR 195 2S:IFRIHT Q$iN#s Ë ; À ë GOSUE 10 FETUEN 5 7 # : GOUSUE 10: 2: PRINT MRSKE: GÜSUE 2 d'ordre Z égal à son rang + 40. GOGUE 10:FOR RETURN PE TUR . [Per exemple, A=41, B=42/ etc. exit 26162 AT PRINT B#1° 8 £ 2=84dns HE sl £ F:HEEF 2: IHPUT 3 h$= "0589829" ES "SSSR . MiC$="S908 Er "I IE : à : vu D="BES ME TUE ee ÿ … ÎLe. pointeur est dirigé . vers. la Mepte"e EA . x “re “ ni ; ligne pôrtant Je numéro d'ordre ; AUS … DQs “ ; Z de la lettre Choisié, la déssing, :Ffe" coocegn ROLE ASUS LUS À introduit un petit intervalle et. ° 15e" AGG90 Bret i te M PUR F à réassigne lés variables. bu
Nr 38 Z1:RNGUE 29: Here - ques d8 À à E.
“il Î AR F7 CES EE : 29: Ms PRINT kgs ms | [10-29 Sous-programme. d'inpresio &" : 2 : : Jde colonnes de 14 éléments.” . TE RS 3" 5 >» cé ; se É LÉL= ie Ag AR Zi: GQUE RE ee F Sous-programme d'impressiôn: Mr fe"s9S ‘ L | pes fe Le de: groupements pépéttits M DuuMt="pS 9 : 57 a * " ; colonnes. gas HF °88 ï ds 1-66 natrouune d'impression de chaque lettre: d
ÿ"
Titite"e go" sPHLUE 538 LENRE nr Fa]
su H RES
: GÜSUR 2 GÛTO Qi PRINT "8:38
GROSGELAGE "Es FETUEN LEFRINT Qi: FETUEN SPRINT E$sH$: FETURN SPRINT E$5 [4 FETURN FRIAT MS 41 12 E\ 18 ; NAT : j MT UE : : ni fe AYTIÉ GGIE FRS Ts SPRTNT 83H: GÜSUE : 56 GOGUE BETUEN 1. | ‘a 6 RETURN à = BPRINT D$5 1: E 4 12 . ee ml ER FE TUEN TUE me LÉ À APRES ESRE e F: FT 85 ” | HAT OS Rés EE TUR + 29: ses ne z it ME TUE FRINT R#5F4 L S UE EN re DEISUE 11: ' | FETUEN ; HT AS Ta Q:PRIHT ASS GS RETURN PRINT A$s0ig: FETUERN à 26 38: GOSUE 13 Pour n'oublier aucun espace, il faut savoir PRINT CÉRAUE D GISUE 2 GIGLE Sie, due, dans ce programme, chaque variable . EE TUEN - k 2e HE -*1 1% alphanumérique contient exactement 7 caractè- 2e: PRINT A$5K4 ; #3 2% res, Le nombre d'espaces se déduit ainsi du : FE TUEN : ÉDE ue xl BSSUE 1 13: FÜR : F4 FFE nombre de “8” présents. LS: FRIHT D$sFés z'TE de CO FETURS Par exemple, T$ = ‘ 888 8’ soit quatre ‘‘8” RETUEN Gi GiGUE RCE not GES 25 et, donc, 3 espaces. Le reste se fait à l'œil.
N° 23 - MAI-JUIN 84 L'ORDINATEUR DE POCHE - PAGE 19
{
Si on avait beaucoup d'argent...
Parmi les applications les plus fascinantes de l'informatique figurent les simulations en tout genre. Simulation de vol par exemple : vous pilotez un avion mais sans courir de risques. Avec ce programme pour FX-702, vous êtes aux commandes de l’économie d’un pays (imaginaire, rassurez- vous).
B Modèle, microéconomie, produc- tivité.….. que de mots barbares. Pour faire leur connaissance, sans souf- frir, il existe une solution : le jeu de simulation.
Imaginez que vous gouvernez un pays imaginaire qui ne peut prospé- rer que grâce à sa population et aux produits de l'agriculture, de l'indus- trie ou du commerce.
En dix cycles de production, de l'année 0 à l’année 9, vous cherchez à atteindre un profit maximum, éva- lué en nombre de lingots. || vous faudra bien sûr tenir compte de cri- tères économiques comme la popu- lation, son évolution, l'emploi, le logement, l'équipement en écoles,
Liste des secteurs
Agriculture industrie
Hôpitaux Universités
1 À
2 |
3 € a L 5 € 6 H 7 VU
PAGE 20 - L'ORDINATEUR DE POCHE
universités ou hôpitaux et surveiller aussi l’évolution de la production qui découle des investissements, du tra- vail, de la consommation.
Prendre un ———bon départ ——
Pour chaque année, le plan géné- ral du jeu est le même : affichage des données {tirées au hasard au départ}, répartition de vos lingots aux différents secteurs de l'écono- mie (nourriture pour la population, agriculture, industrie, commerce et investissements), enfin répartition de la main-d'œuvre entre l'agricul- ture, l'industrie et le commerce. Le programme affiche alors les données de l’année suivante qui sont calcu- lées en fonction des résultats de l’année écoulée.
Au départ de chaque cycle, les données affichées sont l'année, le nombre de points {c'est un jeu !}, le taux de natalité {c'est un pourcen- tage, 4 signifiant par exemple que la population augmente de 4% par an), le montant de vos biens en lin- gots (PRD pour produit} et le nom- bre d'habitants de votre pays (POP pour population).
Tableau de production | AGri | Coût de l'unité {en lingots) 10 Unités de consommation par cycle 1 20 Unités de main-d'œuvre par cycle 5 Unités de production par cycle Production par unité de main-d'œuvre 2 1,5 Production par unité de consommation 10 4,5
L'achat d'une école augmente ia productivité dans les trois secteurs de l'éco- nomie et l'achat d’une université n'augmente que la productivité de l’industrie.
Le programme s'arrête alors sur un point d'interrogation. Il attend l'entrée d'une option: 1, 2 ou 3. L'option 1 vous permet de revoir les données de l’année, elles défilent assez rapidement. L'option 2 vous permet de connaître le niveau de vos biens matériels : À (pour agri- culture} est le nombre de terres en exploitation, | {pour industrie) le nombre d'usines, C (pour com- merce) le nombre de magasins, L le nombre de logements, E le nombre d'écoles, H le nombre d'hôpitaux et U le nombre d'universités.
Manger pour vivre
L'option 3 permet de continuer le jeu. Une question apparaît alors : NOUR ? Il faut en effet commencer par nourrir la population : chaque personne consomme un lingot par an. ll faut donc compter un lingot par habitant, sans oublier ceux qui vont naître durant l’année.
On doit ensuite acheter des matiè- res premières qui vont servir à la consommation en répondant à
Et
N° 23 - MAI-JUIN 84
À
AGRI ?, IND ?, COM ? Le tableau de production, reproduit précédem- ment, indique le montant de ia con- sommation par cycle et pour chaque secteur. Enfin, pour que votre pays puisse prospérer, il faut penser aux investissements. A la question INVEST ?, on répond en indiquant le nombre de lingots qui serviront aux divers investissements. Reste alors à répartir ces lingots entre les différents secteurs.
Le nombre que vous avez choisi réapparaît donc suivi de
Simulation d'économie Programme pour FX-702 P Auteur Pedro Inigo Yanez
üx PETIT EFFORT!
« AICLEHU ? » où chaque lettre représente un secteur de l'économie acceptant les investissements. Le programme attend alors l'indication
ZtiF Zaisif def 1056 SARCRTEL
Copyright: Ordinateur de poche et l’auteur Faire DEFM 3.avant de lancer le
programme.
VAR: 56 PRG: 1448
12 STEPE
1 STRT ZVRE :f4= DB9=1.5:BG3,5 FRSLE BL 4 EE
oo THEN
x i AL+AT+ES SE À 1 5668 #9: 6070
35 ÉSB Hd:A-1-an
——————
du secteur par l'entrée d’un chiffre entre 1 et 7 représentant le rang de la lettre (voir, en encadré, la liste des secteurs).
Pour investir dans le logement {L}, par exemple, il faut introduire 4, rang de la lettre L, et répondre à LOG 60 ? Le nombre 60 représen- tant le coût en lingots d’un loge- ment, la réponse se fait sous la forme d'un multiple de 60. Ainsi, l'achat de trois logements oblige à introduire 180 (et non 3). Tout dépassement du multiple est perdu.
S:B1=81+Ar:
28 BT=BT+R AGE HA #:02-b2+604 15 ë= ÉÉASCLE Ézf-3
S H=G:Y=GPRT ER RÔIIRE
TS
6 R=AGTINP PAGE |
SHYIRET 3 A={ÿG IP
-ASFOHIET 1 THER 5
à RO-AG#E KT 40
1:2.41h6-18
15 38=35:82-90k=4 1 2=GRI SAC
28 MINT (RANHrISE J+1S8P= INT CRA NEtSC)+COQHEE cû g:È=P
dû =P:C-0:6070 #1
: 508 STEPS
L'HAIT OB:ERT “EN REE”5C, T5" PTS HAT: K, PRO: P: P4F0P"; Hi;
2 INF $:IF $=72": AIT 43: G5B 26 TO 2
J'iF $="IT THEN !
4 IF 35°" 658 45 16070 2
5 CH 18
ê PRT : “AA? [? 1R3; F/07365, L° j ; TE? ET Fs
Hi" 12 Us RET i8 58 #2:T=140 à 8 tPRT MCE”
dt INP FAGRI,AL:I , de HS4S THEK
2 1 FIND", ATSIF Ts THEN
23 INP "COM", 83: IF
N° 23 - MAI-JUIN 84
IF A3,33PRT "ER sRET EVES”iT=f-iqs, |
48 H=MEINT (Mxik1 68): 0=L+2081 IT HO PRE H-0,75 QRTIGIT=T-H40: X=6G
49 JF HN PAT K-H POORTIS "T2 -#+ Hi H=N
SJ K=Kt2:C=C+ISIF C{18 THEN |
60 MAIT GUtRRT EN Le TOTAL:
14 IF Taiast
88 PRT ” SÛÛRE AA 'dt6TOP 600 60
54 Pè: 185 5 vi TEPS
18 PART P;s RP ” ND LR, NAGER I" A2 >" IRD, A8, FLoN" Ra INYST”, 1 g=0-N-A2-A8- E4-
fesg: [NP FOUR 9 He IF &
ji Î
HER 5
3 B5= due
cfétA:G6-BÈtA:E GB + AS AS= ASE A*
"RSS diASR
sr TrSE B6=6B+ 1: Bi= (BE, XIGSE 4210 _ Biti#T
P4i 191 STEPS Ï8 F=GiFOR ie 4 TC
ii : =
2 IF caQsIete IF LG: = C1 P=P+INT QHHENT ROSPIRET
{O8 K: GSE es 19 E=E#YiBatk 5: A4 St 22 STEPS
1 BBIT SO PRT IN POSSIBLE": RÈT
Structure du programme «1 Ânttislisation” des. variables (PO) ‘ Affichage des résultats (P1) É Répartition de la production (P2).; F 4 Répartition des.investissements (P3) * F5 “Répartition.de la ntain-d'œüvres{P1). ‘6. Calculs de la production {P4)..
+ à : Célculs de la population (P1)
Pa: a STEPS EÏ-RiPRT LtiF é EG; ET É: 2 INP © AICLEHU”,
8. Affichage des résultats si a ,annéé (Pt L PURE à sn 2. € à LE k à # d
L'ORDINATEUR DE POCHE - PAGE 21
Si on avait beaucoup
d'argent.
Bases de calcul
Production
Le calcul de la production est fonction, ici,
de trois facteurs : la
main-d'œuvre, la consommation {ou matières premières) et les unités de pro- duction. Soit P; la production de chacun de ces facteurs : P; = {nombre d'unités du facteur) x (productivité de ce facteur).
La production de chaque secteur (agriculture, industrie, commerce) sera égale à la plus petite des trois valeurs calculées Ps.
La production totale sera égale à la somme des productions des trois sec-
teurs.
Population
Chaque année, à la population initiale s'ajoute une population potentielle p : p = {population initiale) x (taux de natalité).
La population iogée | est : 1 = {nombre de lagements) x 200.
La population nourrie doit inclure celle qui-est née dans l'année (population
potentielle).
La population finale est celle qui est à la fois nourrie et logée.
À ce niveau, on doit avoir bien présent à l'esprit quelques points importants :
. l’achat de logements est obliga- toire, un logement abrite 200 per- sonnes et chaque personne non logée quitte le jeu au cycle suivant (cela vaut aussi pour les personnes nées pendant le cycle en cours) ;
. l'achat de certains biens influe sur le taux de natalité. Les usines, par exemple, tendent à faire diminuer ce taux et les hôpitaux à le faire aug- menter ;
e l'achat d'écoles ou d'universités accroît la productivité ;
e l'agriculture, l'industrie et le com- merce enfin sont les seuls secteurs de l'économie qui augmentent direc- tement le produit. Ils sont souris à
EU Z (EP
»
PAGE 22 - L'ORDINATEUR DE POCHE
deux contraintes particulières : une usine ne peut être acquise qu'après cinq terres et le commerce, lui, ne peut être acquis qu'après deux usi- nes. Les autres investissements sont libres.
Pour faire progresser votre pro- duit, vous n'êtes pas obligé de pour- voir tous les postes. Quant à la main-d'œuvre, elle doit être répartie entre l’agricuiture, l'industrie et le commerce. Attention au chômage, il influe directement sur la produc- tion : un taux de chômage supérieur à 30% fait perdre 15% des profits. Il faut donc être très atten- tif à l'emploi.
ll se peut d'ailleurs que le pro- gramme annonce des « grèves » dues à un chômage trop important.
avez-vous lu notre éditorial
Pour UNE SIMULATION C'EST REUSS),,!
À propos de en page 5 ?
Ces grèves entraînent un certain nombre de « sortis » : ce sont les habitants qui quittent le jeu parce qu'ils ne sont pas nourris ou pas logés. Leur départ fait directement diminuer votre profit.
——— Chacun ————son lingot
Si vous atteignez l'année 10, c'est-à-dire si vous avez pu garder PRD et POP strictement positifs pendant 10 cycles, alors le total de vos points apparaîtra suivi du score maximum atteint à ce jour.
Le but du jeu n’est pas de créer beaucoup d'emplois ou de posséder beaucoup de moyens de production. Il est de maximiser le profit. La fail- lite vous quette dès que votre pro- duit (PRD) est nui.
Les salaires sont invariables et égaux pour tous : ils s'élèvent à un lingot par personne et par an. Pour recommencer une partie, on appelie PO, et pour reprendre une partie interrompue, P1. Des calculs peur- vent être faits en cours de jeu, à la suite de chaque instruction INP. Un appui sur EXE allume l'indicateur STOP :; on effectue normalement les calculs au clavier, puis on reprend le programme en appuyant sur CONT.
Ainsi, vous aurez « dirigé » un marché vaste mais imaginaire. En fait, cette simulation ne rend pas compte de la réalité qui est beau- coup plus compliquée que cela.
C} Pedro Inigo Yanez
N° 23 - MAI-JUIN 84
RE
€ET ENCORE UN DRAGON D'ÉLUIMINE !
Pour être sûr d’en sortir...
Prendre le risque d’entrer dans un labyrinthe, c’est faire preuve d’un peu de témérité ou de beaucoup d’inconscience. À moins que vous ne connaissiez tous les recoins du dédale, mais c’est un privilège dont seul jouit l'architecte.
(Programme pour PC-1251.)
M Voulez-vous devenir architecte ? Construire les plans d'un dédale où vos amis iraient s'aventurer, c'est possible, mais à condition de passer vous aussi par cette épreuve et d'en sortir victorieux.
Munissez-vous d'une feuille de papier quadrillée sur laquelle vous tracerez les contours d'une grille 10x10 dont les colonnes et les
N° 23 - MAI-JUIN 84
lignes seront numérotées de 0 à 9. introduisez le programme dans votre PC-1251 (voir page suivante). Vous êtes prêt ? Allons-y : tapez DEF = pour l'initialisation. Vous voilà pro- jeté au cœur du labyrinthe, en case 44. Le chiffre des dizaines est celui de la ligne, te chiffre des unités celui de la colonne.
Des couloirs sans issue...
Cette première salle vous ouvre tous les horizons. Les lignes blan- ches représentent les couloirs que vous pouvez emprunter et toutes les directions sont possibles. Pour vous déplacer, vous utiliserez le pavé numérique : 8 pour aller au Nord, 6 pour l'Est, 4 pour l'Ouest et 2 pour le Sud.
Après quelques déplacements prudents, vous vous apercevrez vite que le parcours vous réserve des surprises : pas de rencontres désa- gréables, mais des portes qui se
———————————
referment derrière vous, des couloirs sans issue et... quelques oubliettes.
Retrouver ——les issues de secours—
Ne croyez pas que les bords de la grille limitent votre espace de jeu. Arrivé en case 89, essayez par exemple de continuer vers l'Est et vous serez aussitôt transporté par
‘voie souterraine en case 90. De
même, aller vers l'Ouest en 60 équi- vaut à faire un petit voyage en métro jusqu'en 59. En revanche, dépasser les limites qui vous sont fixées au Nord et au Sud vous ramè- nera invariablement au point de départ en case 44.
Bonne chance, la sortie existe et
pour la trouver, n'hésitez pas à vous aider de votre grille et d'un crayon.
À votre tour —d'égarer les autres —
En tapant le programme, vous avez certainement remarqué que les premières lignes débutaient par des DATA. Ces DATA sont suivis des codes attribués à chacune des cases du labyrinthe. Il suffira de les rem-
Combinaison Code
© © M GG OC BR À NN —
sd à à w NN = ©
Û Ch q En Ép q À Cr + eu Re Gr + sul
_ rs
Fe
Quinze combinaisons de sortie
N 01e $
L'ORDINATEUR DE POCHE - PAGE 23
Pour être sûr
d’en sortir...
placer par vos propres codes, et de quelques autres modifications, pour redéfinir complètement l'implanta- tion des salles et des couloirs.
Il existe pour chaque case quinze combinaisons possibles : la pièce peut avoir par exemple une seule porte au Nord, ou bien deux, une à l'Est et l’autre au Sud, elle peut encore s'ouvrir à tous les vents, sur ses quatre côtés. À vous de décider. Consultez le tableau des combinai- sons de sortie et choisissez,
Le programme mettra en B$(0) le code de votre première pièce, en B$(1} celui de la deuxième et ainsi de suite. Il faut aussi changer quel- ques paramètres en lignes 10, 15, 20, 50, 54 et 116, comme indiqué dans l'encadré ci-contre.
Si te nombre de cotonnes et de lignes est supérieur ou inférieur à dix, le numéro des cases sera celui
Les lignes à modifier
Ligne 10 :
= * CLEAR : DIM B$ (99) + 2 : FOR | = 44 : U = 62.
B : NEXT |: À =
0 TO 99 : READ B : B${i}) = STR$S
Dans cette ligne, 99 correspond au nombre total de sailes moins une, dans le cas d’une grille 10 x 10 (100 —1}. Pour une grille 3x3, ce sera 8 (9-1). Dans la variable À se trouve le numéro de la case départ.
Ligne 15 :
IF A<0O OR A>99 LET À = 44
‘où 99 représente le nombre total de cases moins une, et la variable A le
Ligne 29 :
IF A = 0 PAUSE « BRAVO Hi ».….
numéro de la case où l’on se retrouve lors du dépassement des limites infé- rieures et supérieures de la grille.
Variable A : numéro de ta case de sortie, OUF !
Lignes 50 et 54 : IFB = 8 LET À = A -— 10 IF B = 2 LET A = À + 10
où 10 est le nombre de cofonnes du labyrinthe
Ligne 116 :
“AA = 4 : GOTO 25 Variable A: Pour rejouer, faire DEF À.
numéro de la case où l'on reprend une nouvelle partie.
celles-ci seront distribuées comme 10, il vous reste environ 2 200 suit :
octets. Si votre imagination ne vous fait pas défaut, cela vous permettra de rajouter des niveaux, des mons- tres, des pièges et autres embusca- des de toutes sortes et vous obtien- drez alors un véritable jeu d'aventure.
de leur place sur ta grille. Dans Île cas d'un parcours de neuf pièces,
Labyrinthe
Programme pour PC-1251
Auteur Etienne Maetz
Copyright l'Ordinateur de poche et l'auteur
Une précision intéressante : si votre labyrinthe occupe une grille 10 x 23: G0SL3 180+ VAL 23$(4)
SasuAIT gs PRINT ?
*3 STRS à: gä
FO POKZ ÉFO28sKoke ts l âgrB= MAL INKEYS à I Sui3sbsiésisäsiiszs =ÿ THEN dû Bsis3sts%s61i319s120 St GOTO 69+2%x0 VAL Sc 12 DATA Ss6s:Ssigrrsrs9 29rSr5risldsi5sisse DrSsissbriSriisdréss sas iisésisilsGs38 TDMTA 2099969 !256%13% TidaSeds{ibsdsissid 135i5ridei2sstisiBe 1259r1211251556s258 DATA 135105312165 12 Va" CLEAR : DIn B#(3 9x2: COR I=d TO 99: READ B:3$(C:53= STRE R
[] Etienne Maetz
J —i vd Te
"nn QG -3 Lou)
. CERSRMRERMRS)
ChLL &liE
mi sû .
ZIJATR 611213891835 9
5 £ niSrordsideisiiniés
2rÈ LS:
À
SF
4 nm 2 “es it
A TR Ù THON TN |
“4
—J 9 CH Fe La pire
GDriotim
at
=3
RETURN RETURN RETURN RETURN RETURN RETURN RETURN E RETIJRN RETURN RETURN RETURN RETLRA RETURN RETURN RETURN
il on
= PESTE
++ © D D D Cm CG Où CD Où Où OÙ QG CO OÙ CO -41 —4 -
H l Gr ti Ci OU Gi CO Fr 1
gs
eu {e +
or
EN Hs LA Pi ++ Ci SD O0 4 ..
ps pa ge
Es
Ts 4 Ü] +
U
1 OS C1 D Gi dr
Carr
—d -4 Q
+
Ac “R 4299 LET À
+
=44 IF A=B PAUSE “BRAYO [114 PAUSE * VOUS E TES SORTI lilvs END
4
NC Fi D M Qt Qi TT Ca Es -3 22; QG oO OUI Gi ti OO OO Ed © DO DJ © © 03 bi hd Ed
NOTE”
Qi og Gt
Ds Un OU hi + © D OÙ —J Je EN RS Vi FO re
pra pm pe vs +
eat t
am
a # ei
. = us on en sn . QC 4 QU 4 Crea Gite QU ma QU ra QU EE QE EE CU RA Re pi
Cur] 4
4 à 4
PAGE 24 - L'ORDINATEUR DE POCHE N° 23 - MAI-JUIN 84
—— Zn
L’adressage indirect n’est pas la partie
la plus évidente
de la programmation. Certains langages
s'y prêtent mieux que d’autres. Avec les versions de poche du Basic, c’est un outil à la fois puissant
et relativement facile à assimiler.
M Le Basic de poche est un langage de programmation dont on apprend les rudiments assez vite. En effet, il met en œuvre une syntaxe plus pro- che du raisonnement habituel que le Langage Machine Spécialisé (LMS que l'on trouve, par exemple, sur les calculatrices TI et HP).
Cette différence est particulière- ment nette concernant l'adressage indirect. On sait que le LMS {nota- tion algébrique ou polonaise inverse) conduit parfois l'utilisateur à effec- tuer des acrobaties pour parvenir à ses fins. Ces acrobaties, même si elles font la fierté du programmeur, sont difficiles à saisir pour le débu- tant.
Voyons quelles commodités offre de ce point de vue le Basic des poquettes et commençons par un bref rappel sur le principe de l’adres- sage indirect : on utilise une variable non pas pour l'indication qu'elle contient, mais pour savoir où se trouve l'information recherchée.
En Basic, ce type d'adressage peut le plus souvent s'appliquer à toute instruction nécessitant un argument, utilisation des variables,
N° 23 - MAI-JUIN 84
Adressage indirect et Basic : la souplesse
branchements, boucles, fonctions mathématiques, instructions d'’en- trée/sortie.. et la liste n’est pas complète.
Un des usages les plus courants de l’adressage indirect en Basic est la manipulation des tableaux, numé- riques ou non. Ceux-ci pourront comporter une, deux dimensions, et parfois plus. Sur certains poquettes, on devra dimensionner les tableaux au préalable (instruction DIM) ou étendre la zone des données. Avec DIM T{(5), on établit un tableau comportant. six éléments : T{0), T(1), T(2), T{3), T(4) et T(5). Autre exemple, DIM B$ (2,3) ménage un tableau à deux dimensions dont les variables sont :
B$ (0,0) B$ (0,1) B$ (0,2) B$ (0,3) B$ (1,0} B$ (1,1) B$ (1,2) B$ (1,3) B$ (2,0) B$ (2,1) B$ (2,2) B$ (2,3)
On remarque que sur la plupart des ordinateurs, l'instruction DIM Tin) réserve en mémoire n+1 emplacements, Les Ti) sont aussi appelés variables indicées (pour i variant de 0 à n).
En voici une illustration simple : 5 S=0 : DIM T{(9) 10 FOR1 =0TO9 15 INPUT “N=?" ; T(l) 20 S =S + Til) 25 NEXT I 30 PRINT S 35 END
Ce programme initialise un tableau unidimensionnel de dix élé- ments et demande (boucle des lignes 10 à 25} l'introduction de dix valeurs qui sont successivement stockées en T(0), T(1), T(2),.., et T(9). La ligne 20 cumule en S la somme des termes au fur et à mesure de leur introduction, laquelle somme est affichée en ligne 30.
Les personnes qui programment en LMS apprécieront la forme T{l), bien plus parlante que les STO ind ou RCL Ind.…
D'autre part, à la ligne 15 (et cela vaut pour la plupart des poquettes Basic), on peut non seulement entrer un nombre, mais aussi une expression combinant variables, nombres et fonctions mathémati- ques : 5 x 2,5 x A ou 8 + 2/ {X+Y). L'expression sera calculée, à condition qu'elle soit conforme à la syntaxe du Basic, et sa valeur sera rangée en T{l). Cette propriété, très pratique, est pour ainsi dire un privilège des poquettes: on la retrouve sur peu d'ordinateurs de table.
Une chance sur six...
Les expressions calculées peuvent aussi servir d'arguments pour l'adressage indirect, ce qui accroît encore la puissance de ce dernier. Rien n'empêche, en effet, d'utiliser des formules aussi compliquées que : PRINT A (INT ABS {COS} * 100)).
Voici, avec une version de la rou- lette russe — parfaitement inoffen- sive —, un exemple plus simple.
Sur Sharp PC-1251 : 5 DIM P$ {6) 10 P$ (RND 6) = ‘’PAN 1" 15 FORI = 1T06 20 PRINT P$ (1) 25 NEXT I
Version Casio FX-702 P DEFM 1):
5 VAC 10 A$ (RAN#*6+1)} = ‘’PAN !" 15 FOR| = 1T06 20 PRT A$ {1) 25 NEXT I
L'ordinateur remplace ici un revol- ver ‘’six coups” dont le barillet est simulé par un tableau à une dimen- sion, P$ {n) ou A$ {n). La ligne 10 stocke la chaîne alphanumérique “PAN!"” dans une variable du
L'ORDINATEUR DE POCHE - PAGE 25
{faire
Adressage indirect et Basic :
la souplesse
tableau dont l'indice est obtenu par le générateur de nombres aléatoires de l'ordinateur, soit ici un indice de 1 à 6 compris. |
Une fois la balle placée dans un des logements du barillet, il ne reste plus aux joueurs qu’à se passer la machine à tour de rôle. La boucle des lignes 15 à 25 finira tôt ou tard par faire apparaître le ‘’PAN !”. Pour presser sur la détente, on appuie sur ENTER ou sur CONT. Celui qui lance le programme tire le premier.
D'une ligne à l’autre
Le Basic permet d'effectuer des branchements du type GOTO ou GOSUB, mais avec nettement plus de souplesse que les LMS, même sophistiqués. Pour nous en convain- cre, examinons l'exemple suivant :
Version Sharp PC-1251 5 INPUT “N=?2":N 10 1F N>3 OR N<1 THEN END 15 GOSUB 100+N PRINT “FIN” : END PAUSE ‘LIGNE 101”’ : RETURN 102 PAUSE “LIGNE 102” : RETURN 103 PAUSE “LIGNE 103” : RETURN Version Casio FX-702 P 5 INP “N=°,N : WAIT 30 10 IF N>3 : END 11 (IF N<1 ; END
101
A METTEZ (QU : L'INFORHATIS
PAGE 26 - L'ORDINATEUR DE POCHE
LOU
E. VOTRE Poct£
15 GSB 100+N : END
PRT FIN" :
107 PRT "LIGNE 101” : RET 102 PRT "LIGNE 102” : RET 103 PRT LIGNE 103” : RET
Le programme demande à l'utili- sateur d'entrer un nombre compris entre 4 et 3. La ligne 10 (les lignes 10 et 11 pour le 702 P} vérifie cette condition et, en cas de succès, l'instruction GOSUB 100 + N est exécutée. La ligne à laquelle se fait le branchement est donc 101, 102 ou 103 selon la valeur de N. Le pro- gramme affiche alors le numéro de cette ligne puis retourne en 15 pour afficher “FIN”. En utilisant GOTO, le programme précédent aurait pu s'écrire :
Version Sharp PC-1251
5 INPUT “N=?"; N:A=20
10 !F N>3 OR N<1 THEN END 15 GOTO 100 + N » 20 PRINT ‘FIN’ : END
101 PAUSE "LIGNE 101” : GOTO A 102 PAUSE “LIGNE 102” : GOTO A 103 PAUSE “LIGNE 103” : GOTO A
Version Casio FX-702 P 5 INP“N=",N:A=20 : WAIT 30 10 IF N>3 ; END 11 IF N<1 ; END 15 GOTO 190 + N 20 PRIT ‘FIN’ : END
104 PRT "LIGNE 101” : GOTO A 102 PRT “LIGNE 102” : GOTO A 103 PRT “LIGNE 103 : GOTO A
Au programmeur de choisir la méthode la mieux adaptée à ce qu'il
vous
chez vo
LIST
donne rendez-vous fin juin
tre marchand de journaux
recherche : lisibilité, rapidité d’exé- cution ou faible consommation en octets.
Comme nous l'avons vu pius haut, des expressions comprenant des variables et des fonctions mathématiques peuvent être utili- sées en argument de GOTO et de GOSUB. D'autre part, les étiquettes alphabétiques (que l’on trouve sur les poquettes Sharp) se prêtent aussi à l’adressage indirect :
5 INPUT “NOMBRE D'ARTICLES
7" ; N 10 L$ = “N = 1” 15 IF N>1 LET L$="N>1" (...) 100 GOTO L$ {...) 200 ‘“’N = 1" : PRINT ‘UN SEUL ARTICLE" : END 210 ‘“N>1" : PRINT ‘ PLUSIEURS
ARTICLES‘ : END
Cet exemple n'a d'autre intérêt que de montrer les possibilités inat- tendues de certaines versions du Basic. D'une façon générale, l'adressage indirect s'applique à tou- tes les fonctions du poquette travail- lant sur des nombres, des chaînes et les variables correspondantes.
Avec un peu d'ordre et de soin, on parvient à des expressions très claires. Mais rien n'empêche évi- demment d'utiliser ce même adres- sage indirect pour rendre un pro- gramme illisible !
C1 Jean-Charles Lemasson
N° 23 - MAI-JUIN 84
ES ——————————
Le test de Fermat
(version décomposée)
« Toujours plus loin, toujours plus vite » devrait être la devise de tous ceux qui s’adonnent à la chasse pacifique aux nombres premiers. C’est en application de cette maxime que nous allons revenir sur le test de Fermat (1) grâce à un algorithme particulièrement rapide (exemples sur PC-1211 et PB-100)
B Rappelons que d'après le « petit théorème de Fermat », si N est un nombre premier et B un nombre quelconque non divisible par N, alors BN1 — 1 est divisible par N. La deuxième partie de cette proposition peut également s’écrire BŸ1 — 1 = 0 {mod N) ou BN1 = 1 (mod N) (pro- noncer : B puissance N moins un est congru à un modulo N).
L'important ———— c'est le reste
Ces relations signifient simple- ment que le reste de la division de BN-! par N est égal à 1. Par exemple, pour B = 2et N = 11: BN' = 210 — 1 024 et on peut vérifier que (BN°! — 1) qui vaut 1 023 est effective- ment divisible par 11, ou (conclusion équivalente) que le reste de la divi- sion de 1 024 par 11 est bien égal à 1. En effet, 1 024 = 11 x 93 + 1.
Cet exemple nous conduit à admetire que le reste de la division de BN°1 par N (ce reste ou résidu du test de Fermat sera appelé R, ici, B étant la base) peut fournir des indi- cations dans la recherche des nom-
{7} Voir l'Op n° 22 page 21. N° 23 - MAI-JUIN 84
bres premiers. Attention cependant, car le test de Fermat permet d'affir- mer que si N est premier, R est égal à 1, mais il serait hélas faux d'en conclure que si R est égal à 1, N est premier. Il en est presque toujours ainsi, mais pas toujours.
Voulez-vous un exemple, où plu- tôt un contre-exemple ? Prenons B = 4 et N = 15 et calculons le reste R de 414 divisé par 15 :
268 435 456/15 = 17 895 697 ; reste 1.
Dans cet exemple, R est bien égal
Différence de deux carrés
Certains calculs aux apparences compliquées peuvent être facilités par l'utilisation de formules algébriques : les identités remarquables.
Ce sont des égalités plus ou moins faciles à retenir, souvent très prati- ques et qui peuvent être démontrées assez rapidement.
L'une d’entre elles est appliquée ici :
æ& — b? =
(a — b){a + bloùüaetb sont des entiers.
En effet, si on remplace a par 27 et b par 1, cette identité devient : (2792 — 12 = (200 — 13 (20 + 1)
Et justement (21/1)? est égal à 2:0*2 soit à 2%, Quant à 12, c'est bien égal à 1.
RS PS ns. #
à 1 et 15 n'est pas premier, bien qu'il « passe le test de Fermat ». C'est pour cette raison qu'il est dit pseudo-premier.
L'existence de ces nombres parti- culiers, comme 15 dans notre exem- ple, n'a été découverte qu'au début du dix-neuvième siècle. Cela dit, les Chinois utilisaient, il y a plus de deux millénaires, un test de prima- rité équivalent à celui de Fermat, et cela dans les deux sens en quelque sorte, sans restriction quant à la réciproque, et sans se rendre compte qu'il fonctionnait dans un sens et pas dans l’autre.
Plus près de nous, les program- mes que nous vous présentons reposent sur une observation élé- mentaire que nous allons illustrer par un exemple. Le plus petit nom- bre pseudo-premier en base 2 (ici, base est pris au sens de « base du test ») est 341. Tout ce que nous savons de ce nombre est que 2% divisé par 341 donne un reste R égal à 1.
Au lieu d'étudier la valeur de l'indicateur R, examinons celle de R’ = R — 1, autrement dit cher- chons le reste de la division de (2%0 _ 1) par 341.
Si R’ est égal à zéro, N est pre- mier ou pseudo-premier. Mais on
L'ORDINATEUR DE POCHE - PAGE 27
peut décomposer 2% — 1 en fac- teurs (voir l'encadré « différence de deux carrés »). En effet : 230 __ 7 = (270 _ 7) (210 + 7} et de même : 2170 _ 1 — (285 __ 1) (285 + 1) et finalement : 220 — 1 = (285 — 1) (285 + 1) (2170 + 1).
Pour que le reste de la division de 2%0 — 1 par 341 soit égal à zéro, il suffit que l'un des trois facteurs
Petit utilitaire : reste R où B2=R {mod N) = À : 2 Programtñe pour PC:1211
Auteur: Pierré Ladislas Gedo FE Copyright l'Ordinateur de poche et l'auteur
FOUE"SNIMEUIT °2= DEP ENEI LPS
EE
1 FEB F2 FOR HITS E
Pour adapter cet utilitaire au PB- 400, ten compte des ‘remarques accompagnant les programmes. 1 et 2.
PAGE 28 - L'ORDINATEUR DE POCHE
Nombres premiers le test
de Fermat
entre parenthèses soit congru à zéro modulo 341. Or 2% = 32 {mod 341) et 210 = 1 (mod 341).
Vous ‘pouvez vérifier ces résultats à l’aide du petit utilitaire ci-dessous, qui retourne, pour chaque nombre Z en base B modulo N, la valeur du reste de la division de BZ par N. On lance le programme par SHFT =
FAQ E=RKP-HX INT CR ENS CE
FAQIF CESDLET R ÆEKR-HHINT Exf-M)D=I-C
TA HEST HW
F0: FRINT
"RRVIR
Test de Fermät décomposé Programme 1, pour PC-1211
Auteur Pierre Lädislaë Gedo :Copytight l'Ordinateur de poche et l'auteur
k ne 4 F7
10: "A"IMPUT * N = LL H N
20:IF CN>12#CH< ECDxCN= INT ND<OBEEP 4: GOTG 10
30: IF N=2G0TG 1 4]
AC:1F N/2=INT < N“23GOT0 130
SO: MEN-1:E=INT CLOG (M+.50/ LOG 2)5C=277E 2 TEM-CIR=T
60:1IF N>=E6LET F=<E-S: G=INT CF HeFAN- G
70: G5SUB 200
S0:IF C<=DLET R =ZHP-N4INT < ZkR/NDSD=IC
2021F D>OGOTCG 7 G
100: IF P=IOGOT 1
47
sur le PC-1211 (et par PO sur le PB- 100, si le programme est en PO).
On a donc : 2% — 1 = 31 (mod 341), 285 + 1 = 33 (mod 341) et 2! + 1 = 2 (mod 341).
Facteurs de restes
Aucun de ces facteurs n’est con- gru à zéro, modulo 341. Autrement dit, quand on divise chacun de ces facteurs par 341, le reste n'est jamais nul. En revanche, le produit des trois restes (31 x 33 x2 = 2 046) est bien un multiple de 341 ; il est donc congru à zéro modulo 341.
ll résulte de cet exemple que l’on
110: IF P=MOOTC 1 4
120:IF C>260SLB 200! GOTO 110
ISOSHEEP ZEPRINT N3 "COPPOSE": END
140:J$f=" C195°
150:IF MNCZQ4PLET FF" 4
160:EEEP Z: PRINT M5 "PREMIER"3 TF:EMID
ZOO: IF PRCEGLET R ERR-NÆE{NT R RH: EC 2: RETURN
ZIDIS=INT <FRDST 2FR-S3:U=INT CRRNDSY= INT SFUS'UEFU-Yy
Ze0! REE1OFr<SS-6V +EST-CU-HYA4T T-Hii
230:IF RCOALET R= F+H
ZA4DIIF R>=HLET R =EI0*xCSS-CV+ 2ST-Ch-HVATT HN -N
230: C=C'2:RETLRN
N° 23 - MAI-JUIN 84
peut définir un nouveau test de pri- marité plus restrictif que le test clas- sique, en effectuant un test sur cha- cun des facteurs de la décomposi- tion. Notez que ce nouveau type de test, que nous appellerons décom- posé, n'admet pas un indicateur, mais plusieurs indicateurs : le reste de chaque facteur est examiné sépa- rément et si aucun reste n'est égal à zéro, N est composé ; en revanche, dès qu'un reste est égal à zéro, il est inutile de poursuivre les calculs, car N est alors premier où pseudo- premier.
Ce test décomposé n'est applica- ble qu'aux nombres impairs, car si N est pair, BN1 ne peut pas se décom- poser en facteurs. Mais cette restric- tion ne doit pas être considérée
Liste des variables {valable pour les programmes 1 et 2)
: nombre à étudier
:N—1
: base
: plus grand exposant de 2 tel que 2Ë soit inférieur ou égal à M
: 2E {plus grand nombre de la forme 2Ë inférieur ou égaf à M)
: excédent de M sur C
: reste du test de primarité
: variables de calcul en double précision ne dépendant que de N
: variables de calcul en double précision dépen- dant de R
comme une objection sérieuse, car il est inutile de se demander si un nombre pair autre que 2 est pre- mier ; pour avoir l’âme en paix, nous avons donc introduit en tête de programme une ligne qui règle cette question.
N étant ainsi impair, BM1 — 1 se décompose au moins en deux fac- teurs, mais souvent davantage et
e le reste de BÂ/N est-il égal à 1 ?
* le reste de B/N est-il égal à N — 1?
De plus en plus — rares
Dans le programme N — 1 est désigné par M. Le deuxième test devient donc : ie reste de BA/N est- il égal à M ?
Les autres facteurs, jusqu'à BIN1/2 ne nécessitent qu’un test : le reste de BK/N est-il égal à M? L'exposant K prend successivement
Nombres pseudo-premiers restreints inférieurs à 100 000
49 141 52 633 65 281 74 665 80 581 85 489 88 357
2 047 3 277 4 033
4 681 8 321 15 841 29 341 42 799
Test de Fermat décomposé
JIntroducfion de N
Trarfemant des cas parheulers
Znifialisafions
RAR: AR? {mod N} co
C2 C/e
R= 28 (moin) D: 2D-C
———————
les valeurs : {N — 1)/2.
Nous venons donc d'éliminer le nombre 341 de la liste des nombres pseudo-premiers. Mais notre éla- gage ne s'arrête pas là. En fait, sur les 78 nombres pseudo-premiers en base 2 inférieurs à 100 000 dont nous avons publié la liste dans le précédent numéro de /’Op (voir erra- tum au bas de cette page}, il ne subsiste, après passage au test dis- socié, que 16 nombres, que nous qualifierons de nombres pseudo- premiers restreints (la liste de ces nombres est reproduite ci-contre). Cela signifie que nous avons éliminé quatre nombres pseudo-premiers sur cinq. La marge d'incertitude du test est donc de 16/100 000, mettons de l'ordre de 2 x 10% pour N inférieur à 100 000. Mais en vertu d'une loi de raréfaction des nombres pseudo- premiers, là marge d'incertitude du test décomposé décroît rapidement pour atteindre une fraction de miltio- nième pour des valeurs de N attei- gnant plusieurs milliards.
2A, 4A, 8A... jusqu'à
Vite fait bien fait
Le programme 1 est établi en base 2 et il! repose sur le principe du test décomposé. !| permet d'étudier la primarité de tous les entiers infé- rieurs à 10'° en simple précision, et en double précision si nécessaire (le choix de la filière de précision est effectué automatiquement par la machine).
Le mode d'emploi est très sim- ple : après avoir lancé le programme {par SHFT A sur le PC-1211), intro- duire la valeur de N. Après un dou-
OO, \u-
BA gala Ve DEL.
sem au écrire * 40
l'on En BN1 — UE (BA — 1) Be {*} Sous-programme de calcul de R2 1) (B2A + 1) (BA + 4) …. (BIN- {mod N} en simple précision pour + 1). R < 106, en double précision au-delà de
: 5. à é cette valeur. L'exposant À est le premier impair
obtenu après divisions successives de N — 1 par 2 (A = 85 dans notre exemple). On voit ainsi que le fac- teur affecté du plus petit exposant {donc impair) nécessite deux tests :
N composé
N° 23 - MAI-JUIN 84 L'ORDINATEUR DE POCHE - PAGE 29
Nombres premiers le test
de Fermat
ble bip {sur le PC-1211 seulement), le résuitat apparaît sous forme de l’un des trois messages suivants : N COMPOSE, N PREMIER ou N PRE- MIER (12).
La présence éventuelle du
symbole (1?} signifie que l'assertion « PREMIER » est affectée d'une marge d'incertitude. Notez que ce symbole a été omis pour les nom-
Test absolu de primarité pour N < 100 000 Programme 2, pour PC-1211
Auteur Pierre Ladislas Gedo
Copyright l'Ordinateur de poche et l'auteur
S00: “EUIHEUT ON = U3N SAQOSIF CNÈLIX CHE ESxCN=INT N
*=OBEEP 4:
GOTD ©<0
IF N=SGOTC 6
40
S3OSIF N/Z=INT € H2)GC0TU 620
Ed: MEH-ATE= INT CLOS CM+. 527 LOG 2)5B=Z
m0: CEE: DEN: F:=B
50: R=R4R-NA INT
CRHR ND EI CC
£ S70:IF C<=DLET R ZEXR-NAIMNT € EtR/ND:D=Ir-C IF DHROTC S 60 IF R=IGÜTL 6 2 IF R=MGOTE 6 35 IF CHALET R= FxHR-METNT OR #RÆNI:C<C/ 28 GT 600 20: BEEP ZEPRINT Hs COPMPOSE": END IF N<:047 GOT 650 :IF B=ZLET B= Z:GÜTS 550 MEÉEEP SPRINT H$ "PREMIER": END
£D0: A10:
PAGE 30 - L'ORDINATEUR DE POCHE
LIST
la revue de la
programmation individuelle
bres inférieurs à 2 047, car en decà de cette valeur, il n'existe pas de nombre pseudo-premier restreint en base 2, donc pas d'incertitude.
La vitesse d'exécution, loin d'être affectée par la décomposition en facteurs, se trouve même améliorée par rapport aux programmes que nous avons publiés précédemment sur ce thème, puisque le temps d'exécution est inférieur à 30 secon- des nour les nombres de 5 chiffres ou moins et de 30 secondes à un peu moins de 2 minutes pour les nombres comportant de 6 à 10 chif- fres.
Nous n'avons jusqu'ici évoqué que les tests en base 2. Mais lorsque le test décomposé indique que N est premier ou pseudo-premier en base 2, il est parfaitement tégitime d'effectuer un autre test dans une base différente. Si ce deuxième test indique que N est composé, c'est que N était pseudo-premier en base 2, mais qu’en réalité, il est composé. Si le deuxième test indique que N est premier, la probabilité pour qu'il en soit ainsi augmente considérabie- ment. En fait, en base 3 cette proba- bilité devient une certitude pour tous les nombres inférieurs à 100 000, car nous avons vérifié qu'aucun des 16 nombres pseudo- premiers restreints inférieurs à 100 000 ne résiste à un test décom- posé en base 3 (certains d'entre eux : 15 841, 29 341, 49 141, 52 633 et 90 751 résistent cependant à un test simple). En effet, les 16 tests
(voir page 5)
correspondants donnent tous pour résultat : N COMPOSE. Vous pour- vez le vérifier en ajustant le pro- gramme 1 en base 3 moyennant les modifications suivantes : à la ligne 50, R = 2 devient R = 3 et à la ligne 80, R = 2x R — N x INT (2x R/N) devient R = 3 * R — N * INT {3 x R/N).
Rapide et sûr
Le programme 2, indépendant du programme 1, exploite cette pro- priété et devient ainsi un test absolu, valable sans restriction dans tous les cas pour les nombres infé- rieurs à 100 000. L'’algorithme utilisé est très simple :
e Tester N en base 2.
Si la conclusion est : N composé, afficher N COMPOSE.
Si la conclusion est : N premier {12}, passer au point suivant.
e Tester N en base 3.
Si la conclusion est : N composé, afficher N COMPOSE.
Si la conclusion est : {12}, afficher N PREMIER.
Le mode d'emploi est identique à celui du programme 1, avec initiali- sation par SHFT B sur le PC-1211.
Le programme tourne rapidement. Les temps d'exécution sont infé- rieurs à 15 secondes pour tout nom- bre inférieur à 2 047, à 20 secondes pour tout nombre composé (autre que pseudo-premier en base 2}, à 45 secondes pour tout nombre premier ou pseudo-premier en base 2, sur le PC-1211. Le PB-100 est environ cinq fois plus rapide.
Nous avons limité la valeur maxi- male de N à 100 000 parce que nous avons pu vérifier qu'il n'existe pas de contre-exemple jusqu'à cette valeur, mais il est possible que l’on puisse aller beaucoup plus loin sans risque.
Si vous êtes tenté de rechercher un contre-exemple entre 100 000 et 1 000 000 (il en existe peut-être), transformez £ 5 en E 6 en ligne 510, et armez-vous de patience.
[] Pierre Ladislas Gedo
N premier
N° 23 - MAÏ-JUIN 84
Demandez le menu
Quel morceau du module X-Fonctions désirez-vous croquer ce soir ? Un EMDIR bien arrosé de GETSÜUB, par exemple ? Faites votre choix.
B Le programme que je vous pro- pose est bien un menu d'opérations exécutables avec le module X- Fonctions de la HP-41 C. Il est ainsi possible par exemple d'obtenir auto- matiquement le catalogue des fichiers {fonction EMDIR) en pres- sant une simple touche du clavier. Mais surtout, le programme apporte des routines utilitaires, tel le tri alphabétique, développées pour faciliter la gestion des fichiers de
N° 23 - MAI-JUIN 84
programmes ou des fichiers ASCII (textes).
L'introduction du programme demande quelques notions de pro- grammation synthétique de la HP-41 pour obtenir des fonctions telles que RCL M (imprimé RCL [) ou STO d. Vous les trouverez notamment dans Op 19 page 22.
Au tout début, —bien sûr, la création—
Le programme est assigné à la touche TAN {TF1 en mode user). En fait, il s'assigne de lui-même lors de sa première exécution (voir les 4 premières lignes du programme). Une fois lancé, le message OPTION vous demande votre choix. Vous
PK ST Ye NX ee
tn AR . ae Se
A
ês |
de 7 au a
ss
ee y ne NT Re
JR
o Ÿ
NX LR F
et ge D A QUE CEA USER AS RE Puel SSS a RSR NET NS SEE D:
précisez celui-ci en pressant simple- ment une lettre depuis le clavier. Le « tableau des options du Menu » vous montre quelle lettre provoque quelle action.
L'option C de création d’un fichier de texte vous demande l'introduc- tion de deux paramètres : le nom du fichier (FICHIER ?) et le nombre de caractères que l’on souhaïite y stoc- ker (REG). Celui-ci est exprimé en nombre de registres, sachant qu'un registre permet de conserver 7 caractères. Enfin, le message TEXTE vous invite à taper votre texte. Une phrase (ou enregistrement) est ter- minée par R/S. On peut alors passer à l'enregistrement suivant. Si rien n'est tapé, cela termine la procédure d'entrée de texte. Toutes ces phra- ses, ces enregistrements, forment le fichier de texte.
L'option D comme Destruction
L'ORDINATEUR DE POCHE - PAGE 31
Demandez le menu ! HP-41 + X-fonctions
sert à effacer un enregistrement. Presser D fait apparaître FICHIER ? ; comme précédemment, répondre par le nom du fichier à traiter, où simplement R/S pour le fichier en cours. Chaque enregistrement est visualisé pendant quelques secon- des. Presser D pour commander sa destruction, R/S, ou attendre, pour passer à la phrase suivante.
Î permet d'ajouter un enregistre- ment au fichier. Après avoir répondu au traditionnel FICHIER ?,
Programme po Fe HPAL Çer | F module X-fofictions © À. ‘Auteur Robert Sérafme # : à Copyrighr ifateuride poche et l'auteur:
34+LBL 77 35 SF &4 36 STO 68 37+iBL 76 38 SF 96 39+18L 68 48 XEB 85 4i F5? 82 4è GTO 67 43 RE b 44 SF 25 45 GETREC 46 FC? 25 47 GI0 i@ 48 AYIEN 49 F5? 6 58 ST b 51 F5? 84 32 GTO 64 S3 4
94 GETKEY 99 #=Ÿ? 56 DELREC 97 RCL 7 56 ST0 b 59+LBL 64 68 34
fi TOHE Ë 62 GETKEY 63 CF 43 4 k=Y? 65 PRONPT 66 RCE 2
Dématdez,.le menu f © . ;
ALeLBL FI" 92 "OF!" 83 ATOX
ü4 PASN B5e+LBL 18 86 "ébqas" g7 RL I 88 STO d 83 "OPTION" 18 ANTEH ii RL b 12 PSE
13 FC9C 23 t4 STO b 15 ATUX
16 GTO IND x 17 FC? 25 18 GT0 18 i9+LBL 67 28 SF BI èl EG 85 22 °REG* e3 AOFF
24 PROMPT 25 CLA
26 ARCL 81 2? CRFLAS ea FE? 25 è9 GTO 18 38 GTO 6? 314LBL 73 32 SF #2 33 610 68
PAGE 32 - L'ORDINATEUR DE POCHE
introduisez votre texte, tout simple- ment.
L'option L est une visualisation rapide de toutes les phrases d'un fichier de texte.
Avec M vous pouvez modifier un enregistrement. Choisissez votre
67 FC?C 23 68 SO b
69 DELREC 28 INSREC
184eLBL 85 195 XEB 86 106 "CHAINE" 197 AON
Dès à prése
lace d D Eaoi PARIS CEDEX 10
nt , écrivez à
LIST
u Colonel Fabien,
fichier, puis, lorsqu’apparaît la chaîne à changer, inscrivez le nou- veau texte, directement.
L'option R est particulièrement intéressante pour traiter les informa- tions du fichier. Il s'agit d'une recherche d'enregistrement effec- tuée à partir d'un ou plusieurs carac- tères de la phrase à retrouver. Ceci est utile si par exemple votre fichier n'est autre qu'un carnet d'adresses, Le mot recherché peut très bien se situer n'importe où dans une
141 RTH
142 FS2C 23 143 ASTO 91 144 F57 81
128 GETREC 129 FC? 23 189 GTO @3 18t RCLPT
71 STE 72eLBE 87 73 RC b 74 SF 25 25 CF 23 76 "TEXTE" 77 AOH
198 PROMPT 149 FC9C 83 114 GTD 18 {11 ASTO 43 ia RL b 153 CLA
114 ARCL 83
145 RTH 146+LBL 96 14? 5F 25 148 CLA
149 ARCL A1 158 ;
191 SEEKPTA
182 INT 183 510 84 184 RH 185 ATOX 186 X=Y? 187 GTO 93 188 RCL 88
78 PROMPT 29 FC9C 23 88 GTO if 81 APPREC 82 FC? 25 83 GTO 14 84 STO b 85eLBL 88 86 SF 64 87 GF9 03 88#LRL 7i 89 SF 03 JheLBL 83 91 "PRGN" 92 PROHPT 93 ASTO x $4 F5? 83 95 GETSUB 36 SAYEP 97 F5? 03 38 GTO IKD x 39 F5? ÿ4 188 PCLPS 181 GTG if 182+LBL 82 193 KES 05
115 POSFL 116 xt8? 117 GTO 49 118 RELPT 19 INT 124 SEEKPT 121 GETREC 122 RCL 2 123 PROMPT 124 STO b 125+LBL 58 126 ENBIR 187 REL b 128 SF 25 129 SF 86 134 KEQ 85 131 PURFL 132 FC? 25 133 GTD 18 134 RON 135 ST6 b 136+LBL 85 137 RCL b 138 "FICHIER?" 139 PROMPT 149 F5? 86
189 INT 199 x=Y? 191 GTO 82 192 GTG 81 193+L8L 83 194 ,
193 SEEKPT 196 156 98 197 GTO 81 198 CTO 84 1939+LBL 62 208 RCL 44 281 SEEKPT 262 GETREC 283 DELREC 284 APPREC 285 ;
286 SEEKPT 287 GT0 81 288+LBL 64 289 ,
218 SEEKPT 211 DELREC 8i2eL8L 74 213 OFF è14 EXD
152 RDN 153 F5? 25 154 RTR 195 F5? 67 156 GTG 14 157 TOHE 5 158 SF 07 459 STG b 1686LBL 69 161 EMBIR 162 VIEW K 163 PSE 164 GTG 18 1656LBL 75 166 XEG 95 167 *
168 APPREC 169 ATOX {76 STD 03 171 65,99 172 570 68 173;
174 SEEKPT 175+LBL 81 176 SF 25 127 RCL 83
N° 23 - MAI-JUIN 84
. ; ableau des Options du Menu
C - créati 5 l
: ee Un fichier de texte | ion d'un i
| en ne .enregistrement
- Classement LR alphabéti e fichier de texte” #étique d'un ” ViSualisation rani
4, L CAT E de texte bide d'un fichier
un
Programme en
- Sêuvegarde dq' u vers l'X-mémoire "Programme - fin des travaux HP-4
et extinction de {a
phrase. Toutes les occurrences sont retrouvées, c’est-à-dire que la même chaîne située à différents endroits du fichier sera successivement affi- chée.
L'option K réalise le tri alphabéti- que du fichier. Les phrases sont réordonnées dans l'ordre croissant, il suffit d'indiquer le nom du fichier à classer et d'attendre, parfois assez
longtemps. C'est pourquoi il est recommandé de trier les longs fichiers. la nuit! La HP-41 C
s'éteindra toute seule une fois le tri terminé.
Cette extinction automatique de la HP est une des options du menu, l'option F. Ce peut être un moyen de sortir du programme.
Enfin, la lettre E correspond au catalogue de tous les fichiers, tex- tes comme programmes. Ces der- niers sont gérés à l'aide de trois options : G, P et S, qui correspon- dent respectivement à GETSUB, PURFL et SAVEP. Dans l’ordre, ces fonctions réalisent le rappel en mémoire centrale d'un programme conservé dans la mémoire auxiliaire du module X-Fonctions, la destruc- tion d'un programme en X-mémoire et le transfert d'un programme de la mémoire centrale vers le module.
——— Quand on agite —— —— tous les drapeaux —
De nombreuses instructions synthétiques élémentaires sont employées. Le plus souvent elles permettent une manipulation rapide de tous les drapeaux du système (les fags où indicateurs binaires).
Les lignes 02 à 04 du programme assignent automatiquement le label TF4 à la touche TAN. Ce qui apparaît comme un © au pas 02 de la liste est
ALL ? ici, AGENT SPÉCIAL HP-41C...
N° 23 - MAI-JUIN 84
un caractère visualisé K de code 25. Ces pas synthétiques peuvent être remplacés par TFI, 25, PASN.
Les lignes 05 à 18 initialisent les drapeaux à l’aide d'une chaîne de caractères spéciaux dont les codes sont stockés dans d, le registre des drapeaux. Les codes de ces caractè- res mettent à zéro (CF) tous les indi- cateurs sauf les n° 21, 25, 26 et 27 (qui peuvent aussi être armés nor- malement avec l'instruction SF) ainsi que les n° 31, 40, 48 (AON) et 55 (imprimante). Les codes de la chaîne synthétique sont les sui- vants : 0, 0, 4, 113, 0, 128 et 129.
Pour ceux qui ne sauraient pro- grammer une telle chaîne (fonction mu), faire simplement T (deux espa- ces), 4 XTOA, 113 XTOA, 0 XTOA, 128 XTOA, 129 XTOA. Le reste : RCL M, STO d est inchangé ; con- ciure enfin par CF 02.
Vous aurez certainement noté qu'à chaque lettre d'option corres- pond un sous-programme dont le label n'est autre que le numéro du code ASCII de la lettre. Ainsi à la lettre À correspondrait un LBL 65. En continuant sur le même principe, vous pourrez rajouter au programme autant d'options que vous le souhai- tez.
[1 Robert Séraline
ACCOMPLIE :\
FICHIER DÉTROIT!,
L'ORDINATEUR DE POCHE - PAGE 33
A vous de jouer sur le PB-100
Petit, rapide et doué pour les maths, le PB-100 permet aussi de se divertir. Parmi les programmes de jeux que nous avons reçus pour cet ordinateur,
nous en avons sélectionné cinq. Ils présentent l'avantage de fonctionner sans imprimante et d’être
assez courts pour convenir au PB-100 dans sa
version de base. Aucun de ces programmes ne dépasse donc la barrière fatidique des 544 octets.
B Cinq mots bizarres se présentent l’un à la suite de l'autre à l'écran : ce sont des « mots de signes » {1}. ls sont bien difficites à lire et plus difficiles encore à retenir. lis s’appel- lent respectivement L1, 12, L3, L4 et L5. Un sixième « mot de signes » apparaît alors. ll s'appelle Te, comme Test. Si Te est semblable à l’un des mots L1, L2, L3, L4 ou L5, frapper alors O (comme Oui, Te a déjà été vu). Dans le cas contraire, frapper N (comme Non, Te n'a pas été vu, il est nouveau).
Si votre mémoire ne vous a pas trahi, vous bénéficiez d'un message de félicitations. Sinon, un message signale votre erreur. Le nombre d'essais est introduit en début de partie, et le score final est affiché sous la forme d’une note sur 20.
[1 André Turlure
{7} Le programme d'André Fédrich pour HP- 41 C, dans l'Op 7 page 41, proposait un jeu semblable.
PAGE 34 - L'ORDINATEUR DE POCHE
# $
Test nénioiré: % Proërammé pour PB-100: * Auteur André Furlure * . Cepwight 1 "Ordinaïeur de ‘poche et l'auteur
ITA ÎF KEY="" THEN EL
438 pas
6 YAC :PRINT "Tes t fenoire*
28 el “Nb essal
“,#
38 FR L=i TD A
44 PRINT PRINT *u ñ instant‘;
SO #=" EX Ofrs-+usz 7#$t0ex
50 A$="":p=" "C4 MEL CIS FRS JE=N"
74 FOR Q=t 70 6:FÜ R PER T0 5
38 R<INT (RANS29) +LEKS-MIDR, 1)
Ja AS(P)=ASEP}+K$: NEXT PINEXT 9
188 FOR P=à TO 4
119 PRINT :PRINT P+ L5CSR GS *L':CSR S:A$(P};
{26 60SUB S88:NEXT p
148 PRINT :FOR 4-4 T9 SOSNEXT &
198 R=INT CRANH19) ETF Rd; R=5: J$= “{*
168 PRINT “Te:CSR SrA$CR};
189 PRINT
288 IF KEY=J#3 PRINT [SR 35 °"’erreur *::60SUB 569:6 QTO 258
214 PRINT CSR 35 ‘Br avo L'NSN#I: 6 DSUB 5:88
298 HNEXT L
278 PRINT PRINT ‘5 CORE:":INT (28 N/h}3°/29"
398 END
588 FOR G=4 TO 139: NEXT A:RETURN
JE NEN METTRAS PAS MA MAN | AL FEU MAIS JE TROUVE Tour DE MÊME QuU'iL y À UN AR
DE FAMILLE ENTRE LA 5ème ET LA 6ê"e LiGNE !!!
N9 23 - MAI-JUIN 84
M Même sans songer à piloter un avion de tourisme, il peut être amu- sant de tester ses capacités d'atter- rissage sur un PB-100. C'est-à-dire d'essayer de poser un appareil en douceur. Au moins ne risque-t-on pas de « casser du bois ».
Deux nombres défilent à droite et à gauche de l'écran. lis symbolisent l'aititude de l'avion. Ils partent de 200 et tendent à se rapprocher de zéro, mais ils ne vont pas à la même vitesse. Le but du jeu est d'obte- nir qu'ils atteignent zéro au même moment. Et ceci grâce à deux tou- ches du clavier : « 1 » qui ajoute dix au nombre de gauche et « 3 » qui ajoute dix au nombre de droite.
TA L'IMPRESSION QUE LE PROCHAIN ESSA VA ÊTRE
Si l'avion se pose au moment de l'égalité à zéro, vous aurez gagné des points de « bonus ». Avez-vous heurté la piste du bout de l'aile droite ou gauche ? lis ne vous reste plus qu'à recommencer : vous ferez sans doute mieux une prochaine fois.
C3 Jean-Pierre Raby N° 23 - MAI-JUIN 84
missée ‘ei douceur | Programme :pôur, PB*100 :
Auteur Jean-Pierre Raby . # F Copyright l'Ordiriateur dé ppchefet laueür
b N=208
ï PRINT “Pilote“: # *t'honus:288
pts*
3 A=208:B=R:F=Q:E =fsÜ=R:P=8 L=t+}
C=INT CRANR#2)+ L'D=INT CRAMR? j#l
13 IF C=0 THEN 12
28 A=A—C:B-B-D
22 F=A4P:E=B+0: 60$ UB #7
38 Y$=KEY
JL IF Y#=" 15; P=p#) 8:60SUB #3
32 IF Ÿ#="3";:0-0#i 8:60SUB #3
34 2=8
ÎF F2Z5IF ExZiP RIHT HEURTE À DROITE": 6070 48 ÎF F4Z5IF Ezz5P RINT “HEURTE À GAUCHE": G60TO 48
38 IF F=25IF E=25P BINT “ATTERRI!" :60T0 42
33 60T0 28
44 N=N-SO: PRINT °R ESTE"S NS" Eyes "TOUR": 6070 58
42 H=N+3O: PRINT *6 AINS":N3" EN": :*TBUR*
68 PRINT "EXE pour
repartir*:607T0
P?
19 PRINT CSR 9:F:C SR F'E5 PRINT : RETURN
07 LE
i6 PRINT CSR @5P3C FR 7:05 :RETURN
MB Trois « piques » et trois « trè- fies » se trouvent face à face. Tout semble bien se passer et pourtant, ils ne seront vraiment à l'aise que lorsqu'ils auront inversé leurs posi- tions : les piques à la place des trè- fles et les trèfles à la place des piques.
Pour cela, il suffit d'introduire un chiffre compris entre 0 et 8. Ce chif- fre représente la position de la figure à déplacer. Mais les déplacements ne se font pas tous de la même façon. Aussi faut-il commencer par découvrir ce qui se passe. Si le jeu
L'ORDINATEUR DE POCHE - PAGE 35
A vous de jouer sur le PB-100
NES
dé & æ. XX + : æ 4 # À Piques et tréfles® * , ; : * Programme pour PB-400 7. Aüteur’André Turlüre: : # ; CopvyrighilOfdinüteür de poche. er:lauteuf
422 pas
8 FOR J=8 TO 8 ST EP diA$CJ}=t ": HERT J
28 FOR J=1 T0 3:h$ (JE P4NINERT J
38 FOR J=5 T0 7:A$ CDS "RU IMERT J
49 FOR J=8 TO 3:PR INT CSR J:ASCD)
38 EXT J
68 IF AÿHB$+C$+D$+ ES+F#H6$eh$+1$+ JS tr tt THEN 169
T8 INPUT K:LS=ASUK YF L$=* "THE N 49
88 IF L$="#" THEN 126
30 IF A$CK+13="_*: ASEK+I)=" RAS K}="_":6070 48
188 IF A$(K+2)="_": ASCKEZI= MATRA K)=".":6070 48
128 IF L£s®+" THEN 48
125 IF K=8 THEN 48
138 IF A$CK-1)="_": A$CK-1)= CUT ASC K)=°_":6070 48
149 IF A$CK-2)="_": AFCK-2)= "ASC K)="_": 6070 48
154 G0TO 48
169 FOR J=B TG 99H EXT J
176 PRINT PRINT °&
relance par SHIFT n, le programme étant en zone Pn.
est bloqué, on le
Ce petit casse-tête admet au moins une solution. Elle peut être trouvée assez rapidement.
[ André Turlure PAGE 36 - L'ORDINATEUR DE POCHE
N PR ee =
M || vous faudra faire preuve de beaucoup d'attention pour devenir un champion de ce tir à l'arc un petit peu particulier. Il réclame, en effet, de la rapidité et de la préci- sion. De plus, l’affichage est assez pâle, même avec le contraste poussé au maximum (ce peut être l’occasion de changer vos piles !).
Vous vous trouvez à gauche de l'écran, symbolisé par Z, et vous
ges SE @ À à À “À eue ue Ti su Vol“. « #7 Lu à | «Progränime poir6PB-100 sAuteuf Läurent rilktän
“Copirighwl Ordinateur de Poëhe et l'auteur .
& * 494 pas
19 Cg=t nsppsne ns RE te =BSH=4: MODE HER =à
28 F=11: J=2
38 FOR 1=1 TO N:6$ SKEV:IF Bé="e" THEN 99
35 MEXT I
4 JeJHIF J=S5Je
45 F=F-LA2IF F8: F=8
38 PRINT *PRINT *E CGR F:R$(J};: IF INT F=@ THEN
158
58 G0TO 38
38 A=LER=R4L: IF R) T° THEN 48
98 PRINT :PRINT "£ “SCSR FrA$CJ):C SR A5":
39 IF A=INT F:IF J 53 THEN {28
TL © Socrosseces ETS FE Lo db Ts ET]
LA PROCHAINE POIs Ty REGARDERA À DEUX Fos AVANT D'ACEPTER. NI IMPORTE UEL PROGRAMME DE Tex!!!
EE
=] Le Sao EE
AP34
visez une espèce de gibier assez rare, symbolisée par un point ou une apostrophe selon sa position. Ce gibier se déplace vite, de bas en haut et de la droite vers la gauche de l'écran. Il ne peut être touché que s'il se trouve à mi-hauteur sur l'affichage (ni en haut, ni en bas).
Pour décocher vos flèches, vous disposez de la touche E, en bas et à
188 A=AH1:IF A=12 T HER 39
118 6070 98
128 PRINT :PRINT CS R 23 "TOUCHE": °F OR 1=1 T9 ((9-N J4F-H)/ 1,34)
125 M=W#i: PRINT
138 PRINT CSR 3:M;: NEXT LENAN-LIF N=-1:N=@:K=K-1 #3
140 IF K:9,45K=8,4
145 R=8:60T0 28
158 FOR I=t T0 5:FD R F=1 TD 3:PRIN T
55 PRINT D$::<MEXT F:FOR F=1 TO 3
168 PRINT CSR QE" FEMEXT FiNERT ! PRINT
165 PRINT "SCORE": M HI
T6 IF H)6 THEN 388
189 MODE H:R=8:60T0
28
398 IF N)2:2=h
318 PRINT CSR 8; "Me illeur score*:2 6070 18
N° 23 - MAI-JUIN 84
droite du clavier alphabétique. Cette touche ne peut servir que trois fois par tour à moins que vous ne fassiez mouche. Dans ce cas, vous récupé- rez trois flèches. La proie, elle, se défend en augmentant sa vitesse. Dès qu'elle vous a rejoint, vous « clignotez ». Le tour suivant va être engagé.
Une partie se compose de trois tours qui se distinguent l’un de l'autre par l'indicateur angulaire allumé : DEG, RAD ou GRA. A la fin, le score est affiché, ainsi que celui de la meilleure partie. Ce der- nier disparaîtra avec l'instruction VAC qui peut être présente dans un autre programme.
CO] Laurent Boulanikian
M Le « croq' tout » est un petit ani- mal qui dévore tout sur son pas- sage. Comme il emprunte toujours le même chemin et que sa vitesse est constante, il est possible de l'évi- ter. || fait la traversée de l'écran de la droite vers la gauche et arrivé au bout, il réapparaît tout à coup à la droite et poursuit son chemin. Vous êtes symbolisé par un petit rond positionné, au départ, à gau- che de l'écran et vous voulez abso- lument éviter le crog’ tout. Vous avez la possibilité d'aller à droite grâce à la touche P (vous marquez alors un point), d'aller à gauche
PAS MAUVAIS CES ORDINATEURS
N° 23 - MAI-JUIN 84
les amateurs
Croq' tout Programme pour PB-100 : . Auteurs Luis Godinho et.dean-Marc‘Odobez
Copyright l'Ordinateur de poëhe et les aüteurs
535 Pas
2 PRINT ‘CROG’TOU T'IS::60SÛB 99
À 4=dN=B:[=ji:L= 8:0=8
6 FOR 8-11 TO AS TEP -i
4 FRINT CSR A: “0* SCSR Bi": IF Bal: PRINT £2 R ISSXSIIF Az! THEN 68 50SUB 98:PRINT CSR B5°-"::60SÙ B S4:IF A=B THE N 72 IF 337 THEN 28
8 ÏF A=F THEN 58 PRINT CSR F:"$"
D=D+1:IF D=30;D =ALFSINT (RAM a) S-KEV:IF G4="P PERAHLENENHE! F A=B THEN 78 24 IF 66="0": ff 2h
grâce à la touche Q (vous perdez alors un point) ou de disparaître de la vue du croq' tout lors de son pas- sage sur vous grâce à la touche W (auquel cas vous marquez cinq points}.
A tout moment, une croix peut venir s’interposer sur une position quelconque de l'écran et pendant une durée variable. Si elle vous barre le passage, la seule solution consiste à attendre que le croq' tout lait dévorée. Attention à ne pas la heurter : elle vous ferait disparaître. Si par malchance elle surgit directe- ment sur votre position, il n'y a rien à faire.
Une revue pour de programmation .
LIST
{voir page 5)
25 IF B=M:B=12:H-1 NT {RAMP12)
23 IF B=HSIINT R AN#s12)
34 IF A(ASA=t1
32 IF 41158
4 PRINT :MEXT B
38 E=INF (RAM); HSM: D=8
32 JSF: IF PS: J=F- T7
54 PRINT ESR J5E:: G0SUB 98:6070 : C)
59 ISF A1: 1-3
52 GOTO 74
74 PRINT CSR A-1;*
F2 IF 58="N": MMS :G0T0 26 74 GOSUB 99:L=L+1: IF L:3:60T0 78 6 PRINT * MORT We "rLr60SUB 99:6 ÔTR 22 3 PRINT "FINI 1: :60SUB 99 30 PRINT "SCORE=": H:60TO 2 30 FOR 2=8 TO 3: 8T Z:RETURN 39 FOR C8 TO 288: NEZT C:PRINT :R ETURN
Pour vous aider à améliorer votre score, un dollar se manifeste régu- lièrement à un endroit imprévisible de l'afficheur. Si vous l'atteignez avant qu'il ne s’évanouisse, vous gagnez un nombre de points com- pris entre 0 et 30. C'est parfois très payant mais il arrive aussi que l’on ne gagne que deux points tout en en perdant cinq pour atteindre le dollar en reculant.…
Une partie se joue sur trois tours correspondant chacun à une vie. Si vous voulez vous amuser, ne vous laissez pas dévorer trop vite.
Luis Godinho [1 Jean-Marc Odobez
L'ORDINATEUR DE POCHE - PAGE 37
Les grenouilles n’ont peur de rien
Six grenouilles, parfaitement intrépides, se lancent dans une aventure moderne
et très périlleuse :
la traversée d’une autoroute.
Votre tâche consiste à les guider pour leur éviter tout accident (programme
pour ZX 81).
B Les Britanniques, dit-on, n’aime- raient pas les grenouilles. En fait, ils ne comprennent pas que l'on puisse les manger. On aime donc les gre- nouilles, Outre-Manche, mais trop {ou pas assez) pour en faire un plat. Toujours est-il qu'il nous vient de là- bas un jeu vidéo, devenu un classi- que du genre, où l’on doit aider des grenouilles à traverser une auto- route. C'est une version de ce jeu, adaptée au ZX 81 (16 Ko} qui vous est proposée ici.
PAGE 38 - L'ORDINATEUR DE POCHE
l 5-90 :
. Le programme dans ses grandes lignes
initialisation des variables A$ {Voitures} ” 100-129 : plan du: jeu 130-135 : initialisation de la position des grenouilles : 140-190 : déplacement des voitures 200-270 : sous-programme de dépla- , Cement de la grenouille 300-329 : cas où l’on a réussi une tra- ; vergée 325-360 : on a gagné la’ partie 370-385 : cas où l'on a raté une tra- versée 390-410 : on a perdu.
Variables utilisées
A$(1), A${2), A$(3} : les voitures D : niveau de difficulté G*: nombre d'erreurs encore autori- $ées E : nombre de traversées réussies H : nombre aléatoire valant entre 0 : et 13 PA et P: position de la grenouille (colonne et rangée} W : exarnen de l'écran à la position P1, P:. : Fet à: variables de boucles.
Le niveau de difficulté varie, au choix du joueur, entre 1 (très diffi- cile) et 12 (facile). Il est demandé dès que le programme est lancé. Le plan du jeu apparaît ensuite à l'écran. Un « M » inscrit sur fond noir représente, en bas et à gauche, l'endroit d'où partent les grenouilles. Chacune d’entre elles va tout droit, sans prêter garde à la circulation. Heureusement pour elle, vous êtes là : en appuyant respectivement sur les touches 5 et 8, vous la guiderez vers la gauche ou la droite.
La victoire est acquise lorsque six grenouilles ont rejoint, de l’autre côté de l'autoroute, six petites cases qui apparaissent en grisé, et vous n'avez droit qu’à trois « accidents ». Le temps n'intervenant pas, aucun score n'est tenu, et c'est un affi- chage particulier qui vous indiquera si vous avez gagné ou perdu. La compétition consiste donc ici à choi- sir des niveaux de difficulté de plus en plus ardus.
Ah, j'oubliais : si vous le voulez, rien ne vous interdit d'imaginer que les grenouilles sont en réalité des hérissons…
[1 François Fayard
N° 23 - MAI-JUIN 84
Six petites grenouilles
Programme pour ZX 81 (+ 16 Ko) Auteur François Fayard
Copyright l'Ordinateur de poche et l'auteur
ri F8; "DIFFICULTE FA: 12 INPUT ©
UE ar. 7 OR D>12 THEN GOTO
zn
T (RND#&14)
THEN En = ASE {F,6@) =CHRS&
NEXT 199 PRINT AT Fees nn 111 FOR F=1 TQ »?0 112 MES ee NE 8: "MN": TAB 351; '#
114 NEXT 12€ PRINT AT
SH QAR æ
pu } TORONUHIN NH
135@ LET F1-g 135 LET PF-20 106 PRET re deu Et L Tê LEN, À {11-353 145 PRINT AT $ :
Hire PRINT AT 16° 8; A$(1, F TO F+3 168 PRINT AT 5,0; A%1{2,F TO F+31
"170 PRINT AT 10,9; se LEN RIZ 1-3G-F TO LEN A$ 3) - ,
18@ IF 28 THEN GOSUE 26e
185 NEXT
13G GOT9I 140 20SG LET F=P-, 218 LET Pi=Pi+{INKEY#$="9") - (INK EV$&="S")
e PRINT AT 1;
(PÉEK 16390+256 #
1
; "M" R WU=176 THEN GOTG
U=136 THEN GOTO 3@@ 278 RETURN 308 PRINT AT S,P1,"{/" 310 LET E-E+1 S2@ IF E<:6 TARA AeoT9 150 325 FOR F=1
336 PRINT AT! sé En SSI FOR G=1
P ESS PRINT AT ,P
24G IF WU-1288
N° 23 - MAI-JUIN 84
——————
332 NEXT 335 PRINT AT @,G;°
336 FOR 9=1 TO 3 2237 NEXT 9 548 NEXT F 3S& PRINT AT 19,9; "BRAVO ,UOUS A VEZ GAGNE. de SS PAUSE 4F4 RUN LET G=G-1 PRINT AT P,P21;: PRINT AT 21, 1848: “n: IF G>-1 THEN GOTO 130 G PRINT AT 19,0; "VOUS AVEZ FA si ESARSER TOUTES Vos GRENOUILLE
“Ad& PRINT ,."PAR CONSEGQUENT , VOU S AUEZ PERDÙ*
49S PAUSE dEd
41 RUN
SG SAVE “FROSGES"
EXEMPLE D'EXECUTION
RE RE RE
# = ER HE
BRAUO,UQOUS AUEZ GAGNE...
4
L'ORDINATEUR DE POCHE - PAGE 39
Il en est qui perdent leur latin, d’autres leur tête ou leur chemin. Nous, avec ce programme et un Sharp PC-1500 nous perdons tout cela en même temps : allez donc retrouver vos mots dans un tel fouillis !
PLXBBD IRARECYYMWXD SGQLCJONMIMSCAI DSU UKROBSEDANRMUCNHUE QUZRHF XEJEGUMSDLUG JNANCTXPDZRGT IGROD LELBORXCCEJMJOAUGA FONF IANPCEUIKMHQZJ JGIDNEGEMUER JAPUBL ETFEEQQTOLBTCHJMXB LOIUFWSFUHBSJBHIJA
NOIR MARINE ROUGE CHAMOIS UERT UIOLET INDIGO ORANGE BLANC JAUNE
Un exemple d'exécution :
la grille de cent lettres où le programme a caché les dix mots reproduits ci-dessus.
PAGE 40 - L'ORDINATEUR DE POCHE
Dix mots
jouent à cache-cache
(PC-1500 et CE-150)
M Pas très sérieux, l'ordinateur | On lui confie dix mots, ni plus, ni moins, en lui demandant de les con- server gentiment dans sa mémoire. Et toc ! Impossible de remettre la main dessus : il tes a complètement mélangés. Et pourtant, ils sont jà ces mots, tous, à peine déformés d'ailleurs. Quand on croit en avoir retrouvé un, il s'évanouit tout à coup... Et dire que le « jeu » con- siste à retrouver dans le mélange de lettres ces dix mots déformés par l'ordinateur !
RUN, et le PC-1500 demande les 10 mots puis imprime la matrice du puzzle : « débrouillez-vous ! ».
Toutes les lettres d’un même mot
sont jointes les unes aux autres, mais tel un serpent, le mot s'étire dans les quatre directions verticales et horizontales (Sud, Nord, Est et Ouest}. Heureusement, les lettres se touchent toujours, en cas de chan- gement de direction, à angle droit.
On peut aussi jouer à deux ———
Vous devez trouver la solution tout seul, mais si vous voulez donner votre langue au chat, DEF S vous l'imprimera.
N° 23 - MAI-JUIN 84
Voilà quelle était la solution. Vous l'aviez trouvée ? Bravo !
il ne reste plus qu'à vérifier que l'ordinateur n'a pas triché !
SOLUTION :
Plus fort encore (si le cœur vous en dit), supprimez LPRINT M$ (A) à -GIDNEG--UER-0---- la ligne 15 et faites introduire les (PR RE TEHS LE à mots par une autre personne. Si
Us = Lu Le te vous les retrouvez avec le titre comme seule indication : chapeau !
ET Alain Pechmajou
Programme pour PC-1500 et CE-150 Auteur Alain Pechmajou Copyright l'Ordinateur de poche et l'auteur
VS=STRS V'IF Y CIBLET Y$="g"+
1:
1:
WAIT S:PAUSE * X PUZELE MOT * CLERAR : DIM C$< 18, 18)*%1, U$ (2) X64, S$C12, 182% 1, M$C18): INPUT " TITRE ?7"3;T$: CSI2E 2: LCURSOR 4
:LPRINT FT$:LF 2 :REM CHOIX DES
MOTS
:FOR A=I1TO 18:
BEEP 1, 299: CSIZE 1: LCURSDOR 15
: CLS PRINT "MO
T MG: AN INPUT M#(A):L= LEN M$<A): LPRINT M$CA)
: RANDOM : X=RND
18: YERND 18:U$ CDD="VS IF CSCX : Y)C>""GOTO 28
:FOR I=1T0 L IXSEZSTRS X:IF X
CIBLET X$="p"+ STR$ x
N° 23 - MAI-JUIN 84
STRS$ Y
USCH)D=US(B)D+XS
+Y$:F-<0
SCSCX, Y)=MIDS €
M$ (A), 1, 12: S$ X; YDZC$CX, YD:N EX: MY
1 X=N: YEN :REM DEPLACEMEN
T ALFATOIRE
: IF RND 85,SLET
V=]:GOTQ 45
:U=-] : ÎF RND 82,5LET
X=X+U: GOTO 55
1 Ye Y+U
:IF X)IBOR YD18
JR XCIOR Y<I GOTC 288
IF C$CXx, Y)<2"" GOTO 288
:NEXT F:NEXT À :REM MARQUAGE C
ASES UIDES
: FOR X=1T0 18:
FOR Y=170 18: IF C$CX, Yo="" LET C$CX, Y)= CHRS$S CRND 26+6 4):S$CX, Y)="-
:NEXT Y:NEXT X:
CSIZE 2:LF 2
:REM DESSIN GRI
LLE
:FOR X=1ITO 19:
FOR Y=110 18: LPRINT C$CXx, Y) 3: NEXT Y: LPRINT "Y:NEXT X:LF 3:END
: S'LPRINT "SOL
UTIQON :"5ÈF 1
: FOR X=ITO 19:
FOR Y=1T0 18: LPRINT S$(X, Y) 3 2NEXT Y: LPRINT 'INEXT XiLF 3
END
E=£E+1:IF E<I19 GOTO 32
:REM EFFACEMENT
CASES MARQUEE S FOR F=1TO 4x1
STEP 4: X=UAL « MID$ <U$(A),F, 2)):Y=UAL < MID$ CU$S(D2), F+ 23 2))2:CS$CX, YD=
1 S$CX, YD="";
NEXT F:GOTO 28
L'ORDINATEUR DE POCHE - PAGE 41
Un canon (X-07) face à un mur de briques
Depuis quelque temps, le Canon X-07, l'Epson HX-20,
le PB-700 et d’autres ordinateurs glissent les jeux d’arcades dans votre cartable ou votre
sac à main...
Parmi ces jeux, le
« casse-briques » est devenu un grand classique.
M Le programme que je vous pro- pose pour X-07, s'il n'est pas d'une grande originalité, utilise intensive- ment les qualités de l'écran haute résolution. La programmation en est soignée (du moins je l'espère), depuis l’animation de texte jusqu'aux balles destructrices, en passant par un compteur et diffé- rents niveaux de difficulté.
Le jeu se déroule en trois temps : la première partie (« de plaisir » ?) consiste à taper le programme. On donne ensuite l’ordre RUN en espé- rant ne pas avoir introduit de bogues, ces erreurs insidieuses qui narguent tous les programmeurs. Le générique du jeu s'affiche alors.
Pour aller plus avant, frappez « | » et les règles du jeu apparaîtront à l'écran. On les fait défiler en piano- tant au hasard. Mais peut-être vous sont-elles déjà familières ? Dans ce cas, après le générique, tapez une lettre autre que « ! », ou demandez dès le départ RUN 1000 : le jeu commence.
Si vous ne voyez pas la balle, de deux choses l'une : vous devez soit adapter le contraste à la lumière
PAGE 42 - L'ORDINATEUR DE POCHE
ambiante en inclinant convenable- ment votre ordinateur, soit vous munir d'une bonne loupe {vos lunet- tes sont-elles à votre vue ?).
La liste étant claire, vous ne devriez pas avoir de difficulté pour en analyser les différentes étapes. Si le programme est long, seul ce qui suit la ligne 1000 est utile au jeu pro- prement dit.
Comme vous le verrez, les parties se déroulent sur un rythme assez rapide, et il est possible qu'au début, le jeu vous donne un peu de fil à retordre. Mais l'exercice aidant, vous deviendrez vous aussi un champion dans l'art de casser des briques.
[1 Jean-Marc Pluéger
Face à un mur de briques
Programme pour X-07 Auteur Jean-Marc Pluëger
Copyright Ordinateur de poche et l’auteur
14 CLS 29 ONERROR GOTO 410 30 DEFINTA-2Z
36 ?REDEFINITION DES CARACTERES 48 FONT$(138)-"0,6,0, 249, 249,220, 228, 204
58 FONT$(171)3:"2,0,0, 240, 240, 176,176,48" GQ FONT$(C152)="204,192,192,192,192,192;,1
32,2"
7@ FONT$(153]="48,48,48,48,48,48, 48,0" 80 FONTS$S(134)="0,0,6,192; 192,192; 192,192
188 FONT#(1363-"192,192, 192,192, 192,252,
252,0"
118 FONT$S(137)-"48,48,48,48,48,242,240.0
120 FONT$S(138)="9,0,0, 252,252, 196, 196,25
2
132 FONT#(1393)-"02,0,0,128,128,128, 128,12
8"
140 FONTS(140)-" 252,216; 216, 294, 204,196,
136,0
159 FONT$(141): 128,0,0,8,0,122, 128.0"
156 M6 POUR LE GRAND M, Ué POUR LE WU, R $ POUR LE R
168 Mé=CHRé( 130 )+CHR6C131)+CHR6C23)+CHR$ (29)2+CHR$C31)+CHR6(1323+CHR6C 133)
178 L$=CHR$C154)+CHRS(135)+CHRS(28)+CHRS (29)+CHRS$SC31 )+CPRS(I 36 )+CHRS$SC132)
189 R$=CHR$C138)+CHRS$SC13S9)+CHR$SC29)+CHRS (29)+CHR$(CS1)+CHRS(148)+CHR$C141)
186 ?DEPLACENMENT DU M DE DROITE À GAUCHE
N° 23 - MAI-JUIN 84
198 FOR 1-1@ TOQ STEP-1
195 AS=INKEYS
196 IFA$O"" THEN 500
289 LOCATEI, 1
219 PRINTNS
229 FOR J<2T0250 :NEXTJ
230 CLS
248 NEXTI
258 LOCATE 0, 1:PRINTMS
269 LOCATE 2,1
270 PRINTUS
289 LOCATE 4,1
290 PRINTRS
308 LOCATE 6,2
318 PRINT'DE BRIQUE."
316 ?DEPLACEMENT DE LA BALLE POUR LA PRE SENTATION
320 X=INTCRNDCXIX120) :Y=0
330 DX=-1:DY>=1
340 IF POINTUX+DX; Y+DY) THEN GOSUB428 358 IF X+DX<D OR X+DX>119 THEN DX=-DXx 360 IF Y+DY<Q OR Y+DY>31 THEN DY=-DY 378 PRESET CX,Y)
389 X=X+DX:T=Y+DY
399 PSET(X,Y)
395 A$=INKEYS
396 IF A$<)"" THENSGA
408 GOTO 340
406 ? TRAITEMENT DE L'ERREUR SI !., BALLE SORT
419 RESUME NEXT
416 ? SOUS-PROGRAMME QUAND LA BALLE TOUCH £ UN CARACTERE
42@ U=INTCRNDCLIDX2))
430 IFU=OTHEN DX=-DXx
449 IFU=1 THEN DY=-DY
45Q RETURN
496 >FIN DE LA PRESENTATION
508 FOR Y=31 TO @ STEP -1
518 LINECA,Y2-C119,Y)
520 BEEPY; 1
530 NEXT Y
540 CLS
558 1FA$O'"I"THEN CLEPR :GOTO1888
556 LES INSTRUCTIONS
569 PRINT "HE OENOOER ;
572 PRINT" INSTRUCTIONS"
589 PRINT" HO OONONENEERS ;
598 IFINKEYS="" THEN 592
608 PRINT'MUR DE BRIQUE:"
618 PRINT"UOUS DEVEZ DETRUIRE"
628 PRINT'UN MUR; EN DIRIGEANT‘;
638 PRINT'UOTRE RAQUETTE À L’";
635 IF INKEYS-"" THEN 635
649 PRINT:PRINT"AIDE DES FLECHES"
658 PRINT'GAUCHE ET DROITE."
668 PRINT'POUR PASSER AL"
672 PRINT"TABLEAU SUIVANT, ";
675 IFINKEYS=-""THENG?5
688 PRINT :PRINT"UOUS DEUEZ TOTALISER"; 692 PRINT'UN SCORE DE 358 PTS.";
788 PRINT'MINIMUM. "
218 PRINT'BONNE CHANCE 929900";
715 IFINKEYS=""THEN?15
720 CLEAR
JGD ? XXRR AIM PORN ARR RNA EX 918 ?LE PROGRAMME PRINCIPAL
398 ’INITIALISATION 4
1928 DEFINT f-2:GOTO 3728
1250 CLS
1129 ON ERRORGOTO 3498
1150 2x=1:2Y>]
1288 CLS
N° 23 - MAI-JUIN 84
—————
1256 LINEC?3,8)-C111:0)
1389 LOCATE]4,2:PRINTAS;
155@ CONSOLE, ,,8,0
1400 JMP
1450 LINE(79,82)-(279,31):LINEC?8,0)-C78,3 12
1508 LINEC111.8)-C111,313:LINECI:2,@3-€C1 12:31)
1546 DESSIN DES "BRIGUES"
155Q FORIY=4T0S
1628 FORIX*81 TD 114
1658 IF CIXNS)=CIX/SITHEN 1759
1208 PSETCIX, IT)
1758 NEXT IX
1898 NEXT IY
1846 DESSIN DE LA RAQLUETTE
1858 P=94 :PSET(P, 29) :PSET(P+1,29)J :PSETCP +2,29)
1866 ?’COEUR DU PROGRAMME
1909 XI1=2X:YI=2Y
1950 PSETCX,Y)
2828 GOSUB3108
2850 PRESETCX,Y)
2188 X=X+X1:Y=T+Y1
2150 IFPOINTCX; Y)JTHENGOTDU2258
2208 GOTO1958
2258 IF X-/SANDY=QOTHENX=<80
2509 IF X=111 ANDY=OTHEN X=118
2550 IF X=/7SANDY-29 THEN x=88:Y-29
2400 IF X=111ANDY=29 THEN X=118:Y-28 2450 IFY<=@THENBEEP188,1:Y1=-T1:GOT02102 2508 IFT>+29 AND X=P THEN XI1=-1:Y1-:- 1 :BE EP49, 1 :GOTO2188
2558 IFY>=29 AND X=P+i THEN XIr-X1:Tl:--1 :BEEP40, 1 :GOTO210@
2600 IF Y>-=29 AND X=P+2 THEN X1=<1:Yle-1: BEEP40, 1 :GOTO 2100
2658 IF KX<=79 THEN X1=-X1 :BEEP108, 1 :GOTO 2188 2/08 IF X>=111 THEN X1=-x1:BEEP108,1:GOT 02108 2758 PRESET(X, YJ:Y1:-Y] :BEEPS2D, 1 :NB=NB+ l 2800 IF NB>-552 THEN GOTO 3108
2859 LOCATEZ,G:PRINTNB;
2998 IFX> SGANDINTCXJ<IIBTHENPRESÉETCX, YJ: PRESETCX+1,T):GOTO0S358
2958 GOTO2108
3089 PRESETCX, Y-2Y)
3052 GOTO02]a8
Si R=STICK(B)
3150 IF B=2 THEN RETURN
S288 :FB=7ANDP <> SOTHENP=P-2:PRESET(P+S,2 33 :PRESET(P+4,29)
3258 IFB=SANDP &> IBB8STHENP=P +2 :PRESET(CP--1, 29) :PRESET(P-2,29)
3508 PSET(P,29):PSET(P+],29) :PSET(P+2,29 J RETURN
3546 ?’INCREMENTATION OU SCORE
3350 NB=NB+2:G0T01952
3396 BALLE PERDUE
3400 SP=SP+]
345Q IFSP>3 THEN GOTCO 38508
3500 LOFATES,3
3558 PRINT'No ballte:";SP;
3600 X=RND{B)Xx30+80:Y-10
3650 RESUME NEXT
3696 CHANGEMENT DE TABLEAU
3700 TA=TA+I :AS="MUR"+RIGHTSCSTRSCTA), 1) 3250 IF NB>0 THEN SP=SP-1] :NB<8
380Q GOTOIASE
3858 CLS
S302 PRINT"Uotre score:":PRININB;" ‘;4$ 3352 END
L'ORDINATEUR DE POCHE - PAGE 43
Qu'y
a-t-il
dans une CE-150
quand on l’ouvre ?
Lorsque la CE-150 est apparue, les imprimantes des ordinateurs de poche écrivaient en une couleur sur du papier blanc ou aluminisé. Cette petite table traçante capable d'écrire et de dessiner en quatre couleurs était une sorte de bombe. Depuis, le même principe a été repris sur de nombreuses autres imprimantes pour
ordinateurs de poche ou de table.
M L'ouverture de la CE-150, l'impri- mante/interface-cassettes du PC- 1500, ne demande que quelques secondes. Quatre vis, au dos de la machine, solidarisent les deux corps du boîtier de plastique. Une fois ceux-ci séparés, on découvre, sur le fond, la partie mécanique de l'impri- mante ; l'électronique et l'alimenta- tion sont placées de l'autre côté. Un grand circuit imprimé en bakélite regroupe tous les composants. Dans le lot, deux circuits à haute intégra- tion seulement. Le reste est consti- tué de portes logiques, de transis- tors, de diodes et de nombreuses résistances. Contrairement à ce que nous avions remarqué sur le PC- 1500 (1}, ces composants sont de conception et de dimensions classi- ques. li est vrai que leur nombre est limité et que la place ne manque pas sur le circuit.
Une nappe de conducteurs sou-
{7} Voir Op n° 18 page 38: « Qu'y a-t-il dans un PC-1500 quand on l'ouvre ? ».
PAGE 44 - L'ORDINATEUR DE POCHE
ples, sur la gauche de la plaque, assure la liaison avec le PC-1500. Elle dessert également les interrup- teurs de recopie de calculs, de mise
hors service de la télécommande {magnétophone) ainsi que le pous- soir d'avance papier.
En fonctionnement autonome, l'alimentation électrique est fournie par des batteries au cadmium-nickel. Cinq éléments de 1,2 volt sont mon- tés en série et délivrent donc une tension de 6 volts. Des diodes réali- sent une protection contre une éventuelle inversion de la tension d'alimentation. La consommation de courant est de 5,2 watts et l’autono- mie d'écriture est environ de 1 100 caractères de taille standard (18 caractères par ligne).
Nous avons vu qu'il n'y avait que deux circuits à haute intégration. Îls commandent principalement le fonc- tionnement de la mécanique d'impression, mais ils jouent aussi un rôle dans les opérations de lec- ture et d'écriture sur cassettes. Le
plus gros de ces deux circuits com- porte 60 pattes. Il se nomme LH 5810 (ou 5811). Nous avions déjà rencontré son frère jumeau lors du démontage du PC-1500 où il gère les entrées et les sorties pour le clavier et l'écran à cristaux liquides. Même genre de tâche pour celui de la CE- 150. IH reçoit les signaux provenant de l'unité centrale et les transforme en impulsions capables de comman- der les moteurs du système d'impression.
——Une ballade en bus
Les informations sont véhiculées par le bus de données et sont inter- prétées grâce à un circuit de mémoire morte (le deuxième circuit multi-pattes) contenant 8 Ko situés dans la carte-mémoire à partir de l'adresse hexadécimale A000. Les codes ASCII des caractères prove- nant de l'ordinateur ou les intruc-
N° 23 - MAI-JUIN 84
tions graphiques sont convertis en une représentation de séquences de mouvements qui seront transmises aux moteurs.
Dix lignes de sortie du LH 5810 effectuent ces commandes. Deux actionnent un petit solénoïde qui appuie les pointes d'écriture contre le papier. Les autres dirigent les quatre phases des deux moteurs pas à pas. Des interfaces de puissance convertissent les signaux et appor- tent l'intensité nécessaire au fonc- tionnement. Cette opération est réa- lisée, pour les moteurs pas à pas, par le circuit LB 1257 placé sous le connecteur en nappe. contient huit inverseurs.
L'interface du solénoiïde com- prend deux amplificateurs opération- nels contenus dans un circuit 50H001 et sept transistors assortis de résistances et de diodes de pro- tection. Cette complexité est due au mode de commande. Le circuit LH 5810 envoie en effet des signaux de très courte durée (environ 2 millise-
Cinq vis à ôter et lon sépare les deux parties du boîtier.
condes) qu'il faut convertir en ten- sions stables.
Avant d'étudier le reste de l’élec- tronique qui compose l’interface- cassettes, regardons un instant la mécanique du système d'écriture. Le module se nomme DPG 1301. | comprend, outre le solénoïde et les deux moteurs que nous avons déjà signalés, un barillet comportant qua- tre stylos, un dispositif de détection de position du barillet, des engrena-
N° 23 - MAI-JUIN 84
ges, des poulies d'entraînement et un rouleau d'avance papier.
L'écriture ou le dessin sont réali- sés par des mouvements conjugués du papier et d’une des pointes de stylo. Le papier est déplacé vertica- lement (axe Y) tandis que la tête
d'écriture est guidée horizontaie- ment {axe X). La combinaison de ces deux mouvements permet d'effectuer un tracé quelconque. Le plus petit déplacement possible est de 0,2 mm sur les deux axes.
Les deux moteurs pas à pas sont placés sous un capot. Celui de droite fait avancer le papier par l'intermédiaire d'un rouleau de caoutchouc bordé de part et d'autre par deux couronnes métalliques hérissées d'aiguilles. Les petits trous qu'elles font sont d’ailleurs visibles sur la feuille sortant de l'imprimante. Ce dispositif est complété par des presseurs à ressorts.
L'autre moteur pas à pas provo- que le déplacement latéral du barillet d'écriture et sa rotation, pour le
,
Une électronique classique, exception faite de deux circuits à haute intégration.
changement de couleur. Le mouve- ment est transmis par un jeu de poulies qui reçoivent un petit câble en acier ou en Kelvar sur les CE-150 plus récentes {le Kelvar est une fibre synthétique présentant une excel- lente stabilité à l'étirement, elle est utilisée, entre autres, pour confec- tionner les gilets pare-balles !}. Toute cette timonerie se comporte comme le système déplaçant l'aiguille des stations sur les postes de radio. Pour le changement de couleur, le barillet est attiré à l'extrême gauche de sa tringle de guidage. Là, une lamelle métallique appuie sur une roue à crochet mou- lée dans le plastique du barillet.
Du rouge au noir
Chaque fois que la tête est tirée vers la gauche, le barillet effectue 1/8 de tour. Comme l'ordinateur a pu être éteint avec une couleur quel- conque en position d'écriture, il faut un système détectant la position 0 de la tête pour replacer, à la mise en route de l'ordinateur, la pointe noire en haut. Ce système de détection est constitué par un aimant, situé sur le barillet entre les pointes rouge et noire. Un contact ILS détecte je passage de l'aimant pendant la rota-
L'ORDINATEUR DE POCHE - PAGE 45
Qu'y a-t-il dans une CE-150
quand on l’ouvre ?
tion initiale et en informe le circuit LH 5810.
La CE-150 sert aussi d'interface pour les signaux de lecture-écriture sur cassette qui sont produits par le LH 5810 du PC-1500. La CE-150 ne réalise qu'une mise en forme de ces signaux. Pour l'écriture, ils sont fil- trés avant de se retrouver sur la
La partie mécanique de l'imprimante.
magnétophone est à la charge du LH 5810 dont quatre broches abou- tissent sur autant de portes inver- seuses placées dans un M54516P. Elles reçoivent les signaux sous forme d'impulsions brèves (2 ms) et provoquent en sortie un état stable qui maintient le relais alimenté. Une impulsion sur une ligne le fait coller, une autre impulsion sur la seconde
prise micro. Quatre résistances et trois condensateurs constituent un filtre passe-bande et un atténuateur qui adaptent les ondes carrées sor- tant du PC-1500. La différenciation des 0 et des 1 est faite en modula- tion de fréquence. Un 0 est produit par 4 pulsations de 1 270 Hz sur 3,5 millisecondes, tandis qu’un 1 est donné par 8 pulsations de 2 540 Hz pendant le même temps. Chaque octet est transmis en deux mor- ceaux de 4 bits séparés par deux bits d'arrêt à 1. Un 0 est envoyé comme bit de départ et deux 1 comme signal de fin d'octet.
En lecture, la mise en forme con- siste à convertir en signaux carrés les impulsions lues sur le magnéto- phone.
La télécommande du (ou des)
PAGE 48 - L'ORDINATEUR DE POCHE
vous donne rendez-vous
chez vo
LIST
fin juin
tre marchand de journaux
ligne le relâche. L'interrupteur remote placé sur la platine du CE- 150 est branché en parallèle sur les contacts du premier relais. il permet de supprimer l'effet de la télécom- mande.
Accès ——aux périphériques —
Dernière utilisation des circuits de la CE-150 : un amplificateur de bus dessert la prise placée en haut du circuit imprimé et sur laquelle on connecte éventuellement d'autres périphériques. |! est constitué de TC 50H001 visibles sur l'envers de la plaque imprimée.
La CE-150 présente des caractéris- tiques remarquables. On retiendra que la conception en est assez sim- ple. La partie mécanique est limitée à des éléments présentant une bonne fiabilité et ne nécessitant pas d'entretien.
[3 Xavier de La Tullaye
En haut de la photo, les deux relais de télécommande des magnétophones extérieurs.
N° 23 - MAI-JUIN 84
Si jongler ave
Ou si, à l'inverse, V
en Notation
Toujour
En matière de programmation, est-on jamais certain d’avoir fait aussi bien que possible ? Le mieux pourrait-il être l'ami du bien ?
Dans cette rubrique, les défis des lecteurs se succèdent : des programmes toujours plus courts, encore plus rapides.
M Arrivé à cette page de /'Op, sauf si vous êtes de ceux qui ne lisent que « Misez p'tit », vous connaissez la nouvelle : l’équipe qui fait votre journal vous donne rendez-vous fin juin, avec un nouveau titre, LIST. Mais votre rubrique favorite ne s'arrête pas pour autant, vous la retrouverez dans LIST.
Cette fois-ci, nous ne lancerons pas le défi habituel, mais donnerons en revanche la solution des défis des nes 21 et 22.
Conclusion : vous avez 60 jours pour nous concocter les défis qui rendront nombreuses les nuits blan- ches des lecteurs de /’Op, pardon, de LIST.
Le défi de /’Op n° 21, résoudre une équation du second degré, raci- nes réelles ou complexes et discrimi-
N° 23 - MAI-JUIN 84
Misez p'tit :
HP-41 C, traquer la millisecon le moindre octet e
Alors, voici qui doit vous i
Op'timisez
e # - tre la pile opérationnelle de vo Re de perdue et rogner
st votre pain quotidien.
ous échappe parfois un peu
de la subtile recherche des programmes
Polonaise Inverse…. ntéresser |
s plus !
nant « vrai » (b2 - 4 ac), a suscité une petite avalanche de courrier |! L'équation du second degré possède à n’en point douter un charme puis-
sant qui réveille l'instinct du coupeur-de-cheveux-en-quatre…
Et un nouveau record est établi, rappelons le texte du défi : « résou- dre une équation du second degré en rangeant la valeur du discrimi- nant en Z et les deux solutions réel- les en X et Y. Dans le cas où A < 0, les solutions ne sont pas réelles mais complexes : u + iv; alors u est dans X et v dans Y ».
Le programme de Pierre Langlois n'utilisait que les registres X, Y, Z et T de la pile opérationnelle en 34 pas et 43 octets (sans compter ni le label de tête ni le END final). A titre d'exemple, la solution de x? + 1 = 0 est donnée en 67,3 centièmes de seconde, contre 79 centièmes à la solution de —3 x2 + 2y + 5 = 0.
_——Obéir à toutes les conditions ——
Et malgré cette abondance de détails, une inconnue subsistait : comment fallait-il introduire les coef- ficients a, b et c dans la pile ? Dans l'ordre « naturel » bien sûr ! D'abord a, puis b, puis c. Cependant, tous les programmes reçus ont été consi- dérés. En général, en dehors de a -b - c, l’ordre proposé est surtout c -b - a. Il a l'avantage de faire gagner 1 pas (2 octets) et cela apparaît nette-
ment dans le programme vainqueur.
D'autres routines reçues au jour- nal étaient plus courtes et plus rapi- des, mais ne respectaient pas une condition du problème : en Z devait se trouver le discriminant vrai b?—4ac , dommage...
Le programme des vainqueurs, Gilles Bransbourg et Thierry Mou- ton, est reproduit page suivante avec le label B+M. Dans cette ver- sion, il occupe 23 lignes pour 32 octets seulement (gain de 11 octets). L'introduction des données a, b et c s'effectue bien dans l'ordre « logique » (a ENTER b ENTER cj) et les solutions réelles x, et x, sont en X et Y (si elles existent), le discrimi- nant b?2--4ac est en Z. Dans le cas complexe, u est en X et v en Y.
La résolution de l'équation — 3x2 + 2y + 5 = 0 (faire —-3 ENTER 2 ENTER 5 XEQ' B + M) ne demande que 67/100° de seconde et 64/1000° (lire x, = —1, x, = 1,66... et b2—-4ac = 64).
Celle de x? + 1 = 0, aux racines complexes, s'effectue en 52/100: et 29/1 000 de seconde (1 ENTER 0 ENTER 1 XEQT B + M, lieu = Oet v = 1; le discriminant valant — 4).
Petite astuce complémentaire, si les solutions sont réelles le drapeau 01 est désarmé, si elles sont com- plexes (forme u + iv) il est armé.
La routine peut être modifiée pour gagner 1 pas (2 octets) en suppri- mant l'instruction X<>Z de départ. Les coefficients devront alors être introduits dans l'ordre c, b et a.
Enfin, supprimer le pas 14 (CFO01), transformer le pas 16 en CF22 et le
L'ORDINATEUR DE POCHE - PAGE 47
‘réelle. et’ côräplese ;
Rémi tion du second degré:
d'une éq
Programme :pour HP-41. C Auteurs Gilles Brahsbourg et Thierry Moëÿton Copyñght l'Ordinateur de spot et les auteurs
Gi+LBL
AL CHS ST“ ST+ ENTERT LE pe RDH
pas 21 en FC?22 permet de gagner encore deux octets et 1 pas {le flag 22 est armé automatiquement lors de l'introduction depuis le clavier des coefficients).
Premier ou non ?
Le défi du mois dernier (nombres premiers) entame depuis peu sa car- rière dans les kiosques à journaux au moment où ces lignes doivent être écrites. Aussi, la solution donnée n'est-elle que la meilleure déjà reçue ; d’autres nous parviendront, mais trop tard pour être publiées ici.
Cependant, sachant qui est
Misez p'tit : Op'timisez ! HP-41
l'auteur du programme vainqueur, on suppose qu'il sera difficile de faire mieux : il s'agit (encore lui !) de Gilles Bransbourg, spécialiste, s'il en est, dans l’art d'optimiser.
Son programme, reproduit ci- contre avec le label BRA, n'occupe que 16 octets ou 15 pas (sans label ni END), soit un gain d'un petit octet seulement, mais la véritable optimisation se mesure au niveau du temps d'exécution.
Ses performances sont, en effet, remarquables : le programme déclare que 65537 est un nombre premier en 28 secondes 92/100° et 21/1 000, et que 341 est composé en 1 seconde 24/100° et 51/1 000e, Ces deux nombres servaient au test
Premier ou non’ # Prograrñme pour HP- 41 Les
Auteur Gilles Bransbourg
Copyright f' Le re de te et l'auteur
“BRH
äi+iBL
GZ ENTERT 63 SART 4 1 DS+LEBL 61 2 + RT RE PV MOD A2G7 CLx LAST*X ANT GTO wi HCPT EHD
de rapidité ; le gain est ici, respecti- vement, de 10 secondes environ et de plus de 14 secondes : spectacu- laire !
Pour ce défi, la bataille fut encore. plus rude qu'à l'ordinaire, mais l'essentiel est encore de participer ! Nous nous retrouverons dans LIST pour essayer encore de dépasser les limites : toujours plus, plus vite, plus court, plus beau !
[] Jean-Christophe Krust
ORDINATEURS DE POCHE SHARP
et accessoires
| SUPER PROMOTION
PAGE 48 - L'ORDINATEUR DE POCHE
SUR
STOCK
PC 1245 . PC 1255
PC 1401.
PC 1251. PC 1500
MAUBERT ELECTRONIC 49, bd. St Germain. PARIS 5° TEL. 325.88.80 également HEWLETT PACKARD-CANON-CASIO etc.
N° 23 - MAI-JUIN 84
Il suffit de quelques minutes
pour transformer
le PC-1251
en un expert du morse.
Dès que c’est chose faire,
vous pouvez suivre son exemple
et vous perfectionner dans la pratique
de ce code.
Z a CAlEl LE
N° 23 - MAI-JUIN 84
Quand un poquette vous parle en morse
M Nous avions déjà publié des pro- grammes de morse pour la TI-57 et le ZX 81 {l'Op n° 20, page 25). Le codage était effectué sous forme visuelle et n'intéressait que les 26 lettres de laiphabet.
Comme on le sait, le PC-1251, lui, n'est pas muet. Non seulement il est doté d’un bip, mais on peut aussi commander son petit haut-parleur à l'aide de l'instruction CALL. C'est donc sous forme sonore qu'il trans- crira les messages.
Par ailleurs, le programme accepte l'alphabet, les chiffres de 0
1” Bir!
?
a cé
à 9 et cinq signaux particuliers très utiles quand on utilise réellement le morse :
le message d'erreur morse,
la séquence d'appel,
le point (fin de phrase),
la séquence de fin de message, le blanc (silence pendant un court instant).
Le PC-1251 existe sous plusieurs versions qui diffèrent légèrement. Les adresses des CALL, en particu- lier, ne sont pas toutes identiques
selon que la machine est récente ou non.
Avant d'entrer au clavier le
V4
HE cmt
L'ORDINATEUR DE POCHE - PAGE 49
Quand un poquette
vous parle en morse
programme ci-dessous, et surtout de le faire « tourner », on devra se livrer à une petite vérification. En ligne 500, par exempie, on écrira :
500 FOR 1 = 1 TO 15: CALL & 7040: NEXT 1: PRINT * ”: GOTO 500
Si, à l'exécution de cette ligne, l'ordinateur se bloque, une seule solution : AÀ/ Reset. L'adresse du CALL (& 7040} ne convient pas. Il faudra dans ce cas écrire CALL & 7071 aux lignes 90 et 91 du pro- gramme.
Din Déidixsf
LB: INPUT Déc:
FOR Jai
TO LEN AHCH)S ASE M135 (GSCHnïs tt
SUE À$ R Kai di
TO à: ÉCésksiis PRINT “*:
& Gt HU Gi
aÿ!i
59:
Sit"B"Céz"-,.,"
gas CC" 5 53:°2"Cs="-,,"3: RETURN dés °EVC#=",.": RETURN gor'F'Css", -,": 36:/0"Cs="-- tr RE Sri'H'Cs=",,.,,"1 RETURN 535 "1V0#=",. "5 RETURN 591%J"CS=",.---"r RETURN HD: K'CE=?-,-"1 RETURN 6it"L'Cg=",.-,,": RETURN 62: °MVC#="--ts RETURN 63:°N°C$="-,: RETURN 643 "0"Cs="---*1 RETURN 69: °P°CS=", —— RETURÉ
66: "A°CS="--, RETURN
PAGE 50 - L'ORDINATEUR DE POCHE
les
L'ENFANCE DE L'ART!
fs
À noter aussi que tous les PC- 1251 ne comportent pas l'inscription « Y », mais ils sont tous dotés de ce caractère : on l’obtient simplement en pressant les touches SHIFT et 6.
Quand on lance le programme, l'ordinateur demande quel est le
67: "R'CS=",-,": 68: "5"C$=",..2 RETURN 69:°T'C$="-": RETURN Pa:°U°CS=",,-°3 RETURN 13VC$=",..-"3 RETURN T2: VU'C$=",--v: RETURN T3: *K "C2", ,-": RETURN Pat" Y'Cg="-,--": RETURN 75: "2°C$="--, ,*: RETURN
RETURN
amateurs de programm
revue pour Une ation :
DST
message que l’on veut transcrire (79 signes maximum}, puis une pression sur ia touche ENTER et l'émission débute immédiatement. Maintenant que votre PC-1251 est devenu un expert en morse, il peut vous aider à le devenir à votre tour. Vous avez le choix des exercices. Au début, pour mieux identifier cha- que signe du message, vous pouvez les séparer par un espace : ils seront émis nettement détachés les uns des autres par un silence.
[T Jean-Jacques Santin
ges rss", fi RSTUAN
83: "9tCg=t--, ,": RETURH
Bai" APCSs)----, 5 RETURN
35: "4"C$=t----- “4
CALL &Ta46: RETURN
v#" PRINT *": RETURN 1" ViCS="# ts RETURN
NEXT I:
N° 23 - MAÏ-JUIN 84
M,
Les points forts
En Forth, la programmation repose en grande partie sur un ensemble de « mots » qui s'apparentent en quelque sorte à des sous- programmes. Ces mots appartiennent au vocabulaire de base du système à moins qu'ils n'aient été créés par l'utilisateur.
M Un ordinateur est une machine à calculer automatique à programme enregistré. Le programme définit parfaitement les différentes opéra- tions à effectuer : à chaque code correspond une action.
Cela rappelle un peu les perfora- tions des cartons d'orgue de barba- rie. Cela dit, dans le cas de cet ins- trument, les ordres sont exécutés les uns à la suite des autres. On pourrait très bien imaginer une autre forme de machine à musique où la partition (enregistrée sur un support) ne serait pas toujours décodée séquentiellement. Un code supplé- mentaire commanderait un déplace-
Cette fois
c'est sûr …
= de enr \ A | ef x Eee. » È abif, LL rh
N° 23 - MAI-JUIN 84
de Forth
ment très rapide de la tête de lec- ture. Ainsi, à la fin du morceau de musique, un signal ferait remonter le lecteur au début de la bande et la machine ne s'arrêterait plus... On pourrait également commander la répétition d'une partie seulement de la partition {un refrain).
Cette belle machine théorique n’est pas une vue de l'esprit. L'élec- tronique la rend possible. Les ordi- nateurs, en fait, reposent sur le même principe.
Quand on programme, on est souvent conduit à demander l’exé-
5 SIGNE DUP OX IF
THEN
cution de tel ou tel groupe d'instruc- tions suivant le résultat d'un test. Si l'on trace un organigramme de l’un de ces branchements conditionnels, on obtient le dessin d’une sorte de bifurcation : chaque test conduit en somme à un aiguilage.
En Forth, les branchements condi- tionnels fonctionnent selon le schéma suivant : si la condition est vérifiée, on exécute une ou plusieurs instructions {i1, i2, is par exemple)
… L'informatique
est vraiment descendue …
PP, AETT
! ‘ on Fee
." NEGATIF" IF. NUL" THEN
puis on continue par un autre groupe d'instructions j4, j2, j3.…. Autrement dit, quand le programme rencontre |F, si la condition est rem- plie, il exécute toutes les instruc- tions jusqu'à ce qu'il rencontre THEN, mais dans tous les cas les instructions situées après THEN sont exécutées : IF i4 12... THEN j; j2.. Et surtout, ne pensez plus au Basic, cela ne vous aiderait pas à comprendre mais vous en empêche- rait.
Voici, à titre d'exemple, un court
programme permettant de connaître le signe d'un nombre :
ELSE DUP @= ELSE ." POSITIF"
Si le nombre est négatif, on exé- cute l'instruction située entre le IF et le ELSE de la ligne O0 puis les instruc- tions comprises après le THEN de la ligne 3 qui répond au |F de la ligne 0.
Si le nombre n'est pas négatif, on exécute les instructions situées entre le ELSE de la ligne 0 et le THEN de la ligne 3. On commence donc par tester l'égalité à zéro et, s’il y a bien égalité, on exécute l'instruction
L'ORDINATEUR DE POCHE - PAGE 51
comprise entre le IF et le ELSE de la ligne 1. Dans le cas contraire, on exécute l'instruction inscrite entre le ELSE de la ligne 1 et le THEN de la ligne 2. De toutes les façons, on finit par exécuter les instructions qui suivent le THEN de la figne 2.
En résumé, deux tests sont effec- tués. Le premier est construit avec IF et ELSE (ligne 0} et THEN [ligne 3). On remarque l'alignement de THEN sous l'instruction ÎF dont il dépend. Le second test, interne à la branche ELSE-THEN du premier, comporte IF et ELSE {ligne 1) et THEN ligne 2}. On remarque encore l'alignement de THEN.
Comme on le voit, ia façon dont sont organisés les tests en Forth n’a rien à voir avec ce qu'elle est dans d'autres langages (comme le Basic par exemple). En particulier, l'utilisa- teur n'a pas à se préoccuper du fonctionnement de la machine, avec des sauts à commander : il suffit de suivre la logique du traitement.
Deux éléments ——— essentiels
Si Forth est un langage élaboré, il est aussi élémentaire. Toutes Îles fonctions ou mots agissent suivant les mêmes règles. Partant d'un niveau très rudimentaire, on peut aboutir à un vocabulaire (ensemble de mots) très sophistiqué et adapté de façon précise aux besoins de l'utilisateur.
Par aileurs, ce langage se prête bien à la programmation structurée. Cette manière de procéder consiste à décomposer la tâche en blocs constituant autant de segments de programme qui peuvent alors être mis au point et testés séparément. Ces blocs, à leur tour, sont décom- posés : on peut donc suivre de près le cheminement logique défini par l'algorithme, ce qui iimite les risques d'erreur en facilitant l'écriture et la relecture des programmes.
Les deux éléments essentiels de la machine Forth sont la pile de don- nées et le dictionnaire (zone de mémoire où sont stockés les mots).
Quand on a bien compris le fonc- tionnement de la pile de données, qui contient en réalité des nombres, des adresses, des valeurs logiques, des caractères. (une vraie salade russe !}, on peut regarder l’autre pile, un peu dissimulée dans le système Forth, accessible elle aussi,
PAGE 52 - L'ORDINATEUR DE POCHE
AHAHA!. QUEL LANGAGE ! N 45: LET W-1(INKEY $)-28
G9: 1F INKEY $=* * THEN GOTO 150" MAIS CEST DU CHARABIA ÇA,
mais dangereuse car elle contient les paramètres des boucles et les adres- ses de retour des mots lors des appels successifs {une autre belle
salade). Normalement, l'utilisateur ne se préoccupe pas de cette pile qui lui est parfaitement « transpa-
rente ». Mais il peut aussi, s'il la maîtrise bien, en tirer profit. À chacun son dictionnaire Quant au dictionnaire, il contient trois types de mots: les sous-
programmes, les constantes et les variables. Dans le premier cas, les mots sont soit « primitifs » (c'est-à- dire déjà définis dans la machine), soit constitués à partir de mots pri- mitifs. Ainsi, lorsque la machine exécute un programme, à chaque mot rencontré, elle effectue une recherche dans le dictionnaire. Si le mot est un mot primitif, il est aussi- tôt exécuté. Dans le cas contraire, la machine effectue une recherche analogue pour décomposer le mot et remonter jusqu'aux mots primitifs qui le définissent. Quand un mot n’a pas été défini, l'erreur est simple- ment signalée par le rappel du mot inconnu suivi d'un point d’interroga- tion. Exemple : ABCD ABCD ?
Pour accélérer la recherche dans le dictionnaire, les mots sont en fait
HARAS, MAUVAIS VA !..
da)
remplacés par un code indiquant l'endroit où ils sont mémorisés. H n'y a donc plus, à proprement par- ler, de recherche, mais des sauts rapides dans le dictionnaire pour remonter jusqu'aux mots primitifs. Pour chaque mot créé, le codage des positions respectives des mots qui le définissent est fait une fois pour toutes. Cette compilation s'effectue donc au fur et à mesure de l'introduction des mots ; le voca- bulaire est développé suivant les besoins et si l'on modifie la défini- tion d’un mot, il n'est pas nécessaire de tout recompiler.
Les mots entrant dans le diction- naire sont rangés les uns à la suite des autres par ordre chronologique. Lors d’une recherche, l'exploration se fait en remontant dans la suite des mots déjà inscrits et s'arrête dès que le mot est trouvé. En consé- quence, quand on redéfinit un mot, c'est toujours le dernier qui est pris en compte : les homonymes sont ignorés.
Ce qui contribue fortement à la vitesse d'exécution de Forth, à sa facilité de mise au point, c'est en définitive cette compilation effec- tuée morceau par morceau : chaque mot que le programmeur peut créer selon ses besoins est ramené à une codification assez proche du lan- gage machine.
D Claude Nowakowski
N° 23 - MAI-JUIN 84
F
Simplification de fraétions et de racines carrées
Programme pour PC-1500
‘Auteur Christian-‘Aflois
Copyright l'Ordinateur ‘de poche. et Ce
:REM SIMPLIFICA TIONS
28:1F ABS CG- INT GD<=1E-9XA8S G LET B=INT G:E=
48:H=i/<CH-1):1= INT H
5B:C=BXx]I+8:4-B:B- C:F<E%]+D:D<E: EF
69:1F ABS (G-C/F) >)1E-3XABS G GOTO 48
78: RETURN
80: "R'QREAD R: WAIT :D=RXKR: IF ABS CD-INT D) =JE-SLET D=INT D
82:1F D=INT DLET B=D:GOSUB 89:
PRINT G;'"Xxs";H ; END
B3: G=D:H=G: I=INT H: GOSUB 29
B4:C=SB:W=TES IF C €DINT CAND KW) INT WGOSUB 89: GOSUB SS:PRINT
G; "XP" Hit: XXE VENDS END
85:1F CCD>INT CAND W=INT WGOSUB 8 J:PRINT G; "x" 3H" CMS UW; LR LE END
86: 1F C=INT CAND W<DINT WBOSUB 95: PRINT C;"'7< Ci X UK; LR OU
i END
87: PRINT C;"/";u: END
89: G=1: H=B:N=2:0>
1
98: PENXN: IF PDH/2 GOTO 94
31:QG=H/P: IF INT Q =QLET G=GXN:H=
Q: GOTO 91 93: N=N+0:0=2: GOTO 39
N° 23 + MAI-JUIN 84
34: RETURN
95: K=1:Y=E:N=2: 0= 1
96: P=NXN:I IF PD>Y/-2 GOTO 39
9/:Q=Y/P:IF INT QG EQLET X=XXN: v= Q: GOTO 97
938; N=N+0:9=2: GOTO
33: RETURN
Racines et fractions : des résultats qui présentent bien
Extraire des racines, convertir des nombres décimaux en fractions, autant d'opérations qui permettent de simplifier et de rendre plus lisibles les résultats numériques fournis par un ordinateur. Heureusement,
ce même ordinateur
(ici un PC-1500 ou PC-2) peut très bien effectuer seul cette mise en forme des résultats.
M On peut reprocher aux ordina- teurs de délivrer parfois leurs résul- tats sous forme de valeurs numéri- ques difficiles à interpréter. En effet, si l’on obtient, par exemple, 0,7142857143... au terme d'un cal- cul, on aimerait bien voir ce nombre aussitôt simplifié en 5/71 Mieux encore dans le cas des racines, 0,5773502692 serait avantageuse- ment remplacé par 1/3. D'une
96
part c’est plus joli, c'est moins long à écrire, mais c'est aussi plus satis- faisant les jours d'interrogations écrites (les professeurs n'admettent pas les réponses ‘’à dix chiffres significatifs’).
Le programme ci-contre effectue les simplifications de fractions, 256/130 devenant 128/65 et de raci- nes, V45/V8 devient 35/22. Le mode d'emploi ne présente aucune difficulté. On tape le nombre au clavier, soit sous sa forme déci- male (2,371708245), soit sous une quelconque autre forme plus ou moins simplifiée (35/8). On fait ensuite DEF X pour lancer le pro- gramme et le résultat s'inscrit sur l’afficheur : 3*/5/(2*2). Notez que cette expression respecte la hié- rarchie des opérateurs arithmétiques du Basic.
Vous n'aurez aucune peine à adapter ce programme pour qu'il serve conjointement avec d'autres, par exemple celui d'intégration numérique des fonctions {/‘Op n° 11 p. 48) et obtenir ainsi des résultats nettement plus présentables que de simples (?) nombres à virgule.
C1 Christian Allois
LES ORDINATEURS SONT PEUT- ÊTRE TRÈS FORTS, MAÏS POUR LES Divisions, Moi 7€
SUIS IMBATTARLE ,
L'ORDINATEUR DE POCHE - PAGE 53
Programmation : JE =
Jouer sur tous les tableaux
Quand on programme, les tableaux de variables offrent une solution simple à de très nombreux problèmes. C’est le cas, par exemple, pour le tri ou le mélange de données. Voici quelques algorithmes de base pour mieux comprendre le parti que l’on peut tirer des tableaux.
B L'emploi des tableaux permet très souvent de simplifier le traite- ment des données. Dès que ces der- nières se présentent sous une forme homogène leur conférant l'aspect d'une collection, on a le plus sou- vent intérêt à les regrouper en
Eh bien moi , pour
suivre les notes
oblenues par mes élèves …
PAGE 54 - L'ORDINATEUR DE POCHE
tableaux. La programmation de bou- cles permet alors un traitement séquentiel de la collection.
Plusieurs cas peuvent se présen- ter. Quand toutes les données sont définies par un seul critère, elles peuvent être rangées dans un tableau à une dimension. Si au con- traire plusieurs critères doivent inter- venir dans les traitements, il faudra donner autant de dimensions au tableau qu'il y a de critères utiles.
Noter ———en une seule —— dimension
Ainsi, pour suivre les notes obte- nues par tous les élèves d'une classe lors d'une seule interrogation, un tableau à une dimension suffit. Pour travailler sur les notes obtenues dans plusieurs matières, il est néces- saire de définir deux dimensions, l’une représentant les élèves, l'autre les matières. Pour traiter les notes
se n'ai besoin que
d'un tsbleau…
16 % Æ
de plusieurs interrogations dans cha- que matière, il faut recourir à une troisième dimension. On utilise autant de boucles qu'il y a de dimensions au tableau, et ces bou- cles sont de deux types différents suivant que l'on connaît à l'avance ou non le nombre d'éléments du tableau : la boucle à compteur et la boucle à itération.
L'algorithme d'utilisation de {a boucle à compteur est simple à écrire puisque le nombre d'éléments du tabieau est connu :
1 - Initialisation
1-1 entrer ments 1-2 dimensionner le tableau 2 - Corps de la boucle 2-1 début de boucle : de compteur 1 à compteur maximum 2-1-1 le tableau : introduc- tion, traitement ou affichage de chaque élément 2-2 compteur suivant
Dans le cas d'une boucle à itéra-
le nombre d'élé-
… et d'un seul chiffre !/..
N° 23 - MAI-JUIN 84
tion, au lieu de faire dépendre la sor- tie de boucle d’une valeur de comp- teur, on réalise un test sur le con- tenu du dernier élément introduit. Si par exemple, le tableau ne doit con- tenir que des nombres positifs, on peut décider que l'entrée d'un nom- bre négatif déclenche l'arrêt du rem- plissage du tableau.
L'algorithme prend alors la forme suivante : 1 - Initialisation 1-1 entrer le nombre maxi- mum de données traita- bles 1-2 dimensionner le tableau 1-3 fixer la valeur de départ de l'indice du tableau 2 - Boucle 2-1 entrer le contenu de ia case T{l) du tableau indicé 2-2 test : si le contenu est égal au contenu de sortie, aller en +3+ 231 = | + 1; aller en +2» 3 - Suite du programme 3-1 afficher l'indice maximum atteint
La boucle à itération est spéciaie- ment adaptée au remplissage d'un tableau dont ie nombre d'éléments est inconnu. Par la suite, pour les traitements et l'affichage, on emploiera des boucles à compteur qui se termineront sur la dernière valeur de l'indice atteinte au moment du remplissage.
Une boucle dans une autre-—
Si le tableau compte deux dimen- sions, on aura recours à deux bour- cles imbriquées pour en explorer les rangées et les colonnes. Pour la pre- mière rangée, on parcourt toutes les colonnes puis on passe à la rangée suivante pour laquelle on explore à nouveau toutes les colonnes, et ainsi de suite jusqu'à ia dernière ran- gée.
L'algorithme des boucles à comp-
N9 23 - MAI-JUIN 84
teur pour de teis tableaux a la forme suivante : 1 - Initialisation 1-1 entrer le nombre de ran- « gées et de colonnes maxi- mum 1-2 dimensionner le tableau 2 - Boucles 2-1 parcours des rangées : de rangée 1 à rangée maxi- mum 2-1-1 parcours des colon- nes, de 1 à maxi- mum 2-1-1-1 les éléments du tableau : remplissage, traitement ou affichage de chaque élément 2-1-2 colonne suivante 2-2 rangée suivante
L'algorithme avec boucles à itéra- tion combine les deux boucles imbri- quées de l'algorithme précédent et la sortie sur une valeur prédéfinie, comme nous l'avons vu pour le tableau à une dimension :
1 - Initialisation
1-1 entrer le nombre de ran- gées et de colonnes maxi- mum
1-2 dimensionner te tableau
1-3 Indices de rangée et de colonne à 1
2 - Boucles
2-1 boucle 1 rangées 2-1-1 boucle 2 : adressage
des colonnes
2-1-1-1 remplir la case T{R,C) du tableau, croisement de la rangée
: adressage des
R et de ja colonne C 2-1-1-2 si contenu — valeur de sortie aller à «3% 2-1-2C = C + 1; retour à +2-1-1+ (jusqu'à indice maxi) 22R = R + 1: retour à #*2-1+
3 - Suite du programme
3-1 Afficher les indices maxi de rangée et de colonne
Convertir ces algorithmes en pro- grammes ne devrait pas poser de problème. Pour vous guider dans vos essais, vous pouvez vous repor- ter au petit programme d'« utilisa- tion d'un tableau à une dimension » effectuant les manipulations d’élé-
=
Utilisation d’un tableau à une dimension
REM xxx INITIALISATION «4x INPUT ‘NOMBRE MAXI D'ELEMENTS :” : M
REM xxx MENU 4»
INPUT ‘“REMPLISSAGE — 1, TRAITEMENT —2, AFFICHAGE —3":T
REM xxx BOUCLE DE MANI PULATION »+#
FOR C = 1T0M
FT 1 GOSUB 200
IFT = 2 GOSUB 300
FT 3 GOSUB 400
NEXT C
GOTO 30
REM «4%» REMPLISSAGE «xx PRINT ‘CONTENU DE” : C INPUT A{C) : RETURN
REM sx TRAITEMENT 44 REM + TRAITEMENT À EFFECTUER, ICI «
PRINT ‘TRAITEMENT NO.:''; C
RETURN
REM «xx AFFICHAGE »#x PRINT “A (”; C;"} ="; A (C) RETURN
ments d'un tableau à une dimen- sion. Î| correspond au premier algo- rithme donné. Les trois manipula- tions ont été placées dans des sous- programmes et sont effectuées par une boucle placée dans la racine. Aux lignes 70 à 90, GOSUB renvoie à la manipulation sélectionnée dans le menu de la ligne 40 : remplissage, traitement ou affichage du tableau. Si votre ordinateur dispose d’une instruction ON GOSUB, vous pour- rez remplacer ces lignes par : ON T GOSUB 200, 300, 400. Vous place- rez à la ligne 310 le traitement à effectuer. Ce peut être par exemple la somme des éléments du tableau. Dans ce cas, écrire la ligne ainsi : 310 S = S + A (C) et ajouter une ligne 415 pour l'affichage de cette somme.
Trier le contenu — d’un tableau
il existe de nombreuses méthodes de tri qui permettent de ranger les éléments d’un tableau dans un cer- tain ordre (croissant ou décroissant, alphabétique...}. Certaines sont sim- ples à programmer, mais lentes à
L'ORDINATEUR DE POCHE - PAGE 55
exploiter. Les plus rapides ont des algorithmes assez compliqués. Nous retiendrons ici le « tri à bulles » qui présente un bon compromis entre vitesse et complexité.
Pour réaliser cet algorithme, on
Evolution du tableau, étape par étape
Tableau initial
Indices des éléments traités
EE
#.56.9:4 7.3 2
Eléments avant traitement
Eléments après traitement
1 2 | A()-5 A(21-9 | A(1)-5 A(21-9 Î 3 | Alt)=5 A(3)=1 | Alt)=1 A(3)=5 1 4 | Afti-1 Al4i=-7 | Atj-1 A(4)-7 1 5 | AM)-1 A()-3 | Ali A(S-3 1 6 | A(t)=1 A(6)-2 | Alt)=1 A(6)-2 2 3 | A(2)-9 A(33-5 | A(21-5 A(3)=9 2 | 4 | A(2)=5 A(4j=7 | A(21-5 Al4)=7 2 5 | A(2)-5 A(5)-3 | A(2}-3 A(5)-5 2 6 | A(2)-3 A(6I-2 | AI2)-2 A(GI-3 3 | 4 | A(3)-9 A(4)-7 | A(3i-7 A(4)=9 3 5 ! A(3)-7 A(5)=5 | A(3)=5 A(5)=7 3 6 | A(3)-5 A(6)-3 | A(3)-3 A(BI-5 4 5 | A(4)=9 A(5)-7 | Al4)=7 A(5)-9 4 | 6 | At4)-7 A(6)-5 | A(4i-5 A(6)=7 5 6 | A(5)-9 A(6)-7 | A(5)-7 A6)-9
3 3 3 3 3 3 3 5 5 5 7 7 9 9 7 À
Propagation des éléments, étape par étape.
PAGE 56 - L'ORDINATEUR DE POCHE
Jouer sur tous les
tableaux
utilise deux boucles imbriquées. Elles permettent de comparer le pre- mier élément du tableau à tous les autres, puis le second à ceux qui restent, etc. Chaque fois qu'un élé- ment plus petit est rencontré, il y a échange des contenus. Pour mettre en évidence le procédé, une pre- mière liste de résultats (intitulée « Evoiution du tableau, étape par étape »}) montre l'évolution des con- tenus avant et après traitement de tri et les indices des compteurs 1 et 2 (l et J) teis qu'ils progressent à l'intérieur des boucles. On voit en première ligne l’organisation initiale du tableau, et en dernière ligne, ce qu'elle est devenue après le tri.
La deuxième liste montre la pro- pagation des éléments au fur et à mesure du tri. |
En étudiant attentivement ces deux listes, vous devriez retrouver facilement l'algorithme du pro- gramme. En fait, c'est assez simple. L'aigorithme du tri à bulles se pré- sente comme suit :
1 - Initialisation
1-1 entrer le nombre maxi- mum d'éléments du tableau
1-2 dimensionner le tableau
2 - Remplissage du tableau dans le désordre
2-1 début de boucle 2-1-1 entrée d'un élément
2-2 jusqu'à nombre maxi, retour à x2-1+
3 - Tri
3-1 compteur Ci de 1 à (nom- bre maxi — 1)
3-1-1 compteur C2 de C1 + 1 à nombre maxi 3-1-1-1 Si le con- tenu de ja case T(C2) < au contenu de la case T{C1), échanger les contenus 3-1-2 C2 suivant
3-2 C1 suivant
4 - Affichage
4-1 boucie de présentation identique à *x2*
L'algorithme se convertit aisément
en programme. Le seul point noir réside dans l'absence sur les Basics des ordinateurs de poche d'une ins- truction SWAP (présente parfois sur de plus gros ordinateurs) qui sert à échanger le contenu de deux varia- bles. Pour là remplacer, il faut recourir à trois affectations successi- ves. Une variable intermédiaire (X dans le programme « tri à bulles ») reçoit le contenu de l'élément 1. Celui-ci est ensuite rempli avec le contenu de l'élément 2 qui est alors rechargé avec la variable intermé- diaire. Vous trouverez ci-dessous la liste du programme. Vous pourrez ainsi vous familiariser avec le tri à bulles. Et à partir de là, explorer et réinventer d’autres méthodes.
—————— Mélanger — le contenu d'un tableau =
Les algorithmes de mélange sont moins répandus que ceux de tri. ils présentent pourtant un intérêt non négligeable dans la programmation de nombreux jeux. C'est le cas, par exemple, quand il faut simuler le mélange d’un jeu de cartes. Si vous vous contentez de tirer des nombres aléatoires, vous avez beaucoup de chances de trouver plus de quatre
à INP "AB DONNEES 7h
68 FÜR I=I+i TON 18 IF ACDHCAGID IE
=] we
FA 4
T LL Ag
LE es ve
er din men on
Bac
N° 23 - MAI-JUIN 84