Парадигма: структурная
Структурное программирование — парадигма, имеющая два значения:
низкоуровневая трактовка предполагает, что программная логика состоит из нескольких структур, комбинируемых определенным образом. Элементарными структурами обычно являются последовательность (выполнение нескольких команд или блоков последовательно, в определенном порядке), условный переход (выполнение одного из списков команд в зависимости от текущего состояния программы) и повторение (выполнение одного списка команд несколько раз). Большинство современных императивных языков программирования поддерживают эту трактовку структурной парадигмы.
более высокоуровневая трактовка предполагает разделение логики программы на несколько подпрограмм, каждая из которых будет иметь одну точку входа. Мнения о количестве точек выхода расходятся: теоретически предпочтение отдается единственной точке выхода, но на практике их может использоваться несколько. Примером такой ситуации является разветвление логики подпрограммы и необходимость сигнализировать о возникновении ошибки или об успешном конце работы одной из ветвей. Конечно, подпрограммы с несколькими точками выхода могут быть переписаны так, чтобы оставить только одну точку выхода, но это излишне усложнит код. Эта трактовка структурной парадигмы сходна с процедурным программированием: легче и нагляднее всего такое разделение на подпрограммы реализуется именно в виде процедур.
Структурное программирование является частным случаем императивного программирования.
- A++
- ABAP
- Ada (диалекты: Ada 2005, Ada 2012, Ada 83, Ada 95, SPARK)
- APL
- B
- BCPL
- C (диалекты: ANSI C, C11, C99, K&R C)
- C# (диалекты: Cω, ECMA-334, ISO/IEC 23270:2003, Polyphonic C#)
- Clarion (диалекты: Clarion, Clarion for DOS, Clarion#)
- CPL
- Dart
- FORTRAN (диалекты: F, FORTRAN 66, FORTRAN 77, Fortran 2003, Fortran 2008, Fortran 90, Fortran 95, High Performance Fortran)
- GAP
- Go
- LUX
- Modula (диалекты: Modula-2, Modula-2+, Modula-3, Objective Modula-2)
- Oberon (диалекты: Active Oberon, Component Pascal, Oberon, Oberon-2, Zonnon)
-
Pascal
(диалекты:
Extended Pascal,
Object Pascal,
PASCAL-XSC,
Standard Pascal)
- Borland Delphi
- Borland Pascal
- Free Pascal
- GNU Pascal
- HP Pascal
- HiSoft Pascal
- IP Pascal
- Irie Pascal
-
Pascal ABC
- Pascal ABC 1.7
- Pascal ABC 1.8
- Pascal ABC 1.9
- Pascal ABC 2.0
- Pascal ABC 2.1
- Pascal ABC 2.2
- Pascal ABC 2.3
- Pascal ABC 2.4
- Pascal ABC 2.5
- Pascal ABC 2.5.3
- Pascal ABC 2.6
- Pascal ABC 2.6.2
- Pascal ABC 2.6.3
- Pascal ABC 2.6.4
- Pascal ABC 2.6.5
- Pascal ABC 2.7
- Pascal ABC 2.7.2
- Pascal ABC 2.7.3
- Pascal ABC 2.7.4
- Pascal ABC 3.0
- Pascal-XT
- PascalABC.NET
- Prospero Extended Pascal
- Turbo Pascal
- UCSD Pascal
- Virtual Pascal
- PL/C
- PL/I
- PowerShell
- REXX
- RPL
- Rust
- Sanscript
- Scratch
- Sparkel
- Vala