SHPORA.net :: PDA

Login:
регистрация

Main
FAQ

гуманитарные науки
естественные науки
математические науки
технические науки
Search:
Title: | Body:

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


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

Математическое моделирование.

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

Алгоритмизация задачи.

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

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

Постановка задачи. Задача изначально формулируется словесно. При этом важно определить конечные цели решения. От правильной постановки задачи во многом зависит сложность (иногда и возможность) решения задачи.

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

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

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

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

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

Результативность. Алгоритм должен приводить к желаемому результату после выполнения конечного числа шагов. Нельзя допускать «зацикливания» алгоритма.

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

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

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

Языки программирования делят на две группы — низкого и высокого уровня.

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

Языки высокого уровня (алгоритмические языки) созданы для облегчения программирования инженерных и математических задач. Их символика и логика, а также правила записи близки к принятым в математике и естественном языке.

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

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

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