Boo 언어의 while... 반복문 구문은 Python 언어의 그것과 동일하다.
while 조건식:
블럭
스트링을 긴정수(즉 64비트 정수) 타입으로 변환하는 변수에 저장하는 Boo 언어의 구문은
변수명 as long = Convert.ToInt64(스트링)
이다.
소스 파일명: testWhile.boo
- # Filename: testWhile.boo
- #
- # Purpose: Example using the while loop syntax
- # while ....
- #
- # Execute: booi testWhile.boo -200 300
- #
- import System
- # 사용법 표시
- def printUsage():
- print "Using: booi testWhile.boo [integer1] [integer2]"
- print "This finds the greatest common divisor of the given two integers."
- if argv.Length != 2:
- printUsage()
- Environment.Exit(1)
- # --------------------------------------
- # 명령행 인자의 두 스트링을 가져와서
- # 정수 타입으로 변환하여
- # 변수 val1과 val2에 저장한다.
- val1 as long = Convert.ToInt64(argv[0])
- val2 as long = Convert.ToInt64(argv[1])
- # a는 |val1|, |val2| 중 큰 값
- a as long = Math.Abs(val1)
- b as long = Math.Abs(val2)
- if a < b:
- a = Math.Abs(val2)
- b = Math.Abs(val1)
- if b == 0:
- print "GCD(${val1}, ${val2}) = ${a}"
- Environment.Exit(1)
- # --------------------------------------
- # Euclidean 알고리즘의 시작
- #
- # a를 b로 나누어 몫은 q에, 나머지는 r에 저장
- q = a / b
- r = a % b
- # --------------------------------------
- # Euclidean 알고리즘의 반복 (나머지 r이 0이 될 때 까지)
- while r != 0:
- a = b
- b = r
- q = a / b
- r = a % b
- # 나머지가 0이면 그 때 나눈 수(제수) b가 최대공약수(GCD)이다.
- gcd = b
- # 최대공약수(GCD)를 출력한다.
- print "GCD(${val1}, ${val2}) = ${gcd}"
실행:
Command> booi testWhile.boo
Using: booi testWhile.boo [integer1] [integer2]
This finds the greatest common divisor of the given two integers.
Command> booi testWhile.boo -200 300
GCD(-200, 300) = 100
Command> booi testWhile.boo -200 0
GCD(-200, 0) = 200
Command> booi testWhile.boo 125 100
GCD(125, 100) = 25
Command> booi testWhile.boo 23 25
GCD(23, 25) = 1
'프로그래밍 > Boo' 카테고리의 다른 글
조립제법(Horner의 방법) 예제 for Boo (0) | 2009.04.01 |
---|---|
80컬럼 컨솔에 19단표 출력하기 예제 for Boo (0) | 2009.04.01 |
if...else... 조건문 사용 예제 for Boo (0) | 2009.04.01 |
명령행 인자 처리 예제 for Boo (0) | 2009.04.01 |
구구단 출력 예제 for Boo (0) | 2009.04.01 |