Building a solution - CCEAControl structures

Building a solution involves coding in an appropriate high level language, choosing an appropriate Integrated Development Environment (IDE), testing and documenting its development.

Part ofDigital Technology (CCEA)Digital development practice (programming)

Control structures

Your solution should also make use of . Provide evidence that you have used the following control structures:

  • conditional execution: if
  • conditional execution with alternative: if-else
  • looping: for-while, repeat

Python implementation

28	def numberGenerator():# function to generate random number
29 num = random.randint(1,12)
30 return num
31
32	score = 0
33	def addQuestion():
34 '''Function to create and correct addition questions'''
35 num1 = numberGenerator()#Generate 2 random numbers for the questions
36 num2 = numberGenerator()
37 userAns = int(input('What is {} + {} ?: '.format(num1, num2)))# Ask question & capture answer
38 if userAns == num1 + num2: # if correct answer, increment score & feedback to user
39 print('Correct')
40 global score #references the global variable score & increments
41 score += 1
42 else:
43 print('Incorrect')

Line 38 compares the user's answers to the correct answer and then will execute one of two clauses depending on the user's input:

What is 8 + 4?: 11
Incorrect
Press any key to continue . . .

OR

What is 8 + 4?: 12
Correct
Press any key to continue . . .

C# implementation

static void addQuestion() { Random ran1 = new Random(); int num1 = ran1.Next(0,10); Random randT = new Random(DateTime.Now.Millisecond); int num2 = randT.Next(0,10); Console.Write("What is " + num1 + "+" + num2 + " ?: "); int answer = Convert.ToInt32(Console.ReadLine()); if(answer == num1+num2) { Console.WriteLine("Correct!"); Console.WriteLine("Score +1"); score = score + 1; } else { Console.WriteLine("Incorrect."); } }

This code generates two distinct random numbers by employing two strategies to obtain random values, thus making it highly unlikely they will be identical.

Here is an example of a negative outcome – an incorrect answer being supplied by the user:

Enter a name: Fred
Fred >> Accepted
*****DIFFICULTY*****
Please select the difficulty level from the menu below:
1 - Easy
2 - Medium
3 - Hard
2
Level chosen = 2
What is 0 + 5?: 6
Incorrect.
Press any key to continue . . .

Here is an example of a positive outcome – a correctly answered question:

Enter a name: Francis
Francis >> Accepted
*****DIFFICULTY*****
Please select the difficulty level from the menu below:
1 - Easy
2 - Medium
3 - Hard
2
Level chosen = 2
What is 6 + 9?: 15
Correct!
Score +1
Press any key to continue . . .