함수 RND()는 매우 중요한 함수입니다. 무작위 인사말, 날짜에 대한 무작위 프롬프트 또는 심지어 게임을 만들고 싶다면 이 기능을 사용하는 것이 좋습니다.
ASP 함수 rnd()
rnd() 함수는 0과 1 사이의 난수를 반환합니다.
그것을 사용하는 방법:
다음과 같이 코드 코드를 복사합니다.
response.write rnd() '가능한 반환 값: 0.2357746
rnd() 함수를 사용하여 특정 범위 내의 정수(예: 0보다 크거나 같고 특정 정수 상한보다 작거나 같은 숫자)를 반환하려는 경우 다음 방법을 사용할 수 있습니다.
다음과 같이 코드 코드를 복사합니다.
response.write int((upperbound+1)*rnd)
예를 들어, 다음 문은 0에서 5 사이의 정수를 반환합니다.
다음과 같이 코드 코드를 복사합니다.
response.write int((5+1)*rnd)
하한이 0보다 큰 특정 범위 내에서 난수를 얻으려면 다음 방법을 사용할 수 있습니다.
다음과 같이 코드 코드를 복사합니다.
response.write int((upperbound-lowerbound+1)*rnd+lowerbound)
예를 들어 다음 스크립트는 50에서 75 사이의 정수를 생성합니다.
다음과 같이 코드 코드를 복사합니다.
response.write int((75-50+1)*rnd+50)
그런데 문제가 발생하는데, 매번 같은 난수가 발생합니다. 이로 인해 매우 혼란스러울 수 있습니다. 이 문제를 해결하는 데 도움이 되는 특별한 문이 있는데, 바로 무작위 문입니다.
randize 문은 rnd 함수가 새로운 난수 시퀀스를 사용하도록 강제하는 데 사용됩니다. Randomize 문은 컴퓨터의 시스템 타이머를 통해 rnd 함수에 새로운 시드 값을 제공합니다.
함수 RND()는 매우 중요한 함수입니다. 무작위 인사말, 날짜에 대한 무작위 프롬프트 또는 심지어 게임을 만들고 싶다면 이 기능을 사용하는 것이 좋습니다.
RND() 함수는 0과 1 사이의 난수를 반환합니다. 다음은 이 함수의 예와 가능한 반환 값입니다.
<%=RND()%>
0.7055643
일반적으로 이 함수를 사용하여 특정 범위 내의 정수를 반환하는 데 더 관심이 있습니다. 0보다 크거나 같지만 특정 정수보다 작은 숫자를 반환하려면 다음 문을 사용할 수 있습니다.
<%=INT((상한+1)*RND)%>
표현식 upperbound를 생성하려는 가장 큰 난수로 바꿉니다. 예를 들어 다음 스크립트는 0에서 5 사이의 숫자를 반환합니다.
<%=지능(5+1)*RND)%>
하한이 0보다 큰 범위 내에서 난수를 생성하려면 다음 스크립트를 사용할 수 있습니다.
<%=INT((상한 – 하한 + 1)*RND+하한)%>
예를 들어 다음 스크립트는 50에서 75(포함) 사이의 난수를 생성합니다.
<%=INT((75-50+1)*RND+50)%>
RND() 함수를 사용할 때마다 동일한 순서로 동일한 난수를 반환한다는 사실에 놀랄 수도 있습니다. 다음 예를 고려하십시오.
다음과 같이 코드 코드를 복사합니다.
<%
Pick_Greeting=INT((2+1)*RND)
SELECT CASE Pick_인사말
사례 0
인사말=”환영합니다!”
사례 1
인사말=”안녕하세요!”
사례 2
인사말 = “반갑습니다!”
선택 종료
%>
<%=인사말%>
이 스크립트는 임의의 인사말을 생성하고 인쇄합니다. 그러나 생각한 대로 작동하지 않을 수도 있습니다. 누군가가 이 스크립트가 포함된 웹페이지를 다운로드할 때마다 동일한 무작위 인사말이 인쇄됩니다. 누군가가 이 페이지를 여러 번 방문하면 동일한 인사말을 받게 됩니다. 난수는 생성되지만 매번 같은 난수입니다.
이 문제를 해결하는 데 도움이 되는 특별한 설명이 있습니다. RANDOMIZE 문은 RND() 함수가 새로운 난수 시퀀스를 사용하도록 하는 데 사용됩니다. RANDOMIZE 문은 컴퓨터의 시스템 타이머를 통해 RND() 함수에 새 시드 값을 제공합니다. 다음 예에서는 위의 예가 올바르게 작동하도록 수정하는 방법을 보여줍니다.
다음과 같이 코드 코드를 복사합니다.
<%
무작위화
Pick_Greeting=INT((2+1)*RND)
SELECT CASE Pick_인사말
사례 0
인사말=”환영합니다!”
사례 1
인사말=”안녕하세요!”
사례 2
인사말 = “반갑습니다!”
선택 종료
%>
<%=인사말%>
이 스크립트는 올바르게 작동합니다. 이 스크립트가 실행될 때마다 새로운 무작위 인사말이 생성됩니다. RANDOMIZE 문은 RND() 함수가 새로운 난수 시퀀스를 사용하도록 합니다.
마지막으로 RND() 함수에서 생성된 값의 분포가 궁금하다면 다음 스크립트를 사용하여 확인할 수 있습니다.
다음과 같이 코드 코드를 복사합니다.
<%
CONST 상한=9, 반복=100
REDIM DIST(상한)
무작위화
i=1부터 반복까지
rnd_num=INT((상한+1)*RND)
DIST(rnd_num)=DIST(rnd_num)&”#”
다음
FOR i=0에서 상한까지
%>
<%=i&" : "&DIST(i)%><BR>
<%
다음
%>
이 스크립트는 0에서 9 사이의 난수 100개를 생성합니다. 각 값에 대해 생성된 난수 수를 추적합니다. 마지막으로 결과를 나타내는 막대 차트를 인쇄합니다.