미션. 확률을 이용한 YES / NO 선택기

목표


내가 미리 정해놓은대로만 동작하는 프로그램이 아니라 만든 사람도 예측하지 못하는 프로그램을 만들고 싶은가요?

그런데 정말 아무렇게나 막 나오는 것이 아니라 확률을 정해주고 싶을 때!


이럴때 조건식을 만드는 방법에 관한 예제입니다.


수학 시간에 배우는 '경우의 수'와 '확률'을 활용하면 됩니다.


10%는 10번 중 1번 이죠? 100번 중 10번 이구요.

50%는 2번 중 1번이죠? 100번 중 50번.


그래서 확률에 따라 다른 행동을 하게 하려면 아래처럼 조건문으로 분기(나누기)를 시켜주면 됩니다.



무작위 수 블록은 실행되는 시점에 0부터 99 사이의 숫자중 하나의 값이 들어있을 겁니다. 0-99 사이의 숫자 중 어떤 숫자가 될지는 모르지만 모든 숫자가 거의 같은 확률로 선택될 수 있습니다. (이 무작위 수 블록의 확률을 우리가 다양하게 활용하는 거랍니다.)



그럼 조건식이 어떤 의미인지 알아보겠습니다.

만약 확률 변수의 값이 30이라고 가정하면,

무작위 수 블록이 0-29 (30가지) 일 경우에는 조건식이 '참'이 되고, 30-99(70가지) 일 경우에는 조건식이 '거짓'이 됩니다.

(무작위 수 블록의 값은 저 조건문이 실행되는 시점에 결정이 됩니다. 그 전까진 몇이 될 지 아무도 몰라요.)

정확하게 30% 맞죠?


부등호를 잘 써주어야 합니다. 작거나 같다로 써주면 '참'이 되는 경우가 0-30(31가지), '거짓'이 되는 경우가 31-99(69가지)가 되어 참이 될 확률이 31%가 됩니다.


코딩은 정확하게 해야해요.




위 프로그램의 전체 코드는 이렇습니다.




한 줄 한 줄 이해해 보세요.





댓글

로그인 후 댓글을 남길 수 있습니다.