Paper 1 terms Flashcards
Algorithm
A sequence of steps that can be followed to complete a task. An algorithm always terminates rather than going on forever in a loop
Assignment
The process of giving a variable or constant a value
Sequence
Instructions that follow on one from the other
Selection
Choosing an action to take place based on the result of a comparison, IF, ELIF, ELSE
Iteration
Looping a process. This can be finite (a set number of times - FOR), or infinite (repeating for an undefined, potentially infinite number of times - WHILE)
Abstraction
The process of omitting unnecessary details from a problem, in order to simplify it to make the solution easier. There are two types of abstraction: representational abstraction, and abstraction by generalisation/categorisation
Representational abstraction
A representation of the problem arrived at by removing unnecessary details
Abstraction by generalisation/categorisation
Grouping parts of the problem by common characteristics to arrive at a hierarchical relationship of the “is a kind of” type
Information hiding
The process of hiding all details of an object that do not contribute to its essential characteristics
Procedural abstraction
Breaking down a complex model into a series of reusable procedures (involves removing actual values used to achieve a computational model)
Functional abstraction
The step following procedural abstraction: this involves disregarding the particular method of a procedure and results in just a function
Data abstraction
Specific details of how data is actually represented are abstracted away, allowing new kinds of data structure to be created from previously defined data structures
Problem abstraction/reduction
Details are removed from a problem until it is represented in a way that is solvable
Decomposition
Dividing a problem into a series of smaller sub-problems, which can be solved individually or further divided until all parts of the original problem have been solved
Composition
Combining procedures to form a larger system. This is used in abstract data types, where a complex
abstract data type is formed from smaller and simpler data types
Automation
The process of putting abstractions of real world phenomena (known as models) into action to solve problems
Set
An abstract data type containing unordered unique (can’t have the same one twice) values. Sets can contain other sets
Set comprehension
A way of creating sets which doesn’t define each individual term but rather what we want from a more general set, e.g. {x | x->N ^ x>3} = {4, 5, 6, …}
Empty set notation
{} or Ø
Compact set representation
A space-efficient, short-hand way of describing sets, which can describe multiple instances of a number, e.g. {0n 1n | n ≥ 1} = {01, 0011, 000111, 00001111, … } (where n is an index)
Finite sets
Contains a finite number of items
Cardinality
Refers to the number of items in a finite set
Infinite sets
Contain an infinite number of items. There are two types of infinite sets: countable and non-countable
Countably infinite sets
Where items can be counted off by the natural numbers (e.g. Integers - Z, and Natural numbers - N)
Non-countable sets
Contain a larger infinity of items which can’t be paired with natural numbers to “count” them (e.g. the Real numbers - R)
Subset
Set A is a subset of Set B if it only contains items from Set B. The symbol for a subset is ⊆. So if A is a subset of B, the notation would be A ⊆ B, e.g. {2,4,6} ⊆ {1,2,3,4,5,6}. If two sets are the same, they are a subset of each other