Задача 1.2

1. Условие

Для y [-2,5;2,5] вычислить b=1+|y-x|+0,5*(y-x)2. Значение x произвольное. Шаг изменения переменной y равен 0,1.

2. Решение

Оператор вводит значение переменной x. В цикле вычисляется значение функции b(y) и выводится на экран. Аргумент функции y в теле цикла изменяется в диапазоне от -2,5 до 2,5 с шагом 0,1.

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

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

 1:  #include <stdio.h>
 2:  #include <math.h>
 3:  void main()
 4:  {
 5:    float x, y, b;
 6:    y=-2.5;
 7:    printf ("\n введите x \n");
 8:    scanf ("%f", &x);
 9:    do
10:    {
11:      b=1+fabs(y-x)+pow((y-x),2)/2;
12:      printf ("\n y=%.3f, b=%.3f", y,b);
13:      y=y+0.1; 
14:    }
15:    while (y<2.51);
16:  } 

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

Введите x 0.5

 y=-2.500, b=8.500
 y=-2.400, b=8.105  
 y=-2.200, b=7.345  
 y=-2.100, b=6.980  
 y=-2.000, b=6.625  
 y=-1.900, b=6.280  
 y=-1.800, b=5.945  
 y=-1.700, b=5.620  
 y=-1.600, b=5.305  
 y=-1.500, b=5.000  
 y=-1.400, b=4.705  
 y=-1.300, b=4.420  
 y=-1.200, b=4.145  
 y=-1.100, b=3.880  
 y=-1.000, b=3.625  
 y=-0.900, b=3.380  
 y=-0.800, b=3.145  
 y=-0.700, b=2.920  
 y=-0.600, b=2.705  
 y=-0.500, b=2.500  
 y=-0.400, b=2.305  
 y=-0.300, b=2.120  
 y=-0.200, b=1.945  
 y=-0.100, b=1.780  
 y=-0.000, b=1.625  
 y=0.100, b=1.480   
 y=0.200, b=1.345   
 y=0.300, b=1.220   
 y=0.400, b=1.105   
 y=0.500, b=1.000   
 y=0.600, b=1.105   
 y=0.700, b=1.220   
 y=0.800, b=1.345   
 y=0.900, b=1.480   
 y=1.000, b=1.625   
 y=1.100, b=1.780   
 y=1.200, b=1.945   
 y=1.300, b=2.120   
 y=1.400, b=2.305   
 y=1.500, b=2.500   
 y=1.600, b=2.705   
 y=1.700, b=2.920   
 y=1.800, b=3.145   
 y=1.900, b=3.380   
 y=2.000, b=3.625   
 y=2.100, b=3.880   
 y=2.200, b=4.145   
 y=2.300, b=4.420   
 y=2.400, b=4.705   
 y=2.500, b=5.000
 

6. Проверка

Проверим одно значение из таблицы. При x=0,5 и y=-2,5 значение
b=1+|-2,5-0,5|+0.5(-2,5-0,5)2
или
b = 8,5
Программа работает верно.

Хостинг от uCoz