cwtests/cw04/fib.while
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 24 Oct 2025 11:26:43 +0100
changeset 1018 fd6a64c53f0e
parent 859 2c6fa627df78
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
859
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     1
write "Fib: ";
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     2
read n;  
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     3
minus1 := 1;
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     4
minus2 := 0;
836
c8c30949e06f updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     5
while n > 0 do {
859
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     6
       temp := minus2;
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     7
       minus2 := minus1 + minus2;
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     8
       minus1 := temp;
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
     9
       n := n - 1
836
c8c30949e06f updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    10
};
859
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
    11
write "Result: ";
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
    12
write minus2 ;
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
    13
write "\n"
2c6fa627df78 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 852
diff changeset
    14