Programming techniques Flashcards

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

Name the 3 programming constructs

A
  • Sequence
  • Branching
  • Iteration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Which 2 categories of loop is iteration split up into?

A
  • Count-controlled

- Condition-controlled

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

Describe how the branching program construct works

A

A certain block of code is run if a specific condition is met, using IF statements

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

What is recursion?

A

A programming construct in which a subroutine calls itself during its execution until the stopping condition is met

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

What is the base case in recursion?

A

A condition that must be met in order for the recursion to end

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

State 2 advantages of recursion

A
  • Can be represented in fewer lines of code

- Easier to express some functions recursively than using iteration

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

State a disadvantage of recursion

A
  • Inefficient use of memory
  • Danger of stack overflow
  • Difficult to trace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Give 2 pieces of information that are stored on the call stack

A
  • Parameters
  • Return addresses
  • Local variables
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define scope

A

The section of the program in which a variable is accessible

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

What is meant by a local variable?

A
  • Limited scope
  • Set or declared inside a function or other subprogram
  • Can only be accessed from within that subprogram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is meant by a global variable?

A
  • Can be accessed throughout a program

- Declared or set outside any functions or subprograms

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

Give 2 advantages of using local variables over global variables

A
  • Less memory is used
  • Self-contained so unaffected by code outside of the subroutine
  • Take preconditions over global variables with the same name
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is top-down design?

A

A technique used to modularise programs in which the problem is continually broken down into sub-programs, until each can be represented as an individual, self-contained module which performs a certain task

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

Give another name for top-down design

A

Stepwide refinement

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

State 2 advantages of a modular design

A
  • Makes a problem easier to understand and approach
  • Simpler to divide tasks between a team
  • Easier to manage project
  • Self-contained modules simplify testing and maintenance
  • Greater reusability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the difference between procedures and functions?

A
  • Functions must always return a single value

- Procedure does not always have to return a value

17
Q

What does it mean to pass a parameter to a subroutine by reference?

A
  • Address of the variable is passed to the subprogram

- If a variable is changed by the subprogram, it stays changed

18
Q

What does it mean to pass a parameter to a subroutine by value?

A
  • When you pass a parameter a copy is made for the subprogram
  • Changing the value in the subprogram does not change the original value
19
Q

State 2 features of IDEs

A
  • Stepping
  • Variable watch
  • Breakpoint
  • Source code editor
  • Debugging tools
20
Q

What is encapsulation in object-oriented programming?

A

When attributes are declared as private so can only be accessed and edited by public methods

21
Q

Describe the purpose of encapsulation in object-oriented programming

A

Program complexity is reduced by protecting data from being accidentally edited by other parts of the program

22
Q

What is meant by inheritance?

A

Allows a class to inherit all methods and attributes of a parent class (as well as having its own)

23
Q

What is meant by polymorphism?

A

The ability to use the same code to process different objects according to their type