( développé sous DOS )
Initiation à l' ALGORITHMIQUE via le langage Z.
Conçu et réalisé par
Pr. D.E ZEGOUR
Tous droits réservés Il est formellement interdit de commercialiser ce logiciel sans l'autorisation préalable de l'auteur.
Nous serons très ravis de recevoir toutes les suggestions et critiques qui nous permettront d'améliorer les prochaines versions de ce produit
Les autres logiciels de la même série (Versions Dos)
Présentation Objectifs Menus Traitement Langage Z Documentation Fichiers sur disque Auteur Pub |
Manuel de référence Exposé Téléchargement du logiciel Téléchargement d'un Dépliant Z1 (Imprimer en recto-verso et plier en 3) |
KHAWARIZM
est un environnement d'apprentissage de l'algorithmique offrant la possibilité d'écrire
des algorithmes, de les arranger, de les drouler ou les simuler et de fournir toute
la documentation nécessaire
pour les traduire vers le langage de programmation PASCAL.
KHAWARIZM vise la conception assistée des algorithmes.
KHAWARIZM assiste aussi l'utilisateur pour traduire son algorithme en PASCAL.
KHAWARIZM est un système multi-fenêtrage offrant la possibilité de tailler les fenêtres, de les déplacer, de les consulter ou de les personnaliser en modifiant les couleurs du texte, du fond, du cadre ou de la barre de défilement.
KHAWARZM offre 6 fenêtres montrant :
- l'algorithme
- les données ( lectures ),
- les résultats de l'exécution ( écritures ),
- les résultats de la simulation,
- les fichiers,
- la présentation de KHAWARIZM .
A tout moment dans KHAWARIZM, vous pouvez invoquer l'aide ( F1 ) ou actionner les opérations (F10)
KHAWARIZM offre les services suivants (F10) :
Un éditeur pour écrire vos algorithmes fournissant toute la documentation sur le langage Z.
Un indenteur pour arranger vos algorithmes dont les principales fonctions sont les suivantes :
. Chaque instruction est réécrite sur
une ligne différente.
. Les mots-clés sont réécrits en majuscule.
. Le premier caractère de tout identificateur est réécrit en majuscule.
. Les structures de contrôle sont mises en relief.
. Les instructions de même niveau commencent sur la même colonne.
Un interpréteur pour exécuter vos algorithmes en donnant comme résultat ( Fenêtre d'interprétation ) l'ensemble des écritures émises par l'algorithme.
Un simulateur pour donner le déroulement complet de vos algorithmes en montrant l'évolution de tous les objets manipulés ( fenêtre de simulation ). Ce qui vous aide à corriger, voir construire vos algorithmes.
Une documentation importante pour vous montrer le passage d'un Z-algorithme vers un programme PASCAL grāce à un Hyper-texte incorporé au niveau de l'éditeur.
Dans
KHAWARIZM, Les algorithmes sont exprimés dans un langage algorithmique ( le langage Z ).
La particularité du langage Z réside dans le fait de pouvoir écrire des
algorithmes sur des machines abstraites simulant les machines rudimentaires de Turing et
les structures élémentaires de données .
Le langage Z est conçu principalement pour les objectifs suivants :
- la familiarisation avec un formalisme algorithmique ( Z ) en développant des
algorithmes ne nécessitant que des objets simples tels que la somme des N premiers
naturels, le PGCD de deux nombres, les nombres premiers inférieurs
N, etc...
- l'expérimentation sur la machine-caractères en développant des algorithmes tels que
le nombre d'occurrences d'un caractère donné, le nombre de mots, les mots
commençant par un caractère donné, les mots contenant une chaîne de caractères
donnée, etc...
- l'expérimentation sur la "machine-nombres" en développant des algorithmes tels que la
recherche d'une valeur donnée, le plus grand élément, le deuxième nombre dont le
carré est égal à la somme des deux précédents, etc....
- l'initiation aux structures de données élémentaires ( tableaux, structures et listes
linéaires chaînées ) en développant des algorithmes de parcours en vu de faire un
traitement donné, des algorithmes de mises à jour tels que l'insertion et la
suppression, des algorithmes mettant en jeu plusieurs listes ou tableaux tels que
l'intersection, l'interclassement et des algorithmes de tri.
- l'apprentissage de la modularité en développant des algorithmes découpés en
modules ( action composée ou fonction ), ce qui permettra de comprendre les notions de
variables locale et globale, de paramètres formels et réels et d'une manière générale
la communication entre modules.
Grāce à sa machine abstraite définie sur les fichiers, le langage Z permet aussi
l'utilisation des fichiers et la construction de structures simples de fichiers.
Vous trouverez dans le Manuel
de référence
I. une présentation du langage Z,
II. une description des machines Z,
III. des exemples de Z-algorithmes,
IV.
un index des mots-clés Z,
V. la syntaxe détaillée de Z sous forme de diagrammes.
KHAWARIZM offre toute la documentation sur le langage Z.
KHAWARIZM fournit les équivalents Z --> PASCAL.
KHAWARIZM donne quelques implémentations possibles en PASCAL des différentes machines abstraites considérées dans le langage Z.
Toute cette documentation est réunie dans un Hyper-texte sous l'éditeur.
F I C H I E RS S U R D I S Q U E
kwz.exe : khawarizm (ce logiciel).
Edit.exe :editeur.
AIDENIV.HLP : Hyper-texte sous l'éditeur.
C-i-s.exe : compilateur interpréteur simulateur
Arranger.exe: indenteur pour z.
Env1-z.txt : présentation du logiciel
Z1.txt : langage z.
Pascal2.txt : implémentation des machines en pascal
*.alg : z-algorithmes.
Remarques : EDIT2, C-I-S et ARRANGER ne peuvent être appelés indépendamment.
Les autres logiciels de la même série ( Version Dos) :
1. KHAWARIZM II
KHAWARZM existe aussi pour le niveau 2
"Apprendre et Approfondir les principales structures de
données et de fichiers" dont les objectifs sont les suivants :
- Apprendre les principales structures de données en manipulant des piles, des files
d'attente, des listes simples et bidirectionnelles, des vecteurs de n'importe quelle
dimension, des arbres de recherches binaire et des arbres de recherche m-aire.
- Approfondir les structures de données en manipulant des structures de données
complexes telles que des piles de files d'attente, des listes d'arbres de recherche
binaires, des listes de vecteurs de piles, etc...
- Apprendre et approfondir aussi bien les structures simples de fichiers que les
structures les plus complexes.
2. GRAPHE-Z
GRAPHE-Z est un environnement pour développer des programmes sur les graphes
indépendamment de leur représentation mémoire.
GRAPHE - Z offre la possibilité d'écrire des algorithmes dans un langage algorithmique
spécialisé "GRAPHELANG", de les arranger, de les drouler ou les simuler
et de fournir toute la documentation nécessaire pour les traduire vers les langages de
programmation PASCAL et C.
La particularité de GRAPHELANG réside dans le fait de pouvoir écrire des
algorithmes sur des machines abstraites simulant les graphes et certaines structures de
données indispensables pour l'élaboration des algorithmes sur les graphes.
3. COMPIL-Z
COMPIL-Z est un outil dont le rôle est de dévoiler le fonctionnement interne des
compilateurs.
COMPIL - Z offre la possibilité d'écrire des algorithmes dans un prototype de langage
couvrant plusieurs notions, de les compiler en passant par toutes les étapes de
compilation : lexique, syntaxe, sémantique, la génération de code
/ Pr D.E Z E G O U R /
Ecole Supérieure d'Informatique
Oued Smar, ALGER
Email :[email protected]