2.1.2 Thinking Ahead Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is the purpose of thinking ahead?

A

To make programs easy and intuitive for users to use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define inputs.

A

Any data that is required to solve a problem, usually entered into the system by the user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define outputs.

A

The results that are passed back once the inputs have been processed and the problem solved.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are some considerations that programmers need to make regarding inputs and outputs when thinking ahead?

A
  • Method of input/output (device used),
  • Data structures used,
  • Data types used,
  • Order of data.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Identify the inputs and outputs that are likely to be used in a book reservation system i.e. at a library.

A

Inputs

  • Book details: name, author,
  • ISBN,
  • Borrower details: name, library card number,
  • Collection point.

Outputs

  • Expected waiting time,
  • Confirmation,
  • Availability at other libraries.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are preconditions?

A

Requirements which must be met before a program can be executed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Where can preconditions be defined?

A

Within the code or within documentation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Give an example of where preconditions are required.

A

Stack Functions

  • Check that a stack is not empty when popping an element from a stack,
  • Check that a stack is not full when pushing an element onto a stack.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

State some advantages of including preconditions within the documentation accompanying a subroutine.

A
  • Reduces the length of the program,
  • Reduces the complexity of the program,
  • Saves time needed to debug and maintain a longer program,
  • Makes subroutine more reusable.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define caching.

A

The process of storing instructions or values in cache memory after they have been used, as they may be used again.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How is caching used in storing web pages?

A

Web pages that a user frequently accesses are cached, so the next time one of these pages is accessed, content can be loaded without any delay.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the advantages of caching web pages?

A
  • Content can be loaded without delay,
  • Images and text do not have to be downloaded again multiple times,
  • Frees bandwidth for other tasks on a network,
  • Less time is spent waiting.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the name given to the technique in which instructions are fetched based on algorithms which predict which instructions are likely to soon be used?

A

Prefetching.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Give a limitation of caching.

A
  • Accuracy of the algorithms used,
  • Effectiveness of algorithm in managing the cache,
  • Size of the cache.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Give some advantages of using reusable program components.

A
  • More reliable than new components, as they have already been tested,
  • As developing from scratch is not required, this saves time, money and resources.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Give some examples of reusable program components.

A
  • Abstract data structures eg. queues and stacks,
  • Classes,
  • Subroutines.