Learn Jovial - 10 Code Examples & CST Typing Practice Test
JOVIAL (Jules Own Version of the International Algorithmic Language) is a high-level programming language derived from ALGOL, designed in the late 1950s and early 1960s for embedded and real-time military systems. It emphasizes structured programming and reliability for mission-critical applications.
Learn JOVIAL with Real Code Examples
Updated Nov 21, 2025
Code Sample Descriptions
JOVIAL Counter and heme Toggle
PROGRAM CounterTheme;
INTEGER COUNT := 0;
BOOLEAN ISDARK := FALSE;
PROCEDURE UPDATEUI;
BEGIN
PUT('Counter: ' || COUNT);
IF ISDARK THEN
PUT('Theme: Dark');
ELSE
PUT('Theme: Light');
END;
END UPDATEUI;
PROCEDURE INCREMENT;
BEGIN
COUNT := COUNT + 1;
CALL UPDATEUI;
END INCREMENT;
PROCEDURE DECREMENT;
BEGIN
COUNT := COUNT - 1;
CALL UPDATEUI;
END DECREMENT;
PROCEDURE RESET;
BEGIN
COUNT := 0;
CALL UPDATEUI;
END RESET;
PROCEDURE TOGGLETHEME;
BEGIN
ISDARK := NOT ISDARK;
CALL UPDATEUI;
END TOGGLETHEME;
BEGIN
CALL UPDATEUI;
CALL INCREMENT;
CALL INCREMENT;
CALL TOGGLETHEME;
CALL DECREMENT;
CALL RESET;
END CounterTheme;
Demonstrates a simple counter with theme toggling using JOVIAL variables and procedures.
JOVIAL Random Number Generator
PROGRAM RandomNumbers;
INTEGER I;
INTEGER NUM;
FOR I := 1 TO 3;
BEGIN
NUM := RANDOM(100) + 1;
PUT('Random ' || I || ': ' || NUM);
END;
Generates random numbers between 1 and 100 and prints them.
JOVIAL Todo List
PROGRAM TodoList;
INTEGER COUNT := 0;
CHARACTER TODOS(10,20);
PROCEDURE ADD(TASK);
BEGIN
TODOS(COUNT) := TASK;
COUNT := COUNT + 1;
PUT('Todos count: ' || COUNT);
END ADD;
PROCEDURE REMOVE(IDX);
INTEGER I;
BEGIN
FOR I := IDX TO COUNT-2 DO
TODOS(I) := TODOS(I+1);
END;
COUNT := COUNT - 1;
END REMOVE;
BEGIN
CALL ADD('Buy milk');
CALL ADD('Write JOVIAL code');
CALL REMOVE(0);
END TodoList;
Maintains a simple todo list with add and remove functionality.
JOVIAL Dice Roller
PROGRAM DiceRoller;
INTEGER I;
INTEGER ROLL;
FOR I := 1 TO 3;
BEGIN
ROLL := RANDOM(6) + 1;
PUT('Roll ' || I || ': ' || ROLL);
END;
Rolls a six-sided dice three times.
JOVIAL Countdown Timer
PROGRAM Countdown;
INTEGER COUNT := 5;
WHILE COUNT >= 0 DO
BEGIN
PUT('Countdown: ' || COUNT);
COUNT := COUNT - 1;
END;
PUT('Done!');
Counts down from 5 to 0.
JOVIAL Prime Checker
PROGRAM PrimeCheck;
INTEGER NUMS(3) := (7,10,13);
INTEGER N,I;
BOOLEAN ISPRIME;
FOR N := 1 TO 3 DO
BEGIN
ISPRIME := TRUE;
FOR I := 2 TO NUMS(N)-1 DO
IF NUMS(N) MOD I = 0 THEN ISPRIME := FALSE;
END;
PUT(NUMS(N) || IF ISPRIME THEN ' is Prime' ELSE ' is Not Prime');
END;
Checks if numbers are prime.
JOVIAL Temperature Converter
PROGRAM TempConvert;
REAL C,F;
C := 25;
F := C*9/5+32;
PUT('25°C = ' || F || '°F');
F := 77;
C := (F-32)*5/9;
PUT('77°F = ' || C || '°C');
Converts Celsius to Fahrenheit and Fahrenheit to Celsius.
JOVIAL Shopping Cart
PROGRAM ShoppingCart;
CHARACTER CART(10,20);
INTEGER PRICES(10);
INTEGER COUNT := 0;
PROCEDURE ADDITEM(ITEM,PRICE);
BEGIN
CART(COUNT) := ITEM;
PRICES(COUNT) := PRICE;
COUNT := COUNT + 1;
END ADDITEM;
PROCEDURE REMOVEITEM(IDX);
INTEGER I;
BEGIN
FOR I := IDX TO COUNT-2 DO
CART(I) := CART(I+1);
PRICES(I) := PRICES(I+1);
END;
COUNT := COUNT - 1;
END REMOVEITEM;
BEGIN
CALL ADDITEM('Apple',2);
CALL ADDITEM('Banana',3);
CALL REMOVEITEM(0);
END;
Adds and removes items in a shopping cart with total cost.
JOVIAL Name Greeting
PROGRAM Greeting;
PROCEDURE GREET(NAME);
BEGIN
PUT('Hello, ' || NAME || '! Welcome!');
END GREET;
BEGIN
CALL GREET('Saurav');
CALL GREET('Alice');
CALL GREET('Bob');
END Greeting;
Greets users by name.
JOVIAL Stopwatch
PROGRAM Stopwatch;
INTEGER TIME := 0;
WHILE TIME < 5 DO
BEGIN
PUT('Stopwatch: ' || TIME || ' seconds');
TIME := TIME + 1;
END;
PUT('Done!');
Simulates a stopwatch incrementing seconds.
Frequently Asked Questions about Jovial
What is Jovial?
JOVIAL (Jules Own Version of the International Algorithmic Language) is a high-level programming language derived from ALGOL, designed in the late 1950s and early 1960s for embedded and real-time military systems. It emphasizes structured programming and reliability for mission-critical applications.
What are the primary use cases for Jovial?
Embedded avionics systems. Real-time radar and defense applications. Mission-critical aerospace software. Command and control systems. Legacy defense software maintenance
What are the strengths of Jovial?
Reliable and deterministic for real-time systems. Optimized for embedded hardware with constrained resources. Strongly typed to prevent common errors. Proven track record in military and aerospace applications. Facilitates structured and maintainable code in complex systems
What are the limitations of Jovial?
Very niche with limited modern support. Steep learning curve due to specialized constructs. Few contemporary compilers or tooling. Mostly legacy codebases remain active. Not suitable for general-purpose or web development
How can I practice Jovial typing speed?
CodeSpeedTest offers 10+ real Jovial code examples for typing practice. You can measure your WPM, track accuracy, and improve your coding speed with guided exercises.