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 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

.… 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

EST LA SORTIE ?

Dans le dédale vous errez, Ariane n'est pas 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,

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 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.

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 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 23 - MAI-JUIN 84

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 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.

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

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

! 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

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

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 : 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 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 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 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

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

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 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

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 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 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

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 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 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 î É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 ::

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 ; 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 À 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.

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

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 ? » 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 g:È=P

=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, 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

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

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 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

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 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

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 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 à:

FO POKZ ÉFO28sKoke ts l âgrB= MAL INKEYS à I Sui3sbsiésisäsiiszs =ÿ THEN 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 .

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 CD QG CO 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 —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 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 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,

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

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 22 page 21. 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, 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 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

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 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 soit inférieur ou égal à M

: 2E {plus grand nombre de la forme 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, 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é

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

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

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, 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 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 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

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 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...

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 21, 25, 26 et 27 (qui peuvent aussi être armés nor- malement avec l'instruction SF) ainsi que les 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 23 - MAI-JUIN 84

missée ‘ei douceur | Programme :pôur, PB*100 :

Auteur Jean-Pierre Raby . # F Copyright l'Ordiriateur 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

& æ. 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) 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

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

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, 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 l’on a réussi une tra- ; vergée 325-360 : on a gagné la’ partie 370-385 : cas 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 : 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

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 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! En SSI FOR G=1

P ESS PRINT AT ,P

24G IF WU-1288

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 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 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.

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

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, 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

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

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 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 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-

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-

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.

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 21, résoudre une équation du second degré, raci- nes réelles ou complexes et discrimi-

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 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 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 TEL. 325.88.80 également HEWLETT PACKARD-CANON-CASIO etc.

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

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 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

à 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:

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 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

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 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 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

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

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 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 !/..

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

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 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

23 - MAI-JUIN 84