# What are tax structures

## A little theory

Subsections

Structograms, also known as Nassi-Shneiderman diagrams, are a graphic representation method for programs in the sense of structured programming.
Each work step (called an action here) of a program forms a structure block. Algorithms represent combinations of structure blocks. The possible combinations in structure diagrams correspond to the control structures of structured programming.

Sequence.
It represents a series of actions. This

### Structogram

corresponds to executing the actions in the specified order ( Structogram 2).
Alternative.
The alternative requires the testing of a condition, on the fulfillment of which the selection of actions depends. With the full alternative (binary selection), one of two actions is carried out depending on whether a condition is fulfilled ( Structogram 3).
Case selection.
The case selection is an extension ( Structogram 4). Each of the possible selectable actions is characterized by a characteristic value. When the program is executed, the action is selected and executed using the value of the case expression, the characteristic value of which corresponds to the value of the case expression. If there is no match, the action that is otherwise associated is carried outB.1.

### Structogram

Grind.
They enable repeated execution of actions while evaluating loop conditions. Depending on when and how the loop condition is formulated, a distinction is made between different loops ( Structogram 5). With rejection loops (head-controlled loops), a check is carried out before each loop pass to determine whether the execution condition is met. The extreme case is the zero execution of a loop.

In the case of repeat loops (foot-controlled loops), a check is made after each loop run to determine whether the termination condition has been reached or whether the loop has to be run through repeatedly. The loop is run through at least once.

An example is shown in structogram 6.

### Structogram

 aw, sw, ew mean start value, step size, end value

### Structogram

Structured programming. It represents a systematic development method for individual programs and is also known as systematic programming.

Structured programming includes the top-down approach when developing an algorithm using the control structures and then formulating it in a programming language that contains such control structures as far as possible. This applies to Pascal, for example. Otherwise, the tax structures should be simulated with other instructions.

This method was developed around 1970. It was the beginning of the engineering approach to creating programs.

Top-down development. Top-down (from top to bottom) means from rough to finer or from general to detailed and is also referred to as gradual refinement.

To solve a problem, top-down development means repeatedly breaking down the problem into sub-problems and relationships between them until the sub-problems can be solved, i.e. algorithms can be set up or existing ones can be used. The decomposition depends on the problem. The set of individual solutions, combined by control structures, forms the solution to the problem.

The top-down approach leads to well-structured programs. It promotes the provision and use of general partial services, if possible immediately in a programming language.

Bottom-up development. The counterpart to the top-down approach is the bottom-up development. Here the attempt is made to solve manageable sub-problems or to use existing solutions for such and to solve the overall problem step by step by putting them together.

In practice, a compromise between the two working principles is often expedient, which consists of a repeated change between the principles and is referred to as the yo-yo procedure.