function generate1()
{next0();
next1();
next2();
}
var zen_set = '0123456789−.a';
var han_set ='0123456789-.a';
function zen2han(str_org)
{str_result = '';
for(var local_kk = 0; local_kk < str_org.length; local_kk++)
{var ch = str_org.charAt(local_kk);
var nn = zen_set.indexOf(ch, 0);
if(nn >= 0)
ch= han_set.charAt(nn);
str_result += ch;
}
return str_result;
}
// *********第1問**************************
q_str0 = '';
msg_str0 = '';
ans0 = new Array();
ans0[0] = new Array();
ans0[1] = new Array();
ans0[2] = new Array();
q0num = -1;
q0max=ans0.length;
function next0()
{if(++q0num >= q0max)
{document.getElementById('quest0').innerHTML = '*** End ***';
document.getElementById('msg0').innerHTML = '
おつかれさまでした
';
return;
}
if(q0num == 0)
{q_str0 = '(1) y が x の1次関数で,そのグラフが2点 A(−1 , 1) , B(2 ,−5) を通るとき,この1次関数の式を求めなさい.
';
q_str0 += '_______y=−x− ';
msg_str0 = '(1)
求める1次関数の式を y=ax+b とおく.
';
msg_str0 += '点A(−1 , 1) , B(2 ,−5) を通るから
';
msg_str0 += '1=−a+b …(1)
−5=2a+b …(2)
';
msg_str0 += '(1)−(2) より 6=−3a
';
msg_str0 += '______a=−2
';
msg_str0 += '(1)に代入して b=−1
';
msg_str0 += 'ゆえに,y=−2x−1 …(答)';
ans0[0] = new Array(2,1);
}
else if(q0num == 1)
{q_str0 = '(2) y が x の1次関数で,そのグラフが2点 A(0 , 3) , B(4 , 0) を通るとき,この1次関数の式を求めなさい.
';
q_str0 += '_______y=−'+cFrac_102('','','',6,6,6)+'x+ ';
msg_str0 = '(2)
求める1次関数の式を y=ax+b とおく.
';
msg_str0 += '点A(0 , 3) , B(4 , 0) を通るから
';
msg_str0 += '3=b …(1)
0=4a+b …(2)
';
msg_str0 += '(1) より b=3
';
msg_str0 += '(2)に代入して a=−'+cFrac_102('3','4','','','','','',12)+'
';
msg_str0 += 'ゆえに,y=−'+cFrac_102('3','4','','','','','',12)+'x+3 …(答)';
ans0[1] = new Array(3,4,3);
}
else if(q0num == 2)
{q_str0 = '(3) 2直線 3x+2y=8 , x+3y=5 の交点と点 (1 ,−1) とを通る直線の式を求めなさい.
';
q_str0 += '_________y=x− ';
msg_str0 = '(3)
';
msg_str0 += '3x+2y=8 …(1)
x+3y=5 …(2)
';
msg_str0 += 'を解くと,交点の座標は (2 , 1)
';
msg_str0 += ' 次に,2点 (2 , 1) , (1 ,−1) を通る直線の式を求める.
';
msg_str0 += '求める式を y=ax+b とおくと
';
msg_str0 += '1=2a+b …(3)
−1=a+b …(4)
';
msg_str0 += 'より, a=2 , b=−3
';
msg_str0 += '求める直線の式は, y=2x−3 …(答)';
ans0[2] = new Array(2,3);
}
document.getElementById('counter0').innerHTML = '[ 第'+(q0num + 1)+'問 / 全'+(q0max)+'問中 ]';
document.getElementById('quest0').innerHTML = q_str0;
document.getElementById('msg0').innerHTML = '';
}
function help0()
{if(q0num >= q0max)
return;
document.getElementById('msg0').innerHTML = msg_str0;
}
function check0()
{
if(q0num >= q0max)
return;
tmp_doc = new Array(document.q0.t00, document.q0.t01, document.q0.t02, document.q0.t03);
doc = new Array();
tmp_kekka = new Array(document.getElementById('kr00'), document.getElementById('kr01'), document.getElementById('kr02'), document.getElementById('kr03') );
kekka = new Array();
my_marker_flag1 = 1;
for(kkk1 = 0; kkk1 < ans0[q0num].length; kkk1++)
{doc[kkk1] = tmp_doc[kkk1];
kekka[kkk1] = tmp_kekka[kkk1];
}
for(kkk1 = 0; kkk1 < ans0[q0num].length; kkk1++)
{if(zen2han(doc[kkk1].value) == ans0[q0num][kkk1])
kekka[kkk1].innerHTML = '○';
else
{kekka[kkk1].innerHTML = '×';
my_marker_flag1 = 2;
}
}
// ********************************
once_answer = 1;
if(my_marker_flag1 == 1)
pg_ox_information[q0num] = 1;
// ***************************
}
// ****************第2問**********************
q_str1 = '';
msg_str1 = '';
ans1 = new Array();
ans1[0] = new Array();
ans1[1] = new Array();
q1num = -1;
q1max=ans1.length;
function next1()
{if(++q1num >= q1max)
{document.getElementById('quest1').innerHTML = '*** End ***';
document.getElementById('msg1').innerHTML = '';
return;
}
if(q1num == 0)
{q_str1 = '(1) 2点 A(1 , 4), B(3 , 2) を通る直線と x 軸との交点の座標を求めなさい.
';
q_str1 += '____________________________( , ) ';
msg_str1 = '(1)
求める1次関数の式を y=ax+b とおく.
';
msg_str1 += '点A(1 , 4) , B(3 , 2) を通るから
';
msg_str1 += '4=a+b …(1)
2=3a+b …(2)
';
msg_str1 += '(1)(2) より a=−1 , b=5
';
msg_str1 += ' 直線の式は,y=−x+5 になる.
';
msg_str1 += 'y=0 のとき x=5 だから
';
msg_str1 += '_____________(5 , 0) …(答)';
ans1[0] = new Array(5,0);
}
else if(q1num == 1)
{q_str1 = '(2) 2点 A(−1 , 3), B(2 ,−2) を通る直線と y 軸との交点の座標を求めなさい.
';
q_str1 += '____________________________( , '+cFrac_102('','','',5,5,5 )+') ';
msg_str1 = '(2)
求める1次関数の式を y=ax+b とおく.
';
msg_str1 += '点A(−1 , 3) , B(2 ,−2) を通るから
';
msg_str1 += '3=−a+b …(1)
−2=2a+b …(2)
';
msg_str1 += '(1)(2) より a=−'+cFrac_102('5','3','','','','','',12)+', b='+cFrac_102('4','3','','','','','',12)+'
';
msg_str1 += ' 直線の式は,y=−'+cFrac_102('5','3','','','','','',12)+'x+'+cFrac_102('4','3','','','','','',12)+' になる.
';
msg_str1 += 'x=0 のとき y= '+cFrac_102('4','3','','','','','',12)+' だから
';
msg_str1 += '_____________(0 , '+cFrac_102('4','3','','','','','',12)+') …(答)';
ans1[1] = new Array(0,4,3);
}
document.getElementById('counter1').innerHTML = '[ 第'+(q1num + 1)+'問 / 全'+(q1max)+'問中 ]';
document.getElementById('quest1').innerHTML = q_str1;
document.getElementById('msg1').innerHTML = '';
}
function help1()
{if(q1num >= q1max)
return;
document.getElementById('msg1').innerHTML = msg_str1;
}
function check1()
{
if(q1num >= q1max)
return;
tmp_doc = new Array(document.q1.t10, document.q1.t11, document.q1.t12, document.q1.t13);
doc = new Array();
tmp_kekka = new Array(document.getElementById('kr10'), document.getElementById('kr11'), document.getElementById('kr12'), document.getElementById('kr13') );
kekka = new Array();
my_marker_flag1 = 1;
for(kkk1 = 0; kkk1 < ans1[q1num].length; kkk1++)
{doc[kkk1] = tmp_doc[kkk1];
kekka[kkk1] = tmp_kekka[kkk1];
}
for(kkk1 = 0; kkk1 < ans1[q1num].length; kkk1++)
{if(zen2han(doc[kkk1].value) == ans1[q1num][kkk1] && doc[kkk1].value != '')
kekka[kkk1].innerHTML = '○';
else
{kekka[kkk1].innerHTML = '×';
my_marker_flag1 = 2;
}
}
// ********************************
once_answer = 1;
if(my_marker_flag1 == 1)
pg_ox_information[q0max+q1num] = 1;
// ***************************
}
// ****************第3問**********************
q_str2 = '';
msg_str2 = '';
ans2 = new Array();
ans2[0] = new Array();
ans2[1] = new Array();
q2num = -1;
q2max=ans2.length;
function next2()
{if(++q2num >= q2max)
{document.getElementById('quest2').innerHTML = '*** End ***';
document.getElementById('msg2').innerHTML = '
写真は京都府立植物園';
return;
}
if(q2num == 0)
{q_str2 = '(1) 3点 A(3 , 4) , B(0 ,−2) , C(5 , a) が同一直線上にあるように定数 a の値を定めなさい.
';
q_str2 += '____________________________a= ';
msg_str2 = '(1)
(2点 A,B を通る直線の式を求め,次にこの直線が点 C を通るように,定数 a の値を定めるとよい.)
';
msg_str2 += ' 2点 A,B を通る1次関数の式を y=mx+n とおく.
';
msg_str2 += '点A(3 , 4) , B(0 ,−2) を通るから
';
msg_str2 += '4=3m+n …(1)
−2=n …(2)
';
msg_str2 += '(1)(2) より m=2 , n=−2
';
msg_str2 += ' 直線の式は,y=2x−2 になる.
';
msg_str2 += 'この直線が点 C(5 , a) を通るから
_____________a=10−2=8 …(答)';
ans2[0] = new Array('8');
}
else if(q2num == 1)
{q_str2 = '(2) 3点 A(−2 ,−8) , B(5 , 13) , C(a , 2a) が同一直線上にあるように定数 a の値を定めなさい.
';
q_str2 += '____________________________a= ';
msg_str2 = '(2)
(2点 A,B を通る直線の式を求め,次にこの直線が点 C を通るように,定数 a の値を定めるとよい.)
';
msg_str2 += ' 2点 A,B を通る1次関数の式を y=mx+n とおく.
';
msg_str2 += '点A(−2 ,−8) , B(5 , 13) を通るから
';
msg_str2 += '−8=−2m+n …(1)
13=5m+n …(2)
';
msg_str2 += '(1)(2) より m=3 , n=−2
';
msg_str2 += ' 直線の式は,y=3x−2 になる.
';
msg_str2 += 'この直線が点 C(a , 2a) を通るから 2a=3a−2
';
msg_str2 += '______________a=2 …(答)';
ans2[1] = new Array('2');
}
document.getElementById('counter2').innerHTML = '[ 第'+(q2num + 1)+'問 / 全'+(q2max)+'問中 ]';
document.getElementById('quest2').innerHTML = q_str2;
document.getElementById('msg2').innerHTML = '';
}
function help2()
{if(q2num >= q2max)
return;
document.getElementById('msg2').innerHTML = msg_str2;
}
function check2()
{
if(q2num >= q2max)
return;
tmp_doc = new Array(document.q2.t20, document.q2.t21, document.q2.t22, document.q2.t23);
doc = new Array();
tmp_kekka = new Array(document.getElementById('kr20'), document.getElementById('kr21'), document.getElementById('kr22'), document.getElementById('kr23') );
kekka = new Array();
my_marker_flag = 1;
for(kkk1 = 0; kkk1 < ans2[q2num].length; kkk1++)
{doc[kkk1] = tmp_doc[kkk1];
kekka[kkk1] = tmp_kekka[kkk1];
}
for(kkk1 = 0; kkk1 < ans2[q2num].length; kkk1++)
{if(zen2han(doc[kkk1].value) == ans2[q2num][kkk1] && doc[kkk1].value != '')
kekka[kkk1].innerHTML = '○';
else
{kekka[kkk1].innerHTML = '×';
my_marker_flag = 2;
}
}
// ********************************
once_answer = 1;
if(my_marker_flag1 == 1)
pg_ox_information[q0max+q1max+q2num] = 1;
// ***************************
}