Voting count

Voting count

Counting machine for ballots cast.

A game show allows contestants to ask the audience to help them choose a correct answer to a question from four possible answers. Audience members each have a small hand-held terminal on which they can press one of four buttons labelled A, B, C or D. As the audience vote, their selection is appended to a list. Once the time for voting has ended the results are collated and displayed to the contestant.

Make


Write a program to output the total number of votes cast for each answer. The votes cast were: "A", "B", "B", "B", "B", "C", "C", "D", "A", "B", "A", "B", "A", "B", "D", "B", "C", "B", "B", "A".

Use this boilerplate code as a starting point:

Success Criteria

Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.

Complete the subprogram called `count_votes` that:

  1. Takes a parameter called `ballot` that is the list of the votes cast.
  2. Counts the number of votes for A, B, C and D. Any other data in the list is ignored.
  3. Returns a list of the results. Index 0 is the count for A, index 1 is the count for B, index 2 is the count for C and index 3 is the count for D.

Complete the `main program` so that:

  1. The `count_votes` subprogram is called.
  2. The results of the vote are output.

Typical inputs and outputs from the program would be:

Answer A: 5

Answer B: 10

Answer C: 3

Answer D: 2

Knowledge Organiser

Use these resources as a reference to help you meet the success criteria.

Programming guide:

Evaluate


Run the unit tests below to check that your program has met the success criteria.

Answer A: 5

Answer B: 10

Answer C: 3

Answer D: 2

Check that you have:

  • Used comments within the code to describe the purpose of subprograms, conditions and iterations.
  • Used meaningful identifier names. That means the names of subprograms and variables indicate what they are for.

Registered in England and Wales: 10442992

VAT Number: 290 9845 58

Telephone: 01452 947500

Email: admin@craigndave.co.uk

Craig'n'Dave logo

Craig 'n' Dave

Bett Awards 2024 Finalist