← 수업 제작 도구
홈 › Advanced › Random Numbers › Try It 2

Try It 2. Updating Random with a button

원본: Computation Layer 문서(Random Numbers) · Try It (원본 화면)

Try It 번호2 / 2
원본 활동의 화면화면 3
문서에서 이 Try It이 붙은 코드코드 상자 3, 코드 상자 4

1. 화면 캡처 (빨간 번호 = 아래 표의 번호)

Try It 2 캡처

화면에 적힌 영어 문구(원문):

2. CL이 입력된 곳

코드 안의 회색 줄은 원문 영어 주석이고, 파란 줄은 그 영어 주석의 번역이며, 연분홍 줄은 코드가 하는 일의 설명이다.

번호이름종류CL 코드 원문, 번역, 설명
1prompt메모
r = randomGenerator(btn1.pressCount)
▶ 변수 r은 버튼 btn1이 눌린 횟수를 씨앗으로 준 난수 발생기로 한다.
randomGenerator(…)는 난수 발생기를 만드는 함수이며, 씨앗이 바뀔 때 숫자가 다시 무작위로 정해진다. pressCount는 행동 버튼이 눌린 횟수를 알려 준다.
a = r.int(-20,20) ▶ 변수 a는 난수 발생기 r이 만든 -20 이상 20 이하의 무작위 정수(r.int(-20,20))로 한다.
r.int(최소, 최대)는 난수 발생기의 함수로 round(최소)와 round(최대) 사이(양 끝 포함)의 정수를 무작위로 만든다.
b = r.int(-20,20) ▶ 변수 b는 같은 방식으로 만든 -20 이상 20 이하의 무작위 정수(r.int(-20,20))로 한다. #beautiful prompt, taking into account the - in b if it's negative ▷ 멋진 문제 글을 만든다. b가 음수이면 부호 -를 고려한다. prompt = when b >= 0 `${a}+${b}` otherwise `${a}${b}` ▶ 변수 prompt는 b가 0 이상이면 latex 글자 `${a}+${b}`, 그렇지 않으면 `${a}${b}`로 한다.
b가 음수이면 b 자체에 부호 -가 있으므로 + 없이 이어 붙인다. when은 조건을 차례로 확인해 처음 맞는 값을 쓴다.
2레이블 없는 수식 답변수식 답변
disableEvaluation: true
▶ 계산 표시 끄기(disableEvaluation)는 true로 한다.
disableEvaluation이 참이면 학생이 입력한 식의 계산 값이 학생 쪽에 표시되지 않는다.
isASimpleNumber = patterns.number.matches(this.latex) ▶ 변수 isASimpleNumber는 이 입력의 latex가 숫자 꼴인지(patterns.number.matches(this.latex))로 한다.
patterns는 식을 조각으로 나누어 살펴보는 기능이고 아직 개발 중인 베타 기능이다.
correct: isASimpleNumber and this.numericValue = numericValue(`${prompt.script.a}+${prompt.script.b}`) ▶ 수식 답변의 정답 조건(correct)은 isASimpleNumber가 참이고, 이 입력의 계산한 값이 prompt 구성요소의 변수 a와 b의 합(numericValue(`${prompt.script.a}+${prompt.script.b}`))과 같을 때 참으로 한다.
=는 값이 같은지 비교하는 것이고, and는 둘 다 참이어야 참이다. prompt.script.a처럼 구성요소.script.변수는 다른 구성요소의 스크립트에서 정의한 변수의 값을 가져오는 표기이다. numericValue(…)는 latex 글자를 숫자로 계산하는 함수이고, 계산하지 못하면 NaN을 돌려준다.
submitDisabled: not(isASimpleNumber) ▶ 제출 버튼의 비활성화 조건(submitDisabled)은 not(isASimpleNumber)로 한다.
submitDisabled가 거짓이어도 입력이 비어 있으면 버튼은 비활성화된다. not(…)은 참/거짓을 뒤집는 함수이다.
resetOnChange: "${btn1.pressCount}" ▶ 수식 답변의 변경 시 자동 재설정(resetOnChange)은 "${btn1.pressCount}"(버튼이 눌린 횟수)로 한다.
resetOnChange는 글자 값이 바뀌면 구성요소를 재설정한다. pressCount는 행동 버튼이 눌린 횟수를 알려 준다. ${ }는 글자 안에 변수의 값을 끼워 넣는 표기이다.