A-level Computing/AQA/Paper 1/Skeleton program/AS2024

AQA computer science Queue Simulator

This is for the AQA AS Computer Science Specification.

This is where suggestions can be made about what some of the questions might be and how we can solve them.

Section A Predictions

edit

The 2024 paper 1 section A will contain 4 questions worth 21 marks. (Q1 - 5 marks, Q2 - 4 marks, Q3 - 3 marks, Q4 - 9 marks). The EAD provides a table for the Q1 answers which is likely a trace table.

Section B Predictions

edit

The 2024 paper 1 section B will contain 11 questions worth 24 marks. (Q5 - 2 marks, Q6 - 2 marks, Q7 - 1 mark, Q8 - 1 mark, Q9 - 2 marks, Q10 - 2 marks, Q11 - 4 marks, Q12 - 2 marks, Q13 - 3 marks, Q14 - 3 marks, Q15 - 2 marks.)

Section C Predictions

edit

The 2024 paper 1 section C will contain 3 questions worth 30 marks. (Q16 - 8 marks, Q17 - 9 marks, Q18 - 13 marks.)

Q16 - Prediction

As there are no major outstanding errors in the program, the only noticeable change in functionality that could be made is to do with the settings menu. Initially, entering any value apart from "Y" would let the user skip editing the settings, however this should be changed so that the program only accepts Y and N as user inputs. An example has been given below in C#:

        public static void ChangeSettings(ref int SimulationTime, ref int NoOfTills)
        {
            SimulationTime = 10;
            NoOfTills = 2;
            Console.WriteLine("Settings set for this simulation:");
            Console.WriteLine("=================================");
            Console.WriteLine($"Simulation time: {SimulationTime}");
            Console.WriteLine($"Tills operating: {NoOfTills}");
            Console.WriteLine("=================================");
            Console.WriteLine();
            Console.Write("Do you wish to change the settings?  Y/N: ");
            string Answer = Console.ReadLine();
            Answer = Answer.ToUpper();
            while (Answer != "Y" && Answer != "N")
            {
                Console.WriteLine("Not a valid choice, please try again with Y/N");
                Answer = Console.ReadLine();
                Answer = Answer.ToUpper();
            }
            if (Answer == "Y")
            {
                Console.WriteLine($"Maximum simulation time is {MAX_TIME} time units");
                Console.Write("Simulation run time: ");
                SimulationTime = Convert.ToInt32(Console.ReadLine());
                while (SimulationTime > MAX_TIME || SimulationTime < 1)
                {
                    Console.WriteLine($"Maximum simulation time is {MAX_TIME} time units");
                    Console.Write("Simulation run time: ");
                    SimulationTime = Convert.ToInt32(Console.ReadLine());
                }
                Console.WriteLine($"Maximum number of tills is {MAX_TILLS}");
                Console.Write("Number of tills in use: ");
                NoOfTills = Convert.ToInt32(Console.ReadLine());
                while (NoOfTills > MAX_TILLS || NoOfTills < 1)
                {
                    Console.WriteLine($"Maximum number of tills is {MAX_TILLS}");
                    Console.Write("Number of tills in use: ");
                    NoOfTills = Convert.ToInt32(Console.ReadLine());
                }
            }
        }