Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 21:28   #1
Андрей979
 
Регистрация: 21.10.2011
Сообщений: 4
По умолчанию Объясните задачу на сумму последовательности по Си

Вот есть программа, на задачу написанную в комментарии. Пожалуйста объясните (не стисняйтесь, объясняйте как для полного чайника):

float Func(float x, float eps) - почему переменная задается двумя переменными?
void tabul(float a, float b, int n, float eps) - что это значит, "по-русски" можно?
y=Func(x,eps) - и вот эту строчечку переведите.
Код:
/* Найти сумму всех членов ряда (((-1)^i)*x^i)/(i+1)! в точках a, a+h,..., b, 
где h=(b-a)/2 и вывести таблицу. Использовать погрешность вычисление eps. Пока |a[i]|>eps -суммировать.*/
#include <stdio.h>
#include <locale.h>
#include <math.h>
float Func(float x, float eps) //подсчет значения у
{
 float sum, a; int i=1;
 sum=-x/2; a=-x/2; //присвоение значения первого слагаемого
 while(abs(a)>eps)
 {
 a=-a*x/(i+2); //вычисление следующего слагаемого на основе предыдущего
 sum=sum+a; //суммирование слагаемых
 i++;

 }
 return sum;
}
void tabul(float a, float b, int n, float eps) //табулирование
{
 float x, y, h;
 printf(" x y\n"); //вывод заголовка таблицы
 x=a;
 h=(b-a)/n; // вычисление длины шага
 for(int i=0;i<=n;i++)
 {
 y=Func(x,eps); //вызов функции Func
 printf("x= %f y= %f \n", x,y); //формирование значений таблицы
 x=x+h; //вычисление х
 }
}
int main()
{
 setlocale (LC_ALL, "russian");
 float a; float b; int n; float eps;
 printf("Введите начало отрезка=");
 scanf("%f", &a);
 printf("Введите конец отрезка=");
 scanf("%f", &b);
 printf("Введите количество шагов=");
 scanf("%d", &n);
 printf("Введите погрешность=");
 scanf("%f", &eps);
 tabul(a,b,n,eps);
}
Андрей979 вне форума Ответить с цитированием
Старый 24.11.2011, 16:13   #2
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Код:
float Func(float x, float eps)
- это функция\процедура\подпрограмма,назв аний много суть одна; с параметрами x и eps.
Функция используется для того, что бы не приходилось по несколько раз считать одно и то же.
Код:
void tabul(float a, float b, int n, float eps)
- опять - таки подпрограмма.
Код:
y=Func(x,eps)
- в переменную у передается значение переменной sum, при помощи оператора return. Sum вычисляется в функциии Func
Код:
return sum;
Если надо - могу ещё более детально объяснить.
До последней точки с запятой в коде...

Последний раз редактировалось Necare; 24.11.2011 в 16:17.
Necare вне форума Ответить с цитированием
Старый 24.11.2011, 18:18   #3
Андрей979
 
Регистрация: 21.10.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Necare Посмотреть сообщение
Если надо - могу ещё более детально объяснить.
Если вам не сложно, то буду благодарен услышать подробнее, я же просил как для чайников буквально)
Андрей979 вне форума Ответить с цитированием
Старый 24.11.2011, 18:56   #4
Андрей979
 
Регистрация: 21.10.2011
Сообщений: 4
По умолчанию

И еще вопрос, как сосчитать сумму ряда в ручною? Необходимо проверить работу программы.
Андрей979 вне форума Ответить с цитированием
Старый 25.11.2011, 08:01   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

вас в школе не учили как складывать числа?

Вы явно не понимаете ни смысла задания, ни предмета... откройте учебник вышки...

Цитата:
float Func(float x, float eps) - почему переменная задается двумя переменными?
не задается, см. выше. Тут два параметра: переменная и точность - один их стопов алгоритма.

Цитата:
void tabul(float a, float b, int n, float eps) - что это значит, "по-русски" можно?
Что порусски? Табулирование от до с кол-во шагов и точностью

Последний раз редактировалось p51x; 25.11.2011 в 08:04.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объясните как решить задачу StoneGod Паскаль, Turbo Pascal, PascalABC.NET 4 27.09.2011 20:58
Pascal в последовательности сумм найти первую сумму, не превосходящую число В mrRastom Помощь студентам 4 10.03.2011 16:03
Определить сумму первых n элементов последовательности denicko Помощь студентам 5 27.10.2010 22:21
Объясните задачу (Delphi) Sianessa Помощь студентам 26 06.04.2009 01:06
Вычиcлить сумму элементов последовательности X1,X2,...Xn. (n=<20), удовлетворяющих неравенству x > p e-l-f Общие вопросы C/C++ 3 28.11.2008 19:11