Автоматное программирование
- 1 year ago
- 0
- 0
Процеду́рное программи́рование — программирование на императивном языке , при котором последовательно выполняемые операторы можно собрать в подпрограммы , то есть более крупные целостные единицы кода , с помощью механизмов самого языка .
Процедурное программирование является отражением архитектуры традиционных ЭВМ , которая была предложена Фон Нейманом в 1940-х годах. Теоретической моделью процедурного программирования служит машина Тьюринга . Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причём первая последовательно обновляет содержимое последней.
Процедурный язык программирования предоставляет возможность программисту определять каждый шаг в процессе решения задачи. Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом. Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов. Важным шагом в развитии процедурного программирования стал переход к структурной парадигме , возникшей благодаря открытию возможности создавать тьюринг-полные программы без оператора безусловного перехода ( теорема Бёма — Якопини ).
Большинство ранних императивных языков программирования, в том числе Фортран , Кобол , Алгол , Бейсик , Си , ПЛ/1 , Паскаль , Форт — процедурные; более поздние императивные языки, в частности, реализующие объектную парадигму ( Smalltalk , C++ , Java ), как правило, не относят к категории процедурных, поскольку принцип организации блоков выполнения в подпрограммы в них реализуется на другом уровне абстракции. Определённое возрождение процедурного подхода наблюдается в ряде сценарных языков ( Tcl , Perl , Lua , языки командных оболочек ), однако большинство из них являются мультипарадигменными — на них можно создавать программы и в непроцедурных стилях (объектно-ориентированном, функциональном ).
Для улучшения этой статьи
желательно
:
|