Мегаобучалка Главная | О нас | Обратная связь


Разветвляющиеся алгоритмы.



2019-11-20 217 Обсуждений (0)
Разветвляющиеся алгоритмы. 0.00 из 5.00 0 оценок




 

Такие алгоритмы позволяют принимать решения в зависимости от

поставленных условий.

Пример:

Заданы координаты 3 точек x1, x2, x3, y1, y2, y3

Требуется организовать

1. Вычисление длин отрезков между точками s12, s13, s23.

2. Определить, какой из отрезков имеет наибольшую длину.

Схема вычислений

1. Вычисление приращений координат

 

u1 = x1 – x2,  u2 = x1 – x3,  u3 = x2 – x3, 

v1 = y1 – y2,   v2 = y1 – y3,   v3 = y2 – y3.

 

2. Вычисление длин отрезков:

 

 

2. Анализ:  

S = s1,    nom = 0

Если s1 > S, то S = s1, nom = 1;

    Если s2 > S, то S = s2, nom = 2;

    Если s3 > S, то S = s3, nom = 3.

 

    3. Вывод значений S, nom

Упражнение

Даны три числа: a1, a2, a3. Требуется найти наибольшее из значений

Sin a1, Sin a2, Sin a3.

 

Циклические алгоритмы без участия массивов чисел.

 

В них вычисления повторяются конечное число раз или вычисления повторяются до достижения сходимости.

 

Пример 1.

Дано y= Sin x, x [ xn, xk], шаг h. Требуется организовать

вычисление и вывод на экран суммарной площади фигуры, заключённой между графиком функции и осью абсцисс.

 

Cхема программы                        Комментарии

      1. Ввод в память ПК xn, xk, h.

       2. k=1; x= xn; S=0     kтекущее значение номера узла

3. y1=Sin(x); y2=Sin(x+h) S=S+(y1+y2)/*h
                                                xтекущее значение абсциссы

                            Тело      Вычисление нарастающей площади:

                                  цикла              к прежнему значению площади

                                                     добавляется площадь трапеции.

 

4. x = x + h         текущее значение абсциссы увеличивается на h

5. k = k + 1 счетчик циклов: текущее значение k

                                                                                 увеличивается на 1

 ≤                                    

                                      

                                      

  Вывод значения S, k

                                      

 


Рис. 4.4.

Схематическое

изображение

Произвольной кривой.

Площадь между осью Х

И графиком функции

y = f ( x ) приблизительно

Равна сумме площадей

Трапеций. Высота

Каждой трапеции

равна h .

 

 

Пример 2:

Нахождение точки пересечения графика функции y= f( x) с осью х.  

Задачу решим на конкретном простом примерею

 

Дана функция у = x2 – 4.  Решение этой задачи очевидно, поэтому она является тестовым примером.

  В качестве исходных данных примем начальную точку х0 =0 , шаг  смещения вдоль оси х примем равным h = 0.8, точность вычислений назначим равной

ех = 0.001.

Основная идея способа состоит в следующем. Вдоль оси х перемещается

пара точек Х1 и Х2, расстояние между которыми равно h.  Для каждой из этих точек вычисляется значения заданной функции. Выполняется проверка:

если знаки этих функций одинаковы, то движение вдоль оси продолжается.

как только эти знаки окажутся разными, то это значит, что график функции между точками Х1 и Х2, пересёк ось Х.  

Тогда величина шага h уменьшается в два раза и вычисления продолжаются. Алгоритм строится так, чтобы при уменьшающемся шаге точка Х1 постепено приближалась к искомой точке пересечения графика заданной функции с осью х. Блок-схема программы решения этой задачи приведена ниже на рисунке 4.5.

 



2019-11-20 217 Обсуждений (0)
Разветвляющиеся алгоритмы. 0.00 из 5.00 0 оценок









Обсуждение в статье: Разветвляющиеся алгоритмы.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (217)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)