Boo 언어의 while... 반복문 구문은 Python 언어의 그것과 동일하다.

        while 조건식:
                블럭

스트링을 긴정수(즉 64비트 정수) 타입으로 변환하는 변수에 저장하는 Boo 언어의 구문은

        변수명 as long = Convert.ToInt64(스트링)

이다.



소스 파일명: testWhile.boo

  1. # Filename: testWhile.boo
  2. #
  3. # Purpose:  Example using the while loop syntax
  4. #                while ....
  5. #
  6. # Execute: booi testWhile.boo -200 300
  7. #
  8. import System
  9. # 사용법 표시
  10. def printUsage():
  11.     print "Using: booi testWhile.boo [integer1] [integer2]"
  12.     print "This finds the greatest common divisor of the given two integers."
  13. if argv.Length != 2:
  14.     printUsage()
  15.     Environment.Exit(1)
  16. # --------------------------------------
  17. # 명령행 인자의 두 스트링을 가져와서
  18. # 정수 타입으로 변환하여
  19. # 변수 val1과 val2에 저장한다.
  20. val1 as long = Convert.ToInt64(argv[0])
  21. val2 as long = Convert.ToInt64(argv[1])
  22. # a는 |val1|, |val2| 중 큰 값
  23. a as long = Math.Abs(val1)
  24. b as long = Math.Abs(val2)
  25. if a < b:
  26.     a = Math.Abs(val2)
  27.     b = Math.Abs(val1)
  28. if b == 0:
  29.     print "GCD(${val1}, ${val2}) = ${a}"
  30.     Environment.Exit(1)
  31. # --------------------------------------
  32. # Euclidean 알고리즘의 시작
  33. #
  34. # a를 b로 나누어 몫은 q에, 나머지는 r에 저장
  35. q = a / b
  36. r = a % b
  37. # --------------------------------------
  38. # Euclidean 알고리즘의 반복 (나머지 r이 0이 될 때 까지)
  39. while r != 0:
  40.     a = b
  41.     b = r
  42.     q = a / b
  43.     r = a % b
  44. # 나머지가 0이면 그 때 나눈 수(제수) b가 최대공약수(GCD)이다.
  45. gcd = b
  46. # 최대공약수(GCD)를 출력한다.
  47. 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


 

크리에이티브 커먼즈 라이선스
Creative Commons License

 

Posted by Scripter
,