Specimen Paper
Computing (Modular) CP1
(2 Hours)

1. A computer system is used in a town library to keep a record of book stocks and loans.  
(i) State two types of documentation which should be included with the computer system. [2]
 
(ii) While the system was being computerised, a systems analyst was employed. Explain how he or she would find out about the current system being used in the library. [3]
 

(iii) Explain the term changeover which is often used with reference to the development of a new system [2]
   
(iv) Once a system has been delivered, there are often considerable post-implementation costs. Describe how these can be minimised. [2]
   
 
2.(a) Many modern word processing systems can incorporate data/images from other packages, such as spreadsheets or graphics packages. Describe one example where you might wish to include both data and an image(s) from another package in a word processing document. [2]
   
(b) A certain "office suite" package contains a range of software, including a word processor, spreadsheet, graphics facility, database and presentation tool.  
  (i) Describe two advantages of such an arrangement. [2]
   
  (ii) Describe one disadvantage of such an arrangement. [1]
   
 
3. HTML (hypertext mark-up language) is an example of a computer language used to produce pages for the world wide web. Explain why such languages are suitable for the production of these pages. [2]
   
 
4. A large mail-order firm wishes to store data about its customers, including the following:
  • name
  • address
  • number of orders made

The data is stored in a number of records.

 
(i) Describe why records are a suitable data structure/type in this case. [1]
   
(ii) Describe a suitable data structure for each of the following:  
  (I) name; [1]
   
  (II) address; [1]
   
  (III) number of orders made. [1]
   
(iii) Why is a two-dimensional array not suitable in this case? [1]
   
(iv) State  an example of data in this firm which might sensibly be stored in a two dimensional array. [1]
   
 
5.(a) A travel agency has set up an information system to provide an extra service to its customers whereby they can request more detailed information about holidays than is generally available in brochures.

The travel agency is interested in how many enquiries are made about each holiday and so wishes the information held to be updated (by incrementing the count of requests) each time an enquiry is made.

A customer discusses a customer request for details with a member of staff in the travel agency, who is then able to make an enquiry of the information system. This results in a request/update being sent to the holiday information system. This brings about the release of holiday information to the staff member, who then forms it into a customer report, to be given to the customer.

 
(i) Consider each of the seven terms underlined in the paragraph above.

State whether each is:

  • a data flow
  • a process
  • a data store
  • an external entity
[4]
 
(ii) Draw a data flow diagram or similar diagram to illustrate this situation. [4]
 

 
(b) The current system involves the customer talking to a member of staff in the travel agency, who then makes the enquiry on behalf of the customer as described above.

An alternative approach being considered by the travel agency is to install a number of computer terminals so that customers can make enquiries directly.

 
  (i) Describe both the hardware and software features required in a suitable interface for this application. [5]
 

  (ii) State an advantage to the customer of this arrangement. [1]
 
 
  (iii) State a disadvantage to the customer of this arrangement. [1]
   

 

  (iv) Once in use, how might the success of the design of this system be evaluated? [2]
   
 
6. Software maintenance is normally considered to fall into three different types:
  1. perfective maintenance
  2. adaptive maintenance
  3. corrective maintenance

Describe each of these types and in each case, give an example of when it is necessary.

[6]
   
 
7. Part of a binary search algorithm is shown below.
This algorithm searches for item in an array called table of size n

You should assume that integer division rounds down, eg (3+6)/2 gives the result 4

 
 

binary_search
    flag := 0
    left := 1
    right := n
    while ((right >= left) and (flag=0))
        x := (left+right)/2
        if item = table[x]
            then
                flag := 1
            else
                if item < table[x]
                    then
                        right := x-1
                    else
                        left := x+1
                endif
        endif
    endwhile

 
(a) A binary search cannot always be used to search for an item in this way. When will this search not be appropriate? [1]
   
(b) When a binary search is appropriate, describe why it is preferable to a linear search. [1]
   
(c) This algorithm is described using pseudocode.
Give two advantages of using pseudocode to describe algorithms
[2]
   
(d) If when the algorithm ends, the search element (item) has been found, which element of table contains it? [1]
   
(e) If when this algorithm ends, the search element (item) has not been found, what is the value of flag? [1]
   
(f) Copy and complete the following table to demonstrate the operation of the algorithm.

The following data set is to be used:

25  29  32  32  35  36  41  42  47  47  49  51

The search element (item) is to be 42.

The first row is already completed.

 
 
flag left right

x

0 1 12 6
     

 

       
       
       
[4]
   
 
8. A team of programmers is writing a suite of real-time programs for a safety-critical control system.  
  (i) Explain why the speed of the programs is very important in this case. [1]
   
  (ii) The suite of programs could contain various types of error, including syntax errors and logical errors. Explain each of the following terms, giving an example in each case:  
  (I) syntax error; [2]
   
  (II) logical error. [2]
   
  (iii) Explain why careful version control is important when developing computer programs. [1]
   
  In the following part-question, additional credit will be gained if your answer demonstrates skill in written communication.  
  (iv) The programming team is aiming to produce a very high quality suite of programs. One approach they adopt is to make extensive use of standard modules. They also take a number of other measures to try to achieve high quality. Describe how using standard modules will help to achieve their aim and describe other measures they can take. [9]