QBASIC은 표준 기능을 제공합니다. 표준 기능은 특정 기능을 수행하는 프로그램입니다. 이를 사용할 때 이름(예: 함수 이름)과 매개변수만 작성하면 직접 호출할 수 있습니다. QBASIC이 제공하는 표준 함수에는 산술 함수와 문자열 함수가 포함됩니다. 이러한 기능은 완벽하게 기능하고 다양합니다. 여기서는 산술 함수를 주로 소개하고, 다음 장에서는 문자열 함수를 소개하겠습니다. 산술 함수는 함수를 호출한 후 숫자 값을 반환하는 것을 의미합니다. 이 섹션에서는 주로 반올림 함수와 임의 함수를 소개합니다.
반올림 함수
무작위 함수
1. 반올림 함수
함수 형식: INT(X)
< p> 기능: X보다 크지 않은 최대 정수를 생성합니다. 그 중 X는 상수, 변수, 표현식이 될 수 있습니다.반올림 함수를 사용하면 많은 수학적 문제를 해결할 수 있습니다.
(1) 숫자의 정수 부분을 취합니다.
예:
X=5.3: Y=5.5: Z=-6.1
X=INT(X): Y=INT(Y): Z=INT(Z)
X,Y,Z 인쇄
END
Execute 마지막 화면은 다음과 같습니다: 5 5 -7
(2) 반올림
반올림 기능 자체에는 반올림 기능이 없지만, 약간만 변경하면 반올림이 가능합니다.
반올림의 일반 공식은:
INT(X+0.5)입니다.
예제 1 다음 숫자의 정수 부분은 그대로 유지하고 소수 부분은 반올림합니다.
1.36 2.5 4.1 0.48
I=1 TO 4의 경우
X 읽기
X 인쇄,
INT(X+0.5)
NEXT I
DATA 1.36,2.5,4.1,0.48
END
다음 화면에 표시됩니다. 실행 :
1.36 1 2.5 3 4.1 4 0.48 0
(3) 소수점 N 자리 유지
X에서 소수점 N 자리를 유지하려면 먼저 곱할 수 있습니다 X를 10N으로 나누고 반올림한 후 10N으로 나눕니다.
일반 공식은 INT(X*10^N)/ 10^N입니다.
예 2: 3.14159를 소수점 세 자리까지 유지하고 마지막 소수점 자리를 반올림합니다.
X=3.14159
Y=INT(X*1000.5)/1000
X,Y 인쇄
END p>
실행 후 화면에 다음이 표시됩니다:
3.14159 3.142
(4) 가분성 결정
정수 X를 다음으로 나눌 수 있는지 결정하려면 또 다른 정수 Y는 나눌 수 있습니다. X/Y=INT(X/Y)로 판단하면 조건이 충족되면 나눌 수 있습니다.
예:
CLS
INPUT X,Y
IF X/Y=INT(X/Y) THEN PRINT " Can Divisible "ELSE PRINT "Not divisible";
END
실행 후 화면에 다음이 표시됩니다: 30, 5는 30으로 나눌 수 있고, 7은 나눌 수 없습니다.
< p>제수가 2로 변경되면 숫자의 패리티를 결정할 수 있습니다.(5) 숫자 분리
세 자리 X에서 숫자를 분리하려면 다음 방법을 사용할 수 있습니다.
백 자리 B=INT(X / 100)
10자리 숫자 S=INT((X-B*100)/10)
1자리 숫자 G=X-B*100-S*10
예시 3 100에서 999 사이의 모든 수선화의 수를 찾아 그 수를 세어보세요. 수선화 숫자는 세 자리 숫자의 세제곱의 합이 숫자 자체와 같은 세 자리 숫자입니다.
REM 수선화 수를 구하세요.
N=0
FOR X=100 TO 999
B=INT(X/100 )
S=INT((X-B*100)/10)
G=X-B*100-S*10
IF X=B*B* B +S*S*S+G*G*G 다음 N=N+1: X 인쇄,
다음 X
인쇄 "N=" N
< p>END실행 후 화면에 다음이 표시됩니다. 153 370 371 471 N=4
2. 무작위 함수
난수란 무엇입니까? 우리는 이를 이렇게 이해할 수 있습니다. 여러 가능한 숫자에서 하나의 숫자가 추출될 때마다 어떤 숫자가 추출되는지 미리 결정할 수 없습니다. 이렇게 추출된 숫자를 난수라고 합니다.
함수 형식: RND(X)
함수: 0과 1 사이의 난수를 생성합니다.
그 중 X는 임의의 값이 될 수도 있고 무시해도 됩니다.
특정 프로그램에서는 RND(1), RND(100), RND(562)에 관계없이 RND가 난수 생성에 미치는 영향은 일반적으로 RND로 작성할 수 있습니다. .
진정한 난수(즉, 프로그램이 실행될 때마다 생성되는 숫자가 다름)를 생성하려면 프로그램 시작 부분에 RANDOMIZE TIMER 문을 추가해야 합니다.
< 피>.랜덤 기능을 사용하면 특정 지역에서 난수를 생성할 수도 있습니다:
A~B(A와 B 제외)
(B-A)*RND + A A~B(A와 B 포함)
(B-A+1)*RND+A
예제 4 산술 연습 프로그램.
무작위 함수를 사용하여 10개의 서로 다른 두 자리 덧셈 질문을 생성합니다. 각 정답에는 10점이 추가되며 총점은 마지막에 부여됩니다.
분석: 먼저 두 자리 난수 정수 두 개를 생성하고 화면에 표시합니다.
답안을 입력한 후 결과가 맞는지 판단해 정답일 경우 10점을 가산합니다. 이것을 10회 반복합니다.
무작위 타이머
CLS : S=0
I=1부터 10까지
A=INT(90*RND)+ 10
B=INT(90*RND)+10
인쇄 A; "=";
입력 C; >
IF C=A+B THEN S=S+10
다음 I
PRINT "귀하의 점수는 다음과 같습니다:"
END < /p>
랜덤 함수를 사용하면 일부 자연 현상을 시뮬레이션하고 통계 데이터를 얻을 수도 있습니다.
예 5에서는 동전 던지기 테스트를 시뮬레이션합니다. 동전이 떨어진 후 앞면 또는 뒷면이 나온 횟수를 구합니다. 분석: 임의의 정수를 생성합니다. 이 숫자가 홀수이면 양수에 1을 더하고, 그렇지 않으면 음수에 1을 더합니다. 이것을 N번 반복합니다.
타이머 무작위화
CLS
입력 "N=";N
FOR I = 1 TO N
X = INT(RND * 100)
IF X / 2 = INT(X / 2) THEN A = A + 1: 5로 이동
B = B + 1 p>
5 NEXT I
PRINT "머리 수=";A, "꼬리 수=";B
END
에 실행 후 화면: N=? 100 헤드 수=49 테일 수=51 N=? 1000 헤드 수=505 테일 수=495 N=? 10000 헤드 수=4975 테일 수=5025 결과를 보면 동전을 뒤집은 횟수가 많을수록 앞면과 뒷면이 나올 확률이 더 가까워지는 것을 알 수 있습니다.
브래들리가 무슨 뜻이에요