CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>

double func(double x,double y){
	return sin(x)-y;
}

main_program{
	double y;
	cin >> y;
	double xl = 0;
	double xr = PI/2;
	double ep = 0.0000001;
	bool xl_sign = (func(xl,y) <= 0);
	double xm = 0;
	while (xr - xl > ep){
	       xm = (xl+xr)/2;
	       bool xm_sign = (func(xm,y) <= 0);
	       if(xm_sign == xl_sign){
		       xl = xm;
	       }
	       else{
		       xr = xm;
	       }
	}
	cout << fixed;
	cout.precision(3);
	cout << xl << endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
int main(){
	double xl=0,xr=PI/2,xm,y;
	cin>>y;
	//using half bisection method;
	while(abs(xr-xl)>0.0001){
		xm=(xl+xr)/2;
		if((sin(xm)>y)==(sin(xl)>y)){
			xl=xm;
		}
		else xr=xm;
	}
	cout<<fixed;
	cout.precision(3);
	cout<<xm<<endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	double y,xL=0,xR=PI/2;
	cin>>y;
	double xM=PI/4;
	while(abs(xL-xR)>0.00001){
	 //due to precision error when y tends to1
		if(sin(xM)-y <=0){xL=xM;xM=(xL+xR)/2.0;}
		if(sin(xM)-y >0){xR=xM;xM=(xL+xR)/2.0;}}
        if(y==1){cout<<1.571;}
	cout.precision(3);
	if(y!=1){cout << (xR+xL)/2.0;}}
 // due to exception when y tends to1

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	double y;
	cin>>y;
	double xl=0,xr=PI/2,xm;
	xm=(xl+xr)/2;
	while(xr-xl>0.000001){
		bool check (sin(xm)-y>=0);
		if (check==1){
			xr=xm;
			xm=(xl+xr)/2;
		}
		else{
			xl=xm;
			xm=(xl+xr)/2;
		}
	}
	cout<<fixed;
	cout.precision(3);
	cout<<xm<<endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>

main_program{
	double y;
	cin >> y;
	float sum=0,term=y;
	for(int i=1;i<15;i=i+2){
		sum=sum+term;
		term=term*y*y/((i+1)*(i+2));
	}
	int m1;
	m1=sum*1000;
	float m;
	m=m1/1000.0;
	cout << m;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	double a = 0;
	double b = PI/2;
	double y;
	cin>>y;
	repeat(5000){
		if(sin((a+b)/2)>y){
			b = (a+b)/2;
		}
		else {
			a = (a+b)/2;
		}
	}
	cout<<fixed;
	cout.precision(3);
	cout<<(a+b)/2;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	float xl=0,xr=PI/2,xm,k;
	cin>>k;
	while(abs(xr-xl)>=0.0001){
		if((sin(xm)-k)<=0) xl=xm;
		else xr=xm;
		xm=(xl+xr)/2.0;		
	}
	cout.precision(3);
	cout<<xl;
	
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
int main(){
	double y;
	cin>>y;
	double xL,xM,xR;
	xL=0;
	xR=1.571;
	bool xL_is_positive,xM_is_positive;
	xL_is_positive=(sin(xL)-y>0);
	while(xR-xL>0.0001){
		xM=(xL+xR)/2;
		xM_is_positive=(sin(xM)-y>0);
		if (xM_is_positive==xL_is_positive) {
			xL=xM;
		}
		else xR=xM;
	}
	cout<<fixed;
	cout.precision(3);
	cout<<xM<<endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	double y;
	cin>>y;
	double a=y;
	double b;
	double d=10;
	while(d>0.0001){
		b=a-(sin(a)-y)/cos(a);
		d=abs(b-a);
		a=b;
	}
	cout<<fixed;
	cout.precision(3);
	cout<<b;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	float y;
	cin>>y;
	double sum;
	float num=0.5,rfac=1,r=0;
	repeat(20){
		for(int i=1;i<r;i++){
			num*=abs((-0.5-i));
		}
		for(int j=r;j>0;j--){
			rfac*=j;
		}
		sum+=(pow(y,2*r+1))*(num/rfac)/(2*r+1);
		r++;
	}
	cout<<fixed;
	cout.precision(3);
	cout<<sum<<endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program
{
	double xL=0,xR=PI/2,x,y;
	cin >> y;
	while(y-sin(xL)>1.0E-20 && sin(xR)-y>1.0E-20)
	{
		if(sin((xL+xR)/2)-y>0)
			xR=(xL+xR)/2;
		else
			xL=(xL+xR)/2;
	}
	if(y-sin(xL)<=1.0E-20)
		x=xL;
	else
		x=xR;
	cout << fixed;
	cout.precision(3);
	cout << x;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	float x=1,y;cin>>y;
	repeat(100){
		x=x-(sin(x)-y)/cos(x);
	}
	cout<<fixed;
cout.precision(3);
cout<<x<<endl;}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program
{double y;
	cin>>y;
	double term,sum=y,i=1;
	term=y;
	repeat(100000)
	{term=term*(pow(y,2)*(-1)*(2*i-1))/(2*i+1);
		sum+=term;
		i=i+1;}
	cout<<fixed;
	cout.precision(3);
	cout<<sum;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	float nsides;
	cout<< fixed;
	cout.precision(3);
	cin >> nsides;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	double x;
	cin>>x;
	double term=(x*x*x)/6;
	double sum=x+(pow(x,3)/6);
	int k=1;
	repeat(10000){
		term*=(x*x*(2*k+1)*(2*k+1)*k)/(2*(k+1)*(2*k+3));
		sum+=term;
		k=k+1;
	}
	cout<<sum<<endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
//should find the solution of y=c,y=sinx;
#include<simplecpp>
main_program
{
	float y;
	cin>>y;
        double xm=0,xM=PI/2;	
	bool b=true;
	double epsilon=0.001;
	while((xM-xm)>=epsilon)
	{
		b=y>sin((xm+xM)/2);
		if(b) xm=(xm+xM)/2;
		else xM=(xm+xM)/2;
	}

	cout<<fixed;
	cout.precision(3);
	cout<<xM<<endl;

}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include <simplecpp>

main_program
{
	double y;
	cin >> y;

	double x1, x2;
	double delta;

	x1=PI/4;
	x2=PI/4-1+y*sqrt(2);
	delta=0.0001;
	while(abs(x1-x2)>delta)
	{
		x1=x2;
		x2=x1-(sin(x1)-y)/cos(x1);
	}

	cout << fixed;
	cout.precision(3);
	cout << x2;

}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program
{
	double y;
	cin >> y;
	float x=0.1;
	while(x<PI/2)
	{
		x = x-(sin(x)-y)/cos(x);
	}
	cout << x << endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
double s(double x,double k){
	return sin(x)-k;}
main_program{
	double k;
	cin>>k;
	double x=0,y=PI/2;
	repeat(50){
		if (s((x+y)/2,k)>0){
			y=(x+y)/2;}
		else x=(x+y)/2;} 
	cout<<fixed;
	cout.precision(3);
	cout<<x;}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include <simplecpp>

main_program
{
	// via Bisection method
	double y = 0.0;
	cin >> y;
	double lo = 0.0;
	double hi = PI / 2; // range of values = [0, PI/2]
	double mid = 0.0;
	double epsilon = 0.0001; // for extra precision
	while(hi - lo >= epsilon)
	{
		mid = (lo + hi) / 2;
		if(sin(mid) < y)
		{
			lo = mid;
		}
		else
		{
			hi = mid;
		}
	}
	cout << fixed;
	cout.precision(3);
	cout << mid << endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program {
	double x,y,z;
	cin>>y;
	z=sqrt(1-y*y);
	x=acos(z);
	cout<<fixed;
	cout.precision(3);
	cout<<x;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
int main(){
long double x; cin>>x;
long long int n=10000;
long double w=(x)/n;
long double sum=0;
int i=0;
repeat(n){
	sum=sum+(1/sqrt(1-(i*i*w*w)))*w;
	i++;
}
cout<<fixed;
cout.precision(3);
cout<<sum<<endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
double k;
cin>>k;

double xM,xL=0,xR=PI/2;
while(abs(xR-xL)>0.0001){
xM=(xL+xR)/2;
if (sin(xM)>=k){
xR=xM;}
else {xL=xM;}
}

cout<<fixed;
cout.precision(3);
cout<<xL;}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	//finding inverse by integrating 1/sqrt(1-x*x) from 0 to x
	float y;cin>>y;
	double x=0;
	double w=1.0E-8;//width of strips used for reimann integration
	for (double t=0;t<y;t+=w){
		x+= w/sqrt(1-t*t);
	}
	cout<<fixed;
	cout.precision(3);
	cout<<x;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>

main_program{
	double y;
	cin >> y;
	double xR = PI/2, xL = 0;
	bool xL_positive = sin(xL) > y;
	bool xR_positive = sin(xR) > y;

	while(xR - xL > 0.0001){
		double xM = (xL + xR)/2;
		bool xM_positive = sin(xM) > y;
		
		if(xL_positive == xM_positive) xL = xM;
		else xR = xM;

	}

	cout << fixed;
	cout.precision(3);
	cout << xL;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program {
	double x,y;
	cin>>y;
	double epsilon=0.0001;
	double L=0,R=PI/2;
	while((R-L)>=epsilon) {
		if((sin(x)-y)>=0) {
				R=x;
				x= (x+L)/2;

				}
		else {
		L=x;
		x=(x+R)/2;
		}
		}
	cout<<fixed;
	cout.precision(3);
	cout<<x;
	}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	float y,x=0;
	cin>>y;
	repeat(100){
		x = x+(y-sin(x))/(cos(x));
	}
	cout<<fixed;
	cout.precision(3);
	cout<<x;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{float y,x1,y1,x2,y2,epislon;
	cin>>y;
	x1=0;
	x2=PI/2;
	epislon=0.0001;
	while(abs(sin((x1+x2)/2)-y)>epislon){
		bool middle=(sin((x1+x2)/2)-y)>0;
		if(middle==false){x1=(x1+x2)/2;}
		else{x2=(x1+x2)/2;}}
		cout<<(x1+x2)/2<<endl;}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Given a real number y   [0,1], find the value of x, in radians, such that sin(x) = y, without using any trigonometric-inverse function. The value x should lie within the interval [0, pi(3.14) /2]. Write an iterative program that prints the value of x. Do NOT use a brute-force search at all.

Constraints

0 <= y <= 1

0 <= x <=  pi (3.14) /2

Student submission:
#include<simplecpp>
main_program{
	double x=0,y,c;
	double k=1;
	cin>> y;
	c=y;
	repeat(1000000000){
		x=x+y;
		
		y=y*c*c*(2*k-1)*(2*k-1)/(2*k*(2*k+1));
		k=k+1;
	}
	cout<<fixed;
	cout.precision(3);
	cout<<x<<endl;
}

Grading criterion: Termination of loops
Rating A: Appropriately terminating any loop used
Rating B: Loop goes in an infinite loop or wrong termination condition
Rating C: 0
Rating D: 0
Assigned grade: B