코드 안의 회색 줄은 원문 영어 주석이고, 파란 줄은 그 영어 주석의 번역이며, 연분홍 줄은 코드가 하는 일의 설명이다.
| 번호 | 이름 | 종류 | CL 코드 원문, 번역, 설명 |
| 1 | note1 | 메모 | r = randomGenerator()
▶ 변수 r은 씨앗(seed) 없이 만든 난수 발생기(randomGenerator())로 한다.
randomGenerator(…)는 난수 발생기를 만드는 함수이며, 괄호 안에 숫자(예: button.pressCount)를 씨앗으로 주면 그 값이 바뀔 때 숫자가 다시 무작위로 정해진다. 난수는 학생마다 다르지만 페이지를 새로 고쳐도 바뀌지 않는다.
A = r.int(-12,-2)
▶ 변수 A는 난수 발생기 r이 만든 -12 이상 -2 이하의 무작위 정수(r.int(-12,-2))로 한다.
r.int(최소, 최대)는 난수 발생기의 함수로 round(최소)와 round(최대) 사이(양 끝 포함)의 정수를 무작위로 만든다.
B = r.int(3,7)
▶ 변수 B는 같은 방식으로 만든 3 이상 7 이하의 무작위 정수(r.int(3,7))로 한다.
#evaluate C
▷ C를 계산한다.
C = numericValue(`${A}*${B}`)
▶ 변수 C는 latex 글자 `${A}*${B}`를 numericValue로 계산한 값, 즉 A 곱하기 B로 한다.
numericValue(…)는 latex 글자를 숫자로 계산하는 함수이고, 계산하지 못하면 NaN을 돌려준다. ${ }는 글자 안에 변수의 값을 끼워 넣는 표기이다.
#create a random equation
#wrapped in backticks so that it will be rendered with CL
▷ 무작위 식을 만든다. CL로 표시되도록 백틱으로 감싼다.
equation = `${A}x+${B}y=${C}`
▶ 변수 equation은 백틱(`)으로 감싼 latex 글자 ${A}x+${B}y=${C}로 한다.
${ }는 글자 안에 변수의 값을 끼워 넣는 표기이다.
|
| 2 | 레이블 없는 수식 답변 | 수식 답변 | correct: this.numericValue = note1.script.B
▶ 수식 답변의 정답 조건(correct)은 이 입력의 계산한 값이 메모 note1의 변수 B와 같을 때(this.numericValue = note1.script.B) 참으로 한다.
numericValue는 입력한 식을 계산한 값을 가져온다. note1.script.B처럼 구성요소.script.변수는 다른 구성요소의 스크립트에서 정의한 변수의 값을 가져오는 표기이다.
|