cwtests/cw02/fib.while
author Christian Urban <christian.urban@kcl.ac.uk>
Sat, 04 Sep 2021 14:09:26 +0100
changeset 835 f4e177bfb398
parent 833 7c3b8bb4a174
child 853 851d8c00f033
permissions -rw-r--r--
cwupdates
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
833
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     1
write "Fib";
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     2
read n;  
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     3
minus1 := 0;
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     4
minus2 := 1;
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     5
while n > 0 do {
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     6
       temp := minus2;
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     7
       minus2 := minus1 + minus2;
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     8
       minus1 := temp;
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     9
       n := n - 1
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    10
};
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    11
write "Result";
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    12
write minus2 
7c3b8bb4a174 cwupdates
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    13