C. Задание по программированию 1 курс. Циклы for, do_while, while - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Прошу помощи в решении вычисления тригонометрической функции. Задание конкретно звучит так:

Рассчитать значение тригонометрической функции через степенной ряд. Определить параметры цикла, при которых погрешность вычисления будет меньше 0,0001.

Очень прошу, чтобы при написании программы использовались знания в районе 1 курса и после каждой нужной строчки кода были написаны комментарии, чтобы я потом понимала, что происходит. Заранее благодарю!

Решение задачи: «C. Задание по программированию 1 курс. Циклы for, do_while, while»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <windows.h>
#define pi 3.14159265358979323846264
int main()
{
    SetConsoleCP( 1251 ); // русская локализация для ввода
    SetConsoleOutputCP( 1251 ); // русская локализация для вывода
    double eps = 1e-4; // погрешность 10^(-4)
    double mult = 1.0, ch = mult; // произведение и очередной член ряда
 
    double x, x_1;
    scanf( "%lf", &x ); // вводите аргумент в градусах( 30 45 60 и т.д)
    x_1 = x*pi/180; // перевод в радианы x и присваивание значения переменной x_1
    for( int i = 0;; i++  ) // бесконечный цикл
    {
        ch = ( 1.0 - (4.0*x_1*x_1)/( pow( 2.0*i + 1.0, 2.0 )*pi*pi ) ); // очередной член ряда
        mult *= ch; // умножение предыдущего произведения на новый член ряда
        if( fabs( ch - 1.0 )  <= eps ) // так как предел общегго члена ряда 1 модуль разности члена ряда и 1 есть ваша погрешность
        {
 
             printf( "Кол - во итераций для достижения такой погрешности: %d\nЗначения cos(%.f) =  %f", i, x, mult  );
             break; // выход из цикла
        }
 
    }
 
    return 0;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы.
  2. Устанавливаем русскую локализацию для ввода и вывода.
  3. Определяем погрешность и инициализируем переменные mult и ch.
  4. Считываем аргумент x в градусах.
  5. Переводим x в радианы и присваиваем значение переменной x_1.
  6. Запускаем бесконечный цикл с переменной i равной 0.
  7. Внутри цикла вычисляем очередной член ряда и обновляем значение переменной ch.
  8. Обновляем значение переменной mult, умножая её на новый член ряда.
  9. Проверяем условие для выхода из цикла, сравнивая модуль разности ch и 1 с погрешностью eps.
  10. Если условие выполняется, выводим количество итераций, значение x и значение mult.
  11. Выходим из цикла с помощью оператора break.
  12. Возвращаем 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы