Что такое постановка задачи в программировании
Перейти к содержимому

Что такое постановка задачи в программировании

  • автор:

Постановка задачи.

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

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

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

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

Рассмотрим постановку так называемой закрытой транспортной задачи.

Пусть имеется т поставщиков Av Av . Ат некоторого однородного товара и пусть я- — количество единиц этого товара у /-го поставщика. Товар следует перевезти в п точек назначения Bv В. Вп (потребителям); пусть j-й потребитель заинтересован в Ь- единицах товара. Суммарная потребность в товаре потребителей равна суммарной возможности поставщиков. Расходы на перевозку одной единицы товара от Ai к Б составляют сц денежных единиц.

Цель: составить такой план перевозок от А- к BJy чтобы общая стоимость перевозки всего товара была минимальной.

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

Задача 1. Попытаться найти какой-либо план перевозок от Ai к В такой, что все запросы потребителей будут удовлетворены и товар от всех поставщиков будет вывезен. При этом общая стоимость перевозки всего товара может не быть минимальной.

Задача 2. Проверить, является ли общая стоимость перевозки товара в найденном в задаче 1 плане минимальной. Если да, то цель достигнута; иначе попытаться улучшить план. Проверку и улучшение плана выполнять до тех пор, пока стоимость перевозки не станет минимальной. Ограничения и допущения:

  • 1) считается, что у каждого рассматриваемого поставщика имеется как минимум одна единица товара. Аналогично, каждый потребитель заинтересован как минимум в одной товарной единице;
  • 2) с практической точки зрения подобная формулировка задачи в большинстве случаев малопригодна: обычно поставщики имеют и перевозят различные виды товаров. Потребители так же заинтересованы в получении товаров разных категорий. ?

Постановка задачи

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

По-английски: Problem definition

См. также: Жизненный цикл программного обеспечения

Финансовый словарь Финам .

  • Поставщик
  • Постановление Правительства РФ

Смотреть что такое «Постановка задачи» в других словарях:

  • Постановка задачи — Постановка задачи точная формулировка условий задачи с описанием входной и выходной информации. Входная информация по задаче данные, поступающие на вход задачи и используемые для её решения. Выходная информация может быть представлена … Википедия
  • Постановка+задачи — Постановка задачи точная формулировка условий задачи с описанием входной и выходной информации. Входная информация по задаче это данные, поступающие на вход задачи и используемые для её решения. Выходная информация может быть представлена в виде… … Википедия
  • постановка задачи — инструктаж Словарь русских синонимов … Словарь синонимов
  • постановка задачи — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN problem definition … Справочник технического переводчика
  • Постановка задачи — один из двух элементов научного познавательного процесса, который состоит из постановок и решений; конкретное решение, в свою очередь, тоже может быть представлено в виде процесса из постановок задач (подзадач) и решения их; постановка задачи… … Мир Лема — словарь и путеводитель
  • ПОСТАНОВКА ЗАДАЧИ — предложение для решения, выполнения, обсуждения, получения конечного результата, составление исходных материалов и определение необходимой цели для решения задачи … Большой экономический словарь
  • постановка задачи — Syn: инструктаж … Тезаурус русской деловой лексики
  • ПОСТАНОВКА ЗАДАЧИ ЦЕНООБРАЗОВАНИЯ — понятие в маркетинге, которое предполагает выяснение целей фирмы, которые она стремится достичь с помощью конкретного товара, ими могут быть: обеспечение выживаемости, максимизация текущей прибыли, завоевание лидерства по показателям доли рынка… … Большой экономический словарь
  • Задачи на взвешивание — Задачи на взвешивание тип олимпиадных задач по математике, в которых требуется установить тот или иной факт (выделить фальшивую монету среди настоящих, отсортировать набор грузов по возрастанию веса и т. п.) посредством… … Википедия
  • постановка общей задачи — — [А.С.Гольдберг. Англо русский энергетический словарь. 2006 г.] Тематики энергетика в целом EN general formulation … Справочник технического переводчика
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,

WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

Поделиться ссылкой на выделенное

Прямая ссылка:

Нажмите правой клавишей мыши и выберите «Копировать ссылку»

1. Этапы решения задач на компьютере

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

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

Скриншот 01-05-2022 005022.jpg

Рис. \(1\). Этапы решения задачи

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

На входе — проблема; на выходе — исходные данные и формат результатов.

2. Формализация задачи. На этом этапе осуществляется построение математической модели задачи . Взаимодействие моделей объектов, участвующих в реальном процессе, заменяется известными математическими соотношениями и уравнениями.
Зачастую в определённой сфере человеческой деятельности уже накоплен набор математических уравнений, с помощью которых принято решать те или иные задачи. Умение предложить новые модели решения связано с широким кругозором исследователя, его неординарным подходом. Такие же качества требуются от человека и при решении новых задач, тех, которые ранее не решались в конкретной области.
На этом этапе реализуется исключительно творческая деятельность человека, а успех решения задачи зависит от выбора и обоснования метода решения.
На этом же этапе определяются допустимая точность, объём и время вычислений, а также технические средства, с помощью которых будет реализовываться решение.
На входе — исходные данные и формат результатов; на выходе — математическая модель и технические средства для решения.

3. Создание алгоритма решения. На этом этапе реализуются методы, с помощью которых будет осуществляться решение. Здесь необходимо скоординировать работу всех участников проекта решения. Создаются блок-схемы алгоритмов, технологические карты загрузки оборудования, например распараллеливание вычислений. Определяется последовательность выполнения отдельных блоков вычислений.
На входе — математическая модель; на выходе — блок-схема или другой способ описания алгоритма.

4. Составление программы для решения задачи. Алгоритм реализуется на конкретном языке программирования. Уточняются формат и область значений результатов в зависимости от выбранного языка программирования.
На входе — блок-схема или другой способ описания алгоритма; на выходе — программа обработки исходных данных.

5. Тестирование и отладка программы. Составление программы обработки исходных данных — процесс трудоёмкий, особенно если необходимо соединить блоки разных разработчиков и параллельно работающих процессов. Отладка программы выполняется в несколько этапов: определяются синтаксические и семантические ошибки. Для обнаружения ошибок проводят тестирование на специально подготовленных данных. Внутри программы расставляют «контрольные точки», получая таким образом сообщение об ошибке в ходе выполнения программы до её завершения. Кроме компьютерного тестирования полученные данные должен проанализировать специалист в той области, в которой работает поставленная задача. Такой подход позволяет выявить ошибки на предыдущих этапах решения задачи. Например, анализ результатов может выявить недочёты, связанные с выбором алгоритма решения, постановкой задачи или со сбором исходных данных. В этом случае процесс решения возвращается на предыдущие этапы и проводится их корректировка.
На входе — программа обработки исходных данных; на выходе — результаты решения задачи.

Постановка задачи

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

конкретную комплектацию и параметры технических средств, версию используемой операционной системы и, возможно, версии и параметры другого установленного программного обеспечения, с которым предстоит взаимодействовать будущему программному продукту. В результате согласования между заказчиком и исполнителем всех перечисленных вопросов составляют техническое задание в соответствии с ГОСТ 19.201-78, которое служит основанием для дальнейшей работы.

Анализ, формальная постановка и выбор метода решения

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

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

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

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

Проектирование

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

Логическое проектирование. Логическое проектирование при структурном подходе предполагает детальную проработку последовательности действий будущей Программы. Его начинают с определения структуры будущего программного продукта: отдельная программа или программная система, состоящая из нескольких взаимосвязанных программ. Затем переходят к разработке алгоритмов программ. Алгоритмом называют формально описанную последовательность действий, которые необходимо выполнить для получения требуемого результата.

Реализация

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

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

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

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

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

Тестированием называют процесс выполнения программы при различных тестовых наборах данных с целью обнаружения ошибок. Правильный подбор тестовых данных — отдельная и достаточно сложная задача. Для поиска логических ошибок также можно использовать отладчик: по шагам отследить процесс получения результата. Однако полезно бывает выполнить программу вручную, фиксируя результаты выполнения команд на бумаге. Целью тестирования является обнаружение ошибок.Соответственно хорошим следует считать тест, обнаруживающий ошибку. Для формирования таких тестов определены две стратегии: • «белого» или «прозрачного ящика» (тестирование маршрутов);• «черного ящика»,

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

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

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

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