Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SpartanecLexa
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 176
#1

Разработка и отладка циклических алгоритмов и программ - C++

25.09.2013, 09:30. Просмотров 704. Ответов 10
Метки нет (Все метки)

Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения a,b,h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x). Значения S и Y для данного аргумента x должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
0
Миниатюры
Разработка и отладка циклических алгоритмов и программ  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 09:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработка и отладка циклических алгоритмов и программ (C++):

Разработка и отладка циклических алгоритмов и программ - C++
Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде...

Разработка и отладка алгоритмов и программ - C++
Есть задание лабы: Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле- мента задается как...

Разработка и отладка алгоритмов и программ с использованием указателей. - C++
Две обьёмные задачи , прошу помощи товарисчи , кому несложно решите за меня плз ..заранее примного благодарен . 1.В одномерном...

Разработка и отладка алгоритмов и программ с использованием указателей - C++
Задача 1. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) максимальный по модулю элемент массива; 2) сумму...

Разработка и отладка алгоритмов и программ с использованием указателей - C++
Помогите пожалуйста... Программа должна содержать систему меню (пункты 1,2 – вызывают выполнение соответствующих заданий, 3 –...

Разработка и отладка алгоритмов и программ с применением пользовательских функций - C++
Добрый день, помогите решить задачку Написать процедуру перевода числа из десятичной системы счисления в (12%9+1)-ю систему.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
25.09.2013, 10:04 #2
и что с этим не так?
0
SpartanecLexa
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 176
25.09.2013, 10:20  [ТС] #3
Цитата Сообщение от HedgehogLu Посмотреть сообщение
и что с этим не так?
помогите решить, в С++ не знаю как решать
0
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
25.09.2013, 10:34 #4
ну тут все достаточно просто. все необходимое указано в задании.
Сначала напишем пару функций которые бы вычисляли значения Y и S соответственно первой функции параметром передается x а второй x и n.

Потом в основном коде программ вы с клавиатуры запрашиваете значения a, b, h, n
делаете цикл для переменной х от a до b с шагом h. И для каждого значения х вызываете соответввующие функции. и получив результаты выводите слегка отформатировав их на экран. таким образом по окончанию цикла у вас и получится табличка.

Кстати в функции S так же будет использован цикл
1
SpartanecLexa
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 176
25.09.2013, 10:49  [ТС] #5
само решение можете написать?
0
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
25.09.2013, 11:09 #6
теоретически да, но к сожалению только через пару часов, т.к. на работе работой отвлекли
0
es_
203 / 203 / 46
Регистрация: 14.01.2013
Сообщений: 455
25.09.2013, 11:28 #7
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
50
51
52
53
54
55
56
57
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
 
using namespace std;
int fackt(int k)
{
    int f=1;
    for(int i=1;i<=k;i++)
    {
        f*=i;
    }
    return f;
}
double Sx(double x,int n)
{
    double sum=0;
    for(int k=0;k<=n;k++)
    {
        sum+=(pow(-1.0,k))*((2*k*k+1)/fackt(2*k))*(pow(x,2*k));
    }
    return sum;
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int i,n,ity=0;
    double a,b,h,x;
    cout<<"Введите значение а(с какого значения начинает изменяться х):\n";
    cin>>a;
    cout<<"Введите значение b(до какого значения будет изменяться х):\n";
    cin>>b;
    cout<<"Введите значение h(с каким шагом будет изменяться х):\n";
    cin>>h;
    cout<<"Введите значение n(нужное для вычесления функций):\n";
    cin>>n;
    ity=(b-a)/h;
    double* Y=new double[ity];
    double* S=new double[ity];
    x=a;
    for(i=0;i<=ity;i++)
    {
        Y[i]=(1-x*x/2)*cos(x)-(x/2*sin(x));
        S[i]=Sx(x,n);
        x+=h;
    }
    x=a;
    for(i=0;i<=ity;i++)
    {
        cout<<"x: "<<x<<" Y(x)= "<<Y[i]<<" S(x)= "<<S[i]<<" S(x)+ |Y(x)-S(x)|= "<<S[i]+abs(Y[i]-S[i])<<"\n";
        x+=h;
    }
    system("PAUSE > void");
    return 0;
}
Вроде правильно работает, проанализируй(можно ручками пару значений проверить).
И ещё мне не понятно, почему?
Так как значение S(x) является рядом разложения функции Y(x). Значения S и Y для данного аргумента x должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки
1
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
25.09.2013, 11:37 #8
временно вернулся.
Так как значение S(x) является рядом разложения функции Y(x). Значения S и Y для данного аргумента x должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки
Это же из вышки. По определению S(x) является до определенного значения точным представлением функции y(x) и соотвественно для различных значений n имеет различную точность совпадения. В данном случае в условии задачи сказано, что S(x) должно до 2 или 4 знака после запятой совпадать с значением Y(x). Если это не так надо попробывать увеличить n

Доказывать лень т.к. долго это и вышку уже так не помню, но в задаче сказано, что S(X) это та-же Y(x) только представленная в виде суммы бесконечного ряда, что позволяет вычислять значения функции с определенной точностью без задействования сложных функций.
1
es_
203 / 203 / 46
Регистрация: 14.01.2013
Сообщений: 455
25.09.2013, 11:43 #9
Цитата Сообщение от HedgehogLu Посмотреть сообщение
Доказывать лень т.к. долго это и вышку уже так не помню, но в задаче сказано, что S(X) это та-же Y(x) только представленная в виде суммы бесконечного ряда, что позволяет вычислять значения функции с определенной точностью без задействования сложных функций.
Вот и мне лень, но у меня что-то не совпадает... Ладно пускай ТС разбирается и так за него многое сделали.
1
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
25.09.2013, 12:00 #10
да и смысл тут разбираться. как было в постановке задачи так и делать если в постановке и реализации ошибок нет то начиная с определенного значения п должно сходится а если нет и реализация верна, то значит ошибка в постановке, а это не является проблемой прогера Как говорится что хотели - то и получили

а реализация функции и суммы ряда верна

кстати в программе есть небольшой недочет
Ладно пускай ТС разбирается и так за него многое сделали.
1
es_
203 / 203 / 46
Регистрация: 14.01.2013
Сообщений: 455
25.09.2013, 12:05 #11
Ну тогда ок
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 12:05
Привет! Вот еще темы с ответами:

Разработка и отладка алгоритмов и программ по созданию и обработке файлов - C++
помоги решить программку пожалуйста(на С):-[ Дан файл, содержащий целые числа. Вычислить сумму всех чисел, расположенных между...

Разработка и отладка алгоритмов и программ по обработке строк символов - C++
Ввести строку символов, если ее длина &gt;6, выделить подстроку в { } скобках. Добавлено через 47 минут помогите с решением ...

Разработка и отладка алгоритмов и программ с применением пользовательских функций - C++
подскажите пожалуйста как реализовать задачи(код программы на языке С):scratch: 1)Описать функцию вещественного типа(параметры – x, ε),...

Разработка и отладка алгоритмов и программ с использованием структур данных. - C++
народ , помогите переделать задачу под это условие , плиз оч нужно , приведённый мною код это аналогичная задача но под другое условие ))) ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.09.2013, 12:05
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru