U T I L I S A T I O N
Etapes à suivre pour la réalisation d'un programme
sous KHAWARIZM.
1.{Familiarisation avec un langage algorithmique arbitraire}
Apprendre le langage algorithmique utilisé.
Aller à l'éditeur, puis utiliser l'aide
2. {Edition de l'algorithme}
Ecrire un algorithme ou corriger un algorithme existant.
3. {Vérification syntaxique}
Lancer le module arranger.
Répéter tant qu'il ya des erreurs
. Aller à l'éditeur afin de corriger les erreurs
. Relancer le module arranger
A ce stade, votre algorithme est bien écrit et il a été indenté pour vous.( Vous
pouvez changer les modes de présentation de votre algorithme avec l'option
"Options d'indentation" du menu ).
4. {Exécution}
Lancer l'exécution de votre algorithme.
Vous pouvez observer
- les données lues par votre algorithme
- les écritures émises par votre algorithme
Ou bien votre algorithme donne les résultats attendus ou pas.
Dans ce dernier cas, lancer la simulation pour essayer de déterminer les erreurs
de logique.
5. {Simulation}
Lancer la simulation de votre algorithme.
Il s'agit d'une exécution avec une trace.
Vous pouvez observer
- les données lues par votre algorithme
- les écritures émises par votre algorithme
- tous les changements effectués sur les objets utilisés
Vous avez ainsi la trace complète de votre algorithme que vous pouvez imprimer
et l'analyser pour détecter les erreurs.
Si vous désirez, voir de plus près les différents pas de votre algorithme,
demander une trace.
6. {Trace}
Redemander la simulation avec trace.
Vous pouvez alors suivre pas à pas l'évolution de votre algorithme, sortir de la
boucle courante ou même du module courant.
Afin d'éviter d'avoir une trace complète qui peut être longue il est possible de
limiter la longueur des boucles utilisées dans votre algorithme. ( Vous pouvez
changer les modes de simulation avec l'option "Options de simulation" du menu ).
7. {Passage vers un langage de programmation }
Une fois que votre algorithme "tourne", il est possible de le traduire en
PASCAL.
Utiliser alors l'aide concernant le passage vers PASCAL.
Dans cette aide, vous trouverez
- les équivalents Z vers PASCAL
- toutes les implémentations des machines Z.
La tache de Khawarizm s'arrête à ce niveau là.
8. {Programmation PASCAL}
Utiliser le compilateur PASCAL, pour finaliser définitivement votre programme.
En particuliers, vous devez rajouter tous les modules de saisie des données et
de restitution des résultats.
9. { Exemple d'un Z-algorithme }
{ A5 : Nombre de mots }
SOIENT
Mot UNE CHAINE;
C UN CAR;
M UNE MACHINE_CAR;
DEBUT
CREER_MCAR(M, [' Jhjh Jsthd Lkqlsjsh Mlqmlifd .']);
LIRECAR(M, C);
TANTQUE C <> '.'
TANTQUE (C=' ') ET (C <> '.')
LIRECAR(M, C)
FINTANTQUE ;
Mot := '';
TQ (C <> ' ') ET (C <> '.')
Mot := Mot + C ;
LIRECAR(M, C)
FTQ;
SI Mot <> '' ECRIRE(Mot) FSI
FINTANTQUE
FIN
{10. Equivalent PASCAL }
PROGRAM A5;
TYPE Typemcar = RECORD
Chaine : STRING; {Chaine de caracatŠres}
Ind_mcar : BYTE {Indice}
END;
PROCEDURE Creer_mcar ( VAR Mcar : Typemcar; Chaine :STRING);
BEGIN
Mcar.Chaine := Chaine;
Mcar.Ind_mcar := 0
END;
PROCEDURE Lirecar (VAR Mcar: Typemcar; VAR C : CHAR );
BEGIN
Inc(Mcar.Ind_mcar);
C := Mcar.Chaine[Mcar.Ind_mcar]
END;
VAR
Mot : STRING;
C : CHAR;
M : Typemcar;
BEGIN
Creer_mcar(M, ' Jhjh Jsthd Lkqlsjsh Mlqmlifd .');
Lirecar(M, C);
WHILE C <> '.' DO
BEGIN
WHILE (C=' ') AND (C <> '.') DO
Lirecar(M, C);
Mot := '';
WHILE (C <> ' ') AND (C <> '.') DO
BEGIN
Mot := Mot + C ;
Lirecar(M, C)
END;
IF Mot <> '' THEN WRITELN(Mot) ;
END;
END.