Владимир Паронджанов писал(а):
Алгоритмизация и программирование — это разные вещиЯ открыл эту тему под влиянием участника andr и некоторых идей, которые он высказал в теме
Теория алгоритмов и Дракон-концепцияМоя позиция изложена в книге "Учись писать, читать и понимать алгоритмы". Цитирую:
Цитата:
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕВ этой книге мы не будем касаться вопросов программирования. И сосредоточим внимание исключительно на алгоритмах.
Алгоритмизация и программирование – разные вещи. Подчеркнем главное.
Число людей, которым необходимо знать алгоритмы, во много раз превышает число людей, которым надо знать программирование.
Разумеется, современное общество нуждается в программистах. Но обучение программистов должно быть не массовым, а экономически обоснованным.
И наоборот, обучение алгоритмизации должно быть очень широким или даже массовым. Потому что алгоритмы нужны не только программистам, но и многим другим людям.
В обществе знаний во многих случаях возникает необходимость формализовать собственные процедурные профессиональные знания специалистов. Отсюда проистекает вывод:
Умение читать, писать и понимать алгоритмы – настоятельная необходимость. Такое умение должно стать частью профессиональной культуры специалистов почти всех специальностей. Эта мысль проходит красной нитью через всю книгу.
У меня не совсем такой подход:
алгоритмы и программы - это совсем уж разные вещи.
Здесь довольно замысловатые их связи.
Это требует хорошей логической проработки вопроса.
Но пока принимаются следующие ориентиры.
1
Исходное соотношение:
Алгоритм - это
предписание некоторому исполнителю выполнить ... :
это предписание по определению.
Программа (про-, -грамма) тоже
предписание, тоже некоторому исполнителю выполнить ... :
это предписание по смыслу термина (его морфологии).
2
Программа - это
машинный алгоритм, то есть алгоритм, пригодный для выполнения машиной
(с программным управлением) - ЭВМ, роботом и т.п.
Алгоритм - это род, родовое понятие - процедурное предписание для исполнителя любого типа;
машинный - видовое отличие, предписание для исполнителя машинного типа.
3
Программа (как машинный алгоритм) - это особый специфический вид алгоритма.
Программа (как машинный алгоритм) может быть представлена на языке программирования низкого или высокого уровня.
Программирование - это особый частный случай (частный вид) алгоритмизации.
Но алгоритмизация работы ЭВМ, робота - это обычно алгоритмы верхнего уровня управления,
без детализации и конкретизации на уровне синтаксиса и лексики программных языков.
Причем здесь возможно применение псевдокодов алгоритмов - промежуточного связующего средства,
ориентированного на исходные коды программ (в разных языках программирования).
4
Алгоритм - это общее (наиболее абстрактное) понятие процедурного предписания для любого исполнителя:
-- для машины (ЭВМ или робота), то есть для ее программы;
-- для человека, для которого нет специального термина для человеческого алгоритма
(это, условно, программа действий для человека);
-- для автоматизированного человеко-машинного комплекса;
-- для биологического объекта и т.п.
5
В данном общем значении термина:
понятие алгоритма имеет наиболее общие признаки процедурного предписания.
6
С другой стороны
понятие алгоритма близко к человеческому алгоритму, поскольку изначально
это понятие формировалось применительно к действиям человека.
Это обстоятельство путает карты.
То есть не ясно, термин Алгоритм используется
как общее понятие (процедурного предписания)
или
как алгоритм действий человека - здесь нет специального частного термина.
===================
То есть необходимо как-то различать и специально указывать:
-- алгоритмы действий человека;
-- алгоритмы как общее понятие - для любого исполнителя;
-- алгоритмы верхнего уровня управления машинами.
Соответственно различаются:
методы алгоритмизации деятельности человека (лица или коллектива лиц);
методы алгоритмизации оборудования - по верхнему уровню управления;
методы программирования машин (возможно, на основе предварительной алгоритмизации).
Могут быть и еще какие-то нюансы.