2.2.1 - Programming Techniques Flashcards
Component 2
What is a variable?
Identifier/name of a memory location used to store data
Used to store a value which can change during execution
What are the global variables?
The variable can be accessed throughout the scope of the program (visible throughout a program)
Using passing by reference is an equivalent of a global variable.
What are the negatives of global variables?
Global variables mean that memory space is kept throughout the running of the program, not just the sub-program (which uses more space than local)
Make it difficult to track changes as it can be changed from any other part of the code.
What is a local variable?
Can only be accessed within the scope of the sub-program where it is created
A parameter that is passed into a subroutine becomes a local variable in the subroutine e.g. LoadLevel(Difficulty)
What is an IDE?
Integrated Development Environment (IDE) - A program used for developing programs, made from several components.
What tools are provided by an IDE to develop software?
- Auto-complete – Will predict variable and built-in functions and finish off the word. Can avoid spelling mistakes and speed up development
- Syntax highlighting (colour coding text) - Can distinguish between different features quickly to check code is correct
- Auto Indent – Indents code automatically within structures to avoid errors
What tools are provided by an IDE to debug software?
- Error highlighting - Syntax errors highlight dynamically so they can be corrected before running the program (saving time)
- Variable Watch window – Display the values of the variables during running of the program
- Break points- Stop the program at set points to check the values of variables. Developer can add multiple breakpoints.
- Error message list- Tells you where errors are and suggests corrections
- Stepping - Executes program one line at a time to watch variable values and program pathways
- Traces - Printouts of variable values for each statement execution
What are the three programming constructs?
Sequence
Selection / Branching
Iteration
What is an example of a count controlled loop?
FOR Loop - Will run for a set number of predetermined times.
What is an example of a condition controlled loop?
WHILE / DO WHILE - Will run whilst a condition is true or false
What is the difference between a WHILE loop and a DO loop?
- While loop will check the condition at the start of the loop - this means the code may never run
- Do loop will check the condition at the end of the loop - this means the code will always run at least once
What are parameters?
Parameters are the variables listed between the brackets, after the procedure/function name e.g.
They become local variables in the routines that they are passed to.
characterMovement(inputKey, characterx, charactery)
What does passing by value mean?
By Value (ByVal)
* Does not override the original data
* A local copy of the data is used
* Data is discarded when the subprogram exits
What does passing by reference mean?
By Reference (ByRef)
* Changes are made to the original data
* Memory location of data is sent
* Changes remain after the subprogram exits
* Uses less memory
What is a function?
- A named block of code which always returns a value
- Uses the keyword return
- Assigns the returned value to a variable (e.g. y)
What is a procedure?
- A named block of code which does not return a value
- Does not use the keyword return
- Is called by writing its name but not assigning the result to a variable
What are the benefits of modularity in coding?
Breaking code down into functions / procedures / scripts
- Write once and call repeated times - Avoids repeated code
- Small sub-programs are easier to read/understand/modify
- Can be tested individually and then added to the main program.
- Can be reused in other programs
- Can give sub-routines to different programmers to build concurrently
What is an OO class?
A template for defining methods and attributes, which is used to instantiate objects.
What is an OO object?
An instance of a class which is created using a constructor (new)
What is a OO Method?
These are the actions that can be performed by an object; for example, get a position on a game board. Can get a value (getter) or set a value (setter)
What is an OO attribute?
Value held by object / link to variable
Each object will have its own public or private attributes.
What is encapsulation?
- Attributes are set as private so they can only be accessed and changed via public methods
- Uses public ‘set methods’ to modify the value of a private attribute
- Uses public ‘get methods’ to retrieve the value of a private attribute
- Prevents unexpected changed to attributes having unforeseen consequences.
What is inheritance?
- A child class has its own attributes and methods, but it also gets all attributes and methods from the parent class.
- When a method name is the same in a parent and child, then the method in the parent/super class will be overridden by the local version in the child.
- Uses the key word ‘inherits’ and ‘super’
What is polymorphism?
- Code can be written that is able to handle different objects in the same way, this reduces the amount of code.
- Using methods with the same name in a subclass as in a parent class is called overriding, which is a type of polymorphism.
- Overriding allows a sub-class to use its own method rather than that of the parent.
What would the constructor look like for the following class?
public procedure new(thePlayerID, thePosition,theMoney)
playerID = thePlayerID
boardPosition = thePosition
money = theMoney
endprocedure
What would the pseudocode be to instantiate an instance of this class?
ObjectName = new ClassName (attributes required)
e.g. - Ronaldo = new Player(“Ronaldo”, 10, 1000000)
Write the pseudocode for the ‘getter’ getPosition()
function getPosition()
return position
end function
Write the pseudocode for the ‘setter’ setPosition()
procedure setPosition(Theposition)
position = Theposition
end procedure
What is recursion? Why does it need a stopping condition?
Recursion is the process of a subroutine calling itself from within itself
A stopping condition must be included which when met means that the routine will stop calling itself and will start to ‘unwind‘
No stopping condition would cause a ‘Stack Overflow’ error by filling the memory uncontrollably.
What are the pros and cons of iterative algorithms?
- Has no limit to the number of times it may be called.
- Only one copy of the variable is required. This means that less memory will be used
- Uses a loop to repeat instructions. There is an end condition to the loop which decides when to stop looping
- Takes more lines of code and can be harder to understand
What are the pros and cons of recursive algorithms?
- Too many calls may cause the program may run out of memory with a “Stack overflow” error
- Each call produces a new local variable which mean more memory spaces needed
- Uses a stopping condition in order to reach the end of the recursion
- Recursion calls itself whereas iteration does not.
- Uses less lines of code and produces a more elegant solution
What would be the output if 10 was passed as a parameter into this function?
(1 + 2 + 3 + 6 + 7 + 10) = 29