# title=Theory of computationː Abstraction

 ← Problem solving Abstraction Decomposition →

## Introduction

Concept of Abstraction

### Abstraction

• representational abstraction is a representation arrived at by removing unnecessary details
• abstraction by generalisation or categorisation is a grouping 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

• The result of abstracting away the actual values used in any particular computation is a computational pattern or computational method – a procedure.
 Exercise: Example of a Procedural Abstraction Algorithm to calculate square of a number Input number Print sqr(5) Procedure sqr(int: number) Calculate number ** 2 End Procedure Text in bold is the result of a procedural abstraction which is the procedure itself without the actual value of number in this case.

### Functional Abstraction

• The result of a procedural abstraction is a procedure, not a function. To get a function requires yet another abstraction, which disregards the particular computation method and this is a functional abstraction.

### Data Abstraction

• Data abstraction is a methodology that enables us to isolate how a compound data object is used

from the details of how it is constructed. For example, a stack could be implemented as an array and a pointer for top of stack.

### Problem Abstraction/Reduction

• Details are removed until the problem is represented in a way that is possible to solve because the problem reduces to one that has already been solved.
 Exercise: Abstraction What is abstraction? Answer: This is the process of creating a generic model or template by grouping common characteristics and removing unnecessary details.
 Exercise: Information Hiding What is Information Hiding? Answer: This is the process of hiding all details of an object that do not contribute to its essential characteristics.