고1(20,27,30,34,37,44)

123 days ago by nim_od

#20 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 a=randint(-10,10) b=randint(-10,10) while a*b==0: a=randint(-10,10) b=randint(-10,10) return a,b # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 a,b =problem_num() answer_list=[] answer_list.append([a,b]) while len(answer_list)!=5: _a,_b = problem_num() answers=[_a,_b] if answers in answer_list: continue answer_list.insert(0,answers) return answer_list,a,b select_answer_list,a,b =problem_answer_list() answer=select_answer_list[4] random.shuffle(select_answer_list) #문제 show(html("<p>복소수 $z=a+bi$가 $z+z_i=%s, z-z_i=%si$을 만족할 때, $a, b$의 값을 각각 구하여라. <br>(단, $a, b$는 실수, $z_i$는 $z$의 켤레복소수)</p>"%(2*a,2*b))) sp = LatexExpr('\\quad') spp = LatexExpr('\\qquad') for i in range(5): show(html("<p>%s. $a = %s, b = %s$</p>"%(i+1,latex(select_answer_list[i][0]), latex(select_answer_list[i][1])))) #답안 확인 @interact def _(answers = selector([(None, ""),(select_answer_list[0], "1"), (select_answer_list[1], "2"), (select_answer_list[2], "3"), (select_answer_list[3], "4"), (select_answer_list[4], "5")], buttons=True), auto_update=False): if answer == answers: show(html("<p><span style='color:blue'>Correct(정답)</span></p><p>Answer(답안): <br>복소수 $z$, $z_i$는 상수 부분은 같고, 복소수의 부호가 정반대인 켤레복소수 관계이므로 $z=a+bi$일 때, $z_i=a-bi$이다. 따라서 $z+z_i=a+bi+a-bi=2a, z-z_i=a+bi-(a-bi)=2bi$이다. 정리하면 $2a=%s, 2bi=%s$이고, $a=%s, b=%s$가 된다."%(2*a,2*b,a,b))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('success') fl.close() elif answers == None: show(html("<p><span style='color:blue'>Please input your answer in the spaces above.</span></p><p>(위의 빈칸에 답을 입력하고 [Update(확인)] 버튼을 클릭하세요.)</p>")) else: show(html("<p><span style='color:red'>Incorrect(오답)</span></p><p>Answer(답안): <br>복소수 $z$, $z_i$는 상수 부분은 같고, 복소수의 부호가 정반대인 켤레복소수 관계이므로 $z=a+bi$일 때, $z_i=a-bi$이다. 따라서 $z+z_i=a+bi+a-bi=2a, z-z_i=a+bi-(a-bi)=2bi$이다. 정리하면 $2a=%s, 2bi=%s$이고, $a=%s, b=%s$가 된다."%(2*a,2*b,a,b))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '0'>")) fl = open("record.txt",'w') fl.write('fail') fl.close() 
       

Click to the left again to hide and once more to show the dynamic interactive window

#27 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 a=randint(-10,10) b=randint(-10,10) while a*b==0 or a==b: a=randint(-10,10) b=randint(-10,10) f(x)=x^2 - (a+b)*x + a*b return a,b,f(x) # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 a,b,f =problem_num() answer_list=[] answer_list.append(f) while len(answer_list)!=5: _a,_b,_f = problem_num() answers=_f if answers in answer_list: continue answer_list.insert(0,answers) return answer_list,a,b,f select_answer_list,a,b,f =problem_answer_list() answer=select_answer_list[4] random.shuffle(select_answer_list) #문제 show(html("<p>두 수 $%s, %s$를 근으로 하고, $x^2$의 계수가 $1$인 이차 방정식을 구하시오.</p>"%(a, b))) sp = LatexExpr('\\quad') spp = LatexExpr('\\qquad') for i in range(5): show(html("<p>%s. $f(x)=%s$</p>"%(i+1,latex(select_answer_list[i])))) #답안 확인 @interact def _(answers = selector([(None, ""),(select_answer_list[0], "1"), (select_answer_list[1], "2"), (select_answer_list[2], "3"), (select_answer_list[3], "4"), (select_answer_list[4], "5")], buttons=True), auto_update=False): if answer == answers: show(html("<p><span style='color:blue'>Correct(정답)</span></p><p>Answer(답안): <br>$x^2$의 계수가 1이고, $a, b$를 두 근으로 하는 이차방정식의 $x$의 계수와 상수항은 각각 $-(a+b), ab$이다. 따라서 $x^2-(%s+%s)x+(%s)$x$(%s)=%s$"%(a,b,a,b,latex(f)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('success') fl.close() elif answers == None: show(html("<p><span style='color:blue'>Please input your answer in the spaces above.</span></p><p>(위의 빈칸에 답을 입력하고 [Update(확인)] 버튼을 클릭하세요.)</p>")) else: show(html("<p><span style='color:red'>Incorrect(오답)</span></p><p>Answer(답안): <br>$x^2$의 계수가 1이고, $a, b$를 두 근으로 하는 이차방정식의 $x$의 계수와 상수항은 각각 $-(a+b), ab$이다. 따라서 $x^2-(%s+%s)x+(%s)\\times(%s)=%s$"%(a,b,a,b,latex(f)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '0'>")) fl = open("record.txt",'w') fl.write('fail') fl.close() 
       

Click to the left again to hide and once more to show the dynamic interactive window

#30 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 n1=randint(-10,10) n2=randint(-10,10) while n1*n2==0 or n1==1: n1=randint(-10,10) n2=randint(-10,10) var('k') x1=2*k-n1 x0=k^2-k-n2 F=x^2 + 2*k*x + k^2-k g=n1*x+n2 f=F-g D=x1^2-4*x0 K=solve(D<0,k)[0][0] return K,D,f,g,n1,n2 # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 k,D,f,g,n1,n2 =problem_num() answer_list=[] answer_list.append(k) while len(answer_list)!=5: _k,_D,_f,_g,_n1,_n2 = problem_num() answers=_k if answers in answer_list: continue answer_list.insert(0,answers) return answer_list,k,D,f,g,n1,n2 select_answer_list,k,D,f,g,n1,n2 =problem_answer_list() answer=select_answer_list[4] random.shuffle(select_answer_list) #문제 show(html("<p>$x$에 대한 이차방정식 $%s=%s$이 서로 다른 두 허근을 갖도록 하는 실수 $k$값의 범위를 구하시오.</p>"%(latex(f),latex(g)))) sp = LatexExpr('\\quad') spp = LatexExpr('\\qquad') for i in range(5): show(html("<p>%s. $%s$</p>"%(i+1,latex(select_answer_list[i])))) #답안 확인 @interact def _(answers = selector([(None, ""),(select_answer_list[0], "1"), (select_answer_list[1], "2"), (select_answer_list[2], "3"), (select_answer_list[3], "4"), (select_answer_list[4], "5")], buttons=True), auto_update=False): if answer == answers: show(html("<p><span style='color:blue'>Correct(정답)</span></p><p>Answer(답안): 이차방정식 $x^2+2kx+k^2-k=%s$ <br>즉, $%s=0$ 의 판별식을 $D$라 할 때, 해당 이차방정식이 서로 다른 두 허근을 가지려면 <br>$D=(2k-(%s))^2-4(k^2-k-(%s))=%s<0$이어야 한다. <br>식을 정리하면 $%s<0$ 이므로,<br>$\\therefore %s$"%(latex(g),latex(f),n1,n2,latex(D),latex(factor(D)),k))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('success') fl.close() elif answers == None: show(html("<p><span style='color:blue'>Please input your answer in the spaces above.</span></p><p>(위의 빈칸에 답을 입력하고 [Update(확인)] 버튼을 클릭하세요.)</p>")) else: show(html("<p><span style='color:red'>Incorrect(오답)</span></p><p>Answer(답안): 이차방정식 $x^2+2kx+k^2-k=%s$ <br>즉, $%s=0$ 의 판별식을 $D$라 할 때, 해당 이차방정식이 서로 다른 두 허근을 가지려면 <br>$D=(2k-(%s))^2-4(k^2-k-(%s))=%s<0$이어야 한다. <br>식을 정리하면 $%s<0$ 이므로,<br>$\\therefore %s$"%(latex(g),latex(f),n1,n2,latex(D),latex(factor(D)),k))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '0'>")) fl = open("record.txt",'w') fl.write('fail') fl.close() 
       

Click to the left again to hide and once more to show the dynamic interactive window

#34 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 n1=randint(-10,10) n2=randint(-10,10) while n1*n2==0 or n1==n2: n1=randint(-10,10) n2=randint(-10,10) var('a') x0=+(n1+n2)*a-n1*n2 af=a^2-(n1+n2)*a+n1*n2 ans1,ans2 = solve(af < 0, a)[0] return n1,n2,x0,af,[ans1,ans2] # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 n1,n2,x0,af,ans =problem_num() answer_list=[] answer_list.append(ans) while len(answer_list)!=5: _n1,_n2,_x0,_af,_ans = problem_num() answers=_ans if answers in answer_list: continue answer_list.insert(0,answers) return answer_list,n1,n2,x0,af,ans select_answer_list,n1,n2,x0,af,ans =problem_answer_list() answer=select_answer_list[4] random.shuffle(select_answer_list) #문제 show(html("<p>이차부등식 $x^2-2ax+%s \\le 0$의 해가 존재하지 않을 때 실수 a 값의 범위를 구하시오.</p>"%(latex(x0)))) sp = LatexExpr('\\quad') spp = LatexExpr('\\qquad') for i in range(5): show(html("<p>%s. $\\;%s,%s$</p>"%(i+1,select_answer_list[i][0],select_answer_list[i][1]))) #답안 확인 @interact def _(answers = selector([(None, ""),(select_answer_list[0], "1"), (select_answer_list[1], "2"), (select_answer_list[2], "3"), (select_answer_list[3], "4"), (select_answer_list[4], "5")], buttons=True), auto_update=False): if answer == answers: show(html("<p><span style='color:blue'>Correct(정답)</span></p><p>Answer(답안): 이차방정식 $x^2-2ax+%s=0$의 판별식을 $D$라고 할 때, $D<0$이어야 하므로<br>$ \\frac D4=%s<0 \\quad\\to\\quad %s <0 $<br>$ \\therefore %s, %s$"%(latex(x0),latex(af),latex(factor(af)),answer[0],answer[1]))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('success') fl.close() elif answers == None: show(html("<p><span style='color:blue'>Please input your answer in the spaces above.</span></p><p>(위의 빈칸에 답을 입력하고 [Update(확인)] 버튼을 클릭하세요.)</p>")) else: show(html("<p><span style='color:red'>Incorrect(오답)</span></p><p>Answer(답안): 이차방정식 $x^2-2ax+%s=0$의 판별식을 $D$라고 할 때, $D<0$이어야 하므로<br> $\\frac D4=%s<0 \\quad\\to\\quad %s <0 $<br>$ \\therefore %s, %s$"%(latex(x0),latex(af),latex(factor(af)),answer[0],answer[1]))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('fail') fl.close() 
       

Click to the left again to hide and once more to show the dynamic interactive window

#37 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 x=randint(-5,5) y=randint(-5,5) xp=randint(-5,5) yp=randint(-5,5) while x*y*xp*yp==0: x=randint(-5,5) y=randint(-5,5) xp=randint(-5,5) yp=randint(-5,5) a=xp*3-x*2 b=yp*3-y*2 return a,b,x,y,xp,yp # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 a,b,x,y,xp,yp =problem_num() answer_list=[] answer_list.append(a+b) while len(answer_list)!=5: _a,_b,_x,_y,_xp,_yp = problem_num() answers=_a+_b if answers in answer_list: continue answer_list.insert(0,answers) return answer_list,a,b,x,y,xp,yp select_answer_list,a,b,x,y,xp,yp =problem_answer_list() answer=select_answer_list[4] random.shuffle(select_answer_list) #문제 show(html("<p>두 점 $A(%s, %s)$, $B(a,b)$를 이은 선분 $AB$를 $1:2$로 내분하는 점 $P$의 좌표가 $(%s, %s)$일 때, $a+b$의 값을 구하시오.</p>"%(x,y,xp,yp))) sp = LatexExpr('\\quad') spp = LatexExpr('\\qquad') for i in range(5): show(html("<p>%s. $%s$</p>"%(i+1,select_answer_list[i]))) #답안 확인 @interact def _(answers = selector([(None, ""),(select_answer_list[0], "1"), (select_answer_list[1], "2"), (select_answer_list[2], "3"), (select_answer_list[3], "4"), (select_answer_list[4], "5")], buttons=True), auto_update=False): if answer == answers: show(html("<p><span style='color:blue'>Correct(정답)</span></p><p>Answer(답안): <br>$A(%s , %s)$, $B(a,b)$를 이은 선분 $AB$를 $1:2$로 내분하는 점 $P$의 좌표는 <br> $P=(\\cfrac {1 \\times a + 2 \\times (%s)}{1 + 2},\\cfrac {1 \\times b + 2 \\times (%s)}{1 + 2})$<br>이므로 $\\cfrac {a+(%s)} 3=%s , \\quad \\cfrac {b+(%s)} 3 = %s$ <br>$a=%s,\\quad b=%s \\qquad \\therefore a+b=%s$"%(x,y,x,y,2*x,xp,2*y,yp,a,b,a+b))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('success') fl.close() elif answers == None: show(html("<p><span style='color:blue'>Please input your answer in the spaces above.</span></p><p>(위의 빈칸에 답을 입력하고 [Update(확인)] 버튼을 클릭하세요.)</p>")) else: show(html("<p><span style='color:red'>Incorrect(오답)</span></p><p>Answer(답안): <br>$A(%s , %s)$, $B(a,b)$를 이은 선분 $AB$를 $1:2$로 내분하는 점 $P$의 좌표는 <br> $P=(\\cfrac {1 \\times a + 2 \\times (%s)}{1 + 2},\\cfrac {1 \\times b + 2 \\times (%s)}{1 + 2})$<br>이므로 $\\cfrac {a+(%s)} 3=%s , \\quad \\cfrac {b+(%s)} 3 = %s$ <br>$a=%s, \\quadb=%s \\qquad \\therefore a+b=%s$"%(x,y,x,y,2*x,xp,2*y,yp,a,b,a+b))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('fail') fl.close() 
       

Click to the left again to hide and once more to show the dynamic interactive window

#44 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 x=randint(-10,10) y=randint(-10,10) c=randint(1,100) while x*y==0: x=randint(-10,10) y=randint(-10,10) var('a') assume(a,'integer') f=(x-a)^2+(a-y)^2 ans=solve(f==c,a) if type(ans) is not list or len(ans)!=2: x,y,c,ans,f = problem_num() elif ans[0]*ans[1]>=0: x,y,c,ans,f = problem_num() return x,y,c,ans,f # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 x,y,c,ans,f =problem_num() a1,a2=ans if a1>0: a=a1 else: a=a2 answer_list=[] answer_list.append(a) print(ans) while len(answer_list)!=5: _x,_y,_c,_ans,_f = problem_num() _a1,_a2=_ans if _a1>0: _a=_a1 else: _a=_a2 answers=_a if answers in answer_list: continue print(_ans) answer_list.insert(0,answers) return answer_list,x,y,c,a1,a2,f,a select_answer_list,x,y,c,a1,a2,f,a =problem_answer_list() answer=select_answer_list[4] random.shuffle(select_answer_list) #문제 show(html("<p>두 점 $A(%s, a)$, $B(a,%s)$ 사이의 거리가 $%s$일 때, 양수 $a$ 값을 구하시오.</p>"%(x,y,latex(sqrt(c))))) sp = LatexExpr('\\quad') spp = LatexExpr('\\qquad') for i in range(5): show(html("<p>%s. $a=%s$</p>"%(i+1,select_answer_list[i]))) #답안 확인 @interact def _(answers = selector([(None, ""),(select_answer_list[0], "1"), (select_answer_list[1], "2"), (select_answer_list[2], "3"), (select_answer_list[3], "4"), (select_answer_list[4], "5")], buttons=True), auto_update=False): if answer == answers: show(html("<p><span style='color:blue'>Correct(정답)</span></p><p>Answer(답안): <br>$\\overline{AB}=\\sqrt{(%s-a)^2+(a-(%s))^2}=%s$<br>양변을 제곱하여 정리하면,<br>$%s=0 \\quad \\to \\quad %s=0 \\quad \\to \\quad %s=0$<br>$a=%s$ 또는 $a=%s \\qquad$ 따라서 양수 $a$의 값은 $%s$ 이다."%(x,y,latex(sqrt(c)),latex(f-c),latex(expand(f-c)),latex(factor(f-c)),a1,a2,a))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('success') fl.close() elif answers == None: show(html("<p><span style='color:blue'>Please input your answer in the spaces above.</span></p><p>(위의 빈칸에 답을 입력하고 [Update(확인)] 버튼을 클릭하세요.)</p>")) else: show(html("<p><span style='color:red'>Incorrect(오답)</span></p><p>Answer(답안): <br>$\\overline{AB}=\\sqrt{((%s)-a)^2+(a-(%s))^2}=%s$<br>양변을 제곱하여 정리하면,<br>$%s=0 \\quad \\to \\quad %s=0 \\quad \\to \\quad %s=0$<br>$a=%s$ 또는 $a=%s \\qquad$ 따라서 양수 $a$의 값은 $%s$ 이다."%(x,y,latex(sqrt(c)),latex(f-c),latex(expand(f-c)),latex(factor(f-c)),a1,a2,a))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) fl = open("record.txt",'w') fl.write('fail') fl.close() 
       

Click to the left again to hide and once more to show the dynamic interactive window