Абстракция против алгоритма: различия? – Технология с технологией

Делиться заботой!

Вот все о различиях между абстракцией и алгоритмом:

Алгоритм — это список логических шагов, которым вы можете следовать, чтобы решить проблему.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

Абстракция — это сбор данных, определение терминов и установление взаимосвязей, а алгоритм — это то, где вы фактически обрабатываете числа.

Так что если вы хотите узнать все о том, чем абстракция и алгоритм отличаются друг от друга, то эта статья для вас.

Давайте прыгнем прямо в него!

Абстракция против алгоритма: различия?  (Все, что нужно знать)

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

Работа с блок-схемой логических шагов для компьютерного программного обеспечения

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

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

Тезисы и алгоритмы появляются в математике, естественных науках, философии и практически во всех областях, связанных с решением проблем.

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

Чтобы избежать путаницы, я собираюсь сосредоточиться на компьютерных науках.

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

Кроме того, компьютеры облегчают понимание потребностей и приложений алгоритмов и абстракций (по крайней мере, на мой взгляд), так что это будет в центре внимания.

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

После всего сказанного давайте поговорим о том, что такое алгоритм.

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

Заметьте, я сказал «вы», а не компьютер.

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

Как программист, вы должны уметь самостоятельно следовать алгоритму и при этом получать правильный результат.

Алгоритм — это то, как вы сводите решение проблемы к надежному повторяемому набору логических шагов.

Это рецепт успеха, в буквальном смысле.

Когда вы следуете кулинарному рецепту, вы на самом деле следуете алгоритму.

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

Что такое абстракция?

Программисты проводят мозговой штурм в ИТ-компании

Если алгоритмы еще не совсем ясны, я приведу несколько примеров, которые должны помочь.

Перед этим давайте продолжим и определить абстракцию.

Если вам знакомо слово «абстрактный», то вы можете подумать, что абстракция — это странное понятие.

Ты прав.

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

Подумайте об этом так.

Вы собираетесь написать компьютерную программу, которая поможет кому-то понять, что есть на ужин.

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

Что такое еда?

Что такое ингредиенты?

Как написать программу, которая может выбрать один рецепт ужина вместо другого или один ресторан вместо другого?

На все эти вопросы отвечает абстракция.

Абстракция — это не конкретная вещь, которой можно следовать как рецепту.

Вместо этого это процесс (иногда очень неопределенный процесс) концептуализации вещей таким образом, который может привести к алгоритму.

Абстракция — это когда вы выясняете, какая информация необходима, как эта информация может быть организована и как представить эту информацию в компьютерных терминах.

Если вы действительно думаете об этом, это много.

Абстракция — это огромная концепция, и ее нельзя свести к нескольким словам, которые я посвящаю ей в этой статье.

Это широкая концепция, и вам действительно нужно некоторое время, чтобы эффективно определить ее.

К счастью, нам не нужно тратить несколько лет на изучение компьютерных наук, чтобы действительно понять это.

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

К тому времени, когда мы закончим, вы получите его.

Каковы основные различия между алгоритмом и абстракцией? (3 вещи)

Руководитель группы работает и руководит участниками проекта

Есть много способов сформулировать это, но главное различие, которое вы увидите, будет повторяться снова и снова.

Абстракция — это когда вы как бы выясняете все, что вам нужно для построения алгоритма, в то время как алгоритм — это логический процесс, который фактически решает проблему.

Они идут рука об руку, но когда мы рассмотрим некоторые примеры, вы увидите четкое разграничение между абстракцией и алгоритмом.

#1 Определения

Умная бизнес-леди работает над новым проектом кодирования

Один из способов взглянуть на абстракции — через более узкую линзу.

Когда вы создаете компьютерную программу, вы в основном сосредоточены на алгоритме.

Вы пытаетесь выяснить, какие шаги должен предпринять компьютер, чтобы прийти к правильному решению.

Это очень логично и, по крайней мере, концептуально просто.

Но есть огромная морщина в этом процессе.

Алгоритмы обычно включают переменные.

Это вещи, которые могут меняться каждый раз, когда вы запускаете программу.

Даже если шаги не меняются, обрабатываемая информация может измениться.

Подумайте о программном обеспечении, которое поможет вам рассчитать налоги.

Вы можете использовать тот же алгоритм, что и миллионы других пользователей.

Программное обеспечение имеет четкие шаги, которые определяют, что вы должны или что вам должны, и оно очень надежно.

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

Сколько денег вы заработали?

Как вы сделали это?

Вы платили какие-либо налоги до сих пор?

Вы отвечаете на эти вопросы, часто цифрами, а затем алгоритм справится с остальными.

Абстракция — это процесс, который программисты использовали, чтобы выяснить, как определить все.

Когда вы пользуетесь программой, компьютер понимает, что такое налоговый вычет.

Но он понимает это только потому, что программисты смогли его определить.

Это была абстракция.

Выяснение того, какие переменные должны быть в программе и как сделать их понятными для компьютера.

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

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

#2 Расчеты

Монитор компьютера, показывающий код и расчеты для программного обеспечения

Давайте посмотрим на это с другой стороны.

Допустим, вам нужна компьютерная программа, которая может вычислить что-то конкретное для вас.

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

Алгоритм еще раз очень ясен.

Это просто список шагов, которые должен выполнить компьютер, чтобы подставить данные в формулы, чтобы выдать нужные вам числа.

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

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

Вы не хотите вручную вводить все эти данные каждый раз, когда пытаетесь запустить программу.

Вместо этого вы хотите автоматизировать использование данных, и было бы даже неплохо, если бы программа могла автоматически импортировать обновленные данные, если и когда это необходимо.

Мы вернулись к абстракции.

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

Вы собираетесь использовать абстракцию, чтобы выяснить, как оцифровать данные из испытания.

Вы снова воспользуетесь абстракцией, чтобы подумать о том, как компьютеру лучше всего импортировать эти данные и запускать их в программе.

#3 Математический пример

Молодая женщина-программист думает о шагах и переменных проекта

Будем надеяться, что эти идеи обретут форму.

Алгоритмы — это всегда просто список шагов, которые должен выполнить компьютер.

Абстракции сложнее и шире, но мы видели несколько конкретных приложений.

Следующий пример целиком посвящен математике, и он действительно должен разъяснить, что такое абстракция, чем и почему она отличается от алгоритма.

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

Для этого вам нужно будет выяснить, как доставить доставку в пункт назначения, а также оптимизировать топливную экономичность.

Это не простая проблема, и ваше решение должно быть динамичным.

Он должен учитывать меняющиеся условия трафика, объемы заказов и множество других переменных.

В этом случае абстракция — это огромная фаза разработки приложения.

Во время абстрагирования вы попытаетесь получить хорошие данные о топливной экономичности задействованных транспортных средств.

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

Кроме того, вы возьмете всю эту информацию и попытаетесь придумать математическую формулу, которая объединит все это.

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

Все это абстракция.

Алгоритм приходит позже.

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

Абстракция — это то, как вы концептуализируете вещи.

Алгоритмы — это то, как вы автоматизируете решения.

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

Если вы помните, на уроках математики у вас иногда возникали проблемы со словами.

Вы читали слово «проблема», вытаскивали из него какие-то числа или переменные и, в конце концов, останавливались на формуле.

Это процесс абстракции.

Алгоритмическая часть решения задачи со словами заключается в том, что вы подставляете числа в формулу, следуете правилам математики и получаете окончательный ответ.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *