INSTRUCTIONS TO CANDIDATES INFORMATION FOR CANDIDATES. Computer Science (A Level)

Similar documents
OCR H446 A-Level Computer Science

OCR H446 A-Level Computer Science

INSTRUCTIONS TO CANDIDATES INFORMATION FOR CANDIDATES. Computer Science (A Level)

INSTRUCTIONS TO CANDIDATES

INSTRUCTIONS TO CANDIDATES

OCR H446 A-Level Computer Science

Monday 9 June 2014 Afternoon

Wednesday 13 May 2015 Morning

Thursday 19 June 2014 Morning

THIS IS A NEW SPECIFICATION

Tuesday 15 January 2013 Morning

COMPUTER SCIENCE. H446/02 Summer 2017 examination series Set A High A LEVEL. Exemplar Candidate Work. H446 For first teaching in 2015

Thursday 17 May 2012 Afternoon

Wednesday 17 May 2017 Morning

COMPUTER SCIENCE. H446/02 Summer 2017 examination series Set C Mid A LEVEL. Exemplar Candidate Work. H446 For first teaching in 2015

* * MATHEMATICS (MEI) 4751/01 Introduction to Advanced Mathematics (C1) ADVANCED SUBSIDIARY GCE. Thursday 15 May 2008 Morning

Software Development Pseudocode

Tuesday 9 January 2018 Morning

Tuesday 14 January 2014 Morning

OCR H446 A-Level Computer Science

Monday 27 June 2016 Afternoon

Friday 5 June 2015 Morning

COMPUTER SCIENCE. H446/02 Summer 2017 examination series Set A Low A LEVEL. Exemplar Candidate Work. H446 For first teaching in 2015

Friday 24 May 2013 Morning

Monday 17 June 2013 Morning

Thursday 9 June 2016 Morning

Computer Programming

* * MATHEMATICS 4721/01 Core Mathematics 1 ADVANCED SUBSIDIARY GCE. Wednesday 9 January 2008 Afternoon. Duration: 1 hour 30 minutes.

Wednesday 14 May 2014 Morning

Thursday 6 June 2013 Morning

MATHEMATICS 4736 Decision Mathematics 1

CS 540: Introduction to Artificial Intelligence

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

Question Paper Code : 97044

Tuesday 29 January 2013 Morning

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

physicsandmathstutor.com

MATHEMATICS 4736 Decision Mathematics 1

A451. COMPUTING Computer Systems and Programming GENERAL CERTIFICATE OF SECONDARY EDUCATION. Monday 23 May 2011 Morning

Tuesday 22 January 2013 Afternoon

Friday 16 June 2017 Morning

Level 3 Cambridge Technical in IT

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING ADVANCED DATA STRUCTURES AND ALGORITHMS EXAM EXAMINATION JUNE 2014

Thursday 8 June 2017 Morning Time allowed: 1 hour 30 minutes

Technical University of Denmark

Wednesday 22 May 2013 Afternoon

Applied Information and Communication Technology

CS(AH)17 Computing Science

THIS IS A LEGACY SPECIFICATION GCSE MATHEMATICS C (GRADUATED ASSESSMENT)

Thursday 6 June 2013 Afternoon

CSE 21 Summer 2017 Homework 4

Applied Information and Communication Technology

Level 3 Cambridge Technical in IT 05838/05839/05840/05841/05842/05877 Unit 1: Fundamentals of IT

CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators)

F453. COMPUTING Advanced Computing Theory ADVANCED GCE. Thursday 23 June 2011 Morning

INFORMATION AND COMMUNICATION TECHNOLOGY UNIT 3: ICT in Organisations

Answer all questions. No marks will be awarded for using brand names of software packages or hardware.

York University AK/ITEC INTRODUCTION TO DATA STRUCTURES. Final Sample II. Examiner: S. Chen Duration: Three hours

Tuesday 24 June 2014 Morning

CS 112 Final May 8, 2008 (Lightly edited for 2012 Practice) Name: BU ID: Instructions

THIS IS A LEGACY SPECIFICATION

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

nce GCSE Com mputer Scien Past Name

Monday 23 January 2012 Morning

CS251-SE1. Midterm 2. Tuesday 11/1 8:00pm 9:00pm. There are 16 multiple-choice questions and 6 essay questions.

Friday 18 January 2013 Afternoon

COSC 2007 Data Structures II Final Exam. Part 1: multiple choice (1 mark each, total 30 marks, circle the correct answer)

Mathematics 43601F. Transformations. In the style of General Certificate of Secondary Education Foundation Tier. Past Paper Questions by Topic TOTAL

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY THIRD SEMESTER B.TECH DEGREE EXAMINATION, JULY 2017 CS205: DATA STRUCTURES (CS, IT)

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

F452. COMPUTING Programming Techniques and Logical Methods ADVANCED SUBSIDIARY GCE. Friday 21 January 2011 Morning

Mill Hill School. 13+ Entrance Examination Mathematics. January Time: 1 hour. School: Mark: Materials required for examination

Question And Answer.

SPECIMEN MATHEMATICS A A502/02 GENERAL CERTIFICATE OF SECONDARY EDUCATION. Unit B (Higher) Candidate Surname. Candidate Forename WARNING

GCSE Mathematics Practice Tests: Set 6

CSCI2100B Data Structures Heaps

Introduction to Algorithms November 17, 2011 Massachusetts Institute of Technology Fall 2011 Professors Erik Demaine and Srini Devadas Quiz 2

Comp2310 & Comp6310 Systems, Networks and Concurrency

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures

CSE 373 Final Exam 3/14/06 Sample Solution

: Intro Programming for Scientists and Engineers Final Exam

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

Methods in Mathematics

Friday 9 June 2017 Morning

FINAL EXAMINATION. COMP-250: Introduction to Computer Science - Fall 2010

Mathematics (JUN10MD0101) General Certificate of Education Advanced Subsidiary Examination June Unit Decision TOTAL

CS302 Data Structures using C++

GCE A level 1103/01 COMPUTING CG3

Priority Queues. 04/10/03 Lecture 22 1

National Quali cations 2016

Wednesday 18 May 2016 Morning

B277B MATHEMATICS C (GRADUATED ASSESSMENT) MODULE M7 SECTION B GENERAL CERTIFICATE OF SECONDARY EDUCATION. Monday 8 March 2010 Morning

OCR J276 GCSE Computer Science

Computer Science Spring 2005 Final Examination, May 12, 2005

CSE100. Advanced Data Structures. Lecture 12. (Based on Paul Kube course materials)

BB4W. KS3 Programming Workbook INTRODUCTION TO. BBC BASIC for Windows. Name: Class:

Applied Information and Communication Technology

MATHEMATICS Unit Decision 1

Unit 4 Processing and Programming Techniques

GCSE 4351/02 MATHEMATICS (UNITISED SCHEME) UNIT 1: Mathematics in Everyday Life HIGHER TIER

Transcription:

Computer Science (A Level) H446/02, Algorithms and programming, Practice set 2 Learning Computer Science OCR ExamBuilder process constraints mean you may see slight differences between this paper and the original. Duration: 150 mins Candidates answer on the Question Paper. A calculator may be used in this paper. OCR supplied materials: Additional resources may be supplied with this paper. Other materials required: Pencil Ruler (cm/mm) Candidate forename Candidate surname Centre number Candidate number INSTRUCTIONS TO CANDIDATES Write your name, centre number and candidate number in the boxes above. Please write clearly and in capital letters. Use black ink. HB pencil may be used for graphs and diagrams only. Answer all the questions. Read each question carefully. Make sure you know what you have to do before starting your answer. Where space is provided below the question, please write your answer there. You may use additional paper, or a specific Answer sheet if one is provided, but you must clearly show your candidate number, centre number and question number(s). INFORMATION FOR CANDIDATES The quality of written communication is assessed in questions marked with a pencil or an asterisk. The number of marks is given in brackets [ ] at the end of each question or part question. The total number of marks for this paper is 140. OCR 2017. You may photocopy this page. Page 1 of 22 Created in ExamBuilder

Answer all the questions. 1(a). A binary search tree, colour, stores data about colours that are entered into a computer. A binary search tree is one example of a type of tree. i. State the main features of a tree. [3] ii. State the features that make a tree a binary search tree. [1] (b). The current contents of colour are shown. Add the following colours to the tree above in the order written: Brown White Orange Purple OCR 2017. You may photocopy this page. Page 2 of 22 Created in ExamBuilder

[4] (c). A binary search tree, numbers, stores numbers that are entered into a computer. The contents of the tree are shown below: i. Explain, using the binary search tree numbers as an example, how a depth-first (post-order) traversal is performed. [5] ii. Explain, using the binary search tree numbers as an example, how a breadth-first traversal is performed. OCR 2017. You may photocopy this page. Page 3 of 22 Created in ExamBuilder

[5] (d). The binary search tree, values, is stored as an array of nodes. Each node has a left pointer, a right pointer and the data being stored. The following data is entered in the order shown below: 68 30 73 22 1 90 70 The following table shows the data stored in the array. The Root Pointer stores the node number of the first element in the tree. i. Complete the remaining Left Pointer and Right Pointer values for the data entered in Table 1.1. Where the pointer is null, leave the space empty. [3] ii. State the purpose of the Free Pointer. OCR 2017. You may photocopy this page. Page 4 of 22 Created in ExamBuilder

[1] iii. The following data is added to the array in the given order: 6 100 Add the new nodes to Table 1.1 and update any relevant pointers. [4] 2(a). Fig. 2.1 shows the flight paths between a country's airports. The value in bold beneath each node is the heuristic value from E. State the full name of the data structure shown in Fig. 2.1. [2] (b). The structure in Fig. 2.1 is searched using the A* algorithm making use of the heuristic values. i. State what the heuristic values could represent in Fig. 2.1. [1] ii. State the purpose of heuristic values in the A* algorithm. OCR 2017. You may photocopy this page. Page 5 of 22 Created in ExamBuilder

[1] iii. Perform an A* algorithm on the data structure in Fig. 2.1 to find the shortest distance between H and E. Show each step of the process, and the calculations performed for each node visited. [8] iv. Give one decision that is made in the A* algorithm, and describe the effect of this decision on the next step(s) of the algorithm. Decision... OCR 2017. You may photocopy this page. Page 6 of 22 Created in ExamBuilder

Effect... [3] (c). *A programmer is interested in using concurrent processing to perform a searching algorithm. Explain how concurrent processing could be used in searching algorithms, and evaluate the benefits and trade-offs from implementing concurrent processing in a searching algorithm. OCR 2017. You may photocopy this page. Page 7 of 22 Created in ExamBuilder

[9] 3(a). Dexter is leading a programming team who are creating a computer program that will simulate an accident and emergency room to train hospital staff. Identify two features of the problem that make it solvable by computational methods. [2] (b). *Dexter has used decomposition and abstraction during the analysis of the problem. Explain and evaluate the use of decomposition and abstraction in the creation of this simulation. OCR 2017. You may photocopy this page. Page 8 of 22 Created in ExamBuilder

[9] (c). Dexter has been told he should make use of caching in the simulation. Describe what is meant by caching and explain how caching can be used within the simulation. [4] (d). Two of Dexter's programmers have developed different solutions to one part of the problem. Table 3.1 shows the Big O time complexity for each solution, where n = the number of data items. Solution A Solution B Time O(n) O(n) Space O(k n ) (where k > 1) O(log n) Table 3.1 i. The Big O time complexity for time of each solution is O(n). OCR 2017. You may photocopy this page. Page 9 of 22 Created in ExamBuilder

Explain what is meant by time complexity, with reference to the solutions' Big O time complexity. [3] ii. Name the space complexity for each solution: Solution A... Solution B... [2] iii. Explain, with reference to the Big O complexities of each solution, which solution you would suggest Dexter chooses. [4] (e). Dexter's team is using an integrated development environment (IDE). Describe how the programmers could make use of the following IDE tools: Breakpoints... OCR 2017. You may photocopy this page. Page 10 of 22 Created in ExamBuilder

Stepping... [4] 4(a). A program needs to sort an array of lowercase strings into descending alphabetic order. An example of the data is shown in Fig. 4.1. Fig. 4.1 Show how a bubble sort would sort the data in Fig. 4.1. OCR 2017. You may photocopy this page. Page 11 of 22 Created in ExamBuilder

[6] (b). An algorithm will make use of a function, contains, that compares two strings and checks if the second string contains the first string. For example, calling the function with ("fox", "foxhound") this would return true. The function needs to: Take two strings as parameters, string1 and string2 return true if string1 is contained within string2, or both strings are identical return false if string1 is not contained within string2 Write, using pseudocode, the function contains. Annotate your pseudocode with comments to show how it solves the problem. OCR 2017. You may photocopy this page. Page 12 of 22 Created in ExamBuilder

[7] (c). i. A merge sort could have been used instead of a bubble sort. Describe how a merge sort differs from a bubble sort. [4] ii. Name two sorting algorithms, other than a bubble sort and merge sort. 1 2 [2] (d). Show how a binary search would be performed on the array shown in Fig. 4.2 to find the value duck. OCR 2017. You may photocopy this page. Page 13 of 22 Created in ExamBuilder

Fig. 4.2 [3] 5(a). Kim is writing an object-oriented program for a four player board game. The board has 26 squares that players move around, as shown in Fig. 5.1. Fig. 5.1 Each player takes it in turn to roll two dice. They then move that number of spaces on the board. If they roll a double (both dice have the same value), they then take a card from the deck. The deck contains 40 cards that each include a sentence (such as You have won the lottery ). The sentence on the card determines if money is given or taken away from the player. OCR 2017. You may photocopy this page. Page 14 of 22 Created in ExamBuilder

Fig. 5.2 Each square (apart from Start and Miss a turn) has an animal associated with it that the player can purchase, if it has not been purchased already, for example square 6 has a Squirrel. Fig. 5.2 shows an example of one of these animals. Once a player has purchased the animal, any opposing player which subsequently lands on the square/animal has to pay a fine. Each animal can be upgraded, with each upgrade the game charges more each time a player stops on them. For example, with no upgrade the level 0 squirrel costs 10 when a player stops on it. If 1000 is paid to upgrade, the squirrel is then a level 1 animal and now charges 50 for a stop. The cost to purchase and upgrade the animal is the same. Each animal can be upgraded to a maximum of level 3. When a player lands on, or passes the square Start (position 0), they receive 500. If they land on Miss a turn (position 13), they miss their next turn. i. A class, Player, stores the player's ID (P1, P2, P3, P4), their current board position and the amount of money they have. Fig. 5.3 shows a class diagram for Player. A class diagram describes a class. It contains the class name, followed by the attributes, then the methods. Fig. 5.3 OCR 2017. You may photocopy this page. Page 15 of 22 Created in ExamBuilder

The constructor creates a new instance of Player, taking the player's ID as a parameter. The board position is set to 0, and money to 2000. Write, using pseudocode, the constructor method for the Player class. [3] ii. A class, Animal, define the attributes and methods for the animals stored in each square. Fig. 5.4 shows a class diagram for Animal. Fig. 5.4 The constructor takes the required data as parameters and then sets currentlevel to 0, and assigns the parameters as the remaining attributes for the new object. Write, using pseudocode, the constructor method for the Animal class. [4] OCR 2017. You may photocopy this page. Page 16 of 22 Created in ExamBuilder

iii. Write, using pseudocode, the code to create an instance of Animal for the Squirrel shown in Fig. 5.2, positioned on square number 6, for the constructor function you wrote in part (a)(ii). [2] (b). The board is stored as a 1D array, board, of data type Animal. The spaces at 0, and 13, are left as empty elements that are checked using separate functions. i. Complete, using pseudocode, the function to: o Roll both dice o Move the player, the dice number of spaces o If a double is rolled, calls the procedure pickdeck o Adds 500 if they have passed or landed on Start o Calls the procedure missago if they land on space 13 or o Calls the procedure checkanimal o Return the new position OCR 2017. You may photocopy this page. Page 17 of 22 Created in ExamBuilder

[6] ii. *The parameter currentplayer from part (b)(i) can be passed by value or by reference. Explain the difference, benefits and drawbacks between passing by value and by reference. Recommend which should be used for currentplayer, justifying your decision. OCR 2017. You may photocopy this page. Page 18 of 22 Created in ExamBuilder

[9] (c). The deck is stored as a zero-indexed 1D array, named deck, of type Card. The class diagram for Card is shown in Fig. 5.5. OCR 2017. You may photocopy this page. Page 19 of 22 Created in ExamBuilder

Fig. 5.5 The array, deck, is treated as a queue, with a variable, headpointer, identifying the first card in the deck. When a card has been used, the head pointer increases to move to the next position. If the end of the deck is reached, the head pointer returns to 0 and starts again. The procedure pickdeck: takes the current player as a parameter outputs the text to be displayed from the first card in the queue adds or subtracts the amount to/from the current player's money increases the head pointer Write, using pseudocode, the procedure pickdeck. [6] OCR 2017. You may photocopy this page. Page 20 of 22 Created in ExamBuilder

(d). The procedure checkanimal: Takes the current player as a parameter Accesses the data for the animal at the player's position in the array board If the animal is free, asks the player if they would like to purchase the animal and outputs its name and cost, if they choose to buy the animal, it calls the procedure purchase() with the player and animal as parameters If that player owns the animal, and it is not at level 3, it asks if they would like to upgrade the animal If they would like to upgrade, it calls the method upgrade for that animal with the current player as a parameter If a different player owns the animal, it calls the method getamounttocharge() for that animal, sending this value and the current player as parameters to the procedure chargestay() Write, using pseudocode, the procedure checkanimal. [10] OCR 2017. You may photocopy this page. Page 21 of 22 Created in ExamBuilder

END OF QUESTION PAPER OCR 2017. You may photocopy this page. Page 22 of 22 Created in ExamBuilder