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