корней квадратного уравнения




Разберите следующий пример составления схемы алгоритма.

Действительные корни квадратного уравнения ax 2 + bx + c = 0, заданного коэффициентами a, b, c, вычисляются следующим образом (при условии, что а ¹ 0):

1. Прочитать коэффициенты a, b, c.

2. Вычислить дискриминант d = b 2 – 4 ac.

3. Если d > 0, вычислить и написать эти числа, иначе, если d = 0, вычислить и написать это число, иначе написать «действительных корней нет ».

По алгоритму выполняется соответствующая последовательность действий, составляющих процесс решения задачи:

1. Прочитать коэффициенты, вычислить d, проверить, что d > 0 (и это так), вычислить х 1, х 2 и написать эти числа.

2. Прочитать коэффициенты, вычислить d, проверить, что d > 0 (и это не так), проверить, что d = 0 (и это так), вычислить х и написать это число.

3. Прочитать коэффициенты, вычислить d, проверить, что d > 0 (и это не так), проверить, что d = 0 (и это не так), и написать, что действительных корней нет.


Схема алгоритма приведена на рис. 1.2.

 

В данной схеме используются следующие графические примитивы:

1) Знак завершения – обозначает начало и конец алгоритма.

2) Данные – обозначает ввод и вывод данных.

3) Процесс – обозначает вычислительные операции.

4) Решение – обозначает выбор одной из альтернатив.

Задание № 2. Алгоритм вычисления бесконечной суммы

1. Составить схему алгоритма вычисления бесконечной суммы

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

2. Данная задача относится к классу итерационных задач, так как число повторений операторов тела цикла заранее неизвестно. Очевидно, что здесь надо использовать цикл типа «ПОКА». Выход из итерационного цикла осуществляется в случае выполнения заданного условия .

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

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

5. Решая эту задачу «в лоб» путем вычисления на каждом i -ом шаге частичной суммы

S:= S +((-1)**(i -1))*(x ** i)/ i,

мы получим очень неэффективный алгоритм, требующий выполнения большого числа операций. Гораздо лучше организовать вычисления следующим образом: если обозначить числитель какого-либо слагаемого буквой р, то у следующего слагаемого числитель будет равен –р*х (знак минус обеспечивает чередование знаков слагаемых), а само слагаемое m будет равно p/i, где i — номер слагаемого.

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

Алгоритм, в состав которого входит итерационный цикл, называется итерационным алгоритмом. Итерационные алгоритмы используются при реализации итерационных численных методов.

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

 

2. Алгоритмы сортировки и поиска данных

Задание № 3. Алгоритм определения максимального элемента вектора



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: