A *pracnique* is similar to a case study, derived from “practical techniques”, and homage to the early Communications of the ACM column. In the first issue of CACM, it was described as “techniques contributed be factual and in successful usage, rather than speculative or theoretical” [CACM 1(1) (1958)]. One of the criteria for acceptance of pracniques was “can the reader use this tomorrow?”.

## RE-ENGINEERING

The pracniques below work through programming problems in Cobol, Ada, and Fortran.

**Pi**

*Re-engineering a vintage Fortran program (1966) to calculate the value of π.* PI:design PI:code

**Day of Year.
**

*Re-engineering a F77 program that calculates the Day of Year (DOY).*DOY:design DOY:code

**Prime Numbers**

*Re-engineering a legacy Fortran program to calculate prime numbers. *PRIME:design PRIME:code

**Roman Numerals**

*Re-engineering a legacy Fortran program to calculate Roman numerals.* ROMAN:design ROMAN:code

**Easter Sundays**

*Re-engineering a Cobol program from 1962 which calculates the date of Easter Sunday.* EASTER: design&code

## C PROGRAMMING

These pracniques go through various techniques involved with programming in C. That are at a variety of levels, from novice, to advanced.

#### Novice

As the crow flies – A C program to derive the distance between two points

Height of the Eiffel Tower – A C program to calculate the difference in height of the Eiffel Tower due to thermal expansion

Wind chill – A C program to calculate the wind chill factor

Programming style – How the aspects of style can affect a program

Ice Skating Scores – A C program to calculate ice skating scores using interquartile means (arrays, loops, functions)

### Programming LANGUAGES

The following case studies describe re-engineering of small programs in Fortran, Ada, and Cobol.

The Evolution of Fortran (The quadratic equation in Fortran I, a Fortran 77, and a Fortran 90/95)

Julian Dates (Gregorian to Julian conversion implemented in Fortran, Ada, Cobol, C and Python)

Wind Chill Factor (Wind chill factor in Fortran, Ada, Cobol, and C)

## CODING

**Deck Flex : ***A Fortran program to calculate the flexural deflection in a deck, given a particular material. *Design&Code

**Escape Velocity** : *An Ada program to calculate the escape velocity from the surface of a moon or planet.* Design

**Ice Thickness** : *An Ada program to calculate ice thickness. *Design

**Luhn’s Algorithm** : *An Ada program to perform Luhn’s Algorithm to validate a number.* Design

**Typing Monkey** : *An Ada program to simulate the Typing Monkey problem.* Design