Hot Topic (More than 25 Replies) Об алгоритмах... (Прочитано 254 раз)
Beermonza
Участник


Re: Об алгоритмах...
Ответ #20 - 02.02.2015 :: 18:48:20
Post Tools
@ kwlw

Какой вывод сделали? ...я лично в этом деле, а Вы?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Об алгоритмах...
Ответ #21 - 02.02.2015 :: 18:54:27
Post Tools
Цитата:
чтобы в ромбиках записывать те же самые операторы цикла - это двойная работа,

Ромбики сами по себе являются операторами - а записывать в них надо параметры конкретного процесса.
И только.

Цитата:
Вопрос, а как Вы вообще рисуете блок-схему? ...не просто же как рисунок, а потом мозг понимает "о! так это алгоритм какой-то!"

Я мыслю динамическими процессами.
Подчеркну ещё раз: мыслю динамическими процессами.

Наиболее адекватно любой процесс описывается графом - поскольку является причинно-следственным по своей природе.

Блок-схема и есть именно граф - несколько стандартизированный по форме, но сохранивший все принципиальные особенности.
Главная из которых - наглядность.

Текстовые структуры ЯВУ не являются графами и не обладают наглядностью - структурирование осуществляется исключительно через вложенные иерархические подструктуры (маркируемые плохо читаемым текстовым отступом), а внеиерархические связи, осуществляемые исключительно через текстовые метки-ярлыки вообще никакой наглядностью не обладающие.

ХИНТ: именно по этой причине успешное программирование на ЯВУ требует очень больших психических усилий по преобразованию первичного графа в строго иерархическую вложенную структуру с минимизацией количества меток.

Нет сомнений, что бытие определяет сознание - и ежедневная практика именно в такой специфической логической среде затачивает мозги профессиональных программеров, позволяя решать им поставленные задачи относительно успешно.

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

ХИНТ: под программированием я понимаю сугубо прикладное программирование - которое и потребно конечному потребителю.
Он должен описать свою задачу и в интерактивном режиме сгенерировать адекватный этой задаче причинно-следственный граф, являющийся входными данными для компьютера.

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

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
Beermonza
Участник


Re: Об алгоритмах...
Ответ #22 - 02.02.2015 :: 19:17:54
Post Tools
@ kwlw

Вместо CopyMemory попробуйте это, поймёте о чём речь:


asm
    push esi
    push edi

    mov ecx, {длина блока}
    mov esi, {указатель на буфер}
    mov edi, {указатель на приёмник}
  @jj:
    movups   xmm0, [esi]     // буфер -> в регистр
    movups   [edi], xmm0     // приёмник <- из регистра

    add esi, 16
    add edi, 16

    dec ecx
    jnz @jj

    pop edi
    pop esi

    emms
  end;

  

(Вложенный файл удалён)
Наверх
 
IP записан
 
kwlw
Гуру
*****
Вне Форума


Тёплый, ламповый

Сообщений: 2411
Зарегистрирован: 31.07.2009
Re: Об алгоритмах...
Ответ #23 - 02.02.2015 :: 19:18:02
Post Tools
Цитата:
@ kwlw

Какой вывод сделали? ...я лично в этом деле, а Вы?




Sau
  

(Вложенный файл удалён)

У меня - свой путь.
Наверх
 
IP записан
 
Beermonza
Участник


Re: Об алгоритмах...
Ответ #24 - 02.02.2015 :: 19:19:32
Post Tools
А словами?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Об алгоритмах...
Ответ #25 - 02.02.2015 :: 19:26:06
Post Tools
Цитата:
Ну, так и я Вам повторю, что высокоуровневый код - не список!

А что же?

Цитата:
Если Вы ищите программу, которая переделает Вашу блок-схему в код, то у Вас проблемы с восприятием, а не у миллионов программистов, которым хватает среды и редактора в полной мере, ...это они делают мега-проекты, а не Вы, поэтому бросьте переделывать то, что развилось и работает уже 40 лет. Не по Ператрону? ...да и фиг, я давал список предметов, можете отыскать и ознакомиться.

С уважением, и на этом всё, Вы не навяжете свой стиль мышления.

Рано или поздно тема, прикрытая флёром "конструктивности", открывается и переходит в то, что она и есть - в чисто ранговый поединок.

Подробности обсуждаемы здесь: http://forum.gtlab.net/cgi-bin/yabb2/YaBB.pl?num=1422201948
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
kwlw
Гуру
*****
Вне Форума


Тёплый, ламповый

Сообщений: 2411
Зарегистрирован: 31.07.2009
Re: Об алгоритмах...
Ответ #26 - 02.02.2015 :: 19:38:51
Post Tools
Цитата:
А словами?


Peratron уже написал.

Sau
  

(Вложенный файл удалён)

У меня - свой путь.
Наверх
 
IP записан
 
Наблюдатель
Гуру
*****
Вне Форума


Верить в наше
время нельзя
никому. Мне
... тоже.

Сообщений: 7429
Местоположение: СПб
Зарегистрирован: 16.11.2008
Re: Об алгоритмах...
Ответ #27 - 02.02.2015 :: 19:41:58
Post Tools
Обсессия?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Beermonza
Участник


Re: Об алгоритмах...
Ответ #28 - 02.02.2015 :: 19:48:00
Post Tools
kwlw писал(а) 02.02.2015 :: 19:38:51:
Цитата:
А словами?


Peratron уже написал.

Sau

Peratron про регистры не писал, я хочу знать от Вас, что означает картинка в ответ на вопрос "Какой вывод сделали?" относительно рекомендации ознакомиться с MMX и SSE? ...я не терплю слинивание в кусты когда надо держать ответ  Злой
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Об алгоритмах...
Ответ #29 - 02.02.2015 :: 20:24:49
Post Tools
Цитата:
В электронике/электротехнике есть полная аналогия программерскому интерфейсу - схему можно представить графически, а можно и в виде списка цепей.

Никоим образом не аналог, схема и список связей абсолютно всзаимосвязаны. За исключенем расположения элементов на схеме, что абсолютно не влияет на работоспособность!

А вот алгоритм (квадратики/ромбики/стрелочки) может быть реализован десятком способов с разной степенью эффективности кода.
Например, перестановка двух строчек в исходном коде (не меняющая алгоритм), может привести к появлению избыточного кода. Я, например, пишу программу с учетом тонкостей того, как работает оптимизатор кода компилятора.

А желание переложить свою работу на неизвестно как написанный препроцессор перевода алгоритма в код...

Я в свое время писал компилятор (препроцессор) из графического представления т.н. Ladder Diagram для программируемых промышленных контроллеров. Но! Потребоввалось это потому, что обслуживающий персонал был - электрики, а не инженеры. Квалифицированные пользователи этой опцией не пользовались.

Еще, алгоритм имеет свойство модифицироваться в процессе написания программы для увеличения ее эффективности.
Поэтому он обычно составляется (по необходимости) уже после отлаживания программы.
PS языки высокого уровня C, Pascal... являются разумным компромиссом между эффективностью и возможностью диагностики технических (не алгоритмических) ошибок.
« Последняя редакция: 02.02.2015 :: 20:39:06 от KMG »  

(Вложенный файл удалён)
Наверх
IP записан
 
Beermonza
Участник


Re: Об алгоритмах...
Ответ #30 - 02.02.2015 :: 20:52:59
Post Tools
@ KMG

+++!

...есть профессиональные программисты на форуме! ...я думал в одиночку придётся отбиваться от "теоретиков Кунг-Фу"  Смех ...никого не хочу обидеть, если задел - простите.
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Об алгоритмах...
Ответ #31 - 02.02.2015 :: 21:15:39
Post Tools
Цитата:
А вот алгоритм (квадратики/ромбики/стрелочки) может быть реализован десятком способов с разной степенью эффективности кода.

Фишка в том, что процедура транслирования блок-схемы в код есть изначально рутинная - и не должна занимать пользователя никоим образом.

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

Цитата:
А желание переложить свою работу на неизвестно как написанный препроцессор перевода алгоритма в код...

Эта задача формализуема чисто математически - потому отсутствие совершенных компиляторов есть всего лишь подтверждение текущего шаманского этапа развития отрасли.

Цитата:
Еще, алгоритм имеет свойство модифицироваться в процессе написания программы для увеличения ее эффективности.
Поэтому он обычно составляется (по необходимости) уже после отлаживания программы.

Тоже всё с ног на голову - отладка должна осуществляться именно на уроне алгоритма, нормирующего причинно-следственные связи, составляющие динамический объект.
Нормировка, как и в случае элнектросхемы - строго однозначная: ведь не может существовать первичный объект, функционирующий неоднозначно (тему квантовых неопределённостей пока выносим за скобки - хотя она как раз реализуется алгоритмически на счёт раз).

Моделирование объектов с нечёткой логикой решается на основе однозначных законов мат-статистики - то есть, опять же, алгоритмический граф вполне однозначен.

Потому достаточно отладить именно и только причинно-следственный граф, представленный через алгоритмическую блок схему - и этого должно быть достаточно для полного решения задачи.
Промежуточная трансляция на любой ЯВУ не имеет вообще никакого значения.

ХИНТ: само существование разных МЯ - это нонсенс!
Единственным универсальным языком является язык причинно-следственных связей - и алгоритм-граф есть наилучшая форма его реализации...

Цитата:
PS языки высокого уровня C, Pascal... являются разумным компромиссом между эффективностью и возможностью диагностики технических (не алгоритмических) ошибок.

Если подумать как следует - можно понять, что текстовый формат ЯВУ является вынужденным компромиссом между требованиями причинно-следственного моделирования и техническими средствами интерфейса между оператором-создателем и конечным кодом: в момент появления этой сущности единственной доступной технологией была технология текстового ввода с алфавитно-цифровой клавиатуры и АЦ-терминалов и печатных устройств.

С тех пор всё и зависло - несмотря на появление новых технологических возможностей в человеко-машинном интерфейсе.

И это - абсолютно ненормально.
Хотя и привычно для человеческой цивилизации.
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Об алгоритмах...
Ответ #32 - 02.02.2015 :: 21:20:07
Post Tools
Цитата:
...никого не хочу обидеть, если задел - простите.

Намеренность сказанного не вызывает сомнения - потому маскировочный реверанс остаётся всего лишь прикрытием чисто рангового посыла.

По первичной сути темы в посте информации - ноль...
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
Beermonza
Участник


Re: Об алгоритмах...
Ответ #33 - 02.02.2015 :: 21:28:49
Post Tools
@ Peratron

Я тоже Вас люблю, ...извините.  Поцелуй


Самокритика тоже приветствуется.

Peratron писал(а) 01.02.2015 :: 21:26:54:
Пишу это не ради самовосхваления - просто хочу, что б тусовка через мой опыт прониклась важностью такой формализации и относилась к необходимости делать "тупую" работу с должным почтением.


Peratron писал(а) 02.02.2015 :: 21:20:07:
Намеренность сказанного не вызывает сомнения - потому маскировочный реверанс остаётся всего лишь прикрытием
« Последняя редакция: 03.02.2015 :: 13:16:35 от »  

(Вложенный файл удалён)
Наверх
 
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Об алгоритмах...
Ответ #34 - 02.02.2015 :: 21:45:30
Post Tools
Цитата:
Фишка в том, что процедура транслирования блок-схемы в код есть изначально рутинная - и не должна занимать пользователя никоим образом.

Это было рутиной, когда использование программ (в советское время) было расчетом какой то математической задачи.
Женя, к сожалению, процессор работает не по алгоритму, а по коду, и перевод в код ЯВУ авляется творческим процессом.
Чем "выше" мы абстрагируемся в описании задачи, тем больше наладные расходы на производительность, память...
А если оставить уровень абстрагирования как для "ЯВУ", то описание алгоритма будет вообще неудобочитаемо.
Собственно поэтому и нет серьезных компиляторов из алгоритмов. Все на уровне "игрушек для электриков".

Возвращаясь на твою плоскость - схемотехники. Цифровой кремний компилится не из схем, а из VHDL, именно из за недопустимых "накладных расходов". Я в свое время разрабатывал FPGA. После альтеровского препроцессора из схемотехнического представления приходилось "ручками" править HDL код.
  

(Вложенный файл удалён)
Наверх
IP записан
 
Jinx
Гуру
*****
Вне Форума



Сообщений: 4123
Местоположение: Москва
Зарегистрирован: 02.01.2008
Re: Об алгоритмах...
Ответ #35 - 02.02.2015 :: 22:02:12
Post Tools
Я, конечно, опытом похвастаться не могу - только образование профильное, поэтому я, по-видимому, не догоняю, в чем, собственно, посыл-то? То, что алгоритмы есть наше всё и так понятно. И языки, вроде, называются алгоритмическими неспроста. За историю спасибо.

То, что все компиляторы работают с текстовым вводом - это плохо? А где же альтернативы? А как же связать графы состояний алгоритма с тем простым фактом, что физические процессоры выполняют инструкции последовательно?

Женя, сказал "А" - давай хоть "Б" Подмигивание
« Последняя редакция: 02.02.2015 :: 22:02:42 от Jinx »  

(Вложенный файл удалён)

Если хочешь, чтобы что-то было сделано хорошо - сделай сам.
R2DNY
Наверх
GTalk  
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Об алгоритмах...
Ответ #36 - 02.02.2015 :: 22:05:24
Post Tools
Цитата:
перевод в код ЯВУ авляется творческим процессом

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

Что б не быть совсем декларативным: во времена оны при освоении нового конструкторского домена - компьютерного - я вполне осознанно сформулировал необходимые теоремы и вполне конкретно нашёл для них решение, позволяющее заниматься "программированием" не на основе шаманизма, а исключительно по строгим правилам, исключающим "творческий волюнтаризм".

С тех пор этим хозяйством и пользуюсь.

Цитата:
Цифровой кремний компилится не из схем, а из VHDL, именно из за недопустимых "накладных расходов". Я в свое время разрабатывал FPGA. После альтеровского препроцессора из схемотехнического представления приходилось "ручками" править HDL код.

Несовершенство конкретных технологий не означает фатальной невозможности иных, более строгих и однозначных решений.

ХИНТ: когда то шахматная игра служила примером "творческого превосходства" человека над машиной и большинство апологетов считало возникающее в игре разнообразие вариантов непреодолимым для машинных алгоритмов.

С того момента, как Дип Блю отодрал амбициозного чемпиона-человека и в хвост, и в гриву, и вдоль, и поперёк, тезис был наконец изъят из употребления.
Акцент на пресловутое "творческое превосходство" перенесён в другие домены - в частности, в сложившуюся практику программистского шаманизма...
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Об алгоритмах...
Ответ #37 - 02.02.2015 :: 22:06:07
Post Tools
Цитата:
То, что алгоритмы есть наше всё и так понятно.

Как показывает дискуссия - вовсе не всем.
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
Peratron
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 13579
Зарегистрирован: 16.08.2009
Re: Об алгоритмах...
Ответ #38 - 02.02.2015 :: 22:08:54
Post Tools
Цитата:
Женя, сказал "А" - давай хоть "Б"

В личку.
В общедоступном домене конструктив будет неизбежно погребён ранговыми амбициями.

Ведь своими тезисами, я, ни много ни мало, но покушаюсь на ЧСВ целого клана профессионалов  Смущённый
  

(Вложенный файл удалён)

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...
Наверх
 
IP записан
 
kwlw
Гуру
*****
Вне Форума


Тёплый, ламповый

Сообщений: 2411
Зарегистрирован: 31.07.2009
Re: Об алгоритмах...
Ответ #39 - 03.02.2015 :: 06:48:29
Post Tools
Цитата:
Peratron про регистры не писал, я хочу знать от Вас, что означает картинка в ответ на вопрос "Какой вывод сделали?" относительно рекомендации ознакомиться с MMX и SSE? ...я не терплю слинивание в кусты когда надо держать ответ  Злой


В принципе никого не волнует что вы терпите, а что нет.

А так, ради правды и интереса, как раз при утреннем кофе подвернулся наш главпрог с которым 13 лет бок обок всё строим. Обмусолили тему без ненужных эмоции. Чтож - убедили, был не прав, признаюсь   Печаль. Слишком оптимистично посмотрел на современные off-the-shelf компиляторы и слишком броско на код генерированный ими. Оказывается, иногда компиляторов "тянет" на странные вещи, например рваться использовать память, когда намного быстрей в куске кода высокого повторения обойтись только регистрами. И т.п. "шутки". Т.е. подгоняя под конкретную архитектуру приходится изрешетить код директивами препроцессора и вставками из асма. В наше то время!

И ещё закинул в одну кастрюлю всё. Т.е. посмотрел из своей башни с сотнями гигабайт рама, десятками ядер, спарками да итанюмами  Смущённый... А ведь сам-то, десять лет назад, ругался над сиськой и вставлял асм в процедуры обработки прерываний в программы на всяких аттини и 8052.

Sau
  

(Вложенный файл удалён)

У меня - свой путь.
Наверх
 
IP записан
 
 
  « Главная ‹ Раздел Наверх этой страницы