Помощь в написании студенческих работ
Антистрессовый сервис

Модели решения функциональных и вычислительных задач

РефератПомощь в написанииУзнать стоимостьмоей работы

В процессе построения информационной модели задачи пользователь определяет, какие действия ему потребуется выполнить для достижения результата, и в соответствии с этим решает, каким программным средством воспользоваться. Если в его распоряжении имеется программа, подходящая для решения данной задачи, то пользователь выбирает ее в качестве инструмента (СУБД, табличный процессор, математический… Читать ещё >

Модели решения функциональных и вычислительных задач (реферат, курсовая, диплом, контрольная)

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

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

Постановка задачи. Построение информационной модели.

Формализация задачи. Представление информационной модели в виде, удобном для компьютерной обработки.

Построение алгоритма решения задачи.

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

Ввод программы в память компьютера. Пробный запуск.

Отладка и тестирование программы.

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

Рассмотрим подробнее каждый из перечисленных этапов.

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

Примеры:

рассчитать примерную стоимость декоративного ремонта (покраски) школьной мебели;

разработать наиболее эффективный (калорийный, разнообразный и дешевый) рацион питания в школьной столовой и т. д.

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

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

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

Все эти сведения образуют информационную модель задачи.

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

Шаги построения информационной модели:

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

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

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

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

Определить метод достижения результата.

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

Рассмотрим пример.

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

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

Формализация.

Исходные данные:

S — расстояние от места стоянки до станции.

tz — запас времени до отхода поезда.

V0 — начальная скорость, а — ускорение Результат: сообщение о том, успеют ли путешественники на поезд.

Модели решения функциональных и вычислительных задач.
Модели решения функциональных и вычислительных задач.

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

Это корень квадратного уравнения. Его дискриминант и корни:

Модели решения функциональных и вычислительных задач.

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

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

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

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

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

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

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

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

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

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

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

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

До последнего времени 4, 5 и 6 этапы были необходимыми этапами решения задачи с помощью ЭВМ. При этом языки и системы программирования были теми программными инструментами, с помощью которых создавались новые программы для решения задач пользователя. Однако с расширением круга задач, для решения которых используется компьютер, растет число людей, которые, не будучи профессиональными программистами, применяют компьютер в своей работе.

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

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

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

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

Показать весь текст
Заполнить форму текущей работой