Алгори́тм — набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий, при любом наборе исходных данных. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Это связано с тем, что работа каких-то инструкций алгоритма может быть зависима от других инструкций или результатов их работы. Таким образом, некоторые инструкции должны выполняться строго после завершения работы инструкций, от которых они зависят. Независимые инструкции или инструкции, ставшие независимыми из-за завершения работы инструкций, от которых они зависят, могут выполняться в произвольном порядке, параллельно или одновременно, если это позволяют используемые процессор и операционная система.
Составление алгоритмов решения задач - это работа творческая. Нет универсального способа, позволяющего без особого труда составлять любые алгоритмы. К сожалению, такого способа не существует, ведь жизненные ситуации и задачи так разнообразны и непредсказуемы! Если бы дело обстояло иначе, появилась бы реальная возможность автоматизировать сам процесс алгоритмизации, поручив его некоторому исполнителю - вероятно, очень высокоинтеллектуальному компьютеру.
Тем не менее, некоторые рекомендации, касающиеся методики разработки алгоритмов, можно дать.
При решении
простых задач можно воспользоваться определенной схемой. Есть раздел
математики, называемый вычислительной математикой, в котором накоплен
многолетний (а порой и многовековой) опыт решения разных вычислительных задач.
Нет необходимости разрабатывать заново те алгоритмы, которые уже созданы - надо
только их изучить и практически применять при решении своих задач. Таковы,
например, методы отыскания корней нелинейных уравнений, вычисления определенных
интегралов, численного интегрирования дифференциальных уравнений, методы
сортировки данных и многие другие.
В большинстве случаев та или иная задача может быть решена несколькими
численными методами. Выбор конкретного численного метода решения задачи обычно
производится по следующим критериям:
обеспечение оптимального времени решения задачи;
обеспечение оптимального использования имеющихся ресурсов (памяти);
обеспечение требуемой точности вычислений;
минимальные стоимостные затраты;
возможность использования стандартных подпрограмм.
При дальнейшей постановке задачи на ПК отыскивается наиболее рациональный способ решения задачи.
Однако, алгоритмы становятся все более и более сложными, соответственно растет трудность понимания того, как они работают. А еще труднее обнаружить и исправить в них ошибки или внести какие-то изменения. От 50 до 100% времени программист тратит на исправление и модификацию программ. В связи с этим индустрия программирования предлагает более систематичные подходы к программированию (а тем самым и к алгоритмизации задач в общем), т.е. предлагает методики, использование которых уменьшает вероятность ошибок в программах, упрощает их понимание и облегчает модификацию
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.