General presentation                    Back to Summary

Presentation

Menus

Traitments

Z Language

Documentation

 

 

Presentation 

 

KHAWARIZM is an environment for learning and deepening the main data and file structures.

KHAWARIZM offers the possibility to write algorithms in an algorithmic language (Z-language), to indent them, to run or simulate them and to convert them automatically to the PASCAL and C programming languages.

KHAWARIZM aims at the assisted design of algorithms.
 

Menus

 

KHAWARIZM offers several windows showing :

-Data ( Readings )
- Results of the run ( Writings )
- Results of the simulation ( Complete trace )

At any time in KHAWARIZM, you can invoke the help ( F1 ) or activate operations with buttons.
 

 

Traitments

 

KHAWARIZM offers the following services:

- An editor to write your algorithms providing all the documentation on the Z language.

- An indentor to arrange your algorithms.
Its main features are :

. each statement is written on a different line,
. the keywords are rewritten in upper case (or lower case),
. the first character of any identifier is rewritten in upper case,
. control structures are highlighted,
. instructions of the same level start on the same column.
. the "ventilation step" is variable.

- An interpreter to execute your algorithms, giving as a result all the writings emitted (Results window).

- A simulator to give the complete progress (window "Simulation") of your algorithms by showing the evolution of all the manipulated objects. This helps you to correct or build your algorithms.

- A translator for automatic conversion of algorithms to Pascal or C programs.
 

 

 Z Language  

 

In KHAWARIZM, the algorithms are expressed in an algorithmic language (the Z language).

The particularity of the Z language lies in the fact that it can write algorithms on abstract machines simulating the main data structures.

The Z language is designed primarily for the following purposes:

- Experimenting on the main data structures, regardless of their implementation, by developing algorithms on
. arrays
. structures,
. linked lists,
. two-sided lists,
. queues,
. stacks,
. binary search trees,
. m-ary search trees.

- Creating and managing complex data structures including
. linked list of queues,
. linked list of stacks, ,
. tree of linked lists,
. linked list of stacks of arrays,
. etc...

- Writing recursive algorithms.

Thanks to the abstract machine defined on files, the Z language also allows the use of files and the construction of both simple and complex file structures.

 

Documentation

 

KHAWARIZM offers all the documentation on the Z language.

KHAWARIZM provides the Z --> PASCAL and Z --> C translations.

KHAWARIZM gives some possible implementations in PASCAL and C of the various abstract machines considered in the Z language.

All the documentation is collected in a hyper-text.