PROGRAM amortization_table;

VAR month : 1..12;
    starting_month : 1..12;
    balance : REAL;

PROCEDURE initialize_data;
BEGIN
  balance := 2500.0;
  starting_month := 5;
END;

PROCEDURE print_annual_header;
BEGIN
  WRITELN('Annual header');
END;

PROCEDURE calculate_and_print;
BEGIN
  balance := balance - 100.0;
  WRITELN('The balance is ',balance:8:2,' month ',month:3);
END;

PROCEDURE print_annual_summary;
BEGIN
END;

BEGIN
  initialize_data;
  REPEAT
    print_annual_header;
    FOR month := starting_month TO 12 DO
    BEGIN
      calculate_and_print;
    END;
    print_annual_summary;
    starting_month := 1;
  UNTIL balance <= 0.0;
END. (* of main program *)