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

Обновлено: 21.11.2024

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

Мы сосредоточимся на пятиэтапной модели дизайн-мышления, предложенной Институтом дизайна Хассо-Платтнера в Стэнфорде (d.school). d.school является ведущим университетом, когда речь идет об обучении дизайн-мышлению. Пять этапов дизайн-мышления, согласно d.school, таковы: сопереживание, определение (проблема), идея, прототип и тестирование. Давайте подробнее рассмотрим пять различных этапов дизайн-мышления.

1. Сопереживать

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

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

2. Определите (проблему)

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

Например, вместо того, чтобы определять проблему как собственное желание или потребность компании, например, "Нам нужно увеличить долю рынка продуктов питания среди девочек-подростков на 5 %", гораздо лучше определить проблема будет заключаться в следующем: "Девочки-подростки должны есть питательную пищу, чтобы хорошо себя чувствовать, быть здоровыми и расти".

Этап «Определение» поможет дизайнерам в вашей команде собрать отличные идеи для создания функций, функций и любых других элементов, которые позволят им решать проблемы или, по крайней мере, позволят пользователям решать проблемы самостоятельно с минимальными затратами. сложности. На этапе «Определение» вы начнете переходить к третьему этапу «Выработка идей», задавая вопросы, которые могут помочь вам найти идеи для решения, задавая вопросы: «Как мы можем… побудить девочек-подростков совершать действия, которые приносят им пользу, а также вовлекают вас?» пищевой продукт или услуга компании?»

3. Идеи

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

На третьем этапе процесса дизайн-мышления дизайнеры готовы начать генерировать идеи. Вы научились понимать своих пользователей и их потребности на этапе «Сопереживание», проанализировали и обобщили свои наблюдения на этапе «Определение» и в итоге пришли к постановке проблемы, ориентированной на человека. Имея этот солидный опыт, вы и члены вашей команды можете начать «думать нестандартно», чтобы найти новые решения для созданной вами постановки проблемы, и вы можете начать искать альтернативные способы рассмотрения проблемы. Существуют сотни методов создания идей, таких как мозговой штурм, мозговой штурм, наихудшая возможная идея и SCAMPER.Сессии «Мозговой штурм» и «Наихудшая возможная идея» обычно используются для стимулирования свободного мышления и расширения проблемного поля. Важно получить как можно больше идей или решений проблем в начале этапа формирования идей. Вы должны выбрать некоторые другие методы формирования идей к концу фазы формирования идей, чтобы помочь вам исследовать и проверить свои идеи, чтобы вы могли найти лучший способ либо решить проблему, либо предоставить элементы, необходимые для ее обхода.

4. Прототип

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

5. Тест

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

Нелинейная природа дизайн-мышления

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

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

Важно отметить, что пять этапов не всегда являются последовательными — они не обязательно должны следовать какому-то определенному порядку, часто они могут выполняться параллельно и многократно повторяться. Таким образом, этапы следует понимать как различные режимы, которые вносят вклад в проект, а не как последовательные шаги. Однако самое удивительное в пятиэтапной модели дизайн-мышления то, что она систематизирует и определяет 5 этапов/режимов, которые вы ожидаете реализовать в дизайн-проекте — и в любом инновационном проекте по решению проблем. Каждый проект включает действия, характерные для разрабатываемого продукта, но основная идея каждого этапа остается неизменной.

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

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

Происхождение пятиэтапной модели

В своем фундаментальном труде о методах проектирования 1969 года «Науки об искусственном» лауреат Нобелевской премии Герберт Саймон описал одну из первых формальных моделей процесса дизайн-мышления. Модель Саймона состоит из семи основных стадий, каждая из которых состоит из составных стадий и действий, и оказала большое влияние на формирование некоторых из наиболее широко используемых сегодня моделей процессов дизайн-мышления. Существует много вариантов процесса дизайн-мышления, используемых в 21 веке, и, хотя они могут иметь разное количество стадий от трех до семи, все они основаны на тех же принципах, что и модель Саймона 1969 года. Мы сосредоточимся на пятиэтапной модели дизайн-мышления, предложенной Институтом дизайна Хассо-Платтнера в Стэнфорде (d.school).

Вывод

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

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

Мы сосредоточимся на пятиэтапной модели дизайн-мышления, предложенной Институтом дизайна Хассо-Платтнера в Стэнфорде (d.school). d.school является ведущим университетом, когда речь идет об обучении дизайн-мышлению. Пять этапов дизайн-мышления, согласно d.school, таковы: сопереживание, определение (проблема), идея, прототип и тестирование. Давайте подробнее рассмотрим пять различных этапов дизайн-мышления.

1. Сопереживать

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

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

2. Определите (проблему)

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

Например, вместо того, чтобы определять проблему как собственное желание или потребность компании, например, "Нам нужно увеличить долю рынка продуктов питания среди девочек-подростков на 5 %", гораздо лучше определить проблема будет заключаться в следующем: "Девочки-подростки должны есть питательную пищу, чтобы хорошо себя чувствовать, быть здоровыми и расти".

Этап «Определение» поможет дизайнерам в вашей команде собрать отличные идеи для создания функций, функций и любых других элементов, которые позволят им решать проблемы или, по крайней мере, позволят пользователям решать проблемы самостоятельно с минимальными затратами. сложности.На этапе «Определение» вы начнете переходить к третьему этапу «Выработка идей», задавая вопросы, которые могут помочь вам найти идеи для решения, задавая вопросы: «Как мы можем… побудить девочек-подростков совершать действия, которые приносят им пользу, а также вовлекают вас?» пищевой продукт или услуга компании?»

3. Идеи

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

На третьем этапе процесса дизайн-мышления дизайнеры готовы начать генерировать идеи. Вы научились понимать своих пользователей и их потребности на этапе «Сопереживание», проанализировали и обобщили свои наблюдения на этапе «Определение» и в итоге пришли к постановке проблемы, ориентированной на человека. Имея этот солидный опыт, вы и члены вашей команды можете начать «думать нестандартно», чтобы найти новые решения для созданной вами постановки проблемы, и вы можете начать искать альтернативные способы рассмотрения проблемы. Существуют сотни методов создания идей, таких как мозговой штурм, мозговой штурм, наихудшая возможная идея и SCAMPER. Сессии «Мозговой штурм» и «Наихудшая возможная идея» обычно используются для стимулирования свободного мышления и расширения проблемного поля. Важно получить как можно больше идей или решений проблем в начале этапа формирования идей. Вы должны выбрать некоторые другие методы формирования идей к концу фазы формирования идей, чтобы помочь вам исследовать и проверить свои идеи, чтобы вы могли найти лучший способ либо решить проблему, либо предоставить элементы, необходимые для ее обхода.

4. Прототип

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

5. Тест

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

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

Нелинейная природа дизайн-мышления

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

Автор/правообладатель: Interaction Design Foundation. Лицензия на авторское право: CC BY-NC-SA 3.0

Важно отметить, что пять этапов не всегда являются последовательными — они не обязательно должны следовать какому-то определенному порядку, часто они могут выполняться параллельно и многократно повторяться. Таким образом, этапы следует понимать как различные режимы, которые вносят вклад в проект, а не как последовательные шаги. Однако самое удивительное в пятиэтапной модели дизайн-мышления то, что она систематизирует и определяет 5 этапов/режимов, которые вы ожидаете реализовать в дизайн-проекте — и в любом инновационном проекте по решению проблем. Каждый проект включает действия, характерные для разрабатываемого продукта, но основная идея каждого этапа остается неизменной.

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

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

Происхождение пятиэтапной модели

В своем фундаментальном труде о методах проектирования 1969 года «Науки об искусственном» лауреат Нобелевской премии Герберт Саймон описал одну из первых формальных моделей процесса дизайн-мышления. Модель Саймона состоит из семи основных стадий, каждая из которых состоит из составных стадий и действий, и оказала большое влияние на формирование некоторых из наиболее широко используемых сегодня моделей процессов дизайн-мышления. Существует много вариантов процесса дизайн-мышления, используемых в 21 веке, и, хотя они могут иметь разное количество стадий от трех до семи, все они основаны на тех же принципах, что и модель Саймона 1969 года. Мы сосредоточимся на пятиэтапной модели дизайн-мышления, предложенной Институтом дизайна Хассо-Платтнера в Стэнфорде (d.school).

Вывод

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

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

Статьи

Обновлено: 9 октября 2012 г.

Обзор

Давайте оставаться на связи.

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

Вводя свой адрес электронной почты, вы соглашаетесь получать сообщения от Penn State Extension. Ознакомьтесь с нашей политикой конфиденциальности.

Спасибо за заявку!

Кормление во время нехватки домашних кормов

Статьи

Записи о производстве молока для управленческого контроля

Руководства и публикации

Подача записей для управления

Руководства и публикации

Оценка и кондиционирование выбракованного крупного рогатого скота для продажи

Видео

Использование Quickbooks для управления вашим фермерским бизнесом

Онлайн-курсы

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

Проблемы, решения и инструменты

У меня проблема! Мне нужно поблагодарить тетю Кей за подарок на день рождения, который она прислала мне. Я мог бы отправить благодарственное письмо по почте. Я мог бы позвонить ей по телефону. Я мог бы отправить ей сообщение по электронной почте. Я мог бы подъехать к ней домой и поблагодарить ее лично. На самом деле, я мог бы отблагодарить ее многими способами, но суть не в этом. Дело в том, что я должен решить, как я хочу решить проблему, и использовать соответствующий инструмент для реализации (выполнения) моего плана. Почта, телефон, Интернет и мой автомобиль — это инструменты, которые я могу использовать, но ни один из них на самом деле не решает мою проблему. Точно так же компьютер не решает проблемы, это всего лишь инструмент, который я могу использовать для реализации своего плана решения проблемы.

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

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

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

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

Алгоритм – это план решения проблемы.

Человек должен разработать алгоритм.

Человек должен перевести алгоритм в компьютерную программу.

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

Процесс разработки алгоритма

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

Есть много способов написать алгоритм. Некоторые из них очень неформальные, некоторые довольно формальные и математические по своей природе, а некоторые довольно графические. Инструкция по подключению DVD-проигрывателя к телевизору представляет собой алгоритм. Математическая формула, такая как πR 2, является частным случаем алгоритма. Форма не имеет особого значения, если она обеспечивает хороший способ описания и проверки логики плана.

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

Шаг 1. Получите описание проблемы.

Шаг 2. Проанализируйте проблему.

Шаг 3. Разработайте высокоуровневый алгоритм.

Шаг 4. Усовершенствуйте алгоритм, добавив больше деталей.

Шаг 5. Просмотрите алгоритм.

Шаг 1. Получите описание проблемы.

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

Клиент отвечает за создание описания проблемы, но зачастую это самая слабая часть процесса. Довольно часто описание проблемы страдает от одного или нескольких из следующих типов дефектов: (1) описание основано на невысказанных предположениях, (2) описание неоднозначно, (3) описание неполно или (4) описание имеет внутренние противоречия. Эти дефекты редко возникают из-за невнимательности со стороны клиента. Вместо этого они связаны с тем, что естественные языки (английский, французский, корейский и т. д.) довольно неточны. Частью ответственности разработчика является выявление дефектов в описании проблемы и работа с клиентом над устранением этих дефектов.

Шаг 2. Проанализируйте проблему.

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

Определяя отправную точку, мы должны начать с поиска ответов на следующие вопросы:

Какие данные доступны?

Где эти данные?

Какие формулы относятся к задаче?

Какие существуют правила работы с данными?

Какие отношения существуют между значениями данных?

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

Какие новые факты мы получим?

Какие элементы будут изменены?

Какие изменения будут внесены в эти элементы?

Каких вещей больше не будет?

Шаг 3. Разработайте высокоуровневый алгоритм.

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

Проблема: мне нужно отправить поздравительную открытку моему брату Марку.

Анализ: у меня нет карты. Я предпочитаю купить открытку, а не делать ее самостоятельно.

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

"Какой магазин я посещу?"

"Какие карты нравятся Марку: юмористические, сентиментальные, рискованные?"

Такие детали рассматриваются на следующем этапе нашего процесса.

Шаг 4. Усовершенствуйте алгоритм, добавив больше деталей.

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

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

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

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

Шаг 5. Просмотрите алгоритм.

Последний шаг – просмотр алгоритма. Что мы ищем? Во-первых, нам нужно шаг за шагом проработать алгоритм, чтобы определить, решит ли он исходную проблему. Как только мы убедимся, что алгоритм действительно обеспечивает решение проблемы, мы начинаем искать другие вещи. Следующие вопросы являются типичными из тех, которые следует задавать всякий раз, когда мы рассматриваем алгоритм. Задавать эти вопросы и искать на них ответы — хороший способ развить навыки, которые можно применить к следующей проблеме.

Решает ли этот алгоритм очень конкретную проблему или более общую проблему? Если он решает очень конкретную проблему, следует ли его обобщать?

Например, алгоритм, вычисляющий площадь круга радиусом 5,2 метра (формула π*5,2 2 ), решает очень конкретную задачу, а алгоритм, вычисляющий площадь любого круга (формула π*R 2 ), решает более общая проблема.

Можно ли упростить этот алгоритм?

Одна из формул для вычисления периметра прямоугольника:

Более простой формулой будет:

Похоже ли это решение на решение другой проблемы? Чем они похожи? Чем они отличаются?

Например, рассмотрим следующие две формулы:

Сходство: каждый вычисляет площадь. Каждый умножает два измерения.

Различия: используются разные измерения. Формула треугольника содержит 0,5.

Гипотеза. Возможно, каждая формула площади предполагает умножение двух измерений.

Пример 4.1. Собрать и посадить

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

Постановка задачи (шаг 1)

Иеру начинается с точки (0, 0) лицом на восток, и в его сумке нет цветов. В локации (3, 0) есть цветок. Напишите программу, которая предписывает Джеру сорвать цветок и посадить его в точке (3, 2). После посадки цветка Джеру должен прыгнуть на одну клетку на восток и остановиться. На острове нет других сетей, цветов или джеруа.

НачалоЗавершение

Анализ проблемы (шаг 2)

Цветок ровно на три клетки впереди джеру.

Цветок нужно посадить ровно на две клетки южнее его текущего местоположения.

Иеру должен стоять лицом на восток на одну клетку к востоку от посаженного цветка.

Нет сетей, о которых нужно беспокоиться.

Алгоритм высокого уровня (шаг 3)

Давайте назовем Джеру Бобби. Бобби должен сделать следующее:

Подробный алгоритм (шаг 4)

Давайте назовем Джеру Бобби. Бобби должен сделать следующее:

Просмотрите алгоритм (шаг 5)

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

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

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

Код Java для "Выбери и посади"

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

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

ПЕРВАЯ СТРОКА

Чтобы увидеть это решение в действии, создайте новый сценарий Greenfoot4Sofia и используйте команду меню Edit Palettes Jeroo, чтобы сделать классы Jeroo видимыми. Щелкните правой кнопкой мыши класс Island и создайте новый подкласс с именем по вашему выбору. Этот подкласс будет содержать ваш новый код.

Рекомендуемая первая сборка содержит три элемента:

Основной метод (здесь myProgram() в подклассе вашего острова).

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

Алгоритм высокого уровня в виде комментариев.

Экземпляр в начале myProgram() помещает Бобби в (0, 0), лицом на восток, без цветов.

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

ВТОРАЯ СТРОКА

Эта сборка добавляет логику для получения цветка, которая в подробном алгоритме (шаг 4 выше) состоит из трех прыжков и последующего сбора цветка. Новый код обозначен комментариями, которых не было в оригинале (они здесь только для того, чтобы привлечь внимание к дополнениям). Пустые строки помогают показать организацию логики.

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

ТРЕТЬЯ СТРОКА

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

ЧЕТВЕРТАЯ СТРОКА (последняя)

Эта сборка добавляет логику "прыжка на восток".

Пример 4.2. Замена сети на цветок

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

Постановка задачи (шаг 1)

Есть два Джеру. Один Джеру начинается в (0, 0) лицом на север с одним цветком в мешочке. Второй начинается в (0, 2) лицом на восток с одним цветком в мешочке. В локации (3, 2) есть сеть. Напишите программу, которая предписывает первому Джеру отдать свой цветок второму. Получив цветок, второй Джеру должен отключить сеть и посадить на ее место цветок. Посадив цветок, Джеру должен повернуться лицом на юг. На острове нет других сетей, цветов или джеруа.

НачалоЗавершение

Анализ проблемы (шаг 2)

Jeroo_2 отстает ровно на два деления от Jeroo_1.

Единственная сеть находится ровно на три позиции впереди Jeroo_2.

У каждого Джеру ровно один цветок.

У Джеру_2 будет два цветка после получения одного от Джеру_1.
Для отключения сети необходимо использовать один цветок.
Другой цветок должен быть посажен в месте расположения сетки, то есть (3, 2).

Jeroo_1 финиширует на (0, 1) лицом на юг.

Jeroo_2 должен финишировать на (3, 2) лицом на юг.

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

Алгоритм высокого уровня (шаг 3)

Давайте назовем первого Джеру Энн, а второго Энди.

Найдите сеть (но не запрыгивайте на нее)
Отключите сеть
Посадите цветок в месте сети
Лицом на юг

Подробный алгоритм (шаг 4)

Давайте назовем первого Джеру Энн, а второго Энди.

Просмотрите алгоритм (шаг 5)

Алгоритм высокого уровня помогает управлять деталями.

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

Код Java для «Заменить сеть на цветок»

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

ПЕРВАЯ СТРОКА

Эта сборка создает метод main, инстанцирует Jeroos и описывает высокоуровневый алгоритм. В этом примере основным методом будет myProgram(), содержащийся в подклассе Island .

ВТОРАЯ СТРОКА

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

ТРЕТЬЯ СТРОКА

В этой сборке добавлена ​​логика, позволяющая Энди находить и отключать сеть.

ЧЕТВЕРТАЯ СТРОКА (последняя)

Эта сборка добавляет логику для Энди, чтобы поместить цветок в (3, 2) и повернуть на юг.

Читайте также: