Skip to content

Instantly share code, notes, and snippets.

@rockos
Last active September 24, 2016 01:22
Show Gist options
  • Save rockos/01ba69e62b90977be96c9eeb15829dab to your computer and use it in GitHub Desktop.
Save rockos/01ba69e62b90977be96c9eeb15829dab to your computer and use it in GitHub Desktop.
blockly でフィボナッチ数列
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="text_print" x="-637" y="-387">
<value name="TEXT">
<shadow type="text">
<field name="TEXT">abc</field>
</shadow>
<block type="procedures_callreturn">
<mutation name="fib">
<arg name="n"></arg>
</mutation>
<value name="ARG0">
<block type="math_number">
<field name="NUM">5</field>
</block>
</value>
</block>
</value>
</block>
<block type="procedures_defreturn" x="-638" y="-263">
<mutation>
<arg name="n"></arg>
</mutation>
<field name="NAME">fib</field>
<statement name="STACK">
<block type="variables_set">
<field name="VAR">a</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">b</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="controls_if">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation">
<field name="OP">OR</field>
<value name="A">
<block type="logic_compare">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get">
<field name="VAR">n</field>
</block>
</value>
<value name="B">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get">
<field name="VAR">n</field>
</block>
</value>
<value name="B">
<block type="math_number">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set">
<field name="VAR">b</field>
<value name="VALUE">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</statement>
<statement name="ELSE">
<block type="variables_set">
<field name="VAR">n</field>
<value name="VALUE">
<block type="math_arithmetic">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get">
<field name="VAR">n</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_for">
<field name="VAR">i</field>
<value name="FROM">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<value name="TO">
<shadow type="math_number">
<field name="NUM">10</field>
</shadow>
<block type="variables_get">
<field name="VAR">n</field>
</block>
</value>
<value name="BY">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<statement name="DO">
<block type="variables_set">
<field name="VAR">pre_b</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">b</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">pre_a</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">a</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">b</field>
<value name="VALUE">
<block type="variables_get">
<field name="VAR">pre_a</field>
</block>
</value>
<next>
<block type="variables_set">
<field name="VAR">a</field>
<value name="VALUE">
<block type="math_arithmetic">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get">
<field name="VAR">pre_a</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get">
<field name="VAR">pre_b</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="RETURN">
<block type="variables_get">
<field name="VAR">b</field>
</block>
</value>
</block>
</xml>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment