DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 18:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 19 Октябрь, 2015 11:50 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Алгоритмизация и программирование — это разные вещи

Я открыл эту тему под влиянием участника andr и некоторых идей, которые он высказал в теме Теория алгоритмов и Дракон-концепция

Моя позиция изложена в книге "Учись писать, читать и понимать алгоритмы". Цитирую:
Цитата:
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

В этой книге мы не будем касаться вопросов программирования. И сосредоточим внимание исключительно на алгоритмах.

Алгоритмизация и программирование – разные вещи. Подчеркнем главное.
        Число людей, которым необходимо знать алгоритмы, во много раз превышает число людей, которым надо знать программирование.

Разумеется, современное общество нуждается в программистах. Но обучение программистов должно быть не массовым, а экономически обоснованным.

И наоборот, обучение алгоритмизации должно быть очень широким или даже массовым. Потому что алгоритмы нужны не только программистам, но и многим другим людям.

В обществе знаний во многих случаях возникает необходимость формализовать собственные процедурные профессиональные знания специалистов. Отсюда проистекает вывод:

        Умение читать, писать и понимать алгоритмы – настоятельная необходимость. Такое умение должно стать частью профессиональной культуры специалистов почти всех специальностей. Эта мысль проходит красной нитью через всю книгу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Октябрь, 2015 17:58 

Зарегистрирован: Вторник, 13 Январь, 2015 17:39
Сообщения: 28
Откуда: C-Петербург
Да, конечно, разные. Об этом хорошо и полно сказано не только у Вас, но и много где еще. Достаточно привести ссылку на материал нашего известного ученого А. Г. Кушниренко (А.Г. Кушниренко, Г.В. Лебедев. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. — М.: Лаборатория Базовых Знаний, 2000. — 464 с.), одного из авторов интересного учебника по информатике.

В этом материале он дает полезные и примечательные пояснения к учебнику (https://www.niisi.ru/kumir/books/12.pdf), где, в частности, пишет:
- "Нельзя научиться решать алгоритмические задачи, изучая устройство компьютеров и языки программирования".
- "Цель курса — развить алгоритмический стиль мышления. Умение обращаться с компьютером или знание конкретных программных систем не входит в непосредственные цели курса". И далее очень наглядно раскрывает, что, как и почему.

Зачитываясь этой книгой, где в познавательной, но серьезной форме "от первого лица" автор излагает свое видение предмета, вспоминаешь прочтенные десятилетия назад книги видных зарубежных специалистов (Дейкстры, Кнута и мн. др.), которые беседовали с читателем в такой же занимательной, доступной и интересной манере!

А новую тему, мне кажется, Владимир Даниелович, Вы зря открыли. Думается, посетители форума ценят Ваше всегда уважительное и корректное отношение к каждому мнению, но, IMHO, вполне достаточно дать ряд ссылок, скажем, в Readme форума "Визуальный язык ДРАКОН" или где-нибудь в другом подходящем месте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 14:39 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Владимир Паронджанов писал(а):
Алгоритмизация и программирование — это разные вещи

Я открыл эту тему под влиянием участника andr и некоторых идей, которые он высказал в теме Теория алгоритмов и Дракон-концепция

Моя позиция изложена в книге "Учись писать, читать и понимать алгоритмы". Цитирую:
Цитата:
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

В этой книге мы не будем касаться вопросов программирования. И сосредоточим внимание исключительно на алгоритмах.

Алгоритмизация и программирование – разные вещи. Подчеркнем главное.
        Число людей, которым необходимо знать алгоритмы, во много раз превышает число людей, которым надо знать программирование.

Разумеется, современное общество нуждается в программистах. Но обучение программистов должно быть не массовым, а экономически обоснованным.

И наоборот, обучение алгоритмизации должно быть очень широким или даже массовым. Потому что алгоритмы нужны не только программистам, но и многим другим людям.

В обществе знаний во многих случаях возникает необходимость формализовать собственные процедурные профессиональные знания специалистов. Отсюда проистекает вывод:

        Умение читать, писать и понимать алгоритмы – настоятельная необходимость. Такое умение должно стать частью профессиональной культуры специалистов почти всех специальностей. Эта мысль проходит красной нитью через всю книгу.


У меня не совсем такой подход:
алгоритмы и программы - это совсем уж разные вещи.
Здесь довольно замысловатые их связи.
Это требует хорошей логической проработки вопроса.
Но пока принимаются следующие ориентиры.

1
Исходное соотношение:
Алгоритм - это предписание некоторому исполнителю выполнить ... :
это предписание по определению.
Программа (про-, -грамма) тоже предписание, тоже некоторому исполнителю выполнить ... :
это предписание по смыслу термина (его морфологии).

2
Программа - это машинный алгоритм, то есть алгоритм, пригодный для выполнения машиной
(с программным управлением) - ЭВМ, роботом и т.п.

Алгоритм - это род, родовое понятие - процедурное предписание для исполнителя любого типа;
машинный - видовое отличие, предписание для исполнителя машинного типа.

3
Программа (как машинный алгоритм) - это особый специфический вид алгоритма.
Программа (как машинный алгоритм) может быть представлена на языке программирования низкого или высокого уровня.

Программирование - это особый частный случай (частный вид) алгоритмизации.

Но алгоритмизация работы ЭВМ, робота - это обычно алгоритмы верхнего уровня управления,
без детализации и конкретизации на уровне синтаксиса и лексики программных языков.
Причем здесь возможно применение псевдокодов алгоритмов - промежуточного связующего средства,
ориентированного на исходные коды программ (в разных языках программирования).

4
Алгоритм - это общее (наиболее абстрактное) понятие процедурного предписания для любого исполнителя:
-- для машины (ЭВМ или робота), то есть для ее программы;
-- для человека, для которого нет специального термина для человеческого алгоритма
(это, условно, программа действий для человека);
-- для автоматизированного человеко-машинного комплекса;
-- для биологического объекта и т.п.

5
В данном общем значении термина:
понятие алгоритма имеет наиболее общие признаки процедурного предписания.

6
С другой стороны
понятие алгоритма близко к человеческому алгоритму, поскольку изначально
это понятие формировалось применительно к действиям человека.
Это обстоятельство путает карты.
То есть не ясно, термин Алгоритм используется
как общее понятие (процедурного предписания)
или
как алгоритм действий человека - здесь нет специального частного термина.

===================
То есть необходимо как-то различать и специально указывать:
-- алгоритмы действий человека;
-- алгоритмы как общее понятие - для любого исполнителя;
-- алгоритмы верхнего уровня управления машинами.

Соответственно различаются:
методы алгоритмизации деятельности человека (лица или коллектива лиц);
методы алгоритмизации оборудования - по верхнему уровню управления;
методы программирования машин (возможно, на основе предварительной алгоритмизации).

Могут быть и еще какие-то нюансы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Октябрь, 2015 15:41 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
anpspb писал(а):
В этом материале он дает полезные и примечательные пояснения к учебнику (https://www.niisi.ru/kumir/books/12.pdf), где, в частности, пишет:
- "Нельзя научиться решать алгоритмические задачи, изучая устройство компьютеров и языки программирования".
- "Цель курса — развить алгоритмический стиль мышления. Умение обращаться с компьютером или знание конкретных программных систем не входит в непосредственные цели курса". И далее очень наглядно раскрывает, что, как и почему.

Давно искал эту книгу.
В ОЗОНе нет и нет в инете.
Она нужна мне будет для привязки образовательной робототехники к образовательной информатике:
начиная с отцов школьной информатики и алгоритмики.

Кстати, у них есть учебная среда программирования КУМИР.
Я использовал их способ обозначения табуляции строк вертикальным слэшем "|" в составе шаблонов псеводокодов алгоритмов.
Например, параллельный алгоритм пошаговых вычислений
формулы y = F(x) = F(x1, x2) = Sin(x1 + x2) * Cos(x1 + x2):
Вложение:
ПКА-02.PNG
ПКА-02.PNG [ 2.13 КБ | Просмотров: 4520 ]

Вложение:
ПКА-01.PNG
ПКА-01.PNG [ 27.09 КБ | Просмотров: 4524 ]

Школьный алгоритмический язык - это алгол-подобный текст последовательных алгоритмов,
представляющий собой простое подмножество языка программирования Алгол-68.
Это русификация языка программирования Algol-68,
которую выполняла команда академика Ершова А.П. - основателя общеобразовательного курса
школьной информатики и алгоритмики.
Для параллельных алгоритмов используется, в данном случае, простой префикс пар.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB