По заданному вещественному x вычислить значение по итерационной формуле - C (СИ)

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

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

Данная программа по заданному вещественному x вычисляет значение по следующей итерационной формуле:
//инициализация бибдиотек
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<math.h>
int main()
{
    double y[100],x,k; //инициализация пер-х y[40]-массив К-вспомагательная пер-я
    double a=(1/100000); //точность
    int i;
    cout<<"Enter x"<<'\n';
    cin>>x;  //ввод данных
    i=0;y[0]=x;  //начальные знач.
    
    // цикл вычисления элементов массива.Последнее знач. элемента 
    // равно корню
    
    do  
    {
        y[i+1]=(0.333333333)*(2*y[i]+(x)/(y[i]*y[i]));
        k=fabs(y[i+1]-y[i]); //fabs-модуль
        i++;
    }while (k>a);  //проверка
    
    cout<<"koren="<<y[i-1]<<'\n';
    return 0;
}

Решение задачи: «По заданному вещественному x вычислить значение по итерационной формуле»

textual
Листинг программы
//инициализация бибдиотек
#include<stdio.h>
//#include<iostream.h>
#include<conio.h>
#include<math.h>
int main()
{
    double y[100],x,k; //инициализация пер-х y[40]-массив К-вспомагательная пер-я
        double a=(1/100000); //точность
        int i;
        printf("Enter x");//cout<<"Enter x"<<'\n';
        scanf("%f", &x);//cin>>x;  //ввод данных
        i=0;y[0]=x;  //начальные знач.
        
        // цикл вычисления элементов массива.Последнее знач. элемента 
        // равно корню
        
        do  
        {
                y[i+1]=(0.333333333)*(2*y[i]+(x)/(y[i]*y[i]));
                k=fabs(y[i+1]-y[i]); //fabs-модуль
                i++;
        }while (k>a);  //проверка
    
        printf("koren=%f",y[i - 1]);//cout<<"koren="<<y[i-1]<<'\n';
        return 0;
}

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

  1. Пример кода на языке C для вычисления корня квадратного уравнения методом итерации
  2. Используемые библиотеки:
    • stdio.h (для ввода-вывода данных)
    • math.h (для использования математических функций)
  3. Переменные:
    • y[100] (массив для хранения значений функции)
    • x (входное значение, для которого вычисляется корень)
    • k (для хранения разности соседних значений функции)
    • a (точность вычислений)
  4. Выполняемые действия:
    1. Считывание входного значения x с помощью функции scanf() и вывод сообщения о вводе с помощью функции printf()
    2. Инициализация первого элемента массива y[0] значением x, и начальное значение переменной i равным 0
    3. Запуск цикла do-while для вычисления значений элементов массива y[i] и проверки условия выхода из цикла
    4. *Вычисление значения следующего элемента массива y[i+1] по итерационной формуле y[i+1] = 0.333333333(2y[i]+(x)/(y[i]y[i]))**
    5. Вычисление разности соседних значений функции k = fabs(y[i+1]-y[i])
    6. Увеличение значения переменной i на единицу
    7. Проверка условия выхода из цикла do-while, если разность k больше заданной точности a, то цикл продолжается, иначе цикл завершается и выполняется вывод результата с помощью функции printf()
  5. Вывод на экран значения корня квадратного уравнения с помощью функции printf()
  6. Возврат значения 0 функцией main(), что означает успешное завершение программы

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


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

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

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