Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
6 / 6 / 3
Регистрация: 15.10.2011
Сообщений: 73

Требуется совместить написанную мною функцию с "игрушечной" функцией, данной преподавателем

15.10.2011, 20:06. Показов 769. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа с "игрушечной" (так назвал её преподаватель) функцией, выводящая таблицу аргументов и значений ряда из на отрезке [a,b] (концы отрезка a и b вводит пользователь), раздробленном на n частей (количество частей вводит пользователь) с погрешностью eps (её тоже вводит пользователь). Код:
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
#include <stdio.h>
float func(float x, float eps)
{
    return(x+eps);
}
 
void tabul(float a, float b, int n, float eps)
{
    float x, h;
    printf ("\n      x        y \n");
    x=a;
    float y;
    h=(b-a)/2;
    for (int i=0; i<=n; i++)
    {
        y=func(x, eps);
        printf ("\n %f %f \n", x, y);
        x=x+h;
    }
 
}
void main()
{
int a, b, n, x, h;
float eps;
printf ("Vvedite menshiy iz koncov otrezka a=");
scanf ("%d", &a);
printf ("Vvedite bolshiy iz koncov otrezka b=");
scanf ("%d", &b);
printf ("Vvedite kolichestvo elementov n=");
scanf ("%d", &n);
printf ("Vvedite pogreshnost vichisleniy eps=");
scanf ("%f", &eps);
tabul(a,b,n,eps);
}
Есть программа, написанная мною, которая считает значение параметрической функции y=(((-1)^i)*x^3)/(i+5)! ("^" - "в степени", "!" - факториал), где параметр i задания функции задаёт пользователь и аргумент функции x тоже задаёт пользователь. Код этой программы тоже прикреплён ниже. Примечание: i я использую для задания цикла for, потому вместо i, которое в формуле я использую n, проще говоря, i в формуле заменено на n.
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
#include <stdio.h>
#include <locale.h>
float func1(float x, int n)
{
     float a=(-(x*x*x)/720);
     for (int i=1; i<n; i++)
     {
          a=a*(-1)/(i+6);
     }
     return a;
}
 
void main()
{
     float x, a=0;
     int n;
     setlocale(LC_ALL, "russian");
     printf ("Введите аргумент функции x=");
     scanf ("%fl", &x);
     printf ("\nВведите параметр задания функции n=");
     scanf ("%d", &n);
     float F = func1(x,n);
     printf ("%f", F);
}
Задача сводится к тому, чтобы доделать программу с "игрушечной" функцией, данную преподавателем до программы, которая будет выводить таблицу в заданном пользователем количестве аргументов и значений ряда, в заданном пользователем диапазоне [a,b], с заданной пользователем погрешностью вычислений eps, с заданным пользователем параметром ряда i (в моей программе этот параметр является переменной n) и с заданным пользователем аргументом функции. Если что не понятно объяснил или не понятно в моём коде - пишите, с радостью объясню. Но сразу скажу, что есть много ограничений в плане того, можно использовать что-либо в программе/нельзя. Это ограничение введено преподавателем, ибо мы очень многое ещё не проходили
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2011, 20:06
Ответы с готовыми решениями:

Игрушечный лабиринт
Здравствуйте, я тут пытаюсь сделать эту задачу ...

Переводить числа, написанные словами, в числа, написанные цифрами
using System; using System.Collections.Generic; using System.Text; namespace StringExample {...

Как совместить функциональность EXE и DLL файлов в одном выполняемом.
Мне необходимо в одном выполняемом файле (EXE) совместить два способа загрузки: как DLL и как...

5
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
15.10.2011, 20:33
Добавляете в сою программу функцию tabul от преподавателя. В ней вызов функции func заменяете вызовом своей функции. В main() после ввода всех данных (a,b, числа точек... - можете скопировать эту часть из преподского main-а) вызываете преподавательскую функцию tabul. Собственно, все

P.S., вы уверены. что сумму ряда вам надо посчитать до i-го слагаемого, а не с точностью eps?
0
6 / 6 / 3
Регистрация: 15.10.2011
Сообщений: 73
16.10.2011, 08:28  [ТС]
aeshes
Дословно, задача звучала так:

"Написать функцию f(x)=<сумма ряда для i от 1 до бесконечности> (((-1)^i)*x^3)/(i+5)! и проверить правильность вычислений"

Функцию я вроде написал, теперь нужно вроде как проверить правильность вычислений (хотя я трассировал отладчиком на разных значениях, сравнивал со значениями, подсчитанными в виндовом калькуляторе - значения одинаковы). Ваш вопрос не совсем понял, возможно, в вышесказанном есть ответ на него

Добавлено через 35 минут
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
#include <stdio.h>
#include <locale.h>
float func1(float arg, int n)
{
    float znachfunc=(-(arg*arg*arg)/720);
    for (int i=1; i<n; i++)
    {
        znachfunc=znachfunc*(-1)/(i+6);
    }
    return znachfunc;
}
 
void tabul(float a, float b, int v, float eps)
{
    float x, h;
    printf ("\n      x        y \n");
    x=a;
    float y;
    h=(b-a)/2;
    for (int i=0; i<=v; i++)
    {
        y=func1(x, eps);
        printf ("\n %f %f \n", x, y);
        x=x+h;
    }
 
}
void main()
{
    float arg, znachfunc=0, eps;
    int a, b, n, x, h, v;
    setlocale(LC_ALL, "russian");
    printf ("Введите аргумент функции arg=");
    scanf ("%fl", &arg);
    printf ("\nВведите параметр задания функции n=");
    scanf ("%d", &n);
    printf ("Введите меньший из концов отрезка a=");
    scanf ("%d", &a);
    printf ("Введите больший из концов отрезка b=");
    scanf ("%d", &b);
    printf ("Введите количество пар аргумент-значение таблицы вывода аргументов и значений v=");
    scanf ("%d", &v);
    printf ("Введите погрешность вычислений eps=");
    scanf ("%f", &eps);
    float F = func1(arg,n);
    tabul(a,b,n,eps);
}
Если я правильно вас понял, код должен выглядеть так? Примечания: количество строк таблицы заменёно на v, в моей части программы аргумент функции a заменён на arg, значение функции y в точке arg заменено на znachfunc

P.S. Программа работает. Но такое ощущение, что параметров могло быть меньше... Это так?
0
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
16.10.2011, 15:17
Glam_Man, если вам нужно по условию задачи считать сумму безконечного ряда, то вы делаете это немного не правильно. Сумма такого ряда вычисляется в зависимости от заданной пользователем точности eps, а не по количеству слагаемых (ограничение на количество слагаемых может накладываться, если нет уверенности в сходимости ряда). Если ваш ряд имеет такой вид https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=1}^{\propto } \frac{{(-1)}^{i}{x}^{3}}{(i+5)!}, то программа может выглядеть так:
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
#include <stdio.h>
#include <locale.h>
#include<math.h>
float func1(float x, float eps)
{
        float S=0, ai=(float)-1/720.0;
        for (int i=1; fabs(ai)>eps &&i<=500; i++)
        {
            S=S+ai;
            ai=-ai/(i+6);
        }
        return S*x*x*x;
}
 
void tabul(float a, float b, int n, float eps)
{
        float x, h;
        printf ("\n      x        y \n");
        x=a;
        float y;
        h=(b-a)/n;
        for (int i=0; i<=n; i++)
        {
                y=func1(x, eps);
                printf ("\n %f %f \n", x, y);
                x=x+h;
        }
 
}
void main()
{
        float a, b, eps;
        int n;
        setlocale(LC_ALL, "russian");
        printf ("Введите меньший из концов отрезка a=");
        scanf ("%f", &a);
        printf ("Введите больший из концов отрезка b=");
        scanf ("%f", &b);
        printf ("Введите количество точек на отрезке n=");
        scanf ("%d", &n);
        printf ("Введите погрешность вычислений eps=");
        scanf ("%f", &eps);
        tabul(a,b,n,eps);
 
}
1
6 / 6 / 3
Регистрация: 15.10.2011
Сообщений: 73
16.10.2011, 17:27  [ТС]
fabs это функция из библиотеки <math.h>? abs, насколько мне известно, вычисляет модуль. А fabs какие вычисления производит?
0
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
16.10.2011, 17:32
fabs вычисляет модуль для вещественных чисел, а abs - для целых
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.10.2011, 17:32
Помогаю со студенческими работами здесь

Структуры и функции, перечислить все кафедры, на которых работают более двух женщин-преподавателей
Вот такое вот интересное задание, а я не могу использовать указатель внутри второй структуры,...

Тема Функции, преподаватель вообще ничего не объясняет
Помогите решить, не могу понять куда вписывать это, если можно то напишите весь код, заранее спасибо

Требуется проверка написанных комментариев к программе
Здравствуйте, проверьте и добавьте пожалуйста недостающие комментарии к действиям программы,...

Структуры. Написать программу для занесения в массив N -таких сведений. Найти количество лабораторных,проведенных данным преподавателем
Помогите пожалуйста написать задачу. Сведения о проведении одного занятия состоят из вида...

Структура "Учебные предметы". Вывести те, которые ведет данный преподаватель
Структуры в C++ Написать программу, которая записывает данные в массив структур и производит...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru