Do you have a younger brother or sister who is learning their times tables?
Do you think that you could do with brushing up on your tables yourself? In this
assignment you are going to write a program that will test users on their
knowledge of the times tables and give them a score.
Here is a reminder of the commands you might need for this task. As the course progresses, you will get fewer of these reminders.
INPUT - e.g. INPUT "What is your name? "; A$ will ask the question and store the answer in the variable called A$
RND(1) - gives you a random number from 0 to 1, which can be printed or assigned to a variable, e.g. x = RND(1).
FOR - repeats a section of your program a number of times - e.g. FOR N = 1 TO 10 will repeat 10 times, counting with N from 1 to 10. If you don't want to count in 1s, you can add STEP - e.g. FOR N = 5 TO 100 STEP 5 (to count up to 100 in 5s) or FOR N = 10 TO 1 STEP -1 (to count from 10 down to 1). You don't need to use N - it's just a programmers habit, like using x in algebra; any valid variable name will do.
NEXT - goes after FOR, at the end of the section that you want to repeat.
There is a page on random numbers
and how to scale them into the right range here.
If you really want to practise your times tables, you might also like to try to the Visual Times Tables web-page that I created to help the children in my family.
Your task is to produce a program to test people on their times tables. Your program should:
ask the user ten questions at random from the times tables
only ask questions from 2 x 2 up to 12 x 12 (i.e. you don't need 1 x 1 or anything bigger)
keep a score of how many questions were answered correctly and give a score out of 10 at the end
be clear and easy to use
The minimum output is the questions and the score, but you can add extra text to make it easy to understand.
If you found that quite straightforward, you could add some extra features. How about making sure that the user doesn't get the same question twice in a row - or twice in a set of 10 questions? What about asking if they want another go, and then comparing their score with the previous one? There are lots of things that you could add to this program.