Программа табулирования функции котангенса

Уровень сложности:

Составить программу табулирования функции программирование на С++ на интервале [a,b] с шагом h, на языке программирования С++ в среде разработки MVS2010, в консоли.

Как уже было сказано ранее, не обязательно использовать IDE, указанную в задании. Пользуйтесь той, которая удобнее вам. Для решения данной задачи вам потребуются цикл for, кстати необязательно for, можете воспользоваться любым другим. И математические функции для нахождения котангенса. Знайте, в С++ нет отдельной функции для вычисления котангенса, но его можно вычислить, воспользовавшись функциями синуса и косинуса. В качестве примера, результат работы программы показан ниже:

// tabulation_function.cpp: определяет точку входа для консольного приложения.

#include "stdafx.h"
#include <iostream>
// заголовочный файл содержит прототипы математических функций
#include <cmath> 
// заголовочный файл содержит прототипы манипуляторов вывода
#include <iomanip>
using namespace std;

int main(int argc, char* argv[])
{
    float h = 0.1, // шаг табулирования
          a = 5.0 / 100, // левая граница интервала
          b = a + 0.5; // правая граница интервала
    cout << "y = "; 
    for ( a; a <= b; a+=0.1) // цикл табулирования функции
    {
        cout << setprecision(3/*три знака после запятой*/)
             << pow(cos(log(a)) / sin(log(a)/*ctg(x)=cos(x)/sin(x)*/), 2) << "; "; // запрограммированная формула 
    }
    cout << endl;
    system("pause");
    return 0;
}

Программу можно легко переделать и под другие функции, можно менять шаг табуляции, а также левую и правую границы интервала. Пример работы программы:

CppStudio.com

y = 46.3; 0.115; 0.0348; 0.329; 0.949; 2.16; 

Следующие статьи помогут вам в решении данной задачи:
Автор: admin
Дата: 11.09.2012
Поделиться:

Комментарии

  1. odto11

    odto11

    Через класс переписал =)

    #include <iostream>
    #include <iomanip>
    #include <cmath>
    using namespace std;
    
    class Ctg{
        float   h = 0.1,
                a = 5.0/100,
                b = a + 0.5;
    public:
        void get_ctg()
        {
            cout << "y = ";
            for (a; a <= b; a+=0.1)
            {
                cout <<setprecision(3) << pow(cos(log(a)) / sin(log(a)), 2) << "; ";
            }
        }
    
    } cotangent;
    
    int main()
    {
        cout << "\t\tПрограмма табулирования функции котангенса\n";
    
        cotangent.get_ctg();
    
        return 0;
    }
  2. Graf_Men9999

    а ещё есть тангенс.. а котангенс это перевернутый тангенс.. (ctg(x) = 1 / tg(x))

     

  3. colt

    int _tmain(int argc, _TCHAR* argv[])
    {	
    	SetConsoleCP(1251);
    	SetConsoleOutputCP(1251);
    	cout.flags(ios::fixed);
    	cout.precision(3);
    
    	while(true)
    	{	
    		system("CLS");
    		dMin=5.0/100;
    		dMax=dMin+0.5;
    		dStep=0.1;
    		cout<<"y = ";
    		dX=dMin;
    		do
    		{
    			dY=ctan(log(dX));
    			dY*=dY;
    			cout<<dY<<"; ";
    			dX+=dStep;
    		}
    		while(dX<dMax);
    		cout<<"\n\n";		
    		system("PAUSE");
    	}
    	return 0;
    }
  4. gro

    gro

    Пропустил преобразование: return pow(1/(tan(log(x)*M_PI/180)),2);

    #define M_PI 3.14159265

  5. gro

    gro

    #include <iostream>
    #include <cmath>
    using namespace std;
    double F(double x)
    {
    	return pow(1/(tan(log(x))),2);
    }
    int main()
    {
    	setlocale(LC_ALL,"rus");
    	double a=0, b=0, h=0;
    	while (a<=0)
    	{
    		cout << "\nВведите начальную точку изменения аргумента a>0: ";
    		cin >> a;
    	}
    	while (b<=a)
    	{
    		cout << "\nВведите конечную точку изменения аргумента b>a>0: ";
    		cin >> b;
    	}
    	while (h<=0)
    	{
    		cout << "\nВведите шаг изменения аргумента h>0: ";
    		cin >> h;
    	}
    	double x=a;
    	for (double i=a; i<=b; i=i+h)
    	{
    		cout << "\nФункция F(" << x << ") = " << F(x) << endl;
    		x=x+h;
    	}
    	return 0;
    }
  6. Boss

    #include <iostream>
    #include <windows.h>
    #include <cmath>
    using namespace std;
    
    int main()
    {
    	SetConsoleCP(1251);
    	SetConsoleOutputCP(1251);
    	float a(0), b(0), h(0);
    	float const PI(3.141592);
    	cout << "Calculating the value for ctg(x)^2 * ln(x) at interval [a, b] with step h\n";
    	do
    	{	
    		cout << "Enter a:";
    		cin >> a;
    		cout << "\nEnter b:";
    		cin >> b;
    		cout << "\nEnter the step (h):";
    		cin >> h;
    		cout << "a = " << a << " b = " << b << " h = " << h << endl;
    		if (h <= 0 || a >= b || a <= 0 || b <= 0)
    			cout << "Incorrect value. let's try again!\n\n";
    	}
    	while (h <= 0 || a >= b || a <= 0 || b <= 0);
    	for (float i = a; i <= b; i += h)
    		{
    		cout << "x = " << i << "; calculating value is: ";
    		cout << pow(cos(log(i)) / sin(log(i)), 2) << endl;
    		}
    return 0;
    }

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.