|
Features |
Leonardo is an integrated environment for developing and animating C programs.
It is made specifically for learning the C language, visually debugging C programs, and creating algorithm animations in a declarative style. For a comprehensive review of Leonardo, see Joseph Strout, "Learning from Leonardo", MacTech 15(10).
Leonardo includes (in a single executable file):
Main features:
A reduced control tool is also available:
All available standard ANSI C library functions (including fprintf, fscanf, malloc and free) are fully reversible. The more space you have on your working secondary memory, the more program instructions you can reverse.
Consider the following example:
int i; /** **/ void main() { for (i=0; i<=100; i+=10) ;} |
Once you have written, successfully compiled and launched this program you will spot a rectangle in a window on the screen automatically growing up as the variable "i" gets incremented in the loop "for" as shown in the following (slowed down) animation:
Note ALPHA allows you to be more concise, and the declarations above could have been written in the following equivalent form:
View(Out
1); Rectangle(Out 0,Out 10,Out 10,Out L,Out 15,1) Assign L=i; RectangleColor(0,Out Cyan,1); |