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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
fragnat
11 / 11 / 0
Регистрация: 17.12.2009
Сообщений: 77
#1

Вычислить значение ф-ции F(x) на отрезке a,b с шагом h - C++

20.12.2009, 23:52. Просмотров 2236. Ответов 2
Метки нет (Все метки)

Доброго времени суток!
Помогите решить, или намекните в какую сторону копать чтобы решить задачу.

Задача:
Составить программу для вычисления значения функции F(X) на отрезке [a,b] с шагом h, результат предоставить в виде таблицы 1-й столбец которой значение аргумента, 2-й соответствие значение функции

F(x)=x-sinx
Поиском нашел эту программу, но она на Pascal, а я не C++ не Pascal не знаю
Pascal
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
PROGRAM Ex1;
Uses Crt;
Var
a, b: Integer;
f, x, h: Real;
 
BEGIN
ClrScr;
writeln('Введите координату a');
readln(a);
writeln('Введите координату b');
readln(b);
writeln('Введите значение шага h');
readln(h);
{Рисуется шапка таблицы}
 writeln('______________________');
 writeln('|              |                   |');
 writeln('|    x        |    f(x)           |');
 writeln('|              |                    |');
 writeln('|_______|_____________ _|');
 x := a;  {Начальное значение Х}
repeat    
    f:=(cos(x)/sin(x))+1; { Вычисляется значение функции f}
    writeln('| ', x:5:2,' | ',f:12:9,'|');
    x:=x+h;
 until x>b;
write('-------------------------');   { завершение таблицы }
 ReadKey;
END.
Непонятно с 21-й строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 23:52     Вычислить значение ф-ции F(x) на отрезке a,b с шагом h
Посмотрите здесь:

C++ Вычислить и вывести на экран в виде таблицы значения ф-ции F на интервале от нач до конечн х, с шагом dx
C++ Вычислить функцию на заданном отрезке с заданным шагом
C++ си++ вычислить значение функции на отрезке
Вычислить значение функции на отрезке. C++
C++ Как вывести значение функции на отрезке с заданным шагом?
C++ Вычислить sin на отрезке (0,2pi) с шагом установленным пользователем h
Вычислить и вывести на экран значение функции F(x) на отрезке [a,b] с шагом h=0.1 с точностью ε. C++
Вычислить и вывести на экран значение функции F(x) на отрезке [a,b] с шагом h=0.1 и точностью е C++
C++ Вычислить значение функции f (x) на отрезке [a, b]
Вычислить значение функции arcrgx+sinx на отрезке [ a, b ] с шагом h и точностью ε Поправить C++
Значение функции на отрезке с определенным шагом C++
Используя циклы while и for, вычислить значения следующих функций F(x) на отрезке [a, b] с шагом h, представив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
senderr
23 / 21 / 2
Регистрация: 03.04.2009
Сообщений: 257
20.12.2009, 23:58     Вычислить значение ф-ции F(x) на отрезке a,b с шагом h #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
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
int a,b;
float f, x, h;
 
cout<<'Введите координату a';
cin>>a;
cout<<'Введите координату b'
cin>>b;
cout<<'Введите координату h'
cin>>h;
cout<< '______________________';
 cout<<'|              |                   |';
 cout<<'|    x        |    f(x)           |';
 cout<<'|              |                    |';
 cout<<'|_______|_____________ _|';
 x = a;  //Начальное значение Х
do {  
    f=(cos(x)/sin(x))+1; // Вычисляется значение функции f
   cout<<'| ', x,' | ',f,'|';
    x=x+h;
while (x>b);
cout<<'-------------------------';   // завершение таблицы 
getch();
 
}
fragnat
11 / 11 / 0
Регистрация: 17.12.2009
Сообщений: 77
23.12.2009, 08:47  [ТС]     Вычислить значение ф-ции F(x) на отрезке a,b с шагом h #3
senderr, Спасибо!
Компилятор ругается на синтаксис, я посмотрел какой вид должен быть у do, while - сделал вот так, но по моему тут есть ошибка, не могу понять что не так.

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
#include <iostream>
#include <math.h>
#include <locale.h>
using namespace std;
 
void main()
{
    setlocale(LC_ALL,"Rus");
    int a,b;
    float h,f,x;
    cout << "Введите координату a: ";
    cin >> a;
    cout << "Введите координату b: ";
    cin >> b;
    cout << "Введите значение переменной h: ";
    cin >> h;
    //таблица        
    cout << "|-------|--------|" << endl;
    cout << "|   x   |  f(x)  |" << endl;
    cout << "|-------|--------|" << endl;
    cout << "|       |        |" << endl;
    cout << "|       |        |" << endl;
    
    x = a;  //Начальное значение Х
    do {
        f=x-sin(x);
        cout << "|  " << x << "   |  " << f << "   |" << endl;
        x=x+h;
}   while (x>b);
    cout << "------К-О-Н-Е-Ц------" << endl;
 
};
Проблема в том что, если ввести значения:
C++
1
2
3
4
5
6
7
8
Введите координату a: 1
Введите координату b: 4444
Введите значение переменной h: 23
|-----|----------|
|   x   |     f(x)    |
|-----|----------|
|  1   | 0.158529 |
----К-О-Н-Е-Ц----
Хотя логически должно быть

C++
1
2
3
4
5
6
7
8
|-----|----------|
|   x   |     f(x)    |
|-----|----------|
|  1    | 0.158529 |
|  24   | 24,90557 |
|  47   | 46,87642 |
..
----К-О-Н-Е-Ц----
и так далее пока числа в 1 колонке не стали бы больше числа 4444(b)
подскажите пожалуйста где здесь ошибка?

Добавлено через 11 часов 41 минуту
ап
Yandex
Объявления
23.12.2009, 08:47     Вычислить значение ф-ции F(x) на отрезке a,b с шагом h
Ответ Создать тему
Опции темы

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