Search

클래스2_문제05_OMR카드

대분류
STEP10 함수/클래스
문제 난이도
필수
소분류
클래스2_문제

영상

문제

<script> /* [문제] OMR카드 예제를 클래스로 구현하시오. 한 문제 당 20점이다. [예시] [1, 4, 3, 5, 2] [1, 1, 3, 5, 1] [O, X, O, O, X] 60점 */ class ScoreMng { } //------------------------------------------- let sm = new ScoreMng(); </script>
Java
복사

해설

<script> /* [문제] OMR카드 예제를 클래스로 구현하시오. 한 문제 당 20점이다. [예시] [1, 4, 3, 5, 2] [1, 1, 3, 5, 1] [O, X, O, O, X] 60점 */ class ScoreMng { omr = [1, 4, 3, 5, 2]; // 모범 정답 me = []; // 학생 답안 count = 0; // 정답을 맞춘 개수 score = 0; // 성적 setMyAnswer() { for(let i=0; i<5; i++) { this.me.push(Math.floor(Math.random() * 5) + 1); } } checkScore() { for(let i=0; i<5; i++) { if(this.omr[i] == this.me[i]) { this.count += 1; } } this.score = this.count * 20; } printOmr(arr) { document.write("["); for(let i=0; i<arr.length; i++) { document.write(arr[i]); if(i < arr.length - 1) { document.write(", "); } } document.write("]<br>"); } printResult() { document.write("["); for(let i=0; i<5; i++) { if(this.omr[i] == this.me[i]) { document.write("O"); } else { document.write("X"); } if(i < 4) { document.write(", "); } } document.write("]<br>"); document.write(this.score + "점"); } run() { this.setMyAnswer(); this.checkScore(); this.printOmr(this.omr); this.printOmr(this.me); this.printResult(); } } //------------------------------------------- let sm = new ScoreMng(); sm.run(); /* * 클래스 작성 순서 1. 클래스와 변수를 작성한다.(함수는 제외) 2. 클래스 메모리를 생성한다. 예) let sm = new ScoreMng() 3. 전체 실행할 함수를 호출한다. 예) sm.run() 4. 클래스로 돌아가서 run함수를 작성한다. 5. run함수 내에서 실행 순서에 따라 추가적인 함수 및 기능을 작성한다. */ </script>
Java
복사