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.
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% 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.
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".