С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 2
1

Проверить и при надобности допилить (или переделать) код

19.06.2018, 13:26. Показов 683. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Составить программу вычисления:
 значение функциональной суммы накопленным итогом для числа членов от 1 до слагаемых;
 значение суммы с необходимой точностью. Определить также количество элементов (членов), при этом добавляются;
 значение функции по ее формуле.
2.Указания для составления программы и ее решение.
 Расчет функционального ряда оформить в виде отдельной функции.
 Схема алгоритма и программу составить с защитой от введения неправильных данных, то есть таких, которые выходят за допустимые значения.
 Выполнить тестирование и отладку программы, обеспечив проверку всех ее ветвей.
 Расчет выполнить для 3-х значений аргумента: двух предельных и одного промежуточного.
 Результаты решения вывести в виде таблицы (для каждого значения аргумента), указав количество членов суммы, значение суммы и ее отклонения от значения функции.
 Построить таблицу зависимости значения суммы от числа слагаемых.

Само задание:

Функциональный ряд: https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=0}^{n,\infty }\frac{{ln}^{i}3}{i!}*{x}^{i}

Диапазон изменения аргумента: [0.1;1]

n = 10

Точная функция: y=https://www.cyberforum.ru/cgi-bin/latex.cgi?{3}^{x}

А это мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <math.h>
 
using namespace std;
 
const float EPS = pow(10, -3.0);
 
 
float f(float x) // функция, вычисляющая сумму членов ряда
{
    int t;
    t = pow(3, x);
 
    int k = 0; // номер члена ряда
    int k_fac = 1; // k!
    float a = (pow(log(3), k)*pow(x, k)) / k_fac; // вычисляем 0-ой член ряда
    float s = a;
    while (fabs(a) >= EPS) // пока k-й член ряда (a) больше, чем заданная точность (EPS) 
    {
        k++;// переходим к следующему члену ряда
        k_fac *= k;// вычисляем k! для нового k
        a = (pow(log(3), k)*pow(x, k)) / k_fac;// вычисляем k-ый член ряда
        s = s + a;// прибавляем k-ый член ряда к сумме ряда
        float eps = t - s;
        cout << "n: " << k << "\t\tAn=  " << a << "\t\tСумма: " << s << "\t\tТочная   " << t << "\t\teps " << eps << endl;;
    }
    return k;// возвращаем результат - сумму ряда
}
 
 
// Ввод и вывод
int main()
{
    setlocale(LC_ALL, "rus");
    int w;
    do
    {
        cout << "Нажмите 1, чтобы начать | иное, чтобы выйти: "; cin >> w;
        if (w == 1)
        {
            float x;
            cout << "x = ";
            cin >> x;
            cout << f(x) << endl;
        }
        else
            system("pause");
    } while (w == 1);
}
Непонятка заключается в том, что я вроде бы написал код, вроде что-то и выводит), но есть какие-то сомнения в правильности написанного. Например при компиляции второй столбец имеет сомнительные значения. А так же, я не все условия реализовал (например защиту от неподходящих чисел). По методичке советовали делать через рекурентую формулу, однако я не сильно понял этот принцип и сделал так, как сделал. Прошу проверить и при надобности допилить мой код.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2018, 13:26
Ответы с готовыми решениями:

Не могу доделать код или переделать
В одномерный массив A размерности N при помощи датчика случайных чисел вводятся целые числа в...

Переделать код из R2010B d R2017 или R2014
%==========ОБНАРУЖЕНИЕ ЛИЦ НА ОСНОВЕ ЦВЕТА======= clear; clc, close all; %Считывание исходного...

Переделать код так, чтобы присутствовала функция или процедура
Здравствуйте, помогите пожалуйста переделать код так, чтобы присутствовала функция или процедура...

Допилить код, вставляющий значения с первой пустой ячейки
Всем доброго времени суток! Ниид хэлп! есть код (тут представлен фрагмент отражающий всю суть...

2
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
19.06.2018, 16:45 2
Почему возвращается k?
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 2
19.06.2018, 17:26  [ТС] 3
Что бы вывело итоговое кол-во итераций

Добавлено через 1 минуту
Там комент не правильно написан
0
19.06.2018, 17:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2018, 17:26
Помогаю со студенческими работами здесь

Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных (Написано на Паскале, переделать под C++)
Всем доброго вечера. Собственно само задание в заголовке. Написана программа в Паскале, вот как...

Нужно допилить или перепилить(форма- ввод, расчет и вывод результата)
Нужно чтобы результат расчетов выводился автоматически.p/s/ голова бо бо, а мозга запустить на...

Как проверить что поступает в проверку if код возврата или вывод программы
Доброго времени суток форумчане ! Хотел пройти курс в степике , уже второй день не могу решить........

Подскажите пожалуйста!Правильно ли написан код квадратного уравнения работая с консолью или можно его переделать произвести модернизацию кода! Мож
// нахождение корней уравнения через дискриминант class D { public static void main (String...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru