Machine Logique

De Wikilabus.

Image:Exclamation_mark.png

Cet article est encore à l'état d'ébauche. Il vous est recommandé de rester vigilant quant à la qualité du contenu et si vous le pouvez, de commenter, compléter ou corriger cet article.

Une machine logique est la représentation mentale d'un système informatique qui serait capable d'exécuter un algorithme.

Elle se définit par :

  • l'organisation de sa mémoire
  • les syntaxes qu'elle accepte
  • les procédures qu'elle est capable d'exécuter
  • les types de valeurs et les opérations sur ces types
  • ses canaux de communication avec l'utilisateur des algorithmes

Sommaire

Organisation de la mémoire

Une mémoire est une strucure organisée de tel manière qu'il soit possible:

  • de stocker de l'information dans un de ses éléments (assignation)
Remarque toute nouvelle assignation d'information à (dans) un élément remplace le contenu précédent de cet élément.
  • de récupérer l'information stockée dans un élément précis (résolution)

Organisation de la mémoire de notre machine logique

Notre machine logique possède trois mémoires chacune organisée de manière différente:

  • une mémoire spécialisée pour stocker des instructions (mémoire de code).
  • deux mémoires spécialisées pour stocker des valeurs (mémoires de données).
    • une mémoire ou les valeurs sont accessibles via un nom (la pile).
    • une mémoire ou les valeurs sont accessibles via leur addresse ou référence (le tas).

Syntaxe et procédure interne

La machine logique est capable d'excécuté tout une série de micro-actions (procédure interne) telque :

  • modifier la valeur d'une zône mémoire,
  • effectuer une addition
  • ...

Chaque procédure interne correspond à une syntaxe particulière que la machine logique est capable de reconnaître.
Par exemple pour notre machine logique la syntaxe :

age <- 25

est une syntaxe valide correspondant à la procédure interne d'assignation de la valeur 25 dans zône mémoire nommée age.

Syntaxes et procédures connues par notre machine logique

Les syntaxes et procédures ont ètè choisies en fonction des fonctionnalitées de base communes aux languages de programmation structurés et des bonnes pratiques dans ce type de programmation.

Syntaxes et procédures de définition

Syntaxes et procédures des Instructions

Syntaxes et procédures des structures de contrôles

Les Structures de contôles définissent des blocs d'instructions et les conditions d'exécutions du code contenu dans les blocs.

Opérations et types de donnée

La manière de réaliser une opération sur des données dépend du type des données traitées et certaines opérations n'ont aucun sens sur certain types de données.

La technique pour filter de l'eau est très différente de la technique pour filtrer les entrées à une soirée. Tandis que filtrer des montagnes ne fait appel à aucune procédure connue (par moi) et donc n'a pas de sens (pour moi).

Il en est de même pour la machine logique. Une opération sur des valeurs ne pourra être exécutée qu'en fonction du type de données de ces valeurs. Il sera donc néccessaire de définir:

  • les types de données connues par la machine logique
  • les opérations possibles sur chaque type
  • les syntaxes reconnues par la machine pour exprimer ses types.

Types et opérations reconnue par notre machine logique

  • Type numérique
    • Addition + , soustraction -, multiplication *, division /, division entière DIV, modulo MOD, exposant xY, racine carrée √ x.
    • Opérateur de comparaison : <, <=, >, >=, =, \ne
  • Type texte
    • Concaténation , extraction de sous texte (x,y), nombre de caractères LONG.
    • Opérateur de comparaison : <, <=, >, >=, =, \ne
  • Type logique
    • Conjonction ET, disjonction OU, négation NON
    • Opérateur de comparaison : =, \ne
Outils personnels
STE-Formations ULg fapse