| English | 의미 |
|---|---|
| unpredictable/ʌnprɪˈdɪktəbl/ | 예측 불가능한 |
| random/ˈrændəm/ | 무작위 |
| range/reɪndʒ/ | 범위 |
| variability/ˌveərɪəˈbɪlɪti/ | 가변성 |
| outputs/ˈaʊtpʊts/ | 출력 |
고의적 불확실성
- 일부 프로그램은 불확실성이 필요합니다—게임, 테스트, 시뮬레이션 등.
- 프로그램은 지정된 범위 내에서 무작위 값을 생성할 수 있습니다.
RANDOM(1, 6)는 1부터 6까지의 정수 중 하나를 각 동일한 확률로 반환할 수 있습니다.- 이는 프로그램에 내장된 주사위와 같습니다.
RANDOM(1, 6)은 다음을 반환합니다:
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
주어진 범위 내에서 무작위 값을 선택합니다.
변동성
- 무작위성은 프로그램의 동작에 변동성을 도입합니다.
- 따라서 같은 프로그램을 두 번 실행해도 결과가 달라질 수 있습니다.
- 이것이 게임을 매번新鮮하게 느끼게 만드는 이유입니다.
- 코드에는 아무런 변경사항이 없으며, 오직 무작위 값만 달라졌습니다.
매 실행 시 동일하거나 변동되나요?
무작위 값은 실행 간 출력을 변동시키며, 고정된 계산은 매번 동일한 출력을 생성합니다.
무작위성은 ______를 도입하여 두 실행이 다르게 동작하게 합니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
동일한 코드라도 실행마다 다른 결과를 낼 수 있습니다.
roll ← RANDOM(1, 6)은 무엇을 합니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
생성된 값은 변수에 저장됩니다.
저장하고 사용하기
- 일반적으로 무작위 값을 변수에 저장하여 나중에 논리적으로 사용합니다:
- $\text{roll} \leftarrow \text{RANDOM}(1, 6)$.
- 이제
roll는 주사위 값 중 하나가 저장되어 나머지 프로그램에서 사용할 수 있습니다. - 무작위 값은 동전 던지기 같은 불확실한 사건을 모델링할 수 있게 합니다.
주사위 프로그램 세 번 실행 시 4, 1, 6 순으로 나오는 것은 버그가 아니라 정상입니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
무작위 값은 실행마다 다르므로 출력도 달라집니다.
코인 던지기 프로그램은 RANDOM(1, 2)을 사용합니다. 가능한 두 가지 출력은:
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
1은 앞, 2는 뒷에 매핑됩니다.
무작위 값은 주사위 굴리기와 같은 예측 불가능한 이벤트를 모델링하는 데 사용됩니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
이것은 프로그램이 현실 세계처럼 느껴지게 합니다.
실행마다 다른 결과
- 무작위성으로 인해 반복 실행 시 서로 다른 출력이 생성될 수 있습니다.
- 주사위 프로그램을 세 번 실행하면 4, 1, 6 순서로 나올 수 있습니다.
동전 던지기. 프로그램이 RANDOM(1, 2)을 선택하고, 이를 "앞면"인 1과 "뒷면"인 2으로 간주합니다. 첫 번째 실행에서는 1 → "앞면"이 저장되고, 두 번째 실행에서는 2 → "뒷면"이 저장됩니다. 코드는 아무런 변화가 없으나 무작위 값이 달라져 출력이 달라지는 것은 예상되는 현상이며 버그가 아닙니다.
범위(RANDOM(1, 6)) 내에서 무작위 값을 선택하여 변동성을 추가하므로 두 번의 실행 결과가 다를 수 있습니다. 변수에 저장하여 사용하면 프로그램이 예측 불가능한 사건을 모델링하는 데 도움이 됩니다. 실행마다 다른 출력이 나오는 것은 예상되는 결과이지 버그가 아닙니다.