AlgolW set of Program (Lego Pieces)
Comments
comment0.alw new comment type % ... %
comment1.alw ordinary 'comment' statement
comment2.alw comment at the end of program
comment3.alw @ commenting line
comment4.alw in development ...
Integer Numbers
integer0.alw Read integer and print it
integer1.alw Integer overflow investigation
integer2.alw Subtraction overflow
integer3.alw Integer multiplication *
integer4.alw Integer division /
integer5.alw Integer second division %
integer6.alw Bit presentation of integer from left to right
integer7.alw memory size experimental estimation
integer8.alw real to integer transform
integer9.alw library function maxint
Real Numbers
real3.alw for experiments to find max real, epsilon, min positive real
real6.alw epsilon = difference of 1 and real most close to 1
real11.alw real arithmetics sometimes is not associative
Long Real Numbers
lreal1.alw scientific notation
lreal2.alw read and print, using R_W and R_D
lreal3.alw for experiments to find max real, epsilon, min positive real
lreal6.alw longepsilon = difference of 1 and long real most close to 1
lreal8.alw long real multiplication
lreal10.alw real power of long real
Booleans
boolean1.alw procedure outboolean
boolean2.alw integer equality comparison
boolean3.alw integer more/less comparison
boolean4.alw real numbers comparison
boolean5.alw negation operation
boolean6.alw conjugation (and &) operation
boolean7.alw disjunction (or) operation
boolean8.alw conditional operation ->
boolean9.alw biconditional operation ==
boolean10.alw logical formula calculation (in development)
Arrays
array0.alw integer 1-dim array (square root table)
array1.alw Pascal Triangle array
array2.alw real array with square roots
array3.alw 2-dim array: function z = x*y in rectangle (0-1,0-1
array4.alw dynamical array allocation
array5.alw array allocation of maximal size
Operator if
if0.alw print result of integer numbers comparison
if1.alw print result of real numbers comparison
if2.alw organize loop with integer counter and goto statement
if4.alw organize while loop: if and goto statement
if6.alw arithmetic expression with if inside
Operator for
for0.alw Print first 20 integers
for2.alw Sum of first n integers
for3.alw Operator for with set of non counting parameters
for4.alw for with real counter (21 numbers between 0 and 1)
for5.alw integral of 1/(1-x*x) from 0 to 1;
Blocks and variable Scopes
block0.alw block inside main block
block1.alw variable visibility in different blocks
block2.alw label visibility in different blocks
block3.alw own qualifier in inner blocks
block4.alw dynamic memory allocation in inner block
Procedures
procedure0.alw typeless procedure without arguments
procedure1.alw typeless procedure with argument
procedure2.alw integer procedure without arguments
procedure3.alw integer procedure with arguments
procedure4.alw real procedure without arguments
procedure5.alw real procedure with arguments
procedure6.alw passing parameter by value
procedure7.alw passing parameter by name (by reference)
procedure9.alw visibility of outside variables from procedure body
procedure10.alw procedure defined outside of main block
procedure11.alw recursive procedure (factorial calculation)
procedure12.alw qualifier own in procedure
procedure13.alw pass procedure name as argument to another procedure
File Input and Output
inout0.alw create file for writing, open file for append in development ...
inout1.alw write integer to file (fwriteInt) in development ...
inout2.alw write real to file (fwriteReal) in development ...
inout3.alw multiple writings to file in development ...
inout4.alw open file for reading in development ...
inout5.alw read integer from file in development ...
inout6.alw read real number from file in development ...
inout7.alw multiple read of real numbers from file in development ...
inout8.alw file creation with output of strings in development ...
inout9.alw open file and strings reading in development ...
Standard Mathematical Library
mathlib3.alw exponential function
mathlib4.alw logarithmic function
mathlib8.alw longsqrt function
mathlib9.alw longexp exponential function
mathlib10.alw longln logarithmic function
mathlib11.alw long sine function
mathlib12.alw long cosine function
mathlib13.alw long arctan function
Exceptions
exception0.alw overflow exception OVFL
exception1.alw underflow exception UNFL
exception2.alw division by zero exception DIVZERO
exception3.alw integer overflow exception INTOVFL
exception4.alw integer division by zero exception INTDIVZERO
exception5.alw exception SQRTERR
exception6.alw exception EXPERR
exception7.alw exception LNLOGERR
exception8.alw exception SINCOSERR
exception9.alw exception ENDFILE in development ...
Complex numbers
complex0.alw complex numbers input/output and addition
complex1.alw complex number real and image parts
complex2.alw complex number norm
complex3.alw multiplication of complex numbers
complex4.alw division of complex numbers
complex5.alw trigonometric form of complex numbers
'bits' data type
bits00.alw bits string declaration and assignment
bits02.alw bits string reading
bits03.alw integer transform to bits string
bits04.alw bits string to integer transform
bits05.alw bits strings operations 'and' and 'or'
bits06.alw bits strings operations 'shl' and 'shr'
bits07.alw set selected bit to 0
bits08.alw set selected bit to 1
bits09.alw set two neighbor bits to 00
bits10.alw get selected bit value
bits11.alw get two selected bits value
bits12.alw binary presentation of bits string variable
bits13.alw inverse of bits string variable
bits15.alw get bits substring from bits string
bits16.alw bits string variable reverse in development ...
bits17.alw quasi random bits string generation in development ...
bits18.alw bits string transform to string(32)
Strings
strings00.alw symbol string declaration and assignment
strings01.alw print contents of string variable
strings02.alw read symbol string variable
strings03.alw select substring from a string (operation |)
strings04.alw two strings equality comparison
strings05.alw two strings less/more comparison
strings06.alw separate symbol as string(1)
strings07.alw create symbol by its code (procedure code() )
strings08.alw get code of symbol (procedure decode() ) in development ...
strings09.alw separate symbol reading and its code printing in development ...
strings10.alw output of all symbols with codes (0-255)
strings11.alw separate string to symbols
strings12.alw transform integer to string (intbase10 and intbase16)
strings13.alw transform real to string (base10 and base16)
strings14.alw transform long real to string (longbase10 and longbase16)
strings15.alw transform of integer string presentation to integer number
strings16.alw transform of string to real
strings17.alw insert spaces in the beginning of string
strings18.alw reduce multiple neighbour spaces to one in development ...
strings19.alw concatenation of two strings
strings20.alw search of symbol in a string
strings21.alw search of string in another string
strings22.alw calculate length of the string
strings23.alw what is at the tail of string
strings24.alw divide string to words using spaces in a string in development ...
strings25.alw shift symbol string to one position right
Records
records00.alw record RPoint Declaration
records01.alw record RPoint object allocation and fields setting
records02.alw distance between two points
records03.alw passing record object to procedure: pointDistance
records04.alw record RLine declaration, allocation and fields setting
records05.alw Point OnLine procedure
records06.alw record objects assignment
records07.alw statement 'is' for calculation of object type
records08.alw generation of RPoint objects array
records09.alw in development ...
records10.alw record RTime design (hour, min, sec) in development ...
records11.alw setting of RTime fields (TimeSet) using procedure time() in development ...
records12.alw Procedures TimeWrite and TimeRead in development ...
records13.alw record RDate design (month, day, year) in development ...
records14.alw Procedures DateWrite and DateRead in development ...
records15.alw record RSegment for line segment description in development ...
records16.alw record RRect for rectangle description with sides parallel to OX and OY axes in development ...
records17.alw in development ...
records18.alw in development ...
records19.alw record RPath with points array in development ...
records21.alw in development ...
records22.alw in development ...
records23.alw in development ...
records24.alw record RListItem (integer ID, next)
records25.alw generation of Linked List example
records26.alw printing of linked list (ListWrite) in development ...
records27.alw add item to linked list header
records28.alw insert item to sorted linked list in development ...
records29.alw find item by ID in linked list in development ...
Output format predeclered variables
predecl0.alw controlling the width of output of integer (I_W)
predecl1.alw number of blanks S_W after numerical field
predecl2.alw print Pythagoras table
predecl3.alw output of logical variables
predecl4.alw output of bit variables
predecl5.alw print of reals in fixed point notation, R_FORMAT = "A"
predecl6.alw print of reals in scientific notation R_FORMAT = "S"
predecl7.alw complex numbers printing
System Library
system1.alw in development ...
system2.alw in development ...
system3.alw in development ...
system4.alw in development ...
time() function using
timem1.alw time of the day in sec/60 time(-1)
time0.alw time(0) gives elapsed execution time in minutes/100
time1.alw time(1) gives elapsed execution time in seconds/60
time2.alw time(2) gives elapsed execution time in seconds/38400
'algol' statement using for C-function calls
algol01.alw how to call sin() from C language library
algol02.alw how to call system() from C language library
algol03.alw use C-function system for new file 0.dat creation
algol04.alw use C-function putchar(c)
algol05.alw call of C-functions rand
algol06.alw C-function sleep(secs) using
algol07.alw use C-function pow for any real power calculation
algol08.alw using C-functions asin and acos
algol09.alw using of C-function rename
algol10.alw use of C-function remove
Polynomials
poly0.alw real roots of square polynomial
poly1.alw fast calculation of cubic polynomial
poly2.alw real root of cubic polynomial
poly3.alw division of cubic polynomial
poly4.alw multiplication of two square polynomials
Vectors
vector1.alw procedure outVector of writing vector to a file
vector2.alw procedure inVector of reading vector from a file
vector4.alw vector scalar multiplication
vector5.alw cosine of angle between vectors
vector6.alw random vector generation
vector7.alw bubble sort of vector components
Matrices
matrix0.alw matrix writing to a file
matrix1.alw special matrices generation
matrix2.alw matrix reading from a file
matrix3.alw matrix and number addition and multiplication
matrix5.alw matrix and vector multiplication
matrix7.alw random matrix generation
matrix8.alw 2x2 linear system solution
matrix9.alw matrix transposition
matrix10.alw matrix2x2 and 3x3 determinants
Statistics
stat0.alw average of 1-dim array
stat1.alw average and standard deviation
stat2.alw median of data vector
stat3.alw correlation between two vectors
stat4.alw histogram of numbers from random generator