테마
노트북 · 종합 모의고사
수리통계 자격시험
| 시험지 | 17_mock_qual_exam.pdf — 모의고사 A·B·C, 세트마다 180분 · 6문항 · 100점 |
| 풀이판 | 17_mock_qual_exam_sol.pdf — 완전 풀이, 소문항별 채점 기준, 관련 회차와 정리 |
| 범위 | 1–16회 전체 |
쓰는 순서
- 세트 하나를 시험지판으로 180분 동안 푼다. 노트, 워크북, 증명 도구 상자는 덮는다.
- 최종답이 수나 식인 소문항은 이 노트북의
check()로 맞는지 확인한다. 정답은 화면에 나오지 않는다. - 증명과 서술은 풀이판의 채점 기준으로 채점한다. 틀린 문항은 풀이판의 관련 줄에 적힌 회차로 돌아가, 그 정리의 단계형 증명과 워크북 B부를 다시 푼다.
python
import numpy as np
1. 검산 도구 ​
check("A3b", "1/2")처럼 문항 번호와 소문항 기호, 손으로 구한 답을 넣는다. 답은 수(3/8, 0.375)나 식의 문자열("(1-p)/(2-p)")로 넣는다. 소수로 넣으면 상대오차 0.1%까지 맞다고 본다. check()만 부르면 확인할 수 있는 번호가 나온다.
답 열쇠 셀 (내려받은 노트북에서 실행된다)
답 열쇠를 압축해 넣은 check() 정의 셀이다. 웹에서는 이 회차의 답 확인 페이지를 쓴다.
python
check()
text
확인할 수 있는 문항: A1a A1c A2a A2b A2d A3b A3c A3d A4a A4b A4c A4e A5b A5c A5d A5e A6b A6c A6d B1a B1c B1d B2d B3b B3c B3d B4c B4d B4e B5c B5d B6b B6c B6d C1c C1d C2b C2c C2d C3b C3c C3d C3e C3f C4b C4c C4d C5a C5b C5c C5d C6a C6b C6c C6d
2. 세트별로 모아 확인하기 ​
아래 세 사전에는 세트별로 확인할 수 있는 모든 번호가 None으로 들어 있다. 푼 소문항의 None을 자기 답으로 바꾸고 실행한다. None인 소문항은 건너뛴다.
python
mine_A = {k: None for k in sorted(_WB) if k.startswith("A")}
mine_B = {k: None for k in sorted(_WB) if k.startswith("B")}
mine_C = {k: None for k in sorted(_WB) if k.startswith("C")}
print("A:", list(mine_A))
print("B:", list(mine_B))
print("C:", list(mine_C))
text
A: ['A1a', 'A1c', 'A2a', 'A2b', 'A2d', 'A3b', 'A3c', 'A3d', 'A4a', 'A4b', 'A4c', 'A4e', 'A5b', 'A5c', 'A5d', 'A5e', 'A6b', 'A6c', 'A6d']
B: ['B1a', 'B1c', 'B1d', 'B2d', 'B3b', 'B3c', 'B3d', 'B4c', 'B4d', 'B4e', 'B5c', 'B5d', 'B6b', 'B6c', 'B6d']
C: ['C1c', 'C1d', 'C2b', 'C2c', 'C2d', 'C3b', 'C3c', 'C3d', 'C3e', 'C3f', 'C4b', 'C4c', 'C4d', 'C5a', 'C5b', 'C5c', 'C5d', 'C6a', 'C6b', 'C6c', 'C6d']
python
# 예: mine_A["A1a"] = "7/12" 처럼 채운 뒤 실행한다
check_all(mine_A)
check_all(mine_B)
check_all(mine_C)
text
0/0 맞음
0/0 맞음
0/0 맞음
python
# 자체 검사 (출력 없음): check()가 답 열쇠의 값과 그 소수를 맞다고 하는지 확인한다
for _k, _e in _WB.items():
assert _same(_e, _e["value"])
if not _e.get("vars") and "points" not in _e:
assert _same(_e, float(sp.sympify(_e["value"])))