사용 방법
keisan은 가변 정밀도 연산 기술을 적용하여 정밀도 보증을 목표로 하는 계산 서비스입니다.
keisan의 특징
1. 계산 자릿수를 변경할 수 있습니다.
(자릿수는 "계산 자릿수" 설정으로 지정합니다)
| 설정 | 결과 |
|---|---|
| 계산 자릿수 6 | √5 =sqrt(5) =2.23607 |
| 계산 자릿수 14 | √5 =sqrt(5) =2.2360679774998 |
| 환경 | 결과 |
|---|---|
| keisan | (0.9-0.3*3) =0 |
| Excel | (0.9-0.3*3) =1.11022E-16 (이진-십진 변환 오류) |
2. 정확한 유효 자릿수를 자동으로 판정합니다.
| 설정 | 결과 |
|---|---|
| 계산 자릿수 6 | 1-0.999876 =1.24000E-4 |
| 계산 자릿수 10 | gamma(3.5) =3.323350970 |
3. 복소수, 통계 함수, 특수 함수 및 표 계산을 지원합니다.
| 유형 | 예시 |
|---|---|
| [계산 자릿수를 6으로 설정] | |
| 복소수 | (1+i)^(1+i) =0.273957+0.583701i |
| 오차 함수 | x =0.1 erf(x) =0.112463 |
| 표 계산 | sqrt(x) x =2,1,5 |
표 계산 결과
| x | sqrt(x) |
|---|---|
| 2 | 1.41421 |
| 3 | 1.73205 |
| 4 | 2 |
| 5 | 2.23607 |
| 6 | 2.44949 |

4. 수식 라이브러리를 사용할 수 있습니다.
| 수식 이름 | 내용 |
|---|---|
| 삼각형의 넓이 (a,b,c) | s=(a+b+c)/2; a=3; b=4; c=5; sqrt(s*(s-a)*(s-b)*(s-c)) |
수식 구문 규칙
1. 수
0,1,2,3,4,5,6,7,8,9, .(소수점), E(지수), i(허수), +, -
| 입력 예시 | 설명 |
|---|---|
| 12340.56789 | 1.234056789E4와 동일 |
| E2 | 100 |
| 1.23E+4 | 12300 — E+의 +는 지수 부호이며 생략 가능 |
| 1.23E-4 | 0.000123 — E-의 -는 지수 부호이며 생략 불가 |
| i | 0+1i |
| E+2i | 0+100i |
| 1.23+4.56i | 복소수는 괄호로 묶는 것을 권장 |
| 1.23E3+4.56E2i | 1230+456i |
| 1.23E-3-4.56E+2i | 0.00123-456i |
참고: 지수 부분에는 대문자 E를 사용하십시오. (소문자 e는 자연 로그의 밑)
2. 변수
문자 또는 한자로 시작하고, 이어서 문자, 숫자 또는 한자를 사용할 수 있습니다. 특수 기호와 예약어는 사용할 수 없습니다.
| 분류 | 예시 |
|---|---|
| 변수명 예시 | a, sinx, a3 등 |
| 잘못된 예시 | e, i, inf, sin, E 및 기타 예약어 |
| 잘못된 예시 | #abc, 3abc, ab_c 등 |
3. 함수
함수명과 괄호로 묶인 하나 이상의 인수로 구성됩니다. 여러 인수는 쉼표(",")로 구분합니다. 인수는 수, 변수, 함수 또는 수식이 될 수 있습니다.
| 예시: | sin(x) normalcd(x,μ,2) normalcd(x+y,ln(12),σ) |
인수가 없는 상수는 괄호를 사용하지 않습니다.
| 예시: | pi inf e |
4. 연산자
연산자에는 + , - , * , / , ^ , ! , = 가 있으며, 수, 변수, 함수 등의 요소 간의 연산을 지정합니다.
| 예시 | 설명 |
|---|---|
| element1 + element2 | element1과 element2를 더함 |
| element1 - element2 | element1에서 element2를 뺌 |
| element1 * element2 | element1과 element2를 곱함 (*는 생략 가능) |
| element1 / element2 | element1을 element2로 나눔 |
| element1 ^ element2 | element1을 element2의 거듭제곱으로 함 |
| element1 ! | element1의 팩토리얼 (단일 요소 연산) |
| element1 = element2 | element2의 결과를 element1에 대입합니다. 따라서 element1은 변수여야 합니다. |
5. 수식
수식은 요소(수, 변수, 함수)를 연산자로 결합하여 만듭니다. 수식은 요소로 사용할 수 있으며, 연산자와 더 결합할 수 있습니다. 연산 순서는 아래의 "연산 순서" 섹션을 따릅니다. 예시: element1 + element2 - element3 * element4 / element5 ^ element6 ! + ...
6. 기타
마이너스 부호(-)는 지수 표기를 제외하고 이항 연산자로 취급됩니다. 단, 수식의 시작 부분이나 여는 괄호 또는 쉼표 바로 뒤에서는 부호로 취급됩니다.
| 예시: | -a+b → (0-a)+b -a^b → 0-(a^b) a^-b → Error a^(-b) → a^(0-b) a*b;-a*b → a*b;0-(a*b) a*-b → Error |
공백을 사용하여 수식을 읽기 쉽게 만들 수 있습니다.
연산 순서
- 우선순위가 높은 연산자가 먼저 계산됩니다.
- 같은 우선순위의 연산자는 왼쪽에서 오른쪽으로 계산됩니다. *예외: 거듭제곱 연산자(^)는 오른쪽에서 왼쪽으로 계산됩니다.
- 괄호 안의 수식이 먼저 계산됩니다.
- 중첩된 괄호에서는 가장 안쪽의 괄호가 먼저 계산됩니다.
연산자 유형 및 우선순위
| 우선순위 | 연산자 | 의미 |
|---|---|---|
| 높음 ↑ | 함수 | 내장 함수 |
| !!, !, ^ | 이중 팩토리얼, 팩토리얼, 거듭제곱 | |
| *, / | 곱셈, 나눗셈 | |
| +, - | 덧셈, 뺄셈 | |
| ↓ 낮음 | = | 대입 |
수식 표기에서 자주 하는 실수
괄호를 생략했을 때의 연산 순서
| 수식 | 해석 | 설명 | |
|---|---|---|---|
| 2+3*4 | → | 2+(3*4) | 곱셈이 덧셈보다 우선순위가 높음 |
| 3*4^5 | → | 3*(4^5) | 거듭제곱이 곱셈보다 우선순위가 높음 |
| sin(2)^3 | → | (sin(2))^3 | 함수가 거듭제곱보다 우선순위가 높음 |
| 1/2i | → | 1/(2i) | 허수 단위가 우선 |
| 3!!! | → | (3!!)! | 이중 팩토리얼이 팩토리얼보다 우선순위가 높음 |
곱셈 기호가 생략된 수식
| 수식 | 결과 | 설명 |
|---|---|---|
| 3a | ○ | 3*a로 계산됨 |
| a3 | × | a3은 변수명 |
| a(b+c) | × | a*(b+c)가 아님; a는 사용자 정의 함수로 취급됨 |
| (a+b)(b+c) | ○ | (a+b)*(b+c)로 계산됨 |
수, 연산자 및 상수
수
| 유형 | 예시 | 예약어 |
|---|---|---|
| 숫자 | 1234567890 | 0-9 |
| 소수점 | 0.123 | . |
| 부호 | -123, +456 | +,- |
| 지수 | 1.23E-45 | E |
| 허수 | 2+3i | i |
연산자
| 유형 | 예시 | 예약어 |
|---|---|---|
| 덧셈 | x+y | + |
| 뺄셈 | x-y | - |
| 곱셈 | x*y | * |
| 나눗셈 | x/y | / |
| 거듭제곱 | x^y | ^ |
| 팩토리얼 | n! | ! |
| 이중 팩토리얼 | n!! | !! |
| 대입 | a=123 | = |
다중 수식
| 유형 | 예시 | 예약어 |
|---|---|---|
| 수식 구분자 | a=2+3; b=4/7 | ; |
상수
| 유형 | 값 | 예약어 |
|---|---|---|
| 자연 로그의 밑 | e =2.71828... | e |
| 무한대 | ∞ | inf |
| 원주율 | π =3.14159.. | pi |
| 오일러 상수 | γ =0.5772... | euler |
| 참 | true =1 | true |
| 거짓 | false =0 | false |
초등 함수
로그 및 지수 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 제곱근 | √ | sqrt(x) |
| 상용 로그 | log | log(x) |
| 자연 로그 | ln | ln(x) |
| 지수 함수 | e^x | e^x |
| 거듭제곱 함수 | x^y | x^y |
삼각 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 사인 | sin | sin(x) |
| 코사인 | cos | cos(x) |
| 탄젠트 | tan | tan(x) |
| 아크사인 | sin⁻¹ | asin(x) |
| 아크코사인 | cos⁻¹ | acos(x) |
| 아크탄젠트 | tan⁻¹ | atan(x) |
쌍곡선 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 쌍곡사인 | sinh | sinh(x) |
| 쌍곡코사인 | cosh | cosh(x) |
| 쌍곡탄젠트 | tanh | tanh(x) |
| 역쌍곡사인 | sinh⁻¹ | asinh(x) |
| 역쌍곡코사인 | cosh⁻¹ | acosh(x) |
| 역쌍곡탄젠트 | tanh⁻¹ | atanh(x) |
조합 및 순열
| 함수 | 기호 | 예약어 |
|---|---|---|
| 조합 | nCr | combination(n,r) |
| 순열 | nPr | permutation(n,r) |
| 팩토리얼 | x! | x! |
| 이중 팩토리얼 | x!! | x!! |
수치 함수 (실수)
| 함수 | 예시 | 예약어 |
|---|---|---|
| x 이하의 최대 정수 | int(4.2) =4, int(-4.2) =-5 | int(x) |
| x 이상의 최소 정수 | ceiling(4.2) =5, ceiling(-4.2) =-4 | ceiling(x) |
| 정수 부분 | IP(4.2) =4, IP(-4.2) =-4 | IP(x) |
| 소수 부분 | FP(4.2) =0.2, FP(-4.2) =-0.2 | FP(x) |
| x를 y로 나눈 나머지 | mod(9,5) =4, mod(-9,5) =1 | mod(x,y) |
| y*FP(x/y) | remainder(9,5) =4, remainder(-9,5) =-4 | remainder(x,y) |
| 반올림 | round(2.35,1) =2.4, round(-2.35,1) =-2.4 | round(x,n) |
| 버림 | rounddown(2.34,1) =2.3, rounddown(-2.34,1) =-2.4 | rounddown(x,n) |
| 올림 | roundup(2.34,1) =2.4, roundup(-2.34,1) =-2.3 | roundup(x,n) |
| IP(x*10^n)/10^n | truncate(2.34,1) =2.3, truncate(-2.34,1) =-2.3 | truncate(x,n) |
| 난수 (실수) | [0,1] 범위의 무작위 소수 | random_f() |
| 난수 (실수) | [a,b] 범위의 무작위 소수 | random_f(a,b) |
| 난수 (정수) | [a,b] 범위의 무작위 정수 | random_i(a,b) |
수치 함수 (복소수)
| 함수 | 설명 | 예약어 |
|---|---|---|
| 부호 | sign(z) =1,0,-1 | sign(z) |
| 켤레 복소수 | x+iy → x-iy | conjugate(z) |
| 실수 부분 | x+iy → x | Re(z) |
| 허수 부분 | x+iy → y | lm(z) |
| 절댓값 | |z| =|re^(iθ)| =r | abs(z) |
| 편각 | re^(iθ) → θ | argument(z) |
| 직교 좌표 변환 | re^(iθ) → x+iy | cartesian(z) |
| 직교 좌표 변환 | (r,θ) → x+iy | cartesian(r,θ) |
| 극좌표 변환 | x+iy → re^(iθ) | polar(z) |
| 극좌표 변환 | (x,y) → re^(iθ) | polar(x,y) |
최댓값 및 최솟값
| 함수 | 예시 | 예약어 |
|---|---|---|
| 최댓값 (최대 20개 인수) | max(1,2,3,4) = 4 | max(a,b,c,d,...) |
| 최솟값 (최대 20개 인수) | min(1,2,3,4) = 1 | min(a,b,c,d,...) |
통계 함수
연속 분포 함수 (Q: 상측 누적 확률, f: 확률 밀도, x: 백분위수, λ: 비중심 모수)
| 함수 | 예약어 |
|---|---|
| 표준 정규 분포 | Q: normalcd(x) f: normalpd(x) x: normalicd(Q) |
| 정규 분포 | Q: normalcd(x,μ,σ) f: normalpd(x,μ,σ) x: normalicd(Q,μ,σ) |
| 로그 정규 분포 | Q: lognormalcd(x,μ,σ) f: lognormalpd(x,μ,σ) x: lognormalicd(Q,μ,σ) |
| 카이제곱 분포 | Q: chi2cd(x,ν) f: chi2pd(x,ν) x: chi2icd(Q,ν) |
| 스튜던트 t 분포 | Q: tcd(x,ν) f: tpd(x,ν) x: ticd(Q,ν) |
| F 분포 | Q: fcd(x,ν1,ν2) f: fpd(x,ν1,ν2) x: ficd(Q,ν1,ν2) |
| 비중심 카이제곱 분포 | Q: ncchi2cd(x,ν,λ) f: ncchi2pd(x,ν,λ) x: ncchi2icd(Q,ν,λ) λ: ncchi2il(P,x,ν) |
| 비중심 t 분포 | Q: nctcd(x,ν,λ) f: nctpd(x,ν,λ) x: ncticd(Q,ν,λ) λ: nctil(Q,x,ν) |
| 비중심 F 분포 | Q: ncfcd(x,ν1,ν2,λ) f: ncfpd(x,ν1,ν2,λ) x: ncficd(Q,ν1,ν2,λ) λ: ncfil(Q,x,ν1,ν2) |
| 균등 분포 | Q: uniformcd(x,a,b) f: uniformpd(x,a,b) x: uniformicd(Q,a,b) |
| 지수 분포 | Q: exponentialcd(x,b) f: exponentialpd(x,b) x: exponentialicd(Q,b) |
| 와이블 분포 | Q: weibullcd(x,a,b) f: weibullpd(x,a,b) x: weibullicd(Q,a,b) |
| 감마 분포 | Q: gammacd(x,a,b) f: gammapd(x,a,b) x: gammaicd(Q,a,b) |
| 베타 분포 | Q: betacd(x,a,b) f: betapd(x,a,b) x: betaicd(Q,a,b) |
| 라플라스 분포 | Q: laplacecd(x,a,b) f: laplacepd(x,a,b) x: laplaceicd(Q,a,b) |
| 코시 분포 | Q: cauchycd(x,a,b) f: cauchypd(x,a,b) x: cauchyicd(Q,a,b) |
| 로지스틱 분포 | Q: logisticcd(x,α,β) f: logisticpd(x,α,β) x: logisticicd(Q,α,β) |
| 파레토 분포 | Q: paretocd(x,xm,α) f: paretopd(x,xm,α) x: paretoicd(Q,xm,α) |
| 일반화 파레토 분포 | Q: gparetocd(x,μ,σ,ξ) f: gparetopd(x,μ,σ,ξ) x: gparetoicd(Q,μ,σ,ξ) |
| 레비 분포 | Q: levycd(x,μ,c) f: levypd(x,μ,c) x: levyicd(Q,μ,c) |
참고: 하측 누적 확률 P의 경우, 예약어에 "lower"를 추가하십시오. 예시: P=normalcdlower(x), x=normalicdlower(P)
이산 분포 함수 (Q: 상측 누적 확률, f: 확률 밀도, x: 백분위수, λ: 비중심 모수)
| 함수 | 예약어 |
|---|---|
| 푸아송 분포 | Q: poissoncd(x,λ) f: poissonpd(x,λ) x: poissonicd(Q,λ) λ: poissonil(Q,x) |
| 이항 분포 | Q: binomialcd(x,n,p) f: binomialpd(x,n,p) x: binomialicd(Q,n,p) |
| 음이항 분포 | Q: negbinomialcd(x,k,p) f: negbinomialpd(x,k,p) x: negbinomialicd(Q,k,p) |
| 기하 분포 | Q: geometriccd(x,p) f: geometricpd(x,p) x: geometricicd(Q,p) |
| 초기하 분포 | Q: hypgeometriccd(x,n,M,N) f: hypgeometricpd(x,n,M,N) |
참고: 하측 누적 확률 P의 경우, 예약어에 "lower"를 추가하십시오. 예시: P=poissoncdlower(x,λ), x=poissonicdlower(P,λ), λ=poissonillower(P,x)
베셀 함수
베셀 함수 (f(x), f'(x), f⁻¹(0) s=1,2,.., f'⁻¹(0) s=1,2..)
| 함수 | 기호 | 예약어 |
|---|---|---|
| 제1종 베셀 함수 | Jν(x) | besselj(ν,x) besseljdf(ν,x) besseljzeros(ν,s) besseljdfzeros(ν,s) |
| 제2종 베셀 함수 | Yν(x) | bessely(ν,x) besselydf(ν,x) besselyzeros(ν,s) besselydfseros(ν,s) |
| 제1종 변형 베셀 함수 | Iν(x) | besseli(ν,x) besselidf(ν,x) |
| 제2종 변형 베셀 함수 | Kν(x) | besselk(ν,x) besselkdf(ν,x) |
| 제1종 한켈 함수 | H⁽¹⁾ν(x) | hankelH1(ν,x) hankelH1df(ν,x) |
| 제2종 한켈 함수 | H⁽²⁾ν(x) | hankelH2(ν,x) hankelH2df(ν,x) |
구면 베셀 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 제1종 구면 베셀 함수 | jν(x) | sphericalbesselj(ν,x) spherical besseljdf(ν,x) spherical besseljzeros(ν,s) spherical besseljdfzeros(ν,s) |
| 제2종 구면 베셀 함수 | yν(x) | sphericalbessely(ν,x) sphericalbesselyjdf(ν,x) sphericalbesselyzeros(ν,s) sphericalbesselydfzeros(ν,s) |
| 제1종 변형 구면 베셀 함수 | iν(x) | sphericalbesseli(ν,x) sphericalbesselidf(ν,x) |
| 제2종 변형 구면 베셀 함수 | kν(x) | sphericalbesselk(ν,x) sphericalbesselkdf(ν,x) |
| 제1종 구면 한켈 함수 | h⁽¹⁾ν(x) | sphericalhankelH1(ν,x) sphericalhankelH1df(ν,x) |
| 제2종 구면 한켈 함수 | h⁽²⁾ν(x) | sphericalhankelH2(ν,x) sphericalhankelH2df(ν,x) |
에어리 함수 (f(x), f'(x), f⁻¹(0) s=1,2,.., f'⁻¹(0) s=1,2..)
| 함수 | 기호 | 예약어 |
|---|---|---|
| 에어리 함수 | Ai(x) | airyai(x) airyaidf(x) airyaizeros(s) airyaidfzeros(s) |
| 에어리 함수 | Bi(x) | airybi(x) airybidf(x) airybizeros(s) airybidfzeros(s) |
켈빈 함수 (f(x), f'(x))
| 함수 | 기호 | 예약어 |
|---|---|---|
| 제1종 켈빈 함수 | berν(x) | ber(ν,x) berdf(ν,x) |
| 제1종 켈빈 함수 | beiν(x) | bei(ν,x) beidf(ν,x) |
| 제2종 켈빈 함수 | kerν(x) | ker(ν,x) kerdf(ν,x) |
| 제2종 켈빈 함수 | keiν(x) | kei(ν,x) keidf(ν,x) |
| 제3종 켈빈 함수 | herν(x) | her(ν,x) herdf(ν,x) |
| 제3종 켈빈 함수 | heiν(x) | hei(ν,x) heidf(ν,x) |
특수 함수
감마 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 감마 함수 | Γ(a) | gamma(a) |
| 하측 불완전 감마 함수 | γ(a,x) | igamma1(a,x) |
| 상측 불완전 감마 함수 | Γ(a,x) | igamma2(a,x), gamma(a,x) |
| 정규화 하측 감마 함수 | γ(a,x)/Γ(a) | gammap(a,x) |
| 정규화 상측 감마 함수 | Γ(a,x)/Γ(a) | gammaq(a,x) |
| 로그 감마 함수 | lnΓ(a) | lngamma(a) |
| 디감마 함수 | Ψ(a) | polygamma(a) |
| 폴리감마 함수 | Ψ⁽ⁿ⁾(a) | polygamma(n,a) |
| 이중 팩토리얼 | x!! | x!! |
| 포흐하머 함수 | (x)n | pochhammer(x,n) |
베타 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 베타 함수 | B(a,b) | beta(a,b) |
| 불완전 베타 함수 | Ix(a,b) | y: ibeta(x,a,b) x: ibetaix(y,a,b) |
| 불완전 베타 함수 | I₁₋ₓ(a,b) | y: ibetac(x,a,b) x: ibetacix(y,a,b) |
오차 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 오차 함수 | erf(x) | y: erf(x) x: erfix(y) |
| 상보 오차 함수 | erfc(x) | y: erfc(x) x: erfcix(y) |
| 허수 오차 함수 | erfi(x) | y: erfi(x) |
초등 함수 적분 및 프레넬 적분
| 함수 | 기호 | 예약어 |
|---|---|---|
| 지수 적분 | Ei(x) | Ei(x) |
| 지수 적분 | En(x) | Ei(n,x) |
| 로그 적분 | li(x) | li(x) |
| 사인 적분 | Si(x) | Si(x) |
| 코사인 적분 | Ci(x) | Ci(x) |
| 쌍곡사인 적분 | Shi(x) | Shi(x) |
| 쌍곡코사인 적분 | Chi(x) | Chi(x) |
| 프레넬 사인 적분 | S(x) | fresnelS(x) |
| 프레넬 코사인 적분 | C(x) | fresnelC(x) |
타원 적분 및 타원 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 제1종 완전 타원 적분 | K(k) | ellipticK(k) |
| 제2종 완전 타원 적분 | E(k) | ellipticE(k) |
| 제3종 완전 타원 적분 | Π(n,k) | ellipticPi(n,k) |
| 제1종 불완전 타원 적분 | F(x,k) | ellipticF(x,k) |
| 제2종 불완전 타원 적분 | E(x,k) | ellipticE(x,k) |
| 제3종 불완전 타원 적분 | Π(x,n,k) | ellipticPi(x,n,k) |
| 야코비 sn 함수 | sn(u) | jacobiSN(u,k) |
| 야코비 cn 함수 | cn(u) | jacobiCN(u,k) |
| 야코비 dn 함수 | dn(u) | jacobiDN(u,k) |
| 진폭 함수 | am(u) | jacobiAM(u,k) |
직교 다항식
| 함수 | 기호 | 예약어 |
|---|---|---|
| 에르미트 다항식 | Hn(x) | hermiteH(n,x) |
| 제1종 체비셰프 다항식 | Tn(x) | chebyshevT(n,x) |
| 제2종 체비셰프 다항식 | Un(x) | chebyshevU(n,x) |
| 르장드르 다항식 | Pn(x) | legendreP(n,x) |
| 연관 르장드르 다항식 | Pn(m,x) | legendreP(n,m,x) |
| 라게르 다항식 | Ln(x) | laguerreL(n,x) |
| 연관 라게르 다항식 | Ln(α,x) | laguerreL(n,α,x) |
| 게겐바우어 다항식 | Cn(λ,x) | gegenbauerC(n,λ,x) |
| 야코비 다항식 | Pn(α,β,x) | jacobiP(n,α,β,x) |
기타 특수 함수
| 함수 | 기호 | 예약어 |
|---|---|---|
| 합류 초기하 함수 | 1F1(a;b;x) | F11(a,b,x) |
| 합류 초기하 함수 | U(a;b;x) | FU11(a,b,x) |
| 가우스 초기하 함수 | 2F1(a,b;c;x) | F21(a,b,c,x) |
| 베르누이 수 | Bn | bernoulli(n) |
| 리만 제타 함수 | ζ(x) | zeta(x) |
프로그래밍
수치 계산에 특화된 간단한 C 스타일 프로그래밍 시스템입니다.
흐름 제어문
| 예약어 | 설명 |
|---|---|
| if(condition){expr;...} elseif(condition){expr;...} else{expr;...} | if 조건이 참이면 블록을 실행합니다. 거짓이면 elseif 조건을 같은 방식으로 평가합니다. 일치하는 블록을 실행한 후 if문을 종료합니다. |
| while(condition){expr;...} | 조건이 참이면 블록을 실행합니다. 조건이 거짓이 될 때까지 반복합니다. |
| do{expr;...} while(condition); | 블록을 무조건 실행합니다. 조건이 참이면 다시 실행하고, 거짓이면 종료합니다. |
| for(variable=initial; condition; variable=variable+step) {expr;...} | 변수를 초기화하고, 조건이 참이면 블록을 실행합니다. 변수를 증가시키고 조건이 참인 동안 반복하며, 거짓이면 종료합니다. |
| break | 루프를 무조건 종료합니다 |
| continue | 루프의 시작으로 무조건 돌아갑니다 |
출력문
| 예약어 | 설명 |
|---|---|
| print(expr1,expr2,...) | 수식을 출력합니다 |
| println(expr1,expr2,...) | 수식을 출력한 후 줄 바꿈합니다 |
| /*comment*/ | 계산이나 흐름 제어에 영향을 주지 않습니다 |
논리 연산자 및 값
| 분류 | 예약어 | 설명 |
|---|---|---|
| 논리 연산자 | not | 우선순위: not > and > or |
| 논리 연산자 | and | |
| 논리 연산자 | or | |
| 논리 연산자 | == | 왼쪽 수식이 오른쪽 수식과 같음 |
| 논리 연산자 | <> | 왼쪽 수식이 오른쪽 수식과 같지 않음 |
| 논리 연산자 | =<, <= | 왼쪽 수식이 오른쪽 수식 이하 |
| 논리 연산자 | =>, >= | 왼쪽 수식이 오른쪽 수식 이상 |
| 논리 연산자 | < | 왼쪽 수식이 오른쪽 수식 미만 |
| 논리 연산자 | > | 왼쪽 수식이 오른쪽 수식 초과 |
| 논리 값 | true | true=1 (≠0) |
| 논리 값 | false | false=0 |
배열
| 예약어 | 설명 | 예시 |
|---|---|---|
| numeric arrayname[size]; numeric arrayname[size][size]; numeric arrayname[size][size][size]; .... | 배열을 선언합니다. | numeric test1[4]; numeric test2[4][4]; numeric test3[4][4][4]; |
| numeric arrayname[] = {val1,val2,...}; numeric arrayname[][] = {{....},{....}}; .... | 배열을 선언하고 초기화합니다. | numeric test1[] = {1,2,3}; numeric test2[][] = {{1,2,3},{4,5,6}}; numeric test3[][][] = {{{1,2},{3,4}},{{5,6},{7,8}}}; |
| kei_length(a) | 배열의 요소 수를 가져옵니다. | numeric test[4]; n = kei_length(test); |
| function funcname(numeric k[]){...} | 함수 인수로 배열을 지정합니다. | numeric test[]={0,1,2,3}; func1(test); function func1(numeric k[]) { print(k[0]); ..... } |