Google Blockly를 사용하여 원주율 구하기
요전날 사내의 신입 사원 연수로, 프로그래밍 교육 교재에 대해서 기획·프레젠테이션을 실시했습니다.
그 과정에서 알게 된 Google Blockly에서 원주율을 구해 보겠습니다.
Google Blockly 정보
Google Blockly는 Google에서 제공하는 GUI 작업으로 프로그래밍할 수 있는 OSS입니다.
그림과 같이 마우스 조작으로 도형을 조합함으로써 프로그래밍을 할 수 있습니다.
프로그래밍 지식 없이도 알고리즘을 만들 수 있어 매우 교육에 도움이 될 것 같습니다.
원주율 계산에 대해
원주율을 구하는 방법은 다음과 같습니다.
원주율을 구하는 방법은 다음과 같습니다.
미세한 이론은 생략하지만, 쿼드엔의 면적과 사각형의 면적의 비율이 쿼드엔의 안팎에 쳐지는 점의 수의 비율과 일치하는 것을 이용하고 있습니다.
시도 횟수가 많을수록 정확도가 향상됩니다. 덧붙여서, 이와 같이 난수를 사용해 근사치를 구하는 수법을 몬테카를로법이라고 합니다.
실천
다음과 같이 블록을 조립했습니다.
시도 횟수 $M$는 100만 번입니다.
오른쪽 상단의 실행 버튼을 눌러 결과를 살펴보겠습니다.
$\pi = 3.14264$ 라고 계산할 수 있었습니다. 100만회의 시도에서는 이 정도의 정밀도가 되는 것 같습니다.
덧붙여서, 조합한 도형을 실제의 프로그래밍 언어로 변환할 수도 있습니다.
파이썬의 경우 다음과 같이 출력되었습니다.
import random
m = None
n = None
x = None
y = None
m = 1000000
n = 0
for count in range(int(m)):
x = random.random()
y = random.random()
if x * x + y * y < 1:
n = n + 1
print((n / m) * 4)
마지막으로
Google Blockly를 처음 사용해 보았지만 상상보다 훨씬 더 구현할 수있었습니다.
실제로 코딩을 하지 않아도, 알고리즘이나 프로그래밍적인 사고방식의 학습은 가능하다고 생각합니다.
오픈 소스이므로 이것을 사용하여 뭔가 만들고 싶네요.
Reference
이 문제에 관하여(Google Blockly를 사용하여 원주율 구하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shin27/items/a06eb3b2cf61d47c64c0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import random
m = None
n = None
x = None
y = None
m = 1000000
n = 0
for count in range(int(m)):
x = random.random()
y = random.random()
if x * x + y * y < 1:
n = n + 1
print((n / m) * 4)
Google Blockly를 처음 사용해 보았지만 상상보다 훨씬 더 구현할 수있었습니다.
실제로 코딩을 하지 않아도, 알고리즘이나 프로그래밍적인 사고방식의 학습은 가능하다고 생각합니다.
오픈 소스이므로 이것을 사용하여 뭔가 만들고 싶네요.
Reference
이 문제에 관하여(Google Blockly를 사용하여 원주율 구하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shin27/items/a06eb3b2cf61d47c64c0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)