Что означает слово алгоритм
Значение слова алгоритм
алгоритм в словаре кроссвордиста
алгоритм
Экономический словарь терминов
правило действий, последовательность проведения вычислительных операций, способ нахождения искомого результата. В экономических задачах, решаемых с использованием математических методов и моделей, алгоритм означает способ отыскания искомой величины.
Словарь медицинских терминов
Имена, названия, словосочетания и фразы содержащие «алгоритм»:
Толковый словарь русского языка. С.И.Ожегов, Н.Ю.Шведова.
-а, м. (спец.). Совокупность действий, правил для решения данной задачи. А. извлечения корня.
Новый толково-словообразовательный словарь русского языка, Т. Ф. Ефремова.
Определенная последовательность операций или вычислений (в математике).
Программа для электронной вычислительной машины, позволяющая от исходных данных прийти к искомому результату (в информатике).
перен. Обобщенная схема какой-л. деятельности.
Энциклопедический словарь, 1998 г.
Имена, названия, словосочетания и фразы содержащие «алгоритм»:
Большая Советская Энциклопедия
алгорифм, одно из основных понятий (категорий) математики, не обладающих формальным определением в терминах более простых понятий, а абстрагируемых непосредственно из опыта. А. являются, например, известные из начальной школы правила сложения, вычитания, умножения и деления столбиком. Вообще, под А. понимается всякое точное предписание, которое задаёт вычислительный процесс (называемый в этом случае алгоритмическим), начинающийся с произвольного исходного данного (из некоторой совокупности возможных для данного А. исходных данных) и направленный на получение полностью определяемого этим исходным данным результата; например, в упомянутых А. арифметических действий возможными результатами могут быть натуральные числа, записанные в десятичной системе, а возможными исходными данными упорядоченные пары таких чисел, и содержание предписания, т. о., помимо инструкции по развёртыванию алгоритмического процесса, должно входить также:
указание совокупности возможных исходных данных (в. и. д.) и
правило, по которому процесс признается закончившимся ввиду достижения результата. Не предполагается, что результат будет обязательно получен: процесс применения А. к конкретному в. и. д. (т.е. алгоритмический процесс, развёртывающийся начиная с этого данного) может также оборваться безрезультатно или не закончиться вовсе. В случае, если процесс заканчивается (соответственно не заканчивается) получением результата, говорят, что А. применим (соответственно неприменим) к рассматриваемому в. и. д. (Можно построить такой А. Á, для которого не существует А., распознающего по произвольному возможному для Á исходному данному, применим к нему Á или нет; такой А. Á можно, в частности, построить так, чтобы совокупностью его в. и. д. служил натуральный ряд.) Понятие А. занимает одно из центральных мест в современной математике, прежде всего вычислительной. Так, проблема численного решения уравнений данного типа сводится к отысканию А., который всякую пару, составленную из произвольного уравнения этого типа и произвольного рационального числа e, перерабатывает в число (или набор чисел) меньше, чем на e, отличающееся (отличающихся) от корня (корней) этого уравнения. Усовершенствование вычислительных машин даёт возможность реализовать на них всё более сложные А. Однако встретившийся в описывающей понятие А. формулировке термин «вычислительный процесс» не следует понимать в узком смысле только цифровых вычислений. Так, уже в школьном курсе алгебры говорят о буквенных вычислениях, да и в арифметических вычислениях появляются отличные от цифр символы: скобки, знак равенства, знаки арифметических действий. Можно пойти дальше и рассматривать вычисления с произвольными символами и их комбинациями; именно таким широким пониманием пользуются при описании понятия А. Так, можно говорить об А. перевода с одного языка на другой, об А. работы поездного диспетчера (перерабатывающего информацию о движении поездов в приказы) и др. примерах алгоритмического описания процессов управления; именно поэтому понятие А. является одним из центральных понятий кибернетики. Вообще, исходными данными и результатами А. могут служить самые разнообразные конструктивные объекты; например, результатами т. н. распознающих А. служат слова «да» и «нет». Пример алгоритма. В. и. д. и возможными результатами пусть служат всевозможные конечные последовательности букв a и b («слова в алфавите »). Условимся называть переход от слова Х к слову Y «допустимым» в следующих двух случаях (ниже Р обозначает произвольное слово):
Х имеет вид аР, а Y имеет вид Pb;
совокупность возможных исходных данных,
совокупность возможных результатов,
совокупность промежуточных результатов,
правило непосредственной переработки,
правило извлечения результата.
«Уточнения» понятия А. Возможны дальнейшие «уточнения» понятия А., приводящие, строго говоря, к известному сужению этого понятия. Каждое такое уточнение состоит в том, что для каждого из указанных 7 параметров А. точно описывается некоторый класс, в пределах которого этот параметр может меняться. Выбор этих классов и отличает одно уточнение от другого. Во многих уточнениях все классы, кроме двух ≈ класса совокупностей промежуточных результатов и класса правил непосредственной переработки, ≈ выбираются единичными, т. е. все параметры, кроме указанных двух, жестко фиксируются. Поскольку 7 параметров однозначно определяют некоторый А., то выбор 7 классов изменения этих параметров определяет некоторый класс А. Однако такой выбор может претендовать на название «уточнения», лишь если имеется убеждение, что для произвольного А., имеющего допускаемые данным выбором совокупности возможных исходных данных и возможных результатов, может быть указан равносильный ему А. из определённого данным выбором класса А. Это убеждение формулируется для каждого уточнения в виде основной гипотезы, которая ≈ при современном уровне наших представлений ≈ не может быть предметом математического доказательства.
Первые уточнения описанного типа предложили в 1936 американский математик Э. Л. Пост и английский математик А. М. Тьюринг (см. Тьюринга машина ). Известны также уточнения, сформулированные советскими математиками А. А. Марковым (см. Нормальный алгоритм ) и А. Н. Колмогоровым (последний предложил трактовать конструктивные объекты как топологические комплексы определённого вида, что дало возможность уточнить свойство «локальности» преобразования). Для каждого из предложенных уточнений соответствующая основная гипотеза хорошо согласуется с практикой. В пользу этой гипотезы говорит и то, что, как можно доказать, все предложенные уточнения в некотором естественном смысле эквивалентны друг другу.
См. также ст. Алгоритмов теория и лит. при этой статье.
Что такое Алгоритм
Значение слова Алгоритм по Ефремовой:
Алгоритм — 1. Определенная последовательность операций или вычислений (в математике).
2. Программа для электронной вычислительной машины, позволяющая от исходных данных прийти к искомому результату (в информатике).
3. перен. Обобщенная схема какой-л. деятельности.
Значение слова Алгоритм по Ожегову:
Алгоритм — Совокупность действий, правил для решения данной задачи
Алгоритм в Энциклопедическом словаре:
Алгоритм — (алгорифм) (от algorithmi — algorismus, первоначально — лат. транслитерация имени математика аль-Хорезми), способ (программа) решениявычислительных и др. задач, точно предписывающий, как и в какойпоследовательности получить результат, однозначно определяемый исходнымиданными. Алгоритм — одно из основных понятий математики и кибернетики. Ввычислительной технике для описания алгоритма используются языкипрограммирования.
Значение слова Алгоритм по Бизнес словарю:
Алгоритм — последовательность определенных действий или шагов для решения поставленной задачи. А. используется в компьютерном программировании. Шаги алгоритма представляют собой последовательность команд, исполняемых компьютером. Совокупность команд составляет компьютерную программу.
Значение слова Алгоритм по словарю медицинских терминов:
алгоритм (по латинизированной форме имени среднеазиатского математика 9 в. аль-Хорезми — Algorithmi) — предписание (система правил), определяющее содержание и последовательность операций, обеспечивающих решение задач определенного класса. в медицине разрабатываются А. стандартизованных действий при обработке материалов исследований, при постановке диагноза и т. п.
Значение слова Алгоритм по Психологическому словарю:
Алгоритм — Алгоритм — инструкция по последовательности и содержанию элементарных операций для решения определенной задачи.
Значение слова алгоритм
Алгоритм в словаре кроссвордиста
алгоритм
Алгоритм Алгори́тм ( — от арабского имени математика Аль-Хорезми) — конечная совокупность точно заданных правил решения произвольного класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи.
Большой современный толковый словарь русского языка
Новый словарь иностранных слов
м.
1) Определенная последовательность операций или вычислений (в математике).
2) Программа для электронной вычислительной машины, позволяющая от исходных данных прийти к искомому результату (в информатике).
3) перен. Обобщенная схема какой-л. деятельности.
Новый толково-словообразовательный словарь русского языка Ефремовой
Словарь иностранных выражений
Словарь русского языка Лопатина
совокупность действий, правил для решения данной задачи А. извлечения корня.
Словарь русского языка Ожегова
Современный толковый словарь, БСЭ
алгоритм м.
1) Определенная последовательность операций или вычислений (в математике).
2) Программа для электронной вычислительной машины, позволяющая от исходных данных прийти к искомому результату (в информатике).
3) перен. Обобщенная схема какой-л. деятельности.
Толковый словарь Ефремовой
(по латинизированной форме имени среднеазиатского математика 9 в. аль-хорезми Algorithmi) – предписание (система правил), определяющее содержание и последовательность операций, обеспечивающих решение задач определенного класса; в медицине разрабатываются А. стандартизованных действий при обработке материалов исследований, при постановке диагноза и т. п.
Словарь экономических терминов
Большая советская энциклопедия, БСЭ
Полный орфографический словарь русского языка
точный набор инструкций, описывающих последовательность действий для достижения результата, решения задачи
Далее: алгоритм накопления опыта, алгоритм восстановления испорченной информации и комплекс алгоритмов накопления и распределения энергии.
Таким образом, алгоритм — это математический инструмент, но само его определение подсказывает, почему алгоритмы стали основой информатики.
Самое главное, в случае с системами с открытыми исходными кодами — ОС шагу не ступит сама, без прямого воздействия пользователя системы, ибо в неё заложен алгоритм прямого подчинения пользователю без элементов «самоуправства», алгоритмы которого привнесены сторонними разработчиками, как в случае с системами первой группы.
Например, существующая технология оптимизации никак не сможет автоматически подставить алгоритм быстрой сортировки вместо записанного алгоритма пузырьковой сортировки, хотя, возможно, будет получена программа, работающая быстрее.
В разделе «Требования к контрольному примеру» следует приводить:требования к объему и составу данных используемой информации, в том числе нормативно-справочной, плановой, учетной, а также накапливаемой для последующих решений данной задачи и используемой для ее решения из других задач;требования к объему и составу данных результатов решения, в том числе выдаваемых на печать в табуляграммах, на машинных носителях, а также сохраняемых для решения других задач.Требования к контрольному примеру должны обеспечивать возможность проверки правильности алгоритма решения задач и программ реализующих алгоритм решения.
Уже сейчас можно смело сказать, что «Марши» во многом изменили представление о российской оппозиции. Оказалось возможным наладить сотрудничество между разными оппозиционными силами и реально сформировать оппозиционную основу, которая может противостоять Кремлю. «Марши» создали своего рода новую политическую культуру, которая окажет влияние на осенне-зимний политический сезон, и впервые появилась перспектива того, что оппозиция сможет найти алгоритм противодействия операции «Преемник». (Гарри Каспаров)
Транслитерация: algoritm
Задом наперед читается как: мтирогла
Алгоритм состоит из 8 букв
Что такое алгоритм
Содержание
Вступление [ править ]
Геометрия развивает геометрическое мышление, математика — абстрактное математическое, логика — логическое, физика — физическое… А какое мышление развивает информатика? Информатика есть наука, служащая информационным технологиям. Но фундаментальными достижениями этой науки оказались не сами технологии, а общие методы построения систем и решения сложных задач. Базисом этих методов являются алгоритмы и системный подход к решению задач. Поэтому информатика развивает алгоритмическое мышление и учит системному подходу к решению задач.
Сегодня мы познакомимся с понятиями алгоритма и исполнителя. Оказывается, не так-то просто понять, чем определяется сущность алгоритма.
Понятие алгоритма [ править ]
Запись алгоритма на формальном языке называется программой. Иногда само понятие алгоритма отождествляется с его записью, так что слова «алгоритм» и «программа» — почти синонимы. Небольшое различие заключается в том, что под алгоритмом, как правило, понимают основную идею его построения. Программа же всегда связана с записью алгоритма на конкретном формальном языке.
Приведём для примера простой алгоритм действия пешехода, который позволит ему безопасно перейти улицу:
Алгоритмы обладают свойством детерминированности (определённости): каждый шаг и переход от шага к шагу должны быть точно определены так, чтобы его мог выполнить любой другой человек или механическое устройство.
Кроме детерминированности, алгоритмы также должны обладать свойством конечности и массовости:
Конечность Алгоритм всегда должен заканчиваться за конечное число шагов, но это число не ограничено сверху. Массовость Алгоритм применяется к некоторому классу входных данных (чисел, пар чисел, набору букв и тому подобному). Не имеет смысла строить алгоритм нахождения наибольшего общего делителя только для одной пары чисел 10 и 15.
Операция суммирования бесконечного ряда не является элементарной ни для современных компьютеров, ни для человека, а если разложить эту операцию на отдельные шаги сложения, то получим бесконечное число шагов. Алгоритмы же по определению должны выполняться за конечное число шагов и через конечное число шагов предоставлять результат вычислений.
Понятие элементарных объектов и элементарных действий [ править ]
0 | → 00000000 |
1 | → 00000001 |
2 | → 00000010 |
3 | → 00000011 |
4 | → 00000100 |
5 | → 00000101 |
… | → … |
250 | → 11111010 |
251 | → 11111011 |
252 | → 11111100 |
253 | → 11111101 |
254 | → 11111110 |
255 | → 11111111 |
Указанный способ представления натуральных чисел в виде последовательности нулей и единиц называется двоичной записью числа. Каждому биту в этом представлении соответствует степень двойки. Самому правому биту соответствует 1 = 2 0 <\displaystyle 1=2^<0>> , второму справа — 2 = 2 1 <\displaystyle 2=2^<1>> , третьему справа — 4 = 2 2 <\displaystyle 4=2^<2>> , и так далее. Двоичная запись соответствует разложению числа в сумму неповторяющихся степеней двойки. Например:
Конечный набор элементарных объектов может принимать лишь конечное число значений. Так, например, упорядоченный набор 8 бит (один байт) имеет 256 возможных значений. Из этого простого факта следует очень важное утверждение: среди команд исполнителя не может быть команд сложения или умножения произвольных натуральных (действительных) чисел.
При изучении языка программирования, вы встретитесь с таким явлением, как переполнение — ситуация, когда результат элементарной арифметической операции выходит за пределы подмножества чисел, которые можно записать в выбранном машинном представлении.
У каждого исполнителя есть конечный набор элементарных команд (действий), оперирующих элементарными объектами, которых также конечное число.
Входом алгоритма является конечный набор элементарных объектов. Во время работы алгоритма выполняется конечное число элементарных действий и результат алгоритма также является конечным набором элементарных объектов.
В компьютерах элементарным объектом является бит. Есть несколько стандартных способов записи чисел (действительных, целых, и целых неотрицательных) в виде последовательности бит фиксированной длины.
Алгоритм входным данным сопоставляет выходные данные и этим он чем-то похож на обыкновенную функцию. Но главной особенностью алгоритма является то, что он содержит описание того, как это сделать. Функция может быть задана неявно, а алгоритм — нет. Алгоритм описывает, что нужно сделать с входными данными, чтобы получить результат. При этом предполагается, что инструкции алгоритма выполняет исполнитель с ограниченными способностями: собственная память исполнителя конечна, также конечен и чётко зафиксирован набор инструкций, которые он может исполнять. В большинстве классических исполнителей присутствует внешняя память, которая в принципе не ограничена. Например у человека под рукой есть сколь угодно много листов бумаги, уложенных в бесконечный ряд (ячеек памяти), которые он может использовать. Заметьте, что информация о том, что на каком листке записано в какой-то момент может не поместиться в конечную память исполнителя и эту информацию ему также нужно будет записывать на листах.
Способы записи алгоритмов [ править ]
Алгоритмы можно описывать человеческим языком — словами. Так и в математике — все теоремы и утверждения можно записывать без специальных обозначений. Но специальный формальный язык записи утверждений сильно облегчает жизнь математикам: исчезает неоднозначность, появляются краткость и ясность изложения. Всё это позволяет математикам говорить и писать на одном языке и лучше понимать друг друга.
Большинство используемых в программировании алгоритмических языков имеют общие черты. В то же время, не всегда целесообразно пользоваться каким-либо конкретным языком программирования и загромождать изложение несущественными деталями. Здесь мы будем использовать псевдокод, который похож на язык Pascal, но не является таким строгим.
Разницу между программой и алгоритмом можно пояснить следующим образом. Алгоритм — это метод, схема решения какой-то задачи. А программа — это конкретная реализация алгоритма, которая может быть скомпилирована и выполнена на компьютере. Алгоритм, в свою очередь, является реализацией идеи решения. Это можно проиллюстрировать следующей схемой:
Идея решения → Алгоритм → Программа
Стрелка означает переход к следующему этапу решения задачи с повышением уровня подробности описания метода решения.
Алгоритм Евклида [ править ]
Запишем этот алгоритм с помощью псевдокода.
Псевдокод 1. Алгоритм Евклида
Инструкция return a означает «вернуть как результат вычислений объект a ».
Алгоритм вычисления чисел Фибоначчи [ править ]
В математике для описания функций часто используются рекуррентные соотношения, в которых значение функции определяется через её значение при других (обычно меньших) аргументах. Наиболее известным примером является последовательность Фибоначчи 1, 1, 2, 3, 5, 8, 13, …, определяемая следующими соотношениями:
Используя это рекуррентное соотношение, можно построить рекурсивный алгоритм вычисления чисел Фибоначчи:
Псевдокод 2. Числа Фибоначчи
Наибольший интерес в этом алгоритме представляет строчка 5:
Рис. 1. Дерево рекурсивных вызовов для F 6 <\displaystyle F_<6>> .
На рисунке 1 изображено дерево рекурсивных вызовов, возникающее при вычислении F 6 <\displaystyle F_<6>> . Это дерево демонстрирует как функция сама себя использует при вычислении. Например, при вычислении F 6 <\displaystyle F_<6>> были вызваны функции вычисления F 5 <\displaystyle F_<5>> и F 4 <\displaystyle F_<4>> . Для вычисления F 5 <\displaystyle F_<5>> понадобились F 4 <\displaystyle F_<4>> и F 3 <\displaystyle F_<3>> , и так далее.
Для того, чтобы рекурсивный алгоритм заканчивал свою работу, необходимо, чтобы дерево рекурсивных вызовов при любых входных данных обрывалось и было конечным. В данном примере дерево рекурсивных вызовов обрывается на F 1 <\displaystyle F_<1>> и F 2 <\displaystyle F_<2>> , для вычисления которых не используются рекурсивные вызовы.
Сколько раз вызывались вычисления F 2 <\displaystyle F_<2>> и F 1 <\displaystyle F_<1>> при вычислении F 6 <\displaystyle F_<6>> ? Нарисуйте дерево рекурсивных вызовов для F 7 <\displaystyle F_<7>> и определите, сколько раз будут вызваны F 1 <\displaystyle F_<1>> и F 2 <\displaystyle F_<2>> . Найдите общую формулу для числа вызовов F 1 <\displaystyle F_<1>> и F 2 <\displaystyle F_<2>> при вычислении F n <\displaystyle F_
Но это не значит, что использовать рекурсию не надо. Рекурсия очень важный и удобный инструмент программирования. С помощью рекурсии успешно реализуют важный подход к решению задач: разделяй и властвуй.
Лучший способ решить сложную задачу — это разделить её на несколько простых и «разделаться» с ними по отдельности. По сути, это один из важных инструментов мышления при решении задач.
Псевдокод 3. Числа Фибоначчи: нерекурсивный алгоритм
От экспоненциального роста времени вычисления рекурсивных алгоритмов легко избавится с помощью запоминания вычисленных значений. А именно, в памяти хранят вычисленные значения, а в начале функции помещается проверка на то, что требуемое значение уже вычислено и хранится в памяти. Если это так, то это значение возвращается как результат, а вычисления и рекурсивные вызовы осуществляются лишь в том случае, когда функция с такими аргументами ещё ни разу не вызывалась. Подробнее этот метод мы рассмотрим при изучении динамического программирования.
Задача «Ханойские башни» [ править ]
Рассмотрим ещё один классический пример на рекурсивные алгоритмы — игру «Ханойские башни», придуманную ещё в 1883 году Эдуардом Люка. Есть три стержня и 64 кольца́, нанизанных на них. В начале все ко́льца находятся на первом стержне, причём все ко́льца разного диаметра, и меньшие ко́льца лежат на бо́льших. За ход разрешается взять верхнее кольцо с любого стержня и положить на другой стержень сверху, при этом запрещается класть большее кольцо на меньшее. Цель игры состоит в том, чтобы переместить всю пирамиду с первого стержня на второй.
Псевдокод 4. Ханойские башни
Задачу «Xанойские башни» можно значительно усложнить.
Дано четыре стержня. На одном из них 64 кольца́, размеры которых увеличиваются от верхнего к нижнему. Следуя правилам задачи «Ханойские башни» необходимо переместить их на второй стержень. Напишите программу, которая находит минимальное необходимое число операций перекладывания одного кольца́.
Примеры простых алгоритмических задач [ править ]
Здесь мы сформулируем несколько простых алгоритмических задач, которые полезно прорешать, чтобы освоится с понятием алгоритма.
Разработайте алгоритм вычисления числа F 1000 <\displaystyle F_<1000>> и реализуйте его в виде программы на языке Паскаль, Си или любом другом языке программирования. Сколько цифр в десятичной записи этого числа?
Дано множество прямых на плоскости, никакие три из которых не пересекаются в одной точке. Напишите рекурсивный алгоритм (псевдокод) закраски получившихся многоугольников в чёрный и белый цвета так, чтобы многоугольники одного цвета не имели общей стороны.
Рассмотрим следующее рекуррентное соотношение для функции f ( n ) = a n <\displaystyle
Чем отличается алгоритм от функции?
Чем отличается программа от алгоритма?
В чём разница между идеей решения и алгоритмом решения задачи?