Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_ekzamen_po_informatike.doc
Скачиваний:
16
Добавлен:
02.04.2015
Размер:
3.42 Mб
Скачать

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

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

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

  2. составление математического описания задачи;

  3. разработка алгоритма решения;

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

  5. ввод программы в ЭВМ, ее трансляция и отладка;

  6. ввод исходных данных и выполнение программы (счет);

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

Постановка задачи должна включать в себя

- цель решения;

- словесную формулировку самой задачи в терминах той области знаний, для которой она решается;

- перечень исходных данных, необходимых для решения задачи;

- перечень искомых величин и форму их представления;

- сведения о требуемой точности счета.

Во многих случаях в постановку задачи включают ее экономическое обоснование.

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

Вспомним пример 1.1. Если мул возьмёт у лошади один мешок, его ноша станет вдвое тяжелее лошадиной. А если перенести со спины мула один мешок на спину лошади, их поклажи сравняются. Сколько мешков несла лошадь, и сколько нёс мул?

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

Обозначим Х и Y – количество мешков на спине лошади и мула, соответственно.

Если снять у лошади один мешок и положить на мула, то у них будет X – 1 – у лошади и Y + 1 – у мула. По условию Y + 1 = 2 (X – 1) – первое уравнение (формализованное представление первого условия).

Если снять у мула один мешок и положить на лошадь, то у них будет X + 1 – у лошади и Y – 1 – у мула. По условию Y – 1 = X + 1 – второе уравнение.

После преобразований получим систему уравнений

,

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

Трансляция программы – перевод текста программы с алгоритмического языка (например, PASCAL) на язык машинных команд. Для этого используется специальная программа – транслятор, которая просматривает текст программы и осуществляет автоматический перевод.

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

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

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

Тогда, согласно правилу Крамера, решение будет иметь следующий вид:

; , гдеD = А11А22 – А21А12, Dx = b1A22 – b2A12,

Dy = A11b2 – A21b1.

Соответствующая программа будет иметь вид:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]