Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




  1. Постановка задачи
  2. Математическое моделирование.
  3. Выбор метода решения.
  4. Алгоритмизация задачи.
  5. Программирование.
  6. Отладка и тестирование программы.

 

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

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

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

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

  1. Определенность. Каждый шаг или пункт алгоритма должен быть сформулирован так, чтобы действие компьютера по его выполнению были однозначными.
  2. Результативность. Алгоритм должен приводить к желаемому результату после выполнения конечного числа шагов. Нельзя допускать «зацикливания» алгоритма.
  3. Массовость. Алгоритм должен создаваться в расчете на его многократное использование с различными исходными данными. Алгоритм решения заложен в самом методе, выбранном на предыдущем этапе. Необходимо лишь сформулировать этот алгоритм так, чтобы его можно было выполнить на компьютере. Также необходимо включить в алгоритм действия по вводу исходных данных и выводу результатов вычислений. Алгоритм можно представить различными способами. Например, программа — один из способов записи алгоритма. Для сложных задач писать алгоритм сразу в виде программы неверно. Это наверняка приведет к ошибке. В этих случаях надежней сначала представить алгоритм в виде графической схемы (блок-схемы). Графический способ представления.

Таблица блочных символов:

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

 

 

При выполнении схем соблюдают следующие правила:

  • Все блоки в схеме нумеруются положительными целыми числами.
  • Соединительные линии не должны пересекаться между собой

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

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

 

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

 

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

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

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

Эти программы называют трансляторы. Они делятся на два вида: компилятор и интерпретатор.

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

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...