体を使ったアルゴリズム体験

 体を使ったアルゴリズム体験

配列を椅子で表現し、参加者が椅子に座ったり移動したりして体を使って配列を体験してもらいました。
デジコミュ秋田 2013 のAkita Ruby Meetingの セッションで行いました。

Ea4f647d2ebc49e087fb84739194b19c?s=128

Katsuyoshi Ito

November 21, 2013
Tweet

Transcript

  1. ମΛ࢖ͬͨΞϧΰϦζϜମݧ Akita Ruby Meeting(ळాRubyָ͓͠Έձ) σδίϛϡळా 2013 2013/11/16 Akita Ruby Meeting

    ҏ౻উྑ
  2. Akita Ruby Meeting Akita Ruby Meeting͸ळాͰRubyΛೖΓޱͱ ͯ͠ϓϩάϥϛϯάΛָ͠Έ͍ͨํͷձͰ͢ɻ

  3. Ruby

  4. Ruby

  5. Ruby

  6. Ruby Rubyͱ͸... Φʔϓϯιʔεͷಈతͳϓϩάϥϛϯ άݴޠͰɺ γϯϓϧ͞ͱߴ͍ੜ࢈ੑΛ උ ͍͑ͯ·͢ɻ ΤϨΨϯτͳจ๏Λ ࣋ͪɺࣗવʹಡΈॻ͖͕Ͱ͖·͢ɻ https://www.ruby-lang.org/ja/

  7. γϯϓϧ͞ http://www.akitafan.com/akitaben/chobun.html όϦτϯҏ౻ͷळాหߨ࠲ΑΓ

  8. ߴ͍ੜ࢈ੑ

  9. ߴ͍ੜ࢈ੑ

  10. ळాͱ਌࿨ੑ͕ߴ͍ ΤϨΨϯτ͸ద੾ͳͷ͕ݟ౰ͨΓ·ͤΜͰͨ͠ɻorz

  11. ͍ͭ΍Δ͔

  12. ͍ͭ΍Δ͔

  13. ͍ͭ΍Δ͔ ִ݄(ࠓͷॴح਺݄) ఆظ։࠵͸5݄͔Β࢝Ί·ͨ͠ ਫ༵೔(͍͍ͩͨୈҰ) 18:15 - 20:45

  14. ͳʹ΍Δ͔ ࣗश ຊΛݟͨΓ ωοτΛݟͨΓ ֤ࣗͷϖʔεͰ ੒Ռൃද

  15. ͜Μͳ͔Μ͡

  16. None
  17. None
  18. http://akitarubymeeting.doorkeeper.jp

  19. ࠓ೔ͷ಺༰ ମΛ࢖ͬͨΞϧΰϦζϜମݧ

  20. ΞϧΰϦζϜʁ

  21. ΞϧΰϦζϜ͍ͨͦ͏ʁ

  22. ΞϧΰϦζϜ ΞϧΰϦζϜʢӳAlgorithmʣͱ͸ɺ਺ֶɺίϯϐϡʔςΟϯάɺݴ ޠֶɺ͋Δ͍͸ؔ࿈͢Δ෼໺ʹ͓͍ͯɺ໰୊Λղͨ͘ΊͷखॱΛఆࣜ Խͨ͠ܗͰදݱͨ͠΋ͷΛݴ͏ɻࢉ๏ʢ͞ΜΆ͏ʣͱ༁͞ΕΔ͜ͱ΋ ͋Δɻ ໰୊͸ͦͷղΛ͍࣋ͬͯΔ͕ɺΞϧΰϦζϜ͸ਖ਼ͦ͘͠ͷղΛಘΔͨ Ίͷ۩ମతखॱΛ༩͑Δɻ͞Βʹଟ͘ͷ৔߹ʹޮ཰ੑ͕ॏཁͱͳΔɻ ίϯϐϡʔλʹΞϧΰϦζϜΛࢦࣔ͢ΔͨΊͷʢిࢠʣจॻΛϓϩά ϥϜͱ͍͏ɻਓؒΑΓ଎͘େྔʹਖ਼͍݁͠ՌΛಋ͘͜ͱ͕Ͱ͖Δͷ͕ ίϯϐϡʔλͷڧΈͰ͋Δ͕ɺͦͷͨΊʹ͸ϓϩάϥϜ͸ਖ਼͘͠ޮ཰

    తͳΞϧΰϦζϜʹجͮ͘͜ͱ͕ඞཁͰ͋Δɻ WikipediaΑΓ
  23. ΞϧΰϦζϜ ໰୊Λղͨ͘Ίͷखॱ

  24. ໰୊ʁ

  25. ໰୊ʁ iTunesͰϓϨΠϦετΛ࡞Δ

  26. ໰୊ʁ iTunesͰϓϨΠϦετΛ࡞Δ બ୒

  27. ໰୊ʁ iTunesͰϓϨΠϦετΛ࡞Δ બ୒ ௥Ճ

  28. ໰୊ʁ iTunesͰϓϨΠϦετΛ࡞Δ બ୒ ௥Ճ ࡟আ

  29. ໰୊ʁ iTunesͰϓϨΠϦετΛ࡞Δ બ୒ ௥Ճ ࡟আ ฒ΂ସ͑

  30. ໰୊ʁ iTunesͰϓϨΠϦετΛ࡞Δ બ୒ ௥Ճ ࡟আ ฒ΂ସ͑ γϟοϑϧ

  31. ཪଆΛશ෦ݟͤ·͢

  32. ཪଆΛগ͠શ෦ݟͤ·͢

  33. ϓϩάϥϜ

  34. ϓϩάϥϜ ม਺

  35. ϓϩάϥϜ ม਺ ೖΕ෺

  36. ϓϩάϥϜ ม਺ ೖΕ෺

  37. ೖΕ෺ 1 2 3 + = 1 2 3 4

    5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
  38. ഑ྻ ೖΕ෺ͷҰͭ ೖΕ෺Λฒ΂ͨ΋ͷ

  39. ഑ྻ 10ݸͷ௕͞ͷ഑ྻΛͭ͘Γ·͢ ҜࢠΛฒ΂ͯ഑ྻΛ࡞Γ·͠ΐ͏ ...

  40. ഑ྻ A-J·Ͱॱ൪ʹฒ΂·͢

  41. ഑ྻ A-J·Ͱॱ൪ʹฒ΂·͢ A B C D I J ...

  42. ഑ྻ 5൪໨͸ԿͰ͔͢ʁ A B C D I J ...

  43. ഑ྻ 5൪໨͸ԿͰ͔͢ʁ A B C D E

  44. ഑ྻ 5൪໨͸ԿͰ͔͢ʁ A B C D E ΟʔͰ͢Ͷ

  45. ഑ྻ RubyͰ͸0͔Β਺͑Δ 5൪໨͸ԿͰ͔͢ʁ A B C E D

  46. ഑ྻ RubyͰ͸0͔Β਺͑Δ 5൪໨͸ԿͰ͔͢ʁ A B C E F D

  47. ഑ྻ RubyͰ͸0͔Β਺͑Δ 5൪໨͸ԿͰ͔͢ʁ A B C E F ΤϑͰ͢Ͷ D

  48. ഑ྻ A B C E D F J ...

  49. ഑ྻ ೖΕ෺ʹ͸൪߸͕ৼΒΕͯ·͢ɻ A B C E D F J ...

  50. ഑ྻ ೖΕ෺ʹ͸൪߸͕ৼΒΕͯ·͢ɻ A B C E D F J ...

    0 1 2 3 4 5 9
  51. ഑ྻ ೖΕ෺ʹ͸൪߸͕ৼΒΕͯ·͢ɻ ൪߸ΛৼͬͯΈ·͠ΐ͏ A B C E D F J

    ... 0 1 2 3 4 5 9
  52. ௥Ճ KΛ௥Ճ͢Δʹ͸ʁ A B C E D F J ...

    K
  53. ௥Ճ KΛ௥Ճ͢Δʹ͸ʁ A B C E D F J ...

    0 1 2 3 4 5 9 K
  54. ௥Ճ KΛ௥Ճ͢Δʹ͸ʁ ೖΕ෺Λ଍͢ඞཁ͕͋Γ·͢ A B C E D F J

    ... K 10
  55. ௥Ճ KΛ௥Ճ͢Δʹ͸ʁ ೖΕ෺Λ଍͢ඞཁ͕͋Γ·͢ A B C E D F J

    ... 0 1 2 3 4 5 9 K 10
  56. ૠೖ Ұͭஔ͖ʹ഑ஔ HΛGɺIͷؒʹೖΕΔʹ͸ʁ A C E I G H

  57. ૠೖ Ұͭஔ͖ʹ഑ஔ HΛGɺIͷؒʹೖΕΔʹ͸ʁ A C E I G 0 1

    2 3 4 H
  58. ૠೖ Ұͭஔ͖ʹ഑ஔ HΛGɺIͷؒʹೖΕΔʹ͸ʁ IΛͣΒͯ͠HΛؒʹೖΕΔ A C E I G H

    5
  59. ૠೖ Ұͭஔ͖ʹ഑ஔ HΛGɺIͷؒʹೖΕΔʹ͸ʁ IΛͣΒͯ͠HΛؒʹೖΕΔ A C E I G 0

    1 2 3 4 H 5
  60. ૠೖ BΛAɺCͷؒʹೖΕΔʹ͸ʁ A C E I G H 5 B

  61. ૠೖ BΛAɺCͷؒʹೖΕΔʹ͸ʁ A C E I G 0 1 2

    3 4 H 5 B
  62. ૠೖ BΛAɺCͷؒʹೖΕΔʹ͸ʁ CҎ߱શ෦ΛͣΒ͔ͯ͠ΒBΛೖΕΔ A C E I G H 5

    B 6
  63. ૠೖ BΛAɺCͷؒʹೖΕΔʹ͸ʁ CҎ߱શ෦ΛͣΒ͔ͯ͠ΒBΛೖΕΔ A C E I G 0 1

    2 3 4 H 5 B 6
  64. ࡟আ HΛऔΓআ͘ʹ͸ʁ A C E I G H 5 B

    6
  65. ࡟আ HΛऔΓআ͘ʹ͸ʁ A C E I G 0 1 2

    3 4 H 5 B 6
  66. ࡟আ HΛऔΓআ͍ͯ IΛͣΒ͠·͢ɻ A C E I G H 5

    B ×
  67. ࡟আ HΛऔΓআ͍ͯ IΛͣΒ͠·͢ɻ A C E I G 0 1

    2 3 4 H 5 B ×
  68. ࡟আ BΛऔΓআ͘ʹ͸ʁ A C E I G 5 B

  69. ࡟আ BΛऔΓআ͘ʹ͸ʁ A C E I G 0 1 2

    3 4 5 B
  70. ࡟আ BΛऔΓআ͍ͯ CҎ߱શͯΛͣΒ͢ A C E I G 5 B

  71. ࡟আ BΛऔΓআ͍ͯ CҎ߱શͯΛͣΒ͢ A C E I G 0 1

    2 3 4 5 B
  72. ෆಘҙ ਺͕ଟ͍৔߹͸ʁ A C E JJJ G H 9999 B

    ...
  73. ෆಘҙ ਺͕ଟ͍৔߹͸ʁ A C E JJJ G 0 1 2

    3 4 H 9999 B ...
  74. Ωϡʔ Ϩδ 1 Ϩδ 2 Ϩδ 3 ਓ ਓ ਓ

    ਓ ਓ ਓ ਓ ਓ ਓ ਓ ਓ ਓ
  75. Ωϡʔ ઌೖΕઌͩ͠(FIFO) Ϩδ 1 ਓ ਓ ਓ ਓ 0 1

    2 3
  76. Ωϡʔ ઌೖΕઌͩ͠ Ϩδ 1 ਓ ਓ ਓ ਓ 0 1

    2 3
  77. Ωϡʔ ઌೖΕઌͩ͠ Ϩδ 1 ਓ ਓ ਓ ਓ 0 1

    2 3
  78. Ωϡʔ Ϩδ 1 Ϩδ 2 Ϩδ 3 ਓ ਓ ਓ

    ਓ ਓ ਓ ਓ ਓ ਓ ਓ ×
  79. Ωϡʔ Ϩδ 1 Ϩδ 2 Ϩδ 3 ਓ ਓ ਓ

    ਓ ਓ
  80. Ωϡʔ Ϩδ τΠϨ ATM σΟζχʔϥϯυ

  81. ελοΫ ޙೖΕઌग़͠(LIFO) 0 1 2 3 4

  82. ελοΫ ੵΈ্͛(ຊ౳)

  83. ฒ΂ସ͑ A͔Βॱ൪ʹฒ΂·͠ΐ͏ ͱΓ͋͑ͣ΍ͬͯΈΑ͏ A C J F E G D

    0 1 2 3 4 5 9 B H I 6 7 8
  84. ૠೖιʔτ ࠨʹࣗ෼͕ೖΕΔॴ·ͰҠಈ τϥϯϓͷฒ΂ସ͑ΛΠϝʔδ D E A C B 0 1

    2 3 4
  85. ૠೖιʔτ 1൪໨ͷEΛௐ΂Δ DΑΓେ͖͍ͷͰͦ·· D E A C B 0 1

    2 3 4
  86. ૠೖιʔτ 2൪໨ͷAΛௐ΂Δ EΑΓখ͍͞ͷͰࠨͱަ׵ D E A C B 0 1

    2 3 4
  87. ૠೖιʔτ DΑΓখ͍͞ͷͰࠨͱަ׵ D E A C B 0 1 2

    3 4
  88. ૠೖιʔτ DΑΓখ͍͞ͷͰࠨͱަ׵ ࠨ͕ͳ͍ͷͰ֬ఆ D E A C B 0 1

    2 3 4
  89. ૠೖιʔτ 3൪໨ͷBΛௐ΂Δ EΑΓখ͍͞ͷͰࠨͱަ׵ D E A C B 0 1

    2 3 4
  90. ૠೖιʔτ DΑΓখ͍͞ͷͰࠨͱަ׵ D E A C B 0 1 2

    3 4
  91. ૠೖιʔτ AΑΓେ͖͍ͷͰ֬ఆ D E A C B 0 1 2

    3 4
  92. ૠೖιʔτ 4൪໨ͷCΛௐ΂Δ EΑΓখ͍͞ͷͰࠨͱަ׵ D E A C B 0 1

    2 3 4
  93. ૠೖιʔτ 4൪໨ͷCΛௐ΂Δ EΑΓখ͍͞ͷͰࠨͱަ׵ D E A C B 0 1

    2 3 4
  94. ૠೖιʔτ DΑΓখ͍͞ͷͰࠨͱަ׵ D E A C B 0 1 2

    3 4
  95. ૠೖιʔτ BΑΓେ͖͍ͷͰ֬ఆ D E A C B 0 1 2

    3 4
  96. ૠೖιʔτ ׬ྃ D E A C B 0 1 2

    3 4
  97. όϒϧιʔτ ӈྡͱൺֱ͠େ͖͍෺͸ͲΜͲΜӈʹ D E A C B 0 1 2

    3 4
  98. όϒϧιʔτ DͱEΛൺֱ E͕େ͖͍ͷͰͦͷ·· D E A C B 0 1

    2 3 4
  99. όϒϧιʔτ EͱAΛൺֱ D E A C B 0 1 2

    3 4
  100. όϒϧιʔτ E͕େ͖͍ͷͰަ׵ D E A C B 0 1 2

    3 4
  101. όϒϧιʔτ EͱBΛൺֱ D E A C B 0 1 2

    3 4
  102. όϒϧιʔτ E͕େ͖͍ͷͰަ׵ D E A C B 0 1 2

    3 4
  103. όϒϧιʔτ EͱCΛൺֱ D E A C B 0 1 2

    3 4
  104. όϒϧιʔτ E͕େ͖͍ͷͰަ׵ D E A C B 0 1 2

    3 4
  105. όϒϧιʔτ E͸֬ఆ D E A C B 0 1 2

    3 4
  106. όϒϧιʔτ DͱAΛൺֱ D E A C B 0 1 2

    3 4
  107. όϒϧιʔτ D͕େ͖͍ͷͰަ׵ D E A C B 0 1 2

    3 4
  108. όϒϧιʔτ DͱBΛൺֱ D E A C B 0 1 2

    3 4
  109. όϒϧιʔτ D͕େ͖͍ͷͰަ׵ D E A C B 0 1 2

    3 4
  110. όϒϧιʔτ DͱCΛൺֱ D E A C B 0 1 2

    3 4
  111. όϒϧιʔτ D͕େ͖͍ͷͰަ׵ D E A C B 0 1 2

    3 4
  112. όϒϧιʔτ D͸֬ఆ D E A C B 0 1 2

    3 4
  113. όϒϧιʔτ AͱBΛൺֱ ͦͷ·· D E A C B 0 1

    2 3 4
  114. όϒϧιʔτ BͱCΛൺֱ ͦͷ·· D E A C B 0 1

    2 3 4
  115. όϒϧιʔτ C͸֬ఆ D E A C B 0 1 2

    3 4
  116. όϒϧιʔτ AͱBΛൺֱ ͦͷ·· D E A C B 0 1

    2 3 4
  117. όϒϧιʔτ ׬ྃ D E A C B 0 1 2

    3 4
  118. छྨ

  119. ಈը ૠೖιʔτ http://www.youtube.com/watch? v=ROalU379l3U όϒϧιʔτ http://www.youtube.com/watch? v=lyZQPjUT5B4

  120. Enjoy Programing Akita Ruby MeetingͰ͸ࢀՃऀΛ͓଴ͪͯ͠ ͓Γ·͢ɻ