Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет пр.doc
Скачиваний:
13
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

2Теоретическая часть

2.1Этапы решения задачи на эвм

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

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

  • сбор информации о задаче;

  • формулировка условия задачи;

  • определение конечных целей решения задачи;

  • определение формы выдачи результатов;

  • описание данных (их типов, диапазонов величин, структуры и т. п.).

  1. Анализ и исследование задачи, модели:

  • анализ существующих аналогов;

  • анализ технических и программных средств;

  • разработка математической модели;

  • разработка структур данных.

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

  • выбор метода проектирования алгоритма;

  • выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

  • выбор тестов и метода тестирования;

  • проектирование алгоритма.

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

  • выбор языка программирования;

  • уточнение способов организации данных;

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

  1. Тестирование и отладка:

  • синтаксическая отладка;

  • отладка семантики и логической структуры;

  • тестовые расчеты и анализ результатов тестирования;

  • совершенствование программы.

  1. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

  2. Сопровождение программы:

  • доработка программы для решения конкретных задач;

    • составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.

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

2.2Понятие алгоритма и его свойства

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

Слово "Алгоритм" происходит от algorithmi - латинского написания имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг.

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

Можно сформулировать основные особенности именно алгоритмов:

  1. Наличие исходных данных и некоторого результата;

  2. Массовость (т.е. возможность применять многократно один и тот же алгоритм)

  3. Детерминированность (при применении алгоритма к одним и тем же исходным данным должен получаться всегда один и тот же результат)

  4. Результативность (выполнение алгоритма должно обязательно приводить к его завершению)

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

На основании этих свойств иногда дается определение алгоритма: “Алгоритм – это последовательность математических, логических или вместе взятых операций, отличающихся детерминированностью, массовостью, направленностью и приводящая к решению всех задач данного класса за конечное число шагов”.