Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Основные этапы процесса решения задачи на ПК

Читайте также:
  1. A. ненормальный ход родового процесса, родо­вые травмы
  2. D. как завершающий этап сукцессионного процесса
  3. E) задачи на вычисление боковой поверхности геометрических фигур
  4. E)задачина вычисление боковой поверхности геометрических фигур 1 страница
  5. E)задачина вычисление боковой поверхности геометрических фигур 2 страница
  6. E)задачина вычисление боковой поверхности геометрических фигур 3 страница
  7. E)задачина вычисление боковой поверхности геометрических фигур 4 страница
  8. I Задачи научно-исследовательской деятельности учащихся.
  9. I Цели и задачи изучения дисциплины
  10. I этап. Постановка задачи

При решении на ПК любой задачи можно выделить несколько этапов в работе:

постановка задачи;

выбор метода решения задачи;

разработка алгоритма;

программирование;

отладка программы;

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

Математическая постановка задачи

На этом этапе всем физическим величинам, участвующим в задаче, надо дать математические обозначения. Удобнее всего использовать общепринятые обозначения (h - высота, l - длина, s - площадь и т.д.), но допускается обозначать все величины произвольно, на свое усмотрение. Конечно, чтобы самому не забыть об этих обозначениях, необходимо их записать в связи с самими физическими величинами (это действие можно назвать "распределением памяти", т.к. каждая величина будет храниться в памяти ПК).

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

исходные данные - эти величины известны из условия задачи;

результат - эти величины требуется найти;

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

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

Выбор метода решения задачи

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

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

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

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

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

Программирование

Это процесс записи алгоритма на одном из алгоритмических языков программирования. Таких языков существует немало. Наиболее распространены Бейсик, Паскаль, СИ и др.

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

Отладка программы

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

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

Ошибки программы бывают двух видов:

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

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

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

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

трассировка программы (trace - след) - вывод номеров операторов по мере их фактического выполнения, дает возможность проследить последовательность выполнения отдельных действий и частей программы;

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

дамп (damp - разгрузка) - вывод содержимого памяти для анализа в определенный момент времени, например, в момент останова программы из-за ошибки.

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

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

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

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




Дата добавления: 2014-11-24; просмотров: 24 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав