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

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

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

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

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

Третий этап — Алгоритмизация задачи.
На основе математического описания необходимо разработать алгоритм решения. Более подробно этот этап будет рассмотрен в пункте «1.1.2 Основы алгоритмизации» данной главы.

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

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

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

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

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

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

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

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

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

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

Решение задач с помощью компьютера включает в себя следующие основные этапы, часть из которых осуществляется без участия компьютера (этапы 1-3) и с участием компьютера (4-6).

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

· сбор информации о задаче;

· формулировка условия задачи;

· определение конечных целей решения задачи;

· определение формы выдачи результатов;

· описание данных (их типов, диапазонов величин, структуры и т.п.).

2. Анализ и исследование задачи, модели:

· анализ существующих аналогов;

· анализ технических и программных средств;

· разработка математической модели;

· разработка структур данных.

3. Разработка алгоритма:

· выбор метода проектирования алгоритма;

· выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

· выбор тестов и метода тестирования;

· выбор языка программирования;

· уточнение способов организации данных;

· запись алгоритма на выбранном языке программирования.

5. Тестирование и отладка:

· отладка семантики и логической структуры;

· тестовые расчеты и анализ результатов тестирования;

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

· доработка программы для решения конкретных задач;

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

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

Основные этапы решения задач на ЭВМ

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

1) постановка задачи, разработка математической модели;

2) выбор метода численного решения;

3) разработка алгоритма и структуры данных;

4) проектирование программы:

5) производство окончательного программного продукта;

6) решение задачи на ЭВМ.

Постановка задачи — точное описание исходных данных, условий задачи и целей ее решения. На этом этапе многие из условии задачи, заданные в форме различных словесных описаний, необходимо выразить на точном (формальном) языке математики. Часто задача программирования задается в математической формулировке, поэтому необходимость в выполнении этапов 1 и 2 отпадает. Для решения достаточно сложных задач этап формализации может потребовать значительных усилий и времени. Среди опытных программистов распространено мнение, что выполнить этап формализации — это значит сделать половину всей работы по созданию программы.

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

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

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

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

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

Решение задачи нa ЭВМ— выполнение всех предусмотренных программой вычислений и вывод результатов расчёта на экран дисплея или на печать.

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

Постановка задачи, разработка математической модели. Для упрощения модели примем следующие допущения:

а) пренебрегаем кривизной Земли, считая ее поверхность плоскостью:

б) ускорение свободного падения считаем константой:

в) пренебрегаем сопротивлением воздуха:

г) пренебрегаем движением Земли.

Математическое описание объекта. Уравнения движения тела, брошенного под углом к горизонту, в Декартовых координатах записываются следующим образом:

Рисунок 1 – Математическое описание объекта

Y, X — вертикальная и горизонтальная составляющие движения;

g — ускорение свободного падения;

Создание математической модели позволяет поставить задачу математически.

Пусть движение тела, брошенного под углом а к горизонту с начальной скоростью Vo (рисунок 1), описывается системой уравнений (1), а и Vo заданы. Требуется определить дальность полета и положение тела в каждый момент времени от t = 0 до tK с шагом h.

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

Изменяя значение t с шагом h, рассчитываем координаты X. Y. Алгоритм решения лучше всего представить в виде схемы (рисунок 2).

Рисунок 2 –Блок-схема

На следующем этапе алгоритм записываемся на языке программирования и текст программы переносится на носитель, с которого она вводиться в ЭВМ. Часто программа вводится с клавиатуры дисплея в оперативную память компьютера, а затем записывается на диск.

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

Этапы решения задач на ЭВМ

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

Формализация или постановка задачи.

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

Четко сформулировать задачу – значит высказать те предположения, которые позволят в большом объеме информации об изучаемом явлении или объекте выбрать исходные данные, какие их значения допустимы, определить, что будет служить результатом, какие значения результатов возможны.

Построение математической модели. Частный случай информационной модели, который очень часто используют при решении задач на ЭВМ – математическая модель.

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

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

Разработка алгоритма .

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

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

Запись алгоритма выполняют словесным или графическим способом.

Написание программы.

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

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

Компьютерный эксперимент. (Запуск и отладка программы .)

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

Синтаксические ошибки – нарушения правил записи команд.

Семантические – нарушения параметров команд.

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

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

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

Анализ результатов .

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

Рассмотрим решение с помощью компьютера следующей простейшей задачи :

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

Выполним или выясним вид этапов для нее.

1. Что дано? Несущественно — деревянная, голубая.

Существенно — длина и ширина: А и В, которые являются действительными положительными числами.

Что найти? Площадь: S — действительное положительное число.

2. Отбрасывая несущественные отклонения формы стола от прямоугольника, запишем формулу: S=А*В.

3. Теперь следует продумать алгоритм. Можно записать его словесным способом:

Ввод исходных данных (А, В)

Если исходные данные не положительны, то вернуться к вводу

Вычисление результата (S)

Сообщение результата (S)

или начертить блок-схему:

4.Запишем программу, соответствующую выбранному алгоритму.

На этом этапе следует ввести программу в память ЭВМ.

5. Для пробного запуска программы нужно выполнить специальную команду. При этом на запрос «Введи две стороны?» вы будете набирать на клавиатуре какие-либо числа. Эти числа будут тестовым заданием. Увидев на экране монитора сообщение об ошибке, необходимо проверить строчку программы в памяти ЭВМ с указанным номером, исправить ошибку и еще раз запустить программу. Так поступают до выполнения программы без сообщений об ошибках.

Теперь обсудим, какие данные стоит использовать для тестовых заданий. Простой для устного счета случай, когда стороны равны единице. Результат также должен быть равен единице. Случаи граничных и недопустимых значений – нули и отрицательные стороны. Для таких данных результатом должно быть сообщение о неправильном вводе и предложение ввести стороны еще раз.

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

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector