# 2015 Old Spec

# Question 4

Create a folder/directory *Question4* for your new program.

The algorithm, represented using pseudo-code in *Figure 4*, and the variable table, *Table 3*, describe a program that calculates and displays all of the prime numbers between 2 and 50, inclusive.

The MOD operator calculates the remainder resulting from an integer division eg 10 MOD 3 = 1.

If you are unsure how to use the MOD operator in the programming language you are using, there are examples of it being used in the Skeleton Program.

## Figure 4

- OUTPUT "The first few prime numbers are:"
- FOR Count1 = 2 TO 50 DO
- Count2 = 2
- Prime = "Yes"
- WHILE Count2 * Count2 <= Count1 DO
- IF (Count1 MOD Count2 = 0) THEN
- Prime = "No"

- ENDIF
- Count2 = Count2 + 1

- IF (Count1 MOD Count2 = 0) THEN
- ENDWHILE
- IF Prime = "Yes" THEN
- OUTPUT Count1

- ENDIF

- ENDFOR

## Table 3

Identifier | Data Type | Purpose |
---|---|---|

Count1 | Integer | Stores the number currently being checked for primeness |

Count2 | Integer | Stores a number that is being checked to see if it is a factor of Count1 |

Prime | String | Indicates if the value stored in Count1 is a prime number or not |

# What you need to do

Write a program for the algorithm in *Figure 4*. Run the program and test that it works correctly. Save the program in your new *Question4* folder/directory.

*11 Marks*

*+ 1 Mark for testing screenshot*

# Additional Question

Describe the changes that would need to be made to the algorithm shown in *Figure 4*, so that instead of displaying the prime numbers between 2 and 50, inclusive, it displays all the prime numbers between 2 and a value input by the user, inclusive.

*3 marks*