Unit 1 Programming
Tutorial 5: Software Design V
To be used in week 5, week beginning 8 October 2018.
Following from the previous pseudocode problems, supply code for the follow situation:
The Prime Problem
A prime number is an integer, greater than 1, which has no exact integer factor other than 1 and the number itself.
That is to say, there are no values, which, if you divide the number by them, give a remainder (or modulus) or zero.
Obviously, the only even prime is 2, and then the odd primes start 3, 5, 7, 11, 13, 17, ...
As well as underlying a lot of pure mathematics, they are of great importance in such computational tasks as the
(security-related) enciphering of information. Multiply your data by a prime and you can only recover the original
using the prime; if you start with a non-prime, the factors will allow a multitude of intermediate steps (each will usually
reveal some information, suggesting that this value be kept and used). There is no known limit to the magnitude of
primes, and no way of finding them apart from testing that they have no modulus == 0 factors.
Write an algorithm which takes an integer and states whether or not it is a prime. Note that you only need to test
whether the candidate prime can be exactly divided by other, smaller primes. For example, any factor of 6 must also
be a factor of 2 and 3, and any factor of 9 must also be a factor of 3.
Using stepwise refinement write down a suitable solution to this problem in pseudocode, NOT Java.
1
Tutorial 5: Software Design V
To be used in week 5, week beginning 8 October 2018.
Following from the previous pseudocode problems, supply code for the follow situation:
The Prime Problem
A prime number is an integer, greater than 1, which has no exact integer factor other than 1 and the number itself.
That is to say, there are no values, which, if you divide the number by them, give a remainder (or modulus) or zero.
Obviously, the only even prime is 2, and then the odd primes start 3, 5, 7, 11, 13, 17, ...
As well as underlying a lot of pure mathematics, they are of great importance in such computational tasks as the
(security-related) enciphering of information. Multiply your data by a prime and you can only recover the original
using the prime; if you start with a non-prime, the factors will allow a multitude of intermediate steps (each will usually
reveal some information, suggesting that this value be kept and used). There is no known limit to the magnitude of
primes, and no way of finding them apart from testing that they have no modulus == 0 factors.
Write an algorithm which takes an integer and states whether or not it is a prime. Note that you only need to test
whether the candidate prime can be exactly divided by other, smaller primes. For example, any factor of 6 must also
be a factor of 2 and 3, and any factor of 9 must also be a factor of 3.
Using stepwise refinement write down a suitable solution to this problem in pseudocode, NOT Java.
1