출제되는 문제를 매번 다르게 나오게 하기 위해서 변수 문항1 과 문항2의 값을 1부터 99사이의 숫자를 랜덤(난수)으로 값을 담도록 할게요.
이 작업을 위해서는 두 개의 명령 블록이 필요합니다. 변수 팔레트의 '~을(를) ~로 정하기' 명령 블록과
연산 팔레트의 '~부터 ~ 사이의 난수' 명령 블록 이 필요합니다.
이 명령 블록은 지정된 숫자 사이의 임의의 수를 랜덤으로 지정하게 해줍니다.
이 두 가지 명령 블록을 이용하여 아래와 같이 만들어 주세요.
이렇게 하면 문항1 변수와 문항2 변수에 각각 1~99 사이의 임의의 값이 담기게 돼요
위의 두 개의 변수에 등록된 임의의 값으로 문제를 내고 답 입력을 기다리도록 해볼게요.
이때 필요한 명령 블록은 감지 팔레트의 '~라고 묻고 기다리기' 명령 블록이 필요해요.
그리고 문제를 보여 주기 위해서 변수 문항1 + 문항2 의 형태로 표현해야 하는데요.
이를 표현하기 위해서 연산 팔레트의 '~와(과) ~결합하기' 명령 블록이 2개 필요합니다.
아래와 같이 '~와(과) ~결합하기' 과 문항1 변수, 문항2 변수 그리고 '+'를 조합하여 만든 다음 위의 명령 블록을 드래그 하여서 아래 블록의 '와(과)' 앞에 결합해 주세요
그다음 위에서 먼저 준비한 '~라고 묻고 기다리기' 명령 블록에 결합해 주세요.
만들어진 블록을 연결해 줄게요.
여기까지 하면 아래와 같이 로봇이 문제를 내고 답 입력을 기다리게 됩니다.
답을 입력하고 엔터를 치거나 뒤쪽의 체크 표시를 클릭하면 그 값은 감지 팔레트의 '대답' 명령 팔레트에 담기게 됩니다.
'대답' 명령 팔레트는 곰곰이 생각해 보면 변수와 비슷하다는 것을 알 수 있을 거예요. '대답' 명령 팔레트도 일종의 변수라고 할 수 있어요.
이번 단계에서 해야 할 일은
1. 대답과 실제 출제된 문제의 계산이 맞는지 확인하기
2. 계산이 맞으면 로봇이 '정답!!! 잘했어'라고 말하고 '정답 수' 변수의 값을 1 증가시켜 주기
3. 계산이 틀리면 로봇이 '아쉽지만 틀렸어... '라고 '오답 수' 변수의 값을 1증가 시켜 주기
대답의 정답 여부에 따라 두 가지 선택지가 생기게 됩니다.
정답일 때, 오답일 때
이때는 제어 팔레트의 '만약 ~ (이) 라면 / 아니면' 명령 블록이 필요합니다.
그리고 조건이 필요하죠.
조건은 문항1 변수 + 문항2 변수 한 것과 '대답' 이 동일한지 비교하는 조건을 만들어야 해요.
연산 팔레트의 두 개의 명령 블록을 이용하여서 아래와 같이 만들어 주세요.
위의 조건은 문항1 + 문항2 의 값이 대답과 같다면 참, 틀리다면 거짓이 돼요.
조건을 이용해 아래와 같이 만들어 주세요.
조건의 결과가 '참'일 때 로봇이 '정답!!! 잘했어'말하게 하기 위해
형태 팔레트의 ~을(를)~초 동안 말하기 명령 블록을 이용할게요.
다음으로 정답이면 '정답 수' 변수의 값을 1 증가시킬 건데요.
변수 팔레트의 '~을(를) ~ 만큼 바꾸기' 명령 블록을 이용할 거예요.
두 명령 블록을 이용하여 아래와 같이 '참'일 때 동작할 작업을 구성할게요.
이번에는 문항1 + 문항2 의 값이 대답이 틀릴 때 즉 '거짓' 일 때의 작업을 구성해 볼게요.
'참' 일 때 작업한 것과 같고요 문구와 변수가 다를 뿐이에요.
두 명령 블록을 이용하여 아래와 같이 '거짓' 일 때 동작할 작업을 구성할게요.
이렇게 함으로서
대답이 맞으면 Robot이 '정답!!! 잘했어'를 말하고 정답 수 변숫값에 +1을 해 주고
대답이 틀렸으면 '아쉽지만 틀렸어...'를 말하고 오답 수 변숫값을 +1 해줄 거예요.
여기까지 만들어진 블록을 전에 만든 블록에 연결해 줄게요.
위에 작업한 문제를 내고 푸는 과정을 5번 반복해야 해요. 위에 작업은 4번 더 만들어서 붙여도 되지만
우리는 반복하기를 사용해서 동일한 과정을 간단하게 처리할게요.
5번 반복이라는 제한이 있기 때문에 '무한 반복하기' 명령 블록은 사용할 수가 없어요.
대신 반복 횟수를 정할 수 있는 제어 팔레트의 '~번 반복하기' 명령 블록을 사용할게요.
위 명령 블록에 5를 입력해 주고 위에 작업했던 문제 제출 부분을 사이에 넣어 줄게요
아래와 같이 만들어질 거예요
전에 만들어진 블록에 연결하면
문제풀이를 다 하고 나서 결과를 보여주도록 할게요.
형태 팔레트의 ~을(를) ~초 동안 말하기 명령 블록을 이용해서
'풀이를 다 했어 결과를 알아볼까?'를 2초간 말하도록 할게요
다음은 맞춘 문제 수와 틀린 문제 수를 보여 줄 거예요.
맞춘 문제 수와 틀린 문제의 수는 '정답 수'변수와 '오답 수' 변수에 담겨 있으니 변수에 담긴 숫자를 보여줄 거예요
연산 팔레트의 '~와(과) ~결합하기' 와 '정답 수' 변수, '오답 수' 변수를 이용해서 아래와 같이 만들어주세요.
그런 다음 아래와 같이 만들어 주세요.
전에 만들어진 블록에 연결하면
이제 '시작 하기' 버튼을 클릭해서 확인해 볼까요?
어떤가요? 잘 되나요?
그런데 다시 한 번 더 '시작 하기'버튼을 클릭해서 다시 한 번 더 풀이를 해보세요.
뭔가 이상하지 않나요? '시작 하기'버튼을 클릭해서 다시 해볼수록 더 이상한 점이 하나 있을 거예요.
풀이를 마치고 맞춘 문제 수와 틀린 문제 수를 보여줄 때 뭔가 이상한 점을 찾을 수 있을 거예요.
이유는 '오답 수' 변수와, '정답 수' 변수의 값에 전에 풀었던 값이 그대로 들어 있어서 그 값에 계속 +1을 해줘서 그래요.
해결 방법은 '시작 하기'를 클릭할 때마다 두 변수에 담긴 값을 0으로 바꿔 주면 돼요 변수 '초기화'라고 하는데요.
변수 팔레트의 '~을(를) ~로 정하기' 명령 블록을 이용해
정답 수, 오답 수 변수의 값을 0으로 지정해 해주세요.
그리고 이 명령 블록을 '시작 클릭했을 때' 명령 블록 바로 아래 붙여 줄게요.(꼭 '시작 클릭했을 때' 바로 아래 붙일 필요는 없어요 '시작 클릭했을 때' 아래 5번 반복하기 명령 블록 사이에만 넣어 주면 돼요)