• Aucun résultat trouvé

Structure d’un Z-algorithme

N/A
N/A
Protected

Academic year: 2022

Partager "Structure d’un Z-algorithme "

Copied!
2
0
0

Texte intégral

(1)

Langage Z

( Niveau 1 )

D E S C R I P T I O N

Généralités

> Un Z-algorithme est un ensemble de modules parallèles dont le premier est principal et les autres sont soient des actions composées (ACTION) soient des fonctions de type quelconque (FONCTION).

> Les objets globaux sont déclarés dans le module principal.

> La communication entre les modules se fait via les paramètres et les variables globales.

> Les paramètres peuvent être de n’importe quel type.

> Quatre types standard sont autorisés : ENTIER, BOOLEAN, CAR, CHAINE .

> Le langage est l'ensemble des algorithmes abstraits, écrits à base de modèles (machines abstraites).

> On définit ainsi des machines de Turing : Machine-caractères et Machine-nombres permettant l’initiation à l’algorithmique.

> On définit également des machines abstraites sur les structures, les vecteurs et les listes permettant l’initiation aux structures élémentaires de données.

> Le langage peut être étendu avec d'autres machines abstraites.

> Le langage est doté des opérations de haut niveau permettant d’initialiser des vecteurs ou de construire des listes à partir d'un ensemble de valeurs (scalaires ou structures) et d’initialiser les machines de Turing

> Le format des instructions est libre.

Structure d’un Z-algorithme

SOIENT

{ Objets locaux et globaux } { Annonce des modules } DEBUT

{ Instructions } FIN

Module 1 Module 2 ....

Module n

Chaque module peut être soit une fonction soit une action.

Définition d'une action

ACTION Nom (P1, P2, ..., Pn)

{ Objets locaux et paramètres } DEBUT

{ Instructions } FIN

Définition d'une fonction

FONCTION Nom (P1, P2, ...,Pn) : Type { Objets locaux et paramètres } DEBUT

{ Instructions } FIN

Type peut être quelconque.

Exemple d’un Z-algorithme

SOIENT

Mot : CHAINE;

C : CAR;

DEBUT

CREER_MCAR(M, [' Jhh Jsthd Lkql ifd ']);

LIRECAR(M, C);

TANTQUE C <> '.'

TQ (C=' ') ET (C <> '.') LIRECAR(M, C) FTQ ;

Mot := '';

TQ (C <> ' ') ET (C <> '.') Mot := Mot + C ; LIRECAR(M, C) FTQ;

SI Mot <> '' ECRIRE(Mot) FSI FINTANTQUE

FIN

(2)

Objets

Les objets peuvent être des scalaires :ENTIER, BOOLEEN, CAR, CHAINE

Exemples :

A, B, C DES BOOLEENS ; I, J : ENTIER ;

Ch UNE CHAINE ; C UN CAR ;

Les objets peuvent être des machines abstraites : STRUCTURE (Structures), VECTEUR(Vecteurs) et LISTE(Listes linéaires chaînées)

Exemples

I, J, K DES ENTIERS ;

L1, L2 DES LISTES DE CHAINES ; A UNE STRUCTURE (CHAINE, ENTIER) ;

V1 UN VECTEUR(10, 60) ; V2 UNE STRUCTURE (ENTIER, BOOLEEN) ;

F UN FICHIER DE (ENTIER, VECTEUR(10)) ENTETE ENTIER BUFFER BUF1, BUF2 ;

Expressions

Comme dans les langages de programmation.

Exemples :

(B+C) / F , NON Trouv, (X # 5) ET NON Trouv, F(x) <> 5

Instructions

V désigne une variable, E une expression et Idf un nom de module.

[ ] désigne une partie facultative, { } un ensemble.

Affectation : V := E

Lecture : LIRE(V1, V2, ...) Ecriture : ECRIRE(E1, E2, ...) Conditionnelle : SI E [ : ]

{ Instructions } [ SINON

{ Instructions } ] FSI

Appel : APPEL Idf [ ( E1, E2, ...) ] Répétitive : TQ E [ : ]

( Forme 1 ) { Instructions } FTQ

Répétitive : POUR V := E1, E2,E3 ( Forme 2 ) { Instructions }

FPOUR E3 désigne le pas.

Opérations liées aux machines abstraites

Machine-caractères LIRECAR, NBRCAR

Machine-nombres

LIRENOMBRE, NBRNOMBRE

Listes linéaires chaînées

ALLOUER , LIBERER , VALEUR, SUIVANT, AFF_ADR, AFF_VAL

Vecteurs

ELEMENT, AFF_ELEMENT Structures

STRUCT, AFF_STRUCT

Fichiers

OUVRIR, FERMER, ENTETE, AFF_ENTETE, LIRESEQ, LIREDIR, ECRIRESEQ,

ECRIREDIR, RAJOUTER, ALLOC-BLOC, FINFICH

Opérations de haut niveau

CREER_MCAR, CREER_MNOMBRE, CREER_LISTE, INIT_STRUCT,

INIT_VECTEUR(ou INIT_TABLEAU) Exemple:

CREER-LISTE (L, [12, 23, 67, I, I+J] )

Crée la liste linéaire chaînée L avec les valeurs entre crochets dans l’ordre indiqué.

Références

Documents relatifs

3- Ne cessant d’améliorer notre commande, nous avons constaté qu’un phénomène d’oscillation de l’eau autour d’un niveau provoque de nombreux démarrage et arrêt

III.2.2 Déterminer la fréquence de rotation du moteur si et le couple utile moteur T u1 pour un réglage de la pression d'air comprimé à 7 bars. III.2.3 En déduire la

Ce scénario décrit les processus qui surviennent lors des interventions de maintenance précédant généralement un avis de panne pour un objet technique (vous avez également

MouseListener en Java, mais que l'on ne souhaite pas implémenter de comportement pour toutes les méthodes, on peut dériver la classe MouseAdapter.. Celle-ci fournit en effet un

Elle est d’autant plus importante que la masse de la charge est grande et s’oppose à la mise en mouvement. Elle est caractérisée par le moment d’inertie J, qui s’exprime en

Si l'on en croit Jesse Fox, auteur principal d'une étude et professeur assistante en communication à l'Université de l'Ohio, les hommes qui publient beaucoup de selfies sur

Les élèves ne disposant pour l’instant que d’informations qualitatives sur l’énergie potentielle et l’énergie cinétique d’un système, le but de

marge brute – remise – prix d’achat net – prix de vente hors taxe – coût d’achat prix de vente toute taxe comprise – prix d’achat net – frais d’achat – prix