sat

87 days ago by asddd12333

# 11학년 수학 수1 # 해석 - 삼각함수 - 삼각함수 # 7 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 global a, b, ans n = randint(1, 5) m = randint(1, 5) nlist = [QQ(n/m), QQ(m/n), m, n] a, b = 0, 0 while a <= b : a, b = random.sample(nlist, 2) ans = (a*b+1)/(sqrt(a^2+1)*sqrt(b^2+1)) print(a, b, ans) return ans # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 ans = problem_num() answer_list=set() answer_list.add(ans) while len(answer_list) != 5: answers = ans + randint(-5, 5)/(sqrt(a^2 + 1)*sqrt(b^2 + 1)) while answers in answer_list: answers = ans + randint(-5, 5)/(sqrt(a^2 + 1)*sqrt(b^2 + 1)) answer_list.add(answers) return list(answer_list) select_answer_list =problem_answer_list() answer=ans select_answer_list.sort() var('x') #문제 show(html("<p>두 직선 $y = %s$ 와 $y = %s$ 가 이루는 예각의 크기를 $\\theta$ 라 할 때, 아래 그림을 이용하여 $\\cos\\theta$ 를 구하시오.</p>"%(latex(a*x), latex(b*x)))) f = plot(a*x, 0, 3, color='black', legend_label=a*x) g = plot(b*x, 0, 3, color='black', legend_label=b*x) h = line([(2,-1),(2,max(2*a, 2*b)+2)], legend_label='x=2') r = arc((0,0), 1, sector=(arctan(a),arctan(b)), color='green') A = point([(2, 2*a)], color = 'red', size = 15, legend_label=(2, 2*a)) B = point([(2, 2*b)], color = 'red', size = 30, legend_label=(2, 2*b)) show(f+g+h+r+A+B, aspect_ratio=1, ticks = [1, 1]) 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> $x=2$ 인 직선이 주어진 이유를 잘 생각해 보자. <br> 위의 그림에서 직선과 $y=%s$ 와 $y=%s$ 의 교점을 각각 $A$ , $B$ 라고 하면 $A=(2, %s),\\ B=(2, %s)$ 이다. <br> 이때 $\\overline{OA}=%s, \\ \\overline{OB}=%s, \\ \\overline{AB}=%s$ 이므로 $\\triangle{OAB}$ 에 코사인 제2법칙을 적용한다. <br> $\\cos\\theta = \\frac{(%s)^2+(%s)^2-(%s)^2}{2\\times(%s)(%s)} = %s$"%(latex(a*x), latex(b*x), latex(2*a), latex(2*b), latex(sqrt(4+4*a^2)), latex(sqrt(4+4*b^2)), latex(2*(a-b)), latex(sqrt(4+4*a^2)), latex(sqrt(4+4*b^2)), latex(2*(a-b)), latex(sqrt(4+4*a^2)), latex(sqrt(4+4*b^2)), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) 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$ 인 직선이 주어진 이유를 잘 생각해 보자. <br> 위의 그림에서 직선과 $y=%s$ 와 $y=%s$ 의 교점을 각각 $A$ , $B$ 라고 하면 $A=(2, %s),\\ B=(2, %s)$ 이다. <br> 이때 $\\overline{OA}=%s, \\ \\overline{OB}=%s, \\ \\overline{AB}=%s$ 이므로 $\\triangle{OAB}$ 에 코사인 제2법칙을 적용한다. <br> $\\cos\\theta = \\frac{(%s)^2+(%s)^2-(%s)^2}{2\\times(%s)(%s)} = %s$"%(latex(a*x), latex(b*x), latex(2*a), latex(2*b), latex(sqrt(4+4*a^2)), latex(sqrt(4+4*b^2)), latex(2*(a-b)), latex(sqrt(4+4*a^2)), latex(sqrt(4+4*b^2)), latex(2*(a-b)), latex(sqrt(4+4*a^2)), latex(sqrt(4+4*b^2)), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '0'>")) 
       

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

# 11학년 수학 수2 # 기하 - 평면벡터 - 평면벡터의 성분과 내적 # 9 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 global a, b, ans a = vector(map(int, (randint(-4, 4) for i in range(3)))) b = vector(map(int, (randint(-4, 4) for i in range(3)))) ans = a.inner_product(b)/(a.norm()*b.norm()) print(a, b, ans) return ans # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 ans = problem_num() answer_list=set() answer_list.add(ans) while len(answer_list) != 5: answers = ans + randint(-5, 5)/(a.norm()*b.norm()) while answers in answer_list: answers = ans + randint(-5, 5)/(a.norm()*b.norm()) answer_list.add(answers) return list(answer_list) select_answer_list =problem_answer_list() answer=ans select_answer_list.sort() #문제 show(html("<p>두 벡터 $\\vec{a}=%s, \\ \\vec{b}=%s$ 가 이루는 각의 크기를 $\\theta$ 라 할 때, $\\cos \\theta$ 의 값은?</p>"%(latex(a), latex(b)))) 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> 내적의 정의에 따라 $\\cos \\theta = \\frac{\\vec{a} \\cdot \\vec{b}}{|\\vec{a}||\\vec{b}|}$에 벡터를 대입한다. <br> $\\cos \\theta = \\frac{%s + %s + %s}{%s \\times %s}=%s$ 이다."%(latex(a[0]*b[0]), latex(a[1]*b[1]), latex(a[2]*b[2]), latex(a.norm()), latex(b.norm()), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) 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> 내적의 정의에 따라 $\\cos \\theta = \\frac{\\vec{a} \\cdot \\vec{b}}{|\\vec{a}||\\vec{b}|}$에 벡터를 대입한다. <br> $\\cos \\theta = \\frac{%s + %s + %s}{%s \\times %s}=%s$ 이다."%(latex(a[0]*b[0]), latex(a[1]*b[1]), latex(a[2]*b[2]), latex(a.norm()), latex(b.norm()), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '0'>")) 
       

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

# 11학년 수학 수2 # 기하 - 공간도형과 공간좌표 - 공간좌표 # 10 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 global a, b, ans a = vector(map(int, (randint(-4, 2) for i in range(3)))) b = randint(12, 15) ans = (abs(a[0]+a[1]+a[2]-b)-3)/sqrt(3) print(a, b, ans) return ans # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 ans = problem_num() answer_list=set() answer_list.add(ans) while len(answer_list) != 5: answers = ans + randint(-5, 5)/sqrt(3) while answers in answer_list: answers = ans + randint(-5, 5)/sqrt(3) answer_list.add(answers) return list(answer_list) select_answer_list =problem_answer_list() answer=ans select_answer_list.sort() var('x','y','z') #문제 show(html("<p>구 $(%s)^2+(%s)^2+(%s)^2=3$ 위의 점에서 평면 $x+y+z=%s$ 에 이르는 거리의 최솟값은?</p>"%(latex(x-a[0]), latex(y-a[1]), latex(z-a[2]), latex(b)))) 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> 구 위의 점과 평면과의 거리의 최솟값은, 구의 중심과 평면과의 거리에서 반지름을 뺀 것과 같다. <br> 구의 중심과 평면 사이의 거리는 $\\frac{|%s\\times1+%s\\times1+%s\\times1-%s|}{\\sqrt{1+1+1}}=%s$ 이고, <br> 따라서 최단거리는 구의 반지름 $\\sqrt{3}$ 을 뺀 $%s$ 이다."%(latex(a[0]), latex(a[1]), latex(a[2]), latex(b), latex(answer+sqrt(3)), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) 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> 구 위의 점과 평면과의 거리의 최솟값은, 구의 중심과 평면과의 거리에서 반지름을 뺀 것과 같다. <br> 구의 중심과 평면 사이의 거리는 $\\frac{|%s\\times1+%s\\times1+%s\\times1-%s|}{\\sqrt{1+1+1}}=%s$ 이고, <br> 따라서 최단거리는 구의 반지름 $\\sqrt{3}$ 을 뺀 $%s$ 이다."%(latex(a[0]), latex(a[1]), latex(a[2]), latex(b), latex(answer+sqrt(3)), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '0'>")) 
       

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

# 11학년 수학 확률과 통계 # 확률과 통계 - 통계 - 확률분포 # 11 import random def problem_num(): #문제에 들어갈 값 범위 랜덤 함수 global n, m, ans n = randint(5, 9)*10 m = randint(10, 40) ans = m*(n-m)/n print(n, m, ans) return ans # 답과 문제 랜덤 값 반환 def problem_answer_list(): # 답안과 결합될 숫자(랜덤화 및 중복 값 제거)를 생성하는 함수 ans = problem_num() answer_list=set() answer_list.add(ans) while len(answer_list) != 5: answers = ans + randint(-5, 5)*m/n while answers in answer_list: answers = ans + randint(-5, 5)*m/n answer_list.add(answers) return list(answer_list) select_answer_list =problem_answer_list() answer=ans select_answer_list.sort() #문제 show(html("<p>확률변수 $X$ 가 이항분포 $B(%s, p)$ 를 따르고 $E(X) = %s$ 일때, $V(X)$ 를 구하여라. </p>"%(latex(n), latex(m)))) 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> 표본의 수를 $n$, 사건이 발생할 확률을 $p$ 라고 하면 이항분포의 평균과 분산은 각각 $np, \\ np(1-p)$ 이다. <br> 문제에서 $E(X) = np = %s \\times p = %s$ 였으므로 $p=%s$ 이다. <br> 따라서 $V(X) = np(1-p) = %s \\times %s \\times %s = %s$ 이다."%(latex(n), latex(m), latex(m/n), latex(n), latex(m/n), latex((n-m)/n), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '1'>")) 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> 표본의 수를 $n$, 사건이 발생할 확률을 $p$ 라고 하면 이항분포의 평균과 분산은 각각 $np, \\ np(1-p)$ 이다. <br> 문제에서 $E(X) = np = %s \\times p = %s$ 였으므로 $p=%s$ 이다. <br> 따라서 $V(X) = np(1-p) = %s \\times %s \\times %s = %s$ 이다."%(latex(n), latex(m), latex(m/n), latex(n), latex(m/n), latex((n-m)/n), latex(answer)))) show(html("<input type = 'hidden' name = 'checking' class = 'val_chk' value = '0'>")) 
       

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