Mode:
Duration:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
MODULE TodoList;
IMPORT IO;
VAR todos: ARRAY [0..9] OF STRING;
VAR count: INTEGER := 0;
PROCEDURE addTask(task: STRING);
BEGIN
todos[count] := task; count := count + 1;
FOR i := 0 TO count-1 DO IO.PutLn(todos[i]) END;
END addTask;
PROCEDURE removeTask(index: INTEGER);
VAR i: INTEGER;
BEGIN
FOR i := index TO count-2 DO todos[i] := todos[i+1] END;
count := count - 1;
FOR i := 0 TO count-1 DO IO.PutLn(todos[i]) END;
END removeTask;
BEGIN
addTask("Buy milk");
addTask("Write Modula-3 code");
removeTask(0);
END TodoList.Coding works best on desktop or with an external keyboard.