Программа - это алгоритм, написанный по определённым правилам. Алгоритм - это тоже самое, что и решение задачи в общем виде. Без алгоритма не существует программы. Но во время решения задачи, иногда стоит записать алгоритм, а иногда лучше сразу писать программу. Всё тоже, что и в физике с общей формулой. Только в физике обычно решают в общем виде, а редко сразу считают. А в программировании обычно сразу пишут программу, а редко, записывают перед этим алгоритм в виде текста или блок-схемы. Разумеется он нужен. Так как любая программа - это алгоритм, то без алгоритмов вообще не будет программирования. А вообще, не в программировании, алгоритмы нужны, чтобы подробно объяснить, как действовать, чтобы достичь известной цели. Допустим любой кулинарный рецепт - это алгоритм, написанный на том или ином человеческом языке для достижения цели - готового блюда. Программа, соответственно, алгоритм, записанный на компьютерном языке, но всё же это алгоритм. Я пишу алгоритмы текстом или блок-схемой только тогда, когда надо объяснить программу тому, кто не знает языка программирования, на котором она записана. Ещё когда требовалось написать в тетради программу и не ошибиться, тоже записывал сначала алгоритм, а потом программу. Это чтобы не запутаться, чтобы с первого раза написать правильно.