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

Ряды степеней - C++

Войти
Регистрация
Восстановить пароль
 
Natalia.N.
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 4
09.06.2009, 04:46     Ряды степеней #1
Может быть умные дяди программисты помогли бы бедной неумелой девушке с заданием? Потому что та, даже не понимает, с чего нужно его начинать. Хотя бы объясните в чём цель задания состоит... Да - буду очень благодарна, нет, ну так на нет и суда нет, как говорится. Только хотя бы сразу не бейте сильно за такую наглость. =)

С использованием ПК вычислить с точностью е=10-5 значение функции с помощью ряда степени в 21 точке, что наиболее полно охватывают область определения данной функции. Найти абсолютную и относительную погрешности вычислений (по отношению к значениям вычисленным с помощью стандартных функции, которые используются в языках программирования) в этих точках. Распечатать точные и приближенные значения функции, абсолютной и относительной погрешностей, в точках вычислений.

[IMG]http://s39.***********/i083/0906/e9/27cd0d445f09.gif[/IMG]
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Humanitis
 Аватар для Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
09.06.2009, 10:22     Ряды степеней #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
double k=1;
double sum=0;
const double n=1.66;
const double E=1e-5;
const double x=0.9;
double next=1;
while(fabs(next)>=E)
{
   sum+=next;
   next*=-1*(n-k)*x/k;
  ++k;
}
Шерсть-На-Носу
 Аватар для Шерсть-На-Носу
40 / 40 / 1
Регистрация: 30.01.2009
Сообщений: 168
09.06.2009, 11:43     Ряды степеней #3
Код
 
#include <fstream.h>
#include <math.h>
double CalculateValue(double x, double n=0.66, double epsilon=1.0e-5)
{
 // Здесь будет результат вычислений
 double result=1;
 // Здесь будет величина очередного члена ряда
 double step=1;
 // Здесь будет номер очередного члена ряда
 int k=1;
 while (true)
 {
  step=-1*step*(n-k+1)*x/k;
  if (fabs(step) < epsilon) break;
  result+=step;
  k++;
 }
 return result;
}
int main()
{
 cout << "x\t\t~value\t\t=value\t\tabs\t\totnos(%)" << endl << endl;
 double x=-1.0;
 for (int i=0; i<21; i++)
 {
  // Аргумент
  printf("%+0.7f\t", x);
  // Приближенное значение
  double value=CalculateValue(x);
  printf("%+0.7f\t", value);
  // Точное значение
  double AbsValue=pow((1-x), 0.66);
  printf("%+0.7f\t", AbsValue);
  // Абсолютная погрешность
  printf("%+0.7f\t", value-AbsValue);
  // Относительная погрешность (в процентах)
  printf("%+0.7f\n", 100*(AbsValue-value)/AbsValue);
  x+=0.1;
 }
 cout << endl;
 return 0;
}
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
09.06.2009, 12:25     Ряды степеней #4

Не по теме:


у меня есть знакомый, так он мне рассказывал, когда ему надо было лабы сдавать, он регился на форумах как деввачГа и и примерно в таком стиле просил сделать... "помогите девушке... всем чмоки.. ля-ля-ля"..
и ведь срабатывало, что интересно. находились простофили, которые решали ему задачки :lol:
сие описано не применительно к этому случаю, но просто стиль написания напомнил того чела ((((:


Колян, ты чё, опять чтоли лабы не сдал? ROFL
Search..
09.06.2009, 14:33
  #5

Не по теме:

Rififi: Может это снова он ? ыыы

Melodie
 Аватар для Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
09.06.2009, 14:39     Ряды степеней #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я считаю что если кто то обращается за помощью, то задача профи подсказать, направить, помочь разобраться , а не выкладывать готовый код. Ведь зачем тогда учиться програмированию . Я сама начала изучать только несколько месяцев назад,
но препочитаю не "списывать" кем то написанный код, а написать хоть плохенький но свой, а уже потом спрашивать совета , только так по моему можно чему то научитья. А если за тебя буду другие работу делать, то.......
Natalia.N.
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 4
09.06.2009, 19:08  [ТС]     Ряды степеней #7
Цитата Сообщение от Humanitis Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
double k=1;
double sum=0;
const double n=1.66;
const double E=1e-5;
const double x=0.9;
double next=1;
while(fabs(next)>=E)
{
   sum+=next;
   next*=-1*(n-k)*x/k;
  ++k;
}
Здесь программка ничего не выводит...

Цитата Сообщение от Шерсть-На-Носу Посмотреть сообщение
Код
 
#include <fstream.h>
#include <math.h>
double CalculateValue(double x, double n=0.66, double epsilon=1.0e-5)
{
 // Здесь будет результат вычислений
 double result=1;
 // Здесь будет величина очередного члена ряда
 double step=1;
 // Здесь будет номер очередного члена ряда
 int k=1;
 while (true)
 {
  step=-1*step*(n-k+1)*x/k;
  if (fabs(step) < epsilon) break;
  result+=step;
  k++;
 }
 return result;
}
int main()
{
 cout << "x\t\t~value\t\t=value\t\tabs\t\totnos(%)" << endl << endl;
 double x=-1.0;
 for (int i=0; i<21; i++)
 {
  // Аргумент
  printf("%+0.7f\t", x);
  // Приближенное значение
  double value=CalculateValue(x);
  printf("%+0.7f\t", value);
  // Точное значение
  double AbsValue=pow((1-x), 0.66);
  printf("%+0.7f\t", AbsValue);
  // Абсолютная погрешность
  printf("%+0.7f\t", value-AbsValue);
  // Относительная погрешность (в процентах)
  printf("%+0.7f\n", 100*(AbsValue-value)/AbsValue);
  x+=0.1;
 }
 cout << endl;
 return 0;
}
Ой спасибки, только почему-то в программке происходит ошибка на строчке while (true) и она не запускается, почему так?

Цитата Сообщение от Rififi Посмотреть сообщение

Не по теме:


у меня есть знакомый, так он мне рассказывал, когда ему надо было лабы сдавать, он регился на форумах как деввачГа и и примерно в таком стиле просил сделать... "помогите девушке... всем чмоки.. ля-ля-ля"..
и ведь срабатывало, что интересно. находились простофили, которые решали ему задачки :lol:
сие описано не применительно к этому случаю, но просто стиль написания напомнил того чела ((((:


Колян, ты чё, опять чтоли лабы не сдал? ROFL
Цитата Сообщение от Search.. Посмотреть сообщение

Не по теме:

Rififi: Может это снова он ? ыыы

Нет ну я в самом деле девушка, фото показать? =))))

Цитата Сообщение от nynicue Посмотреть сообщение
Я считаю что если кто то обращается за помощью, то задача профи подсказать, направить, помочь разобраться , а не выкладывать готовый код. Ведь зачем тогда учиться програмированию . Я сама начала изучать только несколько месяцев назад,
но препочитаю не "списывать" кем то написанный код, а написать хоть плохенький но свой, а уже потом спрашивать совета , только так по моему можно чему то научитья. А если за тебя буду другие работу делать, то.......
Да мне это и так не нужно, программирование нам только на пол года повесили.
Search..
Заказ софта
 Аватар для Search..
339 / 184 / 10
Регистрация: 26.05.2009
Сообщений: 863
09.06.2009, 19:12     Ряды степеней #8

Не по теме:

Rififi: Он еще и фотку липовую хочет кинуть... ыыыыы



Добавлено через 2 минуты 37 секунд

Не по теме:

Аха-ха....
У Rififi в сообщениях водные знаки ("Колян, ты что, опять лабы не сделал ?").
ыыыыыыыы

Melodie
 Аватар для Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
09.06.2009, 20:01     Ряды степеней #9
Цитата Сообщение от Natalia.N. Посмотреть сообщение
Да мне это и так не нужно, программирование нам только на пол года повесили.
Ну если так, то ладно. Даже сожалею :'(
Шерсть-На-Носу
 Аватар для Шерсть-На-Носу
40 / 40 / 1
Регистрация: 30.01.2009
Сообщений: 168
09.06.2009, 20:48     Ряды степеней #10
происходит ошибка на строчке while (true) и она не запускается
Напиши while(1).

Всем остальным - ищите клип Сергея Маврина "Вольная птица".
Natalia.N.
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 4
10.06.2009, 00:56  [ТС]     Ряды степеней #11
Цитата Сообщение от Шерсть-На-Носу Посмотреть сообщение
Напиши while(1).

Всем остальным - ищите клип Сергея Маврина "Вольная птица".
А теперь вот такую каку пишет.
23: Function 'printf' should have a prototype

Цитата Сообщение от nynicue Посмотреть сообщение
Ну если так, то ладно. Даже сожалею :'(
Вот зачем бухгалтеру программирование надо? :'(
Delphin_KKC
UNIX-way
 Аватар для Delphin_KKC
710 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
10.06.2009, 01:15     Ряды степеней #12
Цитата Сообщение от Natalia.N. Посмотреть сообщение
А теперь вот такую каку пишет.
23: Function 'printf' should have a prototype...
Допиши вот это:
#include <stdio.h>
в самое начало проги
Цитата Сообщение от Natalia.N. Посмотреть сообщение
Вот зачем бухгалтеру программирование надо? :'(
Чтоб понимал что от него хочет сисадмин и умел с оным общаться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2009, 19:23     Ряды степеней
Еще ссылки по теме:

Вывод целых чисел и их степеней C++
C++ Найти сумму степеней элементов последовательности
C++ Напечатать 20 первых степеней числа 2
сложить два полинома заданных степеней C++
C++ Заполнить массив значениями степеней двойки

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

Или воспользуйтесь поиском по форуму:
Natalia.N.
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 4
12.06.2009, 19:23  [ТС]     Ряды степеней #13
Ой,заработало! Что-то выводит!
Пасибочки всем, кто помог!

Добавлено через 36 минут 3 секунды
Токо у мну ещё последний вопросик, моно?
Почему последний номер такой странный?
Ну там в процентах показывает - 14556152902.5804062?
Эт же явно слишком много.
[img]http://s41.***********/i091/0906/1d/5567242d7bf6.gif[/img]
Yandex
Объявления
12.06.2009, 19:23     Ряды степеней
Ответ Создать тему
Опции темы

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