CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include<iostream>
#include<math.h>
using namespace std;
unsigned long long int fac (int y) {unsigned long long int r=1;int i=1;
while (i<=y) {r=r*i;i=i+1;}
return r;}
int main(){
int n;float a,x;
cin>>a>>x>>n;
int i=1;
float sum=sin(a);
while (i<n && i<=35) {
if (i%4==0) {sum = sum + (pow((x-a),i)*(sin(a)))/fac(i);i=i+1;}
else if (i%4==1) {sum = sum + (pow((x-a),i)*(cos(a)))/fac(i);i=i+1;}
else if (i%4==2) {sum = sum - (pow((x-a),i)*(sin(a)))/fac(i);i=i+1;}
else if (i%4==3) {sum = sum - (pow((x-a),i)*(cos(a)))/fac(i);i=i+1;}
}
float ea;
if (sum>sin(a)) {ea = (sum-sin(a))/sin(a);}
else {ea = (sin(a)-sum)/sin(a);}
cout << fixed;
cout.precision(6);
cout << sum <<" "<<ea;}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: A
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include <iostream>
#include <cmath>
using namespace std;
int factorial (int n)
{
if (n == 0) return 1;
int prod=1;
for (int i = n; i > 0; i=i-1){
        prod *= i;
}
return prod;
}



int main()
{
double a, x, f=sin(a);
double N, p, q;
cin>>a>>x>>N;
for (int i=0; i<N; i++)
{
if (i%4==0) {
p=1; 
q=0;}
else if (i%4==1) {
p=0; 
q=1;}
else if (i%4==2) {
p=-1; 
q=0;}
else if (i%4==3) {
p=0; 
q=-1;}


f= f + (sin(a)*p + cos(a)*q)*(pow((x-a),i))/(factorial(i));
}
cout << fixed;      // uses fixed floating point representation


cout.precision(6);
cout<<f<<" "<<abs(f-sin(a))/abs(sin(a));
}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: C
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include<simplecpp>
main_program{
	int n;
	double x;
	cin>>n>>x;
  double f=sin(x);
cout<<fixed;
	cout.precision(6);
	cout<<f;
	
}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: D
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include <iostream>
using namespace std;
#include <cmath>

int main(){
float e,a,x,fac=1,b,sum=0;
int n;
cin>>a>>x>>n;
for(int i=0; i<=n; i++){
	if (i%4==0){b=sin(a);}
	else if (i%4==1){b=cos(a);}
	else if (i%4==2){b=-sin(a);}
	else if (i%4==3){b=-cos(a);}
	if(i==1||i==0){fac=1;}
	else{for(int j=i;j>=1;j--){fac=fac*j;}}
	sum=sum+ (b/fac)*(pow((x-a),i));
}
e=(abs(sum-sin(a)))/(abs(sin(a)));
cout<< fixed;
cout.precision(6);
cout<<sum<<" "<<e;
}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: A
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include<simplecpp>
#include<cmath>
main_program{
double a,x,ea,sinx=0;
int n,i;
unsigned long long int f=1;
cin>>a>>x>>n;
n=n/10;
double b=x-a;
for(i=0;i<n;i++){
	for(int j=i;j>0;j--){if(i==0||i==1){f=1;}
		else{f*=j;}}
	if(i%4==0){
		sinx+=(pow(b,i)*sin(a))*pow(f,-1);}
	else if(i%4==1){
		sinx+=(pow(b,i)*cos(a))*pow(f,-1);}
	else if(i%4==2){
		sinx-=(pow(b,i)*sin(a))*pow(f,-1);}
	else if(i%4==3){
		sinx-=(pow(b,i)*cos(a))*pow(f,-1);}}
ea=fabs(sinx-sin(a))/fabs(sin(a));
cout<<fixed;
cout.precision(6);
cout<<sinx<<" "<<ea;
return 0;
}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: A
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include<iostream>
#include<cmath>

using namespace std;

int main()
{
 
long  double  a,x,sume=0,sumo=0;
 int n;

 
 cin>>a>>x>>n;

long  double  sum=0;
 n=20;

if(a!=0 &&n>0)
{

 if(n%2 == 0)
    {
	for(int i=1; i<=n/2 ; i++)
	  {
	   int facval=1;

 	  	 for(int k=1; k<=2*i ; k++)
			facval=facval*k;

	  long double j= pow(x-a,2*i);
	  sume=sume+ ( (pow(-1,i)*j) /facval );

	  }

	sume=(sume+1)*sin(a);

	for(int i=1; i<=n/2 ; i++)
	 {
	  int facval=1;

		for(int k=1; k<=2*i-1 ; k++)
			facval=facval*k;

	long double j=pow(x-a,2*i-1);

	sumo=sumo + ( ( pow(-1,i+1)*j )/facval ); 

	}

 sumo=sumo*cos(a);
 sum=sumo+sume;

 cout<<fixed;
 cout.precision(6);
 cout<<sum;

long double t=fabs(sum-sin(a))/fabs(sin(a));

cout<<" "<<t;

    } 

}

}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: A
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include<iostream>
#include<cmath>
using namespace std;
long long int fact(int fn){
long long int f=1;
for(int k=1; k<=fn; k++){
f=f*k;}
return f;}



double xan(int jn, double a, double x){
double xanv=1;
for(int j=1; j<=jn; j++){
	xanv=xanv*(x-a);}
return xanv;
}


double deriv(int di, double a){
if((di+3)%4==0){return cos(a);}
if(di%2==0 && di%4!=0){return -sin(a);}
if((di+1)%4==0){return -cos(a);}
if(di%4==0){return sin(a);}}



int main(){
double a,x,ans=sin(a);
long long int n;
cin>>a>>x>>n;
cout<<fixed;
cout.precision(6);
for(int i=1; i<=n; i++){
	ans=ans+(xan(i, a, x)/fact(i))*deriv(i, a);
}
cout<<ans<<" ";
cout<<abs(ans-sin(a))/abs(sin(a));
return 0;
}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: B
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include<simplecpp>
int factorial(int n){
if (n==0) return 1;
int prod=1;
for(int i=n;i>0;i=i-1) prod*=i;
return prod;}
main_program{
int n;
float a,x;
cin>>a>>x>>n;
float f=sin(a);
float f_;
for(int i=1;i<=n;i++){
if (i%4==1)f_=cos(a);
if (i%4==2) f_=-sin(a);
if (i%4==3) f_=-cos(a);
if (i%4==0) f_=sin(a);
f=f+(pow(x-a,i)/factorial(i))*f_;
}
cout<<fixed;
cout.precision(6);
float b=fabs((f-sin(a))/sin(a));
cout<<f<<b;
}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: C
Problem: The Taylor series of a function f(x) about a is given by f(x) = f(a) + (x-a) f(1)(a) + [(x-a)2/2! ] f(2)(a) + [(x-a)3/3! ] f(3)(a) + ... + (x-a)n/n! f(n)(a) + ...Here n is the number of terms of the Taylor series expansion and f(n)(a)is the n-th derivative of the function f(x) evaluated at x = a. This formula (with only finitely many terms) is very accurate for x close to a.Write a C++ program that takes a, x, and n as inputs from the user and evaluates the Taylor expansion of f(x) = sin x about a up to n terms. The program should also compute the relative absolute error between the value of the Taylor expansion (let us call it ea) w.r.t. the true value which is sin(a). The formula for this is |ea - sin (a)| / |sin(a)|.The program should print the value of the Taylor expansion as well as the relative absolute error. 

Input Format - a - non zero real number, x,and an integer n
Output Format - 
Floating point numbers for the values of the Taylor expansion and the relative error
Please use before printing the approximated value and the error.
cout << fixed;      // uses fixed floating point representation
cout.precision(6);  // print six digits after the decimal point

Constraints
a not equal to zero
n is a positive integer
For higher accuracy, it is advisable for x to be close to a

Sample input and output a = pi/3 , x = pi/3 + 0.001, sin(x) is approximately 0.8

Input           1.047 1.048 100
Output            0.866426 0.000577

Note:Do not write any C++ statements for printing general messages. For example, the following should NOT be present in your program:cout << "Enter a number:",cout << "The computed answer is", etc.cout should be used to print only the computed final output. In addition, do not print unnecessary spaces unless specified in the questionPlease use cout << fixed; before printing the approximated value and the error.The solution file name should be an A_Q1.cpp

Student submission:
#include<iostream>
#include<cmath>
using namespace std;

double f(double x){
	return sin(x);
}

double df(int n, double x){
	if(n%4==0){
		return sin(x);
	}
	else if(n%4==1){
		return cos(x);
	}
	else if(n%4==2){
		return -sin(x);
	}
	else{
		return -cos(x);
	}
}

int main(){
	int n;
	double a, x, s, re;
	cin>>a>>x>>n;
	s=f(a);
	for(int i=1; i<=n; i++){
		double coeff=1;
		for(int j=1; j<=i; j++){
			coeff=coeff*(x-a)/(j);
		}
		s=s+coeff*df(i, a);
	}
	cout<<fixed;
	cout.precision(6);
	re=fabs((s-f(a))/f(a));
	cout<<s<<" "<<re;
	return 0;
	
}

Grading criterion: Series sum calculated correctly
Rating A: Fully correct
Rating B: almost correct
Rating C: Tried something in somewhat right direction.
Rating D: Totally wrong
Assigned grade: A