Задача 1.7

1. Условие задачи

Даны действительные числа a, b. Последовательность x1, x2, ..., xn-1, xn образована по закону xn=a+b*cos(0,5*n). Найти первый член последовательности, удовлетворяющий условию |xn-xn-1|< e.

2. Решение

Оператор программы задает параметры a и b и значение e. В цикле вычисляются значения членов последовательности и находится первый член, удовлетворяющий заданному условию. На экран выводится номер и значение обнаруженного члена последовательности.

3. Алгоритм решения

4. Текст программы

 
 1:  #include <stdio.h>
 2:  #include <math.h>
 3:  void main()
 4:  { 
 5:    float x, e, a, xp, b;
 6:    int i;
 7:    printf ("Введите a, b, e \n");
 8:    scanf ("%f%f%f", &a, &b, &e);
 9:    x = a + b*cos(0.5);
10:    i = 1; 
11:    do
12:    { 
13:      xp = x;
14:      i = i + 1;
15:      x = a + b*cos(0.5*i);
16:    }while ( fabs( x - xp ) >e );
17:    printf("Этому условию удовлетворяет %d член последовательности, равный %.3f .\n", i, x);
18:    getchar();
19:  }

5. Работа программы

Введите a, b, e:
0
1
0.1
Этому условию удовлетворяет 7 член последовательности, равный -0,936 .

6. Проверка

Проверка показывает, что программа работает корректно:
x1 = cos0,5 = 0,877;
x2 = cos1 = 0,54 |x2-x1| = 0,337 > e;
x3 = cos1,5 = 0,07 |x3-x2| = 0,47 > e;
x4 = cos2 = -0,416 |x4-x3| = 0,486 > e;
x5 = cos2,5 = -0,801 |x5-x4| = 0,385 > e;
x6 = cos3 = -0,989 |x6-x5| = 0,188 > e;
x7 = cos3,5 = -0,936 |x7-x6| = 0,053 < e.

Хостинг от uCoz