0% found this document useful (0 votes)
28 views

Expressing Algorithms: 1 High-Level Description

Algorithms can be expressed in many forms, including natural language, pseudocode, flowcharts, programming languages, and control tables. Natural language expressions tend to be verbose and ambiguous, while other structured representations avoid these issues. Programming languages are primarily used to execute algorithms on a computer but also to define or document them. There are multiple ways to represent algorithms as state tables, flowcharts, pseudocode, or basic machine code. Representations can be classified into high-level descriptions ignoring implementation details, implementation descriptions defining machine functions, or formal descriptions with the most details in a state table.

Uploaded by

Jash
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Expressing Algorithms: 1 High-Level Description

Algorithms can be expressed in many forms, including natural language, pseudocode, flowcharts, programming languages, and control tables. Natural language expressions tend to be verbose and ambiguous, while other structured representations avoid these issues. Programming languages are primarily used to execute algorithms on a computer but also to define or document them. There are multiple ways to represent algorithms as state tables, flowcharts, pseudocode, or basic machine code. Representations can be classified into high-level descriptions ignoring implementation details, implementation descriptions defining machine functions, or formal descriptions with the most details in a state table.

Uploaded by

Jash
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

Expressing algorithms[edit]

Algorithms can be expressed in many kinds of notation, including natural


languages, pseudocode, flowcharts, drakon-charts, programming languages or control
tables(processed by interpreters). Natural language expressions of algorithms tend to be verbose
and ambiguous, and are rarely used for complex or technical algorithms. Pseudocode,
flowcharts, drakon-charts and control tables are structured ways to express algorithms that avoid
many of the ambiguities common in natural language statements. Programming languages are
primarily intended for expressing algorithms in a form that can be executed by a computer, but are
often used as a way to define or document algorithms.
There is a wide variety of representations possible and one can express a given Turing
machine program as a sequence of machine tables (see more at finite state machine,state transition
table and control table), as flowcharts and drakon-charts (see more at state diagram), or as a form of
rudimentary machine code or assembly code called "sets of quadruples" (see more at Turing
machine).
Representations of algorithms can be classed into three accepted levels of Turing machine
description:[21]
1 High-level description
"...prose to describe an algorithm, ignoring the implementation details. At this level we do not
need to mention how the machine manages its tape or head."
2 Implementation description
"...prose used to define the way the Turing machine uses its head and the way that it stores
data on its tape. At this level we do not give details of states or transition function."
3 Formal description
Most detailed, "lowest level", gives the Turing machine's "state table".

You might also like