뺄셈의 첫걸음, 0은 그대로 두고 백끼리 쏙! — 몇백 몇십 − 몇백 세로식 원샷 연산 웹앱
🧮 2022 개정교육과정 초등학교 3학년 1학기 수학 '덧셈과 뺄셈' 단원 — 받아내림(borrowing)이 없는 "몇백 몇십 − 몇백" 형태의 뺄셈(예: 750 − 300 = 450)을 세로식(vertical format)으로 직접 풀어보며 뺄셈의 기본 자릿값 원리를 익히는 인터랙티브 웹앱입니다. 일의 자리(0−0=0)를 직접 입력하며 자릿값을 체감하고, 덧셈으로 착각하여 계산하는 전형적인 부호 오류를 정밀하게 진단합니다.
1. 3대 핵심 분석 비교표
| 무엇이 바뀌었나요? / 영역 | 초보자를 위한 쉬운 설명 | 이렇게 한번 써보세요! |
|---|---|---|
| 일의 자리 '0'의 직접 입력 | 0−0=0을 자동으로 채워주지 않고 학생이 직접 입력하게 하여, 비어 있는 자릿값을 0으로 확인하는 기초 개념을 다집니다. | 오른쪽 일의 자리부터 0 ➔ 십의 자리 ➔ 백의 자리 순서로 차분히 연산. |
| 덧셈 착각 오류 감지 | 앞서 배운 덧셈의 잔상으로 뺄셈 기호(−)를 보지 못하고 더해버린 계산(예: 750−300을 1050으로 셈)을 감지합니다. | "가운데 연산 기호가 빼기(−)예요! 수가 더 작아져야 해요"라는 부호 확인 처방 안내. |
| 원샷 입력 & 힌트 플래시 | 정답·오답 관계없이 한 번 입력 즉시 다음 칸으로 이동하여 찍기 없는 정직한 풀이를 유도하고, 취약 시 힌트가 깜빡입니다. | 힌트 클릭 시 일(0−0=0) ➔ 십(그대로) ➔ 백(백끼리 뺌) 순서로 계산 과정이 노란색으로 시각화. |
2. 초보자를 위한 바이브 코딩 실전 사용 예시
- 프롬프트 복사 — 아래 '제미나이 전용 에러 제로 프롬프트' 전체를 복사합니다.
- 역질문 답변 — 제미나이가 묻는 화면 구성과 기본 문제 수에 답합니다.
- HTML 파일 실행 — 메모장에 붙여넣고
몇백몇십_빼기_몇백.html로 저장한 뒤 더블클릭합니다.
제미나이 전용 에러 제로 프롬프트
[역할 정의]
너는 초등학교 수학 교육과정 및 인터랙티브 웹앱 전문 프런트엔드 개발자야.
초등학교 3학년 1학기 학생들이 받아내림이 없는 "몇백 몇십 − 몇백" 뺄셈을 세로식으로 직접 풀어보는 단일 HTML 웹앱을 만들어줘.
[목적 및 대상]
- 대상: 초등학교 3학년 1학기 학생
- 연산 유형: 몇백 몇십 − 몇백 (예: 750 − 300 = 450, 받아내림 없음, 일의 자리는 둘 다 0, 차는 양수)
[기술 조건 및 안전장치]
1. 단일 index.html 파일 완결성: 외부 서버, DB 없이 브라우저에서 단일 파일로 100% 동작한다.
2. 무설치 Web Audio API: 외부 음원 없이 내장 발진기로 정답 딩 소리와 오답 부드러운 저음을 직접 합성한다.
3. 오프라인 폴백: CDN 미로드 시에도 시스템 폰트와 CSS 애니메이션으로 완벽 구동된다.
4. 학생 개인정보 0: 학생 실명 없이 세션 메모리로만 연산 기록을 처리한다.
[문제 생성 알고리즘]
- generateProblem() 함수로 분리: 첫 번째 수는 210~990(일의 자리는 0), 두 번째 수는 100~800(백 단위 수).
- 첫 번째 수 > 두 번째 수로 차는 항상 양수, 받아내림 없음. 직전 문제와 동일한 수 조합 배제.
[풀이 UI 및 세로식 뺄셈 인터랙션]
- 세로식 구성: 피감수 ➔ − 기호 ➔ 감수 ➔ 가로줄 ➔ 답안 칸(일·십·백 3개, 각 변 84px 이상).
- 자릿값 색상: 백=파랑, 십=초록, 일=빨강. 현재 입력 칸 노란 테두리 하이라이트.
- 일의 자리부터 백의 자리 순서 입력: 일의 자리(0−0=0)도 학생이 직접 0을 입력하여 자릿값 체감.
- 원샷 입력: 한 번 입력 시 정/오 무관 즉시 다음 칸으로 이동(재입력 불가). 오답 시 빨간 배경+shake(오답 숫자 유지). 전원 정답 시 confetti 축하 파티클.
- 힌트 모드: 일(0−0=0) ➔ 십(뺄 것이 없으니 그대로) ➔ 백(백끼리 뺌) 순서 애니메이션 표시.
[결과 화면 및 오답 분석]
- 요약 카드: 맞힌 문제, 틀린 문제, 힌트 사용 횟수.
- 맞춤형 원인 진단:
* 뺄셈 대신 덧셈 실수: "빼기(−) 기호예요! 더하지 않고 빼야 수가 작아져요." 안내
* 일의 자리 0 실수: "0에서 0을 빼면 0이 남아요. 빈자리에 0을 꼭 써주세요." 안내
- "맞춤 보충 연습(5문제)" 및 오답 복습 제공.
[❓ 역질문 유도]
코드를 즉시 작성하지 말고, 아래 3가지 질문을 먼저 나에게 던져줘:
1. 기본 문제 수는 5문제, 10문제, 20문제 중 어떤 것을 기본값으로 할까요?
2. 뺄셈 기호(−)의 색상을 주황색 등으로 강조하여 덧셈과의 혼동을 줄일까요?
3. 전체 완료 시 "다음 단계: 세 자리 수 뺄셈 도전!" 배너를 띄울까요?
📚 기술·교육 참고 링크
- 2022 개정 초등학교 수학과 교육과정: 자연수의 뺄셈 개념과 자릿값 이해
- Web Audio API 무설치 사운드 합성 표준 명세서