Найти ошибку в коде вычисления последовательности - C (СИ)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <math.h>
- void Factorial(int number);
- main();
- {
- double x,e,an,am;
- int n;
- printf ("vizislenie X1 posledovatelnosti,\n");
- printf ("dla kotorogo vipolneno uslovie\n");
- printf ("vvedite pervii chlen\n");
- scanf("%lf",&x);
- printf ("vvedite toznost\n");
- scanf("%lf",&e);
- printf ("chleni posledovatelnosti\n");
- an=x;n=0;
- do
- {n++;
- am=an;number=(n+1)
- if (number > 1)
- return number*Factorial(number -1);
- return 1;
- an=( 1 + ( pow(-1.0, n)) / number);
- printf ("%lf\n",an);
- } while (fabs(an-am)>=e);
- printf ("vizislenie X1 posledovatelnosti,\n");
- printf ("dla kotorogo vipolneno uslovie:%lf",an);
- getch();
- }
Решение задачи: «Найти ошибку в коде вычисления последовательности»
textual
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <math.h>
- main();
- {
- double x,e,an,am;
- int n;
- printf ("vizislenie X1 posledovatelnosti,\n");
- printf ("dla kotorogo vipolneno uslovie\n");
- printf ("vvedite pervii chlen\n");
- scanf("%lf",&x);
- printf ("vvedite toznost\n");
- scanf("%lf",&e);
- printf ("chleni posledovatelnosti\n");
- an=x;n=0;
- do
- {n++;
- am=an;
- void Factorial(int number);
- number=(n+1);
- { if (number> 1)
- Factorial(number - 1);
- printf("%d", number);
- }
- an=( 1 + ( pow(-1.0, n)) / number);
- printf ("%lf\n",an);
- } while (fabs(an-am)>=e);
- printf ("vizislenie X1 posledovatelnosti,\n");
- printf ("dla kotorogo vipolneno uslovie:%lf",an);
- getch();
- return 0;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется функция main()
- Объявляются переменные: x, e, an, am (double и int)
- Выводится первое предложение с просьбой ввести первый член последовательности
- Пользователь вводит первый член последовательности и сохраняет его в переменной x
- Выводится второе предложение с просьбой ввести точность и сохраняется в переменной e
- Выводится третье предложение с просьбой ввести члены последовательности
- Переменная an инициализируется значением первого члена последовательности, а переменная n инициализируется нулем
- Запускается цикл do, который будет выполняться до тех пор, пока fabs(an-am)>=e
- Внутри цикла an=( 1 + ( pow(-1.0, n)) / number); вычисляется следующий член последовательности
- Выводится значение an
- Если число n больше 1, то вызывается функция Factorial(n-1) для вычисления факториала (n-1)
- Выводится число n
- После выхода из цикла do, выводится сообщение о том, что последовательность вычислена
- Выводится последнее предложение с сообщением, что условие выполнено и вычисленный член последовательности равен an
- Запускается функция getch() для приостановки выполнения программы до тех пор, пока пользователь не нажмет клавишу
- Возвращается 0, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д