Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зкзамену програмирование.doc
Скачиваний:
58
Добавлен:
09.02.2015
Размер:
561.66 Кб
Скачать

1 Решение задачи. Основные этапы подготовки и решения задач на эвм. Аппаратно-программные средства поддерживающие решение задач.

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

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

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

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

алгоритмизация вычислительного процесса;

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

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

решение задачи на ЭВМ и анализ результатов

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

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

Выбор и обоснование метода решения. Модель решения задачи с учетом ее особенностей должна быть доведена до решения при помощи конкретных методов решения. Само по себе математическое описание задачи в большинстве случаев трудно перевести на язык машины. Выбор и использование метода решения задачи позволяет привести решение задачи к конкретным машинным операциям. При обосновании выбора метода необходимо учитывать различные факторы и условия, в том числе точность вычислений, время решения задачи на ЭВМ, требуемый объем памяти и другие.

Алгоритмизация вычислительного процесса. На данном этапе составляется алгоритм решения задачи согласно действиям, задаваемым выбранным методом решения.

Составление программы. При составлении программы алгоритм решения задачи переводится на конкретный язык программирования.

Отладка программы. Отладка заключается в поиске и устранении синтаксических и логических ошибок в программе.

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

2 Алгоритм, основные свойства. Типовые элементы внутренней структуры алгоритмов с примерами.

Алгоритм - точное предписание исполнителю совеpшить определенную последовательность действий для достижения поставленной цели за конечное число шагов.

Обязательные свойства алгоритмов

1. Дискретность алгоритма-поочередное выполнение команд алгоритма за конечное число шагов приводящее к решению задачи.

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

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

3. Понятность алгоритма - алгоритм, составленный для конкретного исполнителя, должен включать только те команды, которые входят в его систему команд.

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

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

Не обязательное свойство алгоритмов

5. Массовость алгоритма - обеспечивающие решения всего класса задач данного типа.

Свойство массовости не является необходимым свойством алгоритма. Оно скорее определяет качество алгоритма.

Структуры:

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

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

у=(b2-ас):(а+с).

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

Пример разветвляющегося алгоритма – алгоритм решения квадратного уравнения. Появление условия при решении этой задачи связано с отсутствием корней при отрицательном дискриминанте.

Для данной алгоритмической структуры характерно, что в любой момент времени её реализации осуществляется обработка только по какой-либо одной из ветвей.

Циклическими называются программы, содержащие циклы. Цикл — это многократно повторяемый участок программы.

В организации цикла можно выделить следующие этапы:

• подготовка (инициализация) цикла (И);

• выполнение вычислений цикла (тело цикла) (Т);

• модификация параметров (М);

• проверка условия окончания цикла (У).

Пример алгоритма с разветвлением для вычисления следующего выражения:

Y = (а+b), если Х <0;

с/b, если Х>0.