Micro Systèmes n°25 sep/oct 1982
Micro Systèmes n°25 sep/oct 1982
  • Prix facial : 18 F

  • Parution : n°25 de sep/oct 1982

  • Périodicité : mensuel

  • Editeur : Société Parisienne d'Edition

  • Format : (213 x 271) mm

  • Nombre de pages : 246

  • Taille du fichier PDF : 178 Mo

  • Dans ce numéro : dossier sur la peau artificielle et le laser.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 122 - 123  |  Aller à la page   OK
Pages suivantes >
122 123
Définir un type de données, c'est décrire l'ensemble des opérations réalisables sur chaque élément appartenant à ce type. Informatique des caractéristiques opératoires spécifiques. C'est là que réside la notion de structure de données  : définir un type de donnée revient à décrire l'ensemble des opérations réalisables sur chaque élément appartenant à ce type. On parle alors de type abstrait, pour bien les différencier de leur réalisation interne. Les ordinateurs, au niveau physique, ne manipulant pas des abstractions mais des octets, l'art de l'informatique est d'avoir su se dégager de ces contraintes pour atteindre des niveaux d'abstraction de plus en plus élevés. Le développement des langages Logo, Apl ou Ada est d'ailleurs là pour en témoigner. Le rôle du programmeur sera donc de s'affranchir des limitations que lui dicte son langage, pour utiliser des concepts plus généraux, dont il pourra se servir en tant qu'outils intellectuels, et parvenir ainsi à réaliser des logiciels plus performants, plus proches du but qu'il s'est proposé d'atteindre. Dans le cadre des structures de données, on distingue deux niveaux de description  : le niveau logique qui s'attache à la description des opérations permises et à leurs propriétés, et le niveau physique qui correspond à la technique et au mode d'implantation des structures logiques sur ordinateur, compte tenu des contraintes hard ou soft. Un langage est toujours plus enclin à manipuler une structure plutôt qu'une autre  : tableaux et chaînes de caractères en Basic, pointeurs et records en Pascal, listes en Lisp, etc. Cependant, cela ne signifie pas que ces contraintes physiques dues aux compilateurs et aux interprêteurs doivent être considérées comme rédhibitoires. Il est en effet possible, en utilisant l'approche fonctionnelle qui est notre propos, d'implanter aisément des listes en Basic et des matrices en Lisp par exemple. Des programmes d'Intelligence Artificielle, qui nécessitent des structures sophistiquées (arborescences, graphes, réseaux sémantiques, etc.), ont été pourtant écrits en Fortran qui ne connaît que les tableaux numériques et quelques manipulations de chaînes de caractères. Il est donc indispensable, pour tous ceux qui désirent écrire des programmes plus intéressants, de connaître les caractéristiques logiques et les implantations physiques des quelques grandes familles de structures de données avant d'aborder la démarche visant à la définition d'un nouveau type lors de l'analyse et de la conception d'un logiciel. Les types de base On appelle type de base les types de données élémentaires qui autorisent une réalisation physique simple et immédiate. En outre, la plupart des langages de programmation permettent directement leur utilisation grâce à des instructions prévues à cet effet. Données scalaires et tableaux de données sont considérés généralement comme étant à la base de toute programmation. Les données scalaires Ce sont les types de données les plus simples qui soient, leur structure se réduisant à un seul élément  : 3, 4,'D', Vrai, en est un exemple. Ces types de données sont souvent définis dans le langage luimême  : nombre entiers ou réels (simple ou double précision), caractères (de'0'à'9', de'a'à'z'et de'A'à'Z', plus les caractères spéciaux'+','&', etc.), données booléennes enfin. Parfois (comme dans Pascal ou Ada), il est possible de créer ses propres données scalaires par l'emploi de deux mécanismes différents  : l'énumération qui revient à décrire l'ensemble des valeurs possibles que peut prendre une variable appartenant à ce type, ou l'intervalle qui consiste à restreindre l'éventail des valeurs possibles d'un type prédéfini. Par exemple, le type jour-semaine sera énuméré par  : lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche ; et le type nombre-jour-année par l'intervalle 1..366, sous-ensemble des nombres entiers. Les opérations permises sur toutes les données scalaires sont  : la définition et la création, parfois implicites dans certains langages interprétés (Basic, Apl et, dans certains cas, Fortran) et explicites dans d'autres (Pascal, Algol,C, Ada...), l'affectation et la lecture d'une valeur dans une variable. Certaines opérations sont limitées à un type particulier. L'addition, la multiplication, la soustraction et la division se retrouvent pour tous les types numériques, avec en outre toutes les comparaisons possibles  : égalité, relations d'ordre, etc. Les données booléennes autorisent les opérations logiques « et », « ou » et leurs combinaisons. la négation et le test d'égalité. 13603 1 30E5 Fig. 1. - Les donnes scaluitc., qu'une seule cellule en mémoire et.507 considérées comme des types de base. Les caractères enfin ne permettent que la comparaison. La représentation physique de telles données est montrée figure I. Chaque donnée occupe une cellule mémoire  : un octet pour les caractères, deux ou plus pour les entiers, quatre ou plus pour les réels, et un seul bit suffit à mémoriser les variables booléennes. 122 MICRO-SYSTEMES Septembre-Octobre 1982
Introduction à la programmation structurée Informatique Les tableaux Les tableaux sont certainement les structures de données les plus connues des programmeurs. Seuls quelques langages qui ont opté radicalement pour une autre approche en sont dépourvus  : Logo et certaines implantations de Lisp qui n'en possèdent pas font presque figure d'exception. Un tableau peut être considéré soit comme une réminiscence de l'aspect physique des ordinateurs (suite de cellules mémoires), soit comme une représentation informatique des matrices mathématiques. Les « matérialistes » préfèreront la première et les « logiciens » la seconde. La programmation structurée, dont le but est de faire de l'informatique une science indépendante des supports (ordinateurs ou langages de programmation), fait bien entendu appel à l'aspect matriciel des tableaux. Par analogie, on appelle vecteur a une suite de variables de même type, ai, a2,..., an. Un vecteur est alors créé par une instruction qui définit simultanément le nombre d'éléments du tableau  : « DIM A (100) » en Basic, « A  : array 1...100 of integer » en Pascal, décrivent et créent un vecteur numérique de 100 éléments. Tous les éléments d'un tableau sont nécessairement de même type et peuvent être individuellement sélectionnés par l'utilisation d'indices, qui forment les fonctions d'accès aux éléments de la structure. Dans les données scalaires, la fonction d'accès se résume à la nomination de la donnée (ex  : A = B + 1 en Basic). Il s'agit d'un cas particulier. Dans tous les autres cas, l'accession à un élément ou à un sous-ensemble de la structure se distingue du nom de la structure elle-même. En Basic, par exemple, un tableau A, créé par l'instruction DIM A(100), est différent du terme A(3) qui désigne le troisième élément du tableau A. A est de type tableau alors que A(3) est de type scalaire. Nous verrons par la suite, dans Septembre-Octobre 1982 Table des noms de fichiers Table des positions du fichier (numéro de secteur) BASIC• COM 3 ESSAI. BAS 15 EDIT• COM 7 GESTION• BAS 42 LETTRE• TXT 25"un dounic lecteur. Le premier comprend le nom des fichiers, le second l'adresse de début de ces fichiers sur le disque. 138 354 12 1983 283 0 29 a) 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 40 68 o 32 b) 53 213 9 1008 30 5 81 6 37 c) 21 52 68 12 57 Fig..3. Les tableaux sont les premiers types structures, généralement disponibles sur tous les langages de programmation. On distingue les vecteurs (a) qui sont des tableaux unidimensionnels, les matrices (b) qui ont deux dimensions et les cubes (c) qui en comportent trois. Bien entendu, il est toujours possible de considérer des tableaux de rang plus élevé. des structures, plus complexes, que les fonctions d'accès se distinguent de plus en plus de la structure elle-même. L'idée de matrices s'étend aisément aux cas de tableaux à plusieurs indices. On parle alors des dimensions ou du rang d'un tableau  : DIM B(50,3) définit un tableau de rang 2 (ou qui comporte deux dimensions), constitué de 50 lignes disposées sur 3 colonnes. L'accès à l'élément situé à l'intersection de la onzième ligne et de la deuxième colonne s'écrit B(11,2). L'utilisation de tableaux n'est pas limitée aux applications mathématiques. Par exemple un ré- pertoire (ou catalogue) de fichiers peut être considéré, et souvent implanté comme deux vecteurs  : la table des noms de fichiers d'une part et leur numéro de secteur, c'est-à-dire leur position sur le disque, d'autre part (fig. 2). Les tableaux à deux dimensions sont utilisés très fréquemment pour contenir des informations qui doivent être affichées sous forme de tables  : tableaux de gestion, damiers de jeux, tables mathématiques, etc. Un tableau à N dimensions peut être considéré comme un vecteur dont les éléments sont des tableaux à N-1 dimensions. Par exemple, un tableau à 3 dimen- MICRO-SYSTEMES — 123



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micro Systèmes numéro 25 sep/oct 1982 Page 1Micro Systèmes numéro 25 sep/oct 1982 Page 2-3Micro Systèmes numéro 25 sep/oct 1982 Page 4-5Micro Systèmes numéro 25 sep/oct 1982 Page 6-7Micro Systèmes numéro 25 sep/oct 1982 Page 8-9Micro Systèmes numéro 25 sep/oct 1982 Page 10-11Micro Systèmes numéro 25 sep/oct 1982 Page 12-13Micro Systèmes numéro 25 sep/oct 1982 Page 14-15Micro Systèmes numéro 25 sep/oct 1982 Page 16-17Micro Systèmes numéro 25 sep/oct 1982 Page 18-19Micro Systèmes numéro 25 sep/oct 1982 Page 20-21Micro Systèmes numéro 25 sep/oct 1982 Page 22-23Micro Systèmes numéro 25 sep/oct 1982 Page 24-25Micro Systèmes numéro 25 sep/oct 1982 Page 26-27Micro Systèmes numéro 25 sep/oct 1982 Page 28-29Micro Systèmes numéro 25 sep/oct 1982 Page 30-31Micro Systèmes numéro 25 sep/oct 1982 Page 32-33Micro Systèmes numéro 25 sep/oct 1982 Page 34-35Micro Systèmes numéro 25 sep/oct 1982 Page 36-37Micro Systèmes numéro 25 sep/oct 1982 Page 38-39Micro Systèmes numéro 25 sep/oct 1982 Page 40-41Micro Systèmes numéro 25 sep/oct 1982 Page 42-43Micro Systèmes numéro 25 sep/oct 1982 Page 44-45Micro Systèmes numéro 25 sep/oct 1982 Page 46-47Micro Systèmes numéro 25 sep/oct 1982 Page 48-49Micro Systèmes numéro 25 sep/oct 1982 Page 50-51Micro Systèmes numéro 25 sep/oct 1982 Page 52-53Micro Systèmes numéro 25 sep/oct 1982 Page 54-55Micro Systèmes numéro 25 sep/oct 1982 Page 56-57Micro Systèmes numéro 25 sep/oct 1982 Page 58-59Micro Systèmes numéro 25 sep/oct 1982 Page 60-61Micro Systèmes numéro 25 sep/oct 1982 Page 62-63Micro Systèmes numéro 25 sep/oct 1982 Page 64-65Micro Systèmes numéro 25 sep/oct 1982 Page 66-67Micro Systèmes numéro 25 sep/oct 1982 Page 68-69Micro Systèmes numéro 25 sep/oct 1982 Page 70-71Micro Systèmes numéro 25 sep/oct 1982 Page 72-73Micro Systèmes numéro 25 sep/oct 1982 Page 74-75Micro Systèmes numéro 25 sep/oct 1982 Page 76-77Micro Systèmes numéro 25 sep/oct 1982 Page 78-79Micro Systèmes numéro 25 sep/oct 1982 Page 80-81Micro Systèmes numéro 25 sep/oct 1982 Page 82-83Micro Systèmes numéro 25 sep/oct 1982 Page 84-85Micro Systèmes numéro 25 sep/oct 1982 Page 86-87Micro Systèmes numéro 25 sep/oct 1982 Page 88-89Micro Systèmes numéro 25 sep/oct 1982 Page 90-91Micro Systèmes numéro 25 sep/oct 1982 Page 92-93Micro Systèmes numéro 25 sep/oct 1982 Page 94-95Micro Systèmes numéro 25 sep/oct 1982 Page 96-97Micro Systèmes numéro 25 sep/oct 1982 Page 98-99Micro Systèmes numéro 25 sep/oct 1982 Page 100-101Micro Systèmes numéro 25 sep/oct 1982 Page 102-103Micro Systèmes numéro 25 sep/oct 1982 Page 104-105Micro Systèmes numéro 25 sep/oct 1982 Page 106-107Micro Systèmes numéro 25 sep/oct 1982 Page 108-109Micro Systèmes numéro 25 sep/oct 1982 Page 110-111Micro Systèmes numéro 25 sep/oct 1982 Page 112-113Micro Systèmes numéro 25 sep/oct 1982 Page 114-115Micro Systèmes numéro 25 sep/oct 1982 Page 116-117Micro Systèmes numéro 25 sep/oct 1982 Page 118-119Micro Systèmes numéro 25 sep/oct 1982 Page 120-121Micro Systèmes numéro 25 sep/oct 1982 Page 122-123Micro Systèmes numéro 25 sep/oct 1982 Page 124-125Micro Systèmes numéro 25 sep/oct 1982 Page 126-127Micro Systèmes numéro 25 sep/oct 1982 Page 128-129Micro Systèmes numéro 25 sep/oct 1982 Page 130-131Micro Systèmes numéro 25 sep/oct 1982 Page 132-133Micro Systèmes numéro 25 sep/oct 1982 Page 134-135Micro Systèmes numéro 25 sep/oct 1982 Page 136-137Micro Systèmes numéro 25 sep/oct 1982 Page 138-139Micro Systèmes numéro 25 sep/oct 1982 Page 140-141Micro Systèmes numéro 25 sep/oct 1982 Page 142-143Micro Systèmes numéro 25 sep/oct 1982 Page 144-145Micro Systèmes numéro 25 sep/oct 1982 Page 146-147Micro Systèmes numéro 25 sep/oct 1982 Page 148-149Micro Systèmes numéro 25 sep/oct 1982 Page 150-151Micro Systèmes numéro 25 sep/oct 1982 Page 152-153Micro Systèmes numéro 25 sep/oct 1982 Page 154-155Micro Systèmes numéro 25 sep/oct 1982 Page 156-157Micro Systèmes numéro 25 sep/oct 1982 Page 158-159Micro Systèmes numéro 25 sep/oct 1982 Page 160-161Micro Systèmes numéro 25 sep/oct 1982 Page 162-163Micro Systèmes numéro 25 sep/oct 1982 Page 164-165Micro Systèmes numéro 25 sep/oct 1982 Page 166-167Micro Systèmes numéro 25 sep/oct 1982 Page 168-169Micro Systèmes numéro 25 sep/oct 1982 Page 170-171Micro Systèmes numéro 25 sep/oct 1982 Page 172-173Micro Systèmes numéro 25 sep/oct 1982 Page 174-175Micro Systèmes numéro 25 sep/oct 1982 Page 176-177Micro Systèmes numéro 25 sep/oct 1982 Page 178-179Micro Systèmes numéro 25 sep/oct 1982 Page 180-181Micro Systèmes numéro 25 sep/oct 1982 Page 182-183Micro Systèmes numéro 25 sep/oct 1982 Page 184-185Micro Systèmes numéro 25 sep/oct 1982 Page 186-187Micro Systèmes numéro 25 sep/oct 1982 Page 188-189Micro Systèmes numéro 25 sep/oct 1982 Page 190-191Micro Systèmes numéro 25 sep/oct 1982 Page 192-193Micro Systèmes numéro 25 sep/oct 1982 Page 194-195Micro Systèmes numéro 25 sep/oct 1982 Page 196-197Micro Systèmes numéro 25 sep/oct 1982 Page 198-199Micro Systèmes numéro 25 sep/oct 1982 Page 200-201Micro Systèmes numéro 25 sep/oct 1982 Page 202-203Micro Systèmes numéro 25 sep/oct 1982 Page 204-205Micro Systèmes numéro 25 sep/oct 1982 Page 206-207Micro Systèmes numéro 25 sep/oct 1982 Page 208-209Micro Systèmes numéro 25 sep/oct 1982 Page 210-211Micro Systèmes numéro 25 sep/oct 1982 Page 212-213Micro Systèmes numéro 25 sep/oct 1982 Page 214-215Micro Systèmes numéro 25 sep/oct 1982 Page 216-217Micro Systèmes numéro 25 sep/oct 1982 Page 218-219Micro Systèmes numéro 25 sep/oct 1982 Page 220-221Micro Systèmes numéro 25 sep/oct 1982 Page 222-223Micro Systèmes numéro 25 sep/oct 1982 Page 224-225Micro Systèmes numéro 25 sep/oct 1982 Page 226-227Micro Systèmes numéro 25 sep/oct 1982 Page 228-229Micro Systèmes numéro 25 sep/oct 1982 Page 230-231Micro Systèmes numéro 25 sep/oct 1982 Page 232-233Micro Systèmes numéro 25 sep/oct 1982 Page 234-235Micro Systèmes numéro 25 sep/oct 1982 Page 236-237Micro Systèmes numéro 25 sep/oct 1982 Page 238-239Micro Systèmes numéro 25 sep/oct 1982 Page 240-241Micro Systèmes numéro 25 sep/oct 1982 Page 242-243Micro Systèmes numéro 25 sep/oct 1982 Page 244-245Micro Systèmes numéro 25 sep/oct 1982 Page 246