Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Что такое алгоритм

Действительно, что такое алгоритм? Слово встречается часто, и многие вроде бы понимают его значение. Однако для нас туманное «вроде бы» неприемлемо, мы будем раскладывать всё по полочкам, подробно растолковывать и прояснять. Ну а начнём, как обычно, с краткой истории возникновения обсуждаемого понятия.

История

В 825-м году персидский математик аль-Хорезми написал трактат с названием «Книга о сложении и вычитании». В Европу данный труд попал в переводе на латинский язык и был озаглавлен «Algoritmi de numero Indorum», то бишь, «Алгоритмы о счёте индийском». Так фамилия аль-Хорезми превратилась в «алгоритм». А от названия персидского оригинала произошло слово «алгебра» (от «аль-джебр», сложение).

В общем, с тех пор книжки о счётном искусстве стали традиционно называть Алгоритмами, в разных вариантах этого слова. Например, «Algorismus vulgaris», написанная английским астрономом Иоанном Сакробоско в 1250-м.

Однако в более конкретном смысле понятие «алгоритм» употребил в одном из своих трудов немецкий учёный Готфрид Лейбниц. С 1684-го термин стал обозначать систематический способ исчисления.

В двадцатом веке, в 1936-м году, английский математик Алан Мэтисон Тьюринг вывел концепцию абстрактной вычислительной машины. Она так и называется: «Машина Тьюринга». Именно тогда пророк компьютерной эпохи чётко связал понятие «алгоритм» с вычислительной техникой и программированием.

Что это такое

Суть концепции алгоритма такова. Во-первых, имеется набор входных данных, которые будут обрабатываться. Естественно, не каких попало, ведь алгоритм должен оказаться способным их переварить.

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

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

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

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

Блок-схемы

Иногда программное обеспечение является настолько сложным, что в нём крайне трудно разобраться без наглядного представления алгоритмов. Поэтому составляют блок-схемы, показывающие структуру софта. Мол, глядите, вот это делает то-то, с тем оно связано так, а с этим — вот так.

В конце восьмидесятых годов прошлого века в рамках космической программы «Буран» был разработан алгоритмический язык «Дракон». Его концепция такова: человек работает не с текстом исходного кода, а с графическим представлением готовых модулей («икон»), указывая, какие алгоритмы что делают и с чем связаны.

К «Дракону» теоретически можно прикручивать «традиционные» языки программирования. Получится бы «Дракон-Си», «Дракон-Perl», «Дракон-JAVA» и так далее. Главное — сделать транслятор из блок-схем («дракон-схем») в нужный язык.

Правда, как и многие другие удобные вещи, данная разработка малость подзабыта.

Псевдокод

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

алг Некая программа
нач
вывести ('Привет, мир!')
кон алг Некая программа

Теперь, когда суть алгоритма ясна, остаётся лишь заменить все эти «алг» («алгоритм»), «нач» («начало»), «вывести» и «кон» («конец») на стандартные средства выбранного языка программирования.

Заключение

Даже самое простое приложение, выводящее на экран «Привет, мир!», содержит в себе алгоритм. Причём, один и тот же, независимо от использованного языка.

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

Автор: vanilinkin, специально для xBB.uz, 25.03.2012


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2012-03-25 05:17:40

Метки материала: что такое, что, алгоритм, что такое алгоритм, такое, по, софт, информатика, информационные технологии, программирование, программное обеспечение, it, ит, hi tech, информация и информатика, software, разработка по, программное обеспечение по, high tech


3 комментария

16.04.2012 16:56:32 #
Mozilla Firefox Гость
vanilinkin большой поклонник алгоритмического языка Ершова? Well
15.04.2012 20:39:59 #
Opera Гость
Уточняю ссылку http://forum.oberoncore.ru/index.php
15.04.2012 20:36:05 #
Opera Гость
алгоритмический язык «Дракон»
Правда, как и многие другие удобные вещи, данная разработка малость подзабыта.
На форуме www.forum.oberoncore.ru активно обсуждается с автором В.Д. Паронджановым, развивается, можно скачать инструментальные средства.

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.