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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
MyAdm001
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 24
#1

Вычисление функции с заданным шагом на определённом отрезке - C++

26.11.2010, 15:31. Просмотров 1659. Ответов 3
Метки нет (Все метки)

Всем привет. Помогите кодом программ (желательно с небольшим пояснением в виде комментариев).
Вобщем задания следущие:
1. Вычислить функцию y=x-tg(x) на отрезке [o,pi/2] с шагом h=pi/10. На каждом шаге выводить на экран значения переменных x,y.

2. Найти ср. арифметическое положительных значений функции y=(cos(x/3-tg(x))*e^-x на интервале изменения аргумента от Xn до Xk с шагом h.

Заранее спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2010, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление функции с заданным шагом на определённом отрезке (C++):

Как вывести значение функции на отрезке с заданным шагом? - C++
В задании надо вычислить y=F(x) на отрезке от a до b с заданным шагом. Шаг нужно ввести по мере выполнения. Через массив не получается,...

Напечатать таблицу значений функции на заданном отрезке с заданным шагом - C++
Полностью отсутствуют знания С++. Делаю лабораторную по информатике, столкнулся с проблемой вывода информации, выводится не корректно не...

Вычислить функцию на заданном отрезке с заданным шагом - C++
Как результат представить в виде таблицы в данном задании? Задание: Составить программу для вычисления функции F(x) на отрезке , с...

функции у=2х на отрезке от а до b с шагом c - C++
Составить программу, выводящую значения функции у=2х на отрезке от а до b с шагом c Вводятся значения a, b (целые числа) и c...

Распечатать таблицы значений функций cox (x) и на отрезке [a; b] с шагом h, развив функции в ряд Тейлора и используя указатели на функции - C++
Распечатать таблицы значений функций cox (x) и на отрезке с шагом h, развив функции в ряд Тейлора и используя указатели на функции.

Вычисления значений функции на отрезке [a; b] с шагом h - C++
Составить программу вычисления значений функции F(x) на отрезке с шагом h . Результат представить в виде таблицы, первый столбец которой...

3
Vorox
25 / 24 / 3
Регистрация: 26.11.2010
Сообщений: 57
Завершенные тесты: 1
26.11.2010, 16:21 #2
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 <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
#define PI 3.14159265358979 // определяем константу пи
int main()
{
    double p=PI/2; // создаем переменные р и h
    double h=PI/10; // 
    double y;
    for(double i=0;i<p;i+=h) // создаем цикл, здесь i играет роль х в уравнении, с каждой новой итерацией к переменной 
    {                       // i будет прибавлятся h пока мы не выйдем за пределы отрезка.
                            // В задании есть неточность, а именно tg(PI/2) = бесконечности, поэтому считает программа на 
                            // полуинтервале [0,PI/2).
        y=i-tan(i); // собственно уравнение
        cout<<"x = "<<i<<"  "<<"y = "<<y<<endl; // вывод на экран
    }
    double x1, x2;
    cout<<"Enter Xn and Xk:\n"; 
    cin>>x1>>x2;
    double Sum=0; // переменная для хранения общей суммы положительных значений
    int count=0;
    for(double i=x1;i<=x2;i+=h)
    {
        double tmp=cos(i/3-tan(i))*exp(-i);
        if(tmp>0) // если функция больше 0 то прибавляем результат к сумме
        {
            Sum+=tmp;
            count++; // колличество положительных значений
        }
    }
    cout<<"The average arithmetic sum = "<<Sum/count<<endl; // вывод среднеого арифметического результата
    getch();
    return 0;
}
1
MyAdm001
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 24
26.11.2010, 16:25  [ТС] #3
Собственно говоря. Я посидел и подумал. Получилось что-то вроде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include "math.h"
using namespace std;
  int main ()
    {
        int x,y,h;
        h=3.14/10;
        x=0;
            if (x<=3.14/2)
                y=x-tan(x);
                cout<<"x: "<<x<<"y: "<<y<<endl;
                x=x+h;
            else
                cin<<"successfull, program completed"<<endl;
                system ("pause");
  }
запускаться и компиллироваться не хочет. В чем проблема?
0
Vorox
25 / 24 / 3
Регистрация: 26.11.2010
Сообщений: 57
Завершенные тесты: 1
26.11.2010, 17:38 #4
Цитата Сообщение от MyAdm001 Посмотреть сообщение
Собственно говоря. Я посидел и подумал. Получилось что-то вроде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include "math.h"
using namespace std;
  int main ()
    {
        int x,y,h;
        h=3.14/10;
        x=0;
            if (x<=3.14/2)
                y=x-tan(x);
                cout<<"x: "<<x<<"y: "<<y<<endl;
                x=x+h;
            else
                cin<<"successfull, program completed"<<endl;
                system ("pause");
  }
запускаться и компиллироваться не хочет. В чем проблема?
1. Т.к. обьявленная тобой функция int main() имеет тип int, то она должна возвращать значение. Возврат происходит с помощью оператора return. Пример:
C++
1
2
3
4
5
int main()
{
//тело функции
 return 0;
}
В твоем случае следует изменить тип функции с int на void:
C++
1
2
3
4
void main()
{
//тело функции
}
2. Сразу бросается в глаза то, что у тебя нет обхода по всем х, а именно программа выполнится 1 раз при х=0; Нужно сделать зацикливание до тех пор пока мы не пройдем весь отрезок.
3. Вкорне не правильно писать int h=3.14/10, так как число которое мы будем записывать в h имеет вещественный тип данных. В результате ты получишь h=0, т.к. вся дробная часть проигнорируется.
Тоже самое для х и у. Ты присваеваешь им вещественное значение, хотя тип данных у тебя целочисленный.
0
26.11.2010, 17:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2010, 17:38
Привет! Вот еще темы с ответами:

Значение функции на отрезке с определенным шагом - C++
Вычислить значения функции f(x) на отрезке с шагом h. f(x)=0,5+(sh^2)(x)

Вычислить значение функции F(x) =ctg x+1 на отрезке [0,1] с шагом 0,1 - C++
Вычислить значение функции F(x) =ctg x+1 на отрезке с шагом 0,1 на C++ #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace...

Нахождение суммы значений функции у=х*х на отрезке 1,5 с шагом 1 - C++
помогите с задачей написать программу нахождения суммы значений функции у=х*х на отрезке 1,5 с шагом 1. срочно надо !!

Построение таблицы значений функции y=f(x) для x на отрезке [a;b] с шагом h - C++
Помогите, пожалуйста, исправить следующую ситуацию: при a=-2, b=1 и h=0.3 на экран не выводится значение функции в крайней точке отрезка...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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