¼ø¶È»ñÎÁ/08 ¤ÎÊѹ¹ÅÀ


#contents

* Á°²ó¤Î²ÝÂê¤Ë¤Ä¤¤¤Æ [#u46c05d7]

** Fizz Buzz [#h24f3f45]
´Êñ¤ÊÌäÂê¤À¤¬¡¤¶ìÏ«¤·¤¿³ØÀ¸¤â¤¤¤ë¤è¤¦¤Ê¤Î¤Ç Fizz Buzz ¤Ë¤Ä¤¤¤Æ¤â¥µ¥ó¥×¥ë¤È¤½¤Îºî¤êÊý¤ò¼¨¤·¤Æ¤ª¤³¤¦¡¥

*** Á´Âι½Â¤ [#kc4b0a07]
¤Þ¤º¤Ï¤¤¤Ä¤â¤Î¤è¤¦¤ËÁ´Âι½Â¤¤«¤é¤Ç¤¢¤ë¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
include Math

# Fizz Buzz ¤òÀµ¤·¤¯ÊÖ¤¹´Ø¿ô
def fb(n)
  # ¼ÂÁõ¤Ï¤³¤ì¤«¤é¡¥¤È¤ê¤¢¤¨¤º¡Ö¥×¥í¥°¥é¥à¤¬Æ°¤¯¤è¤¦¤Ë¡× n ¤ò½ÐÎϤ·¤Æ¤ª¤¯
  return n
end

# °Ê²¼¡¤¥×¥í¥°¥é¥àËÜÂÎ

# ÊÑ´¹¤µ¤ì¤¿À°¿ô¤ò¤¤¤¯¤Ä¿ô¤¨¤ë¤«
n_upper = ARGV[0].to_i

# ÊÑ´¹¤µ¤ì¤¿À°¿ô¤Î¿ô
n = 0

# Fizz Buzz ¤ò»î¤·¤Æ¹Ô¤¯¡¥ºÇ½é¤Ï 1 ¤«¤é.
i = 1

# n ¤¬»ØÄꤵ¤ì¤¿¿ô¤Ë¤Ê¤ë¤Þ¤Ç i ¤òÁý¤ä¤·¤Æ¤¤¤¯
while (n < n_upper) do
  # ²èÌ̽ÐÎÏ
  print(fb(i),"\n")

  # ¡ÖFizz Buzz ¤Î½ÐÎϤ¬Ã±¤Ê¤ë¿ô»ú¤Ç¤Ê¤¤ = ÊÑ´¹¤µ¤ì¤¿¡×¤È¤·¤Æ¥«¥¦¥ó¥È¤òÁý¤ä¤¹
  if (fb(i) != i) then
    n += 1
  end

  # ¼¡¤Î¿ô¤Ø
  i += 1
end
}}

*** Fizz Buzz ´Ø¿ô¤Î¼ÂÁõ [#h7ca79dc]
Fizz Buzz ¤ÎÀ­¼Á¤«¤é¤·¤Æ¡¤ÂоݤȤʤëÀ°¿ô ''n'' ¤ËÂФ·¤Æ¥×¥í¥°¥é¥à¤Î¤ä¤ë¤Ù¤­¤³¤È¤Ï(ÁÇľ¤Ë¤Ï)
+ ¤Þ¤º 15 ¤ÎÇÜ¿ô¤«¥Á¥§¥Ã¥¯ (·ë²Ì¤Ï Yes = ''Fizz Buzz'' ¤ò½ÐÎÏ or No) 
+ ¾å¤Î¥Á¥§¥Ã¥¯¤Î·ë²Ì¤¬ No ¤Ê¤é¤Ð¡¤(Î㤨¤Ð) 3 ¤ÎÇÜ¿ô¤«¥Á¥§¥Ã¥¯ (·ë²Ì¤Ï Yes = ''Fizz'' ¤ò½ÐÎÏ or No)
+ ¾å¤Î¥Á¥§¥Ã¥¯¤Î·ë²Ì¤¬ No ¤Ê¤é¤Ð¡¤(Î㤨¤Ð) 5 ¤ÎÇÜ¿ô¤«¥Á¥§¥Ã¥¯ (·ë²Ì¤Ï Yes = ''Buzz'' ¤ò½ÐÎÏ or No)
+ ¾å¤Î¥Á¥§¥Ã¥¯¤Î·ë²Ì¤¬ No ¤Ê¤é¤Ð¡¤À°¿ô ''n'' ¤½¤Î¤â¤Î¤ò½ÐÎÏ

¤È¤¤¤¦½ç½ø¤Ë¤Ê¤ë¡¥¤³¤ì¤Ï´Êñ¤Ê»»¿ô¤ÎÌäÂê¤À¡¥¤³¤ì¤òÂç³ØÀ¸¤¬´Ö°ã¤¨¤ë¤ÈÁêÅöÃѤº¤«¤·¤¤¡Ä
&br;
CENTER:&size(24){''Fizz Buzz ¤Ç´Ö°ã¤¨¤¿³ØÀ¸¤Ï»»¿ô¤ÎǽÎϤˤĤ¤¤ÆÈ¿¾Ê¤¬É¬Íפ«¤â''};
&br;

¤µ¤Æ¡¤ÏäòÌᤷ¤Æ Fizz Buzz ´Ø¿ô¤Î¼ÂÁõ¤ò¸«¤Æ¤ß¤è¤¦¡¥
¾å¤Î¥¹¥È¡¼¥ê¡¼¤òÁÇľ¤Ë¼ÂÁõ¤¹¤ë¤Ê¤é¤ÐÎ㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
def fb(n)
  if (n % 15 == 0) then
      return "Fizz Buzz"
    elsif (n % 3 == 0) then
      return "Fizz"
    elsif (n % 5 == 0) then
      return "Buzz"
    else 
      return n
  end
end
}}
̤¦¤È¤³¤í¤Ê¤É²¿¤â̵¤¤¤°¤é¤¤´Êñ¤À¡¥¤â¤Á¤í¤ó¡¤''elsif'' ¤Ê¤É»È¤ï¤Ê¤¯¤Æ¤â ¼¡¤Î¤è¤¦¤Ë ''if'' ʸ¤òÁÇľ¤Ë½Å¤Í¤Æ¤¤¤Ã¤Æ¤âÎɤ¤¡¥¤¤¤º¤ì¤Ë¤·¤Æ¤âÏÀÍý¤¬¤ï¤«¤Ã¤Æ¤¤¤ì¤Ð¤³Éôʬ¤Î¥×¥í¥°¥é¥à¤Ï¤Þ¤Ã¤¿¤¯Æñ¤·¤¯¤Ê¤¤¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
def fb(n)
  if (n % 15 == 0) then
    return "Fizz Buzz"
  else 
    if (n % 3 == 0) then
      return "Fizz"
    else 
      if (n % 5 == 0) then
        return "Buzz"
      else
        return n
      end
    end
  end
end
}}

½ÐÍè¤Ê¤«¤Ã¤¿ or Æñ¤·¤«¤Ã¤¿¤È»×¤Ã¤¿¿Í¤Ï¡¤
&br;
CENTER:&size(24){''¥×¥í¥°¥é¥ß¥ó¥°¤¹¤ëÁ°¤Ë¡¤ÏÀÍý¤ò¤­¤Á¤ó¤ÈÀ°Íý¤·¤Æ¤¤¤ë¤«¡©''};
&br;

¤È¼«Ê¬¤Î¹ÔÆ°¤ò¿¶¤êÊ֤äƤߤ褦¡¥¤â¤·¤â»×¤¤Åö¤¿¤ë¤Õ¤·¤¬¤¢¤ë¤Ê¤é¤Ð¡¤¥­¡¼¥Ü¡¼¥É¤Ë¿¨¤ëÁ°¤ËÌäÂê¤òÀ°Íý¤·¤Æ¤«¤é¼è¤êÁȤà¤è¤¦¤Ë¤·¤Æ¤ß¤è¤¦¡¥

&br;
** Collatz ÌäÂê [#h79bf52d]
¤Þ¤º¡¤¥×¥í¥°¥é¥à¤Ë²Ý¤»¤é¤ì¤¿¾ò·ï¤òºÆ·Ç¤·¤è¤¦¡¥

- ÀµÀ°¿ô ''k'' ¤ËÂФ·¤Æ¡¤Collatz ¤Î´Ø¿ô ''f'' ¤ò²¿²óŬÍѤ¹¤ë¤È 1 ¤Ë¤Ê¤ë¤«¤ò½ÐÎϤ¹¤ë´Ø¿ô ''num_col(k)'' ¤¬ ''def'' ¤ò»È¤Ã¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥
- ¥×¥í¥°¥é¥àµ¯Æ°»þ¤Ë¤¢¤ëÄøÅÙÂ礭¤Ê¿ô ''n'' (100¤°¤é¤¤) ¤¬Í¿¤¨¤é¤ì¤ë¡¥
- 1 ¤«¤é»Ï¤á¤Æ¡¤''n'' ¤Þ¤Ç ''num_col'' ¤Î·ë²Ì¤ò½ÐÎϤ¹¤ë¡¥

¤È¤¤¤¦¤³¤È¤À¤Ã¤¿¡¥¤À¤«¤é¤â¤Á¤í¤ó¡¤
&ref(/materials/warning.png); ''num_col ´Ø¿ô¤¬¤Ê¤±¤ì¤Ð¼º³Ê''¤Ç¤¢¤ë¡¥
¤â¤Ã¤È¤­¤Á¤ó¤È¸À¤¦¤È¡¤Áí»Å¾å¤²¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¤ÏÅöÁ³
&br;
CENTER:&size(24){''²Ý¤»¤é¤ì¤¿¾ò·ï¤òËþ¤¿¤µ¤Ê¤±¤ì¤Ð¥ì¥Ý¡¼¥È¤È¤·¤Æ¼õÍý¤µ¤ì¤Ê¤¤''};
&br;

¤Î¤Ç¡¤Å¬Åö¤Ë½Ð¤»¤Ð¤¤¤¤¤ä¤È¤ª¤â¤Ã¤Æ¤¤¤ë¤Èñ°Ì¤¬¤Ä¤«¤Ê¤¯¤Æò¤¯¤³¤È¤Ë¤Ê¤ë¡¥

*** Á´Âι½Â¤ [#e12635df]

¤µ¤Æ¡¤Á´Âι½Â¤¤Ïñ½ã¤Ë°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
include Math

# Collatz ´Ø¿ô
def col(n)
  # ¼ÂÁõ¤Ï¸å¤Ç¡¥
  return n
end

# Collatz ´Ø¿ô¤ò²¿²óŬÍѤ·¤¿¤é 1 ¤Ë¤Ê¤ë¤«¤òÊÖ¤¹´Ø¿ô. ¤³¤Î´Ø¿ô¤òºî¤ì¤È»Ø¼¨¤µ¤ì¤Æ¤¤¤ë¡¥
def num_col(k)
  # ¼ÂÁõ¤Ï¸å¤Ç
  return k
end

# °Ê²¼¡¤programËÜÂÎ

# ¤É¤³¤Þ¤ÇÄ´¤Ù¤ë¤«
n_upper = ARGV[0].to_i

# 1 ¤«¤é½ç¤Ë¡¤n_upper ¤Þ¤Ç num_col ¤Î·ë²Ì¤ò½ÐÎϤ¹¤ë
for i in 1..n_upper do
  print(i, ", ",num_col(i),"\n")
end
}}

&br;
*** ³Æ´Ø¿ô¤Î¼ÂÁõ [#m95ffbf1]

¤Þ¤º¡¤ÄêµÁÄ̤ê¤ÇºÑ¤à Collatz ´Ø¿ô¤ò¼ÂÁõ¤·¤è¤¦¡¥¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
def col(n)
  if (n % 2 == 0) then
      return (n/2)
    else
      return (3*n)+1
  end
end
}}

¤½¤·¤Æ¡¤Collatz ´Ø¿ô¤ò²¿²óŬÍѤ·¤¿¤é 1 ¤Ë¤Ê¤ë¤«¤òÊÖ¤¹´Ø¿ô¤Ï while ¤ò»È¤Ã¤ÆÎ㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
def num_col(k)
  i = 0
  n = k

  while (n > 1) do # ¤Þ¤À 1 ¤Ë¤Ê¤Ã¤Æ¤Ê¤±¤ì¤Ð Collatz ´Ø¿ô¤òŬÍѤ¹¤ë.
    n = col(n)
    i += 1
  end

  # ¤³¤³¤ØÍè¤ë¤Î¤Ï¡¤while ¤òÈ´¤±¤¿»þ¤Ê¤Î¤Ç¡¤n=1 ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥
  return i
end
}}

¤¢¤È¤Ï¡¤¤³¤Î¥×¥í¥°¥é¥à¤ò 100 ¤°¤é¤¤¤Þ¤ÇÆ°¤«¤·¤Æ¡¤·ë²Ì¤ò¥°¥é¥Õ¤Ë¤·¤Æ¥°¥é¥Õ¤È¥×¥í¥°¥é¥à¤ÎξÊý¤ò¥ì¥Ý¡¼¥È¤È¤·¤ÆÄó½Ð¤¹¤ì¤ÐÎɤ«¤Ã¤¿¡¤¤È¤¤¤¦´Êñ¤ÊÏäÀ¡¥

* ¥×¥í¥°¥é¥àÆ°ºîÃæ¤Ë¥Ç¡¼¥¿¤òÌ㤦 : gets Ì¿Îá [#rb9c304e]

¥×¥í¥°¥é¥à¤ÎÆ°ºîÃæ¤Ë¡¤¥­¡¼¥Ü¡¼¥É¤ä¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÌ㤤¤¿¤¤¤È¤¤¤¦¥·¥Á¥å¥¨¡¼¥·¥ç¥ó¤¬¤¢¤ë¡¥
¤³¤¦¤¤¤¦»þ¤Ë»È¤¦Ì¿Îá¤È¤·¤Æ ''gets'' (get string ¤Îά) ¤È¤¤¤¦Ì¿Î᤬¤¢¤ë¤Î¤Ç¤³¤ì¤ò³Ø¤Ü¤¦¡¥

»È¤¤Êý¤Ï¡¤¤ª¤ª¤¶¤Ã¤Ñ¤Ë¤¤¤Ã¤Æ°Ê²¼¤ÎÄ̤ê¤À¡¥

** 1¹Ô¤Ë1¸Ä¤Î¥Ç¡¼¥¿¤òÌ㤦¾ì¹ç [#e97f9d05]

¥Ç¡¼¥¿¤òÆþÎϤ·¤Æ¤â¤é¤¦¤¿¤Ó¤Ë¡¤¼¡¤Î¥»¥Ã¥È¤ò¹Ô¤¨¤ÐÎɤ¤¡¥
¤¿¤À¤·¡¤''a'' ¤Ï¥Ç¡¼¥¿¤òÆþ¤ì¤ëÊÑ¿ô̾¤Î¡ÖÎã¡×¤Ç¤¢¤ë¡¥
&br;

&size(24){''&color(blue){a}; = gets''}; 
&size(24){''&color(blue){a};.chomp!''};
&br;

²òÀ⤷¤è¤¦¡¥

ºÇ½é¤Î ''a=gets'' ¤Ç¥­¡¼¥Ü¡¼¥É¤«¤é°ì¹Ôʬ¤Îʸ»úÎóÆþÎϤ¬ÆÀ¤é¤ì¡¤ÊÑ¿ô ''a'' ¤ËÂåÆþ¤µ¤ì¤ë¡¥
¤¿¤À¤·¡¤¤³¤Î¤Þ¤Þ¤À¤È ''a'' ¤ÎºÇ¸å¤Ë¡Ö²þ¹Ô¥³¡¼¥É \n¡×¤È¤¤¤¦Æüì¤Êʸ»ú¤¬Æþ¤Ã¤¿¤Þ¤Þ¤Ç¤¢¤ê¡¤Ä̾ï¤Ïº¤¤ë¤À¤±¤Ê¤Î¤Ç¡¤¼¡¤Î ''a.chomp!'' ¤Ç¤½¤ÎÆüì¤Êʸ»ú ''\n'' ¤ò¾Ãµî¤·¤Æ¤¤¤ë¡¥
&br;

CENTER:&size(24){''ÆþÎϥǡ¼¥¿¤Ë¤Ï¤¤¤Ä¤â¤¹¤° .chomp! ¤·¤Æ¤ª¤³¤¦''};
&br;

&ref(/materials/warning.png); ''gets = get string'' ¤Ç¤¢¤ë¤³¤È¤«¤é¤ï¤«¤ë¤è¤¦¤Ë¡¤ÆþÎϥǡ¼¥¿¤Ï¡Öʸ»úÎó¡×¤È¤·¤Æ°·¤ï¤ì¤ë¡¥¿ô»ú¤È¤·¤Æ°·¤¤¤¿¤¤¤È¤­¤ÏÊÑ´¹¤¬É¬ÍפÀ¡¥
&br;

&ref(/materials/notes.png); ¿ô»ú¤òÆó¤Ä¤â¤é¤Ã¤Æ¤½¤ÎÊ¿¶Ñ¤òµá¤á¤ë´Êñ¤Ê¥×¥í¥°¥é¥à¤òÁȤ⤦¡¥¤¿¤À¤·¡¤ÆþÎϤòÂ¥¤¹É½¼¨¤â¤¹¤ë¤è¤¦¤Ë¤·¤è¤¦¡¥
&br;
¤³¤Î¾ì¹ç¤ÏÎ㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦(¤¿¤À¤·¡¤»÷¤¿Íͤʷ«¤êÊÖ¤·¤¬½Ð¤Æ¤­¤Æ¤¤¤Æ¤¢¤Þ¤êÎɤ¯¤Ê¤¤¥×¥í¥°¥é¥à¤Ç¤¢¤ë)¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
include Math

print("What is x? : ") # ÆþÎϤòÂ¥¤¹É½¼¨
x = gets
x.chomp!

print("What is y? : ") # ÆþÎϤòÂ¥¤¹É½¼¨
y = gets
y.chomp!

z = (x.to_f + y.to_f) / 2.0
# x, y ¤Ë .to_f ¤Ê¤É¤ò¤Ä¤±¤Ê¤¤¤È¿ô»ú°·¤¤¤Ë¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¡ª

print("Average = ",z,"\n")
}}
Î㤨¤Ð¤³¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤È¡¤
>  What is x? : 1
>  What is y? : 2
>  Average = 1.5

¤Ê¤É¤È¤Ê¤ë¡¥

** [±þÍÑ] 1¹Ô¤Ë1¸Ä¤Î¥Ç¡¼¥¿¤òÌ㤦¾ì¹ç. ¤¿¤À¤·¡¤²¿¹Ô¤ÎÆþÎϤ¬¤¢¤ë¤«¤ï¤«¤é¤Ê¤¤¾ì¹ç [#qa785e28]

Î㤨¤Ð¡¤¡Ö¤¤¤¯¤Ä¤«¤Î¡×¥Ç¡¼¥¿¤ÎÊ¿¶Ñ¤òÃΤꤿ¤¤¤¬¡¤¥Ç¡¼¥¿¤¬¤¤¤¯¤ÄÍ­¤ë¤«»öÁ°¤Ëʬ¤«¤é¤Ê¤¤¤è¤¦¤Ê¾ì¹ç¤¬¤¢¤ë¡¥¤³¤¦¤·¤¿¾ì¹ç¤°¤é¤¤¡¤ÆþÎϤ˽ÀÆðÀ­¤ò»ý¤¿¤»¤¿¤¤¡¥
¤½¤¦¤·¤¿¾ì¹ç¤Ë¤Ï ''while'' ¤ò»È¤Ã¤Æ¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤Î¤¬¥Ñ¥¿¡¼¥ó¤À¡¥
&br;

&size(24){''while (&color(blue){a}; = gets) do''}; 
&nbsp;&nbsp;&nbsp;&nbsp;&size(24){''&color(blue){a};.chomp!''};
&nbsp;&nbsp;&nbsp;&nbsp;&size(18){''&color(blue){½èÍý¤·¤¿¤¤¤³¤È¤ò¤É¤ó¤É¤óµ­½Ò};''};
&nbsp;&nbsp;&nbsp;&nbsp;&size(18){''&color(blue){¡Ä};''};
&nbsp;&nbsp;&nbsp;&nbsp;&size(18){''&color(blue){¤³¤³¤Þ¤Ç¤­¤¿¤é¡¤¤â¤¦°ìÅÙ¾å¤ËÌá¤Ã¤Æ¡ÖÆþÎϤ¬¤¢¤ì¤Ð¡×while ¤Î¼¡¤Î¹Ô¤ËÆÍÆþ¡¥};''};
&nbsp;&nbsp;&nbsp;&nbsp;&size(18){''&color(blue){¡ÖÆþÎϤ¬¤Ê¤±¤ì¤Ð¡×²¼¤Î end °Ê¹ß¤Ë°Ü¤ë};''};
&size(24){''end''}; 
&br;

&ref(/materials/warning.png); (¾åµé¼Ô¸þ¤±) ¤ï¤«¤ë¿ÍÍѤ˲òÀ⤹¤ë¤È¡¤ÆþÎϤ¬¤Ê¤±¤ì¤Ð ''gets'' ¤Î·ë²Ì¤¬¶õ¤Ã¤Ý¤Ë¤Ê¤ê¡¤''a = get'' ¤ÎÂåÆþ¤Ë¡Ö¼ºÇԡפ¹¤ë¡¥¤½¤Î¤¿¤á¡¤while ʸ¤Î¾ò·ï¤¬À®¤êΩ¤¿¤º¤Ë¡¤end °Ê²¼¤ØÀ©¸æ¤¬Î®¤ì¤ë¤È¤¤¤¦»ÅÁȤߤÀ¡¥
&br;

¤³¤ì¤Ï¼ÂÎã¤ò¸«¤Ê¤¤¤È¥Ô¥ó¤È¤³¤Ê¤¤¿Í¤â¤¤¤ë¤À¤í¤¦¡¥
&ref(/materials/notes.png); ¿ô»ú¤òÊ£¿ô²óÆþÎϤ·¤Æ¤â¤é¤Ã¤Æ¤½¤ÎÊ¿¶Ñ¤òµá¤á¤ë´Êñ¤Ê¥×¥í¥°¥é¥à¤òÁȤ⤦¡¥¤¿¤À¤·¡¤²¿²óÆþÎϤµ¤ì¤ë¤«¤Ï»öÁ°¤Ë¤Ïʬ¤«¤é¤Ê¤¤¤È¤·¤è¤¦¡¥
&br;
¤³¤Î¾ì¹ç¤ÏÎ㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
include Math

# ¥Ç¡¼¥¿¤Î¸Ä¿ô
n = 0

# ¥Ç¡¼¥¿¤Î¹ç·×
sum = 0.0

print("? (to stop, push Ctrl+d): ") # ÆþÎϤòÂ¥¤¹É½¼¨.ºÇ½é¤Î°ì²óʬ¤À¤±Í¾·×¤ËɬÍס¥
while (x = gets) do
  x.chomp!

  sum += x.to_f
  n += 1

  print("? (to stop, push Ctrl+d): ") # (¼¡¤Î)ÆþÎϤòÂ¥¤¹É½¼¨
end

average = sum/n

print("\nAverage = ",average,"\n")
}}
Î㤨¤Ð¤³¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤È¡¤
>  ? (to stop, push Ctrl+d): 3
>  ? (to stop, push Ctrl+d): 2.1
>  ? (to stop, push Ctrl+d): 4.3
>  ? (to stop, push Ctrl+d):
>  Average = 3.13333333333333

(4²óÌܤÎÆþÎÏ»þ¤Ë¡¤''Ctrl'' ¥­¡¼¤È ''d'' ¥­¡¼¤òƱ»þ¤Ë²¡¤·¤Æ¤¤¤ë)
¤Ê¤É¤È¤Ê¤ë¡¥

&ref(/materials/warning.png); ¥³¥ó¥Ô¥å¡¼¥¿¤ÎÀ¤³¦¤Ç¤Ï¡¤¡ÖÆþÎϤϽª¤ê¤À¤è¡×¤È±þÅú¤·¤¿¤¤¤È¤­¤Ï ''Ctrl'' ¥­¡¼¤È ''d'' ¥­¡¼¤òƱ»þ¤Ë²¡¤¹Ìó«¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¥³Ð¤¨¤Æ¤ª¤¯¤È¤è¤¤¤³¤È¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤.

** 1¹Ô¤ËÊ£¿ô¤Î¥Ç¡¼¥¿¤òÌ㤦¾ì¹ç [#cd2106d5]

1¹Ô¤ËÊ£¿ô¤Î¥Ç¡¼¥¿¤ò½ñ¤¤¤Æ¤â¤é¤Ã¤ÆÆþÎϤȤ¤¤¦¾ì¹ç¤Ï¡¤¥Ç¡¼¥¿¤òʬ³ä¤·¤ÆÇÛÎó¤ÎÍ×ÁǤˤ·¤Æ¤·¤Þ¤¦¤Î¤¬¤Þ¤¢»È¤¤°×¤¤¤ä¤êÊý¤À¤í¤¦¡¥
¥Ç¡¼¥¿¤¬¶õÇò¤Ç¶èÀÚ¤é¤ì¤ÆÆþÎϤµ¤ì¤ë¾ì¹ç¡¤¶ñÂÎŪ¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡¥
&br;

&size(24){''&color(blue){a}; = gets''}; 
&size(24){''&color(blue){a};.chomp!''};
&size(24){''&color(blue){ary = a};.split()''};
&br;
¤³¤Î¾ì¹ç¤Ï¡¤ÊÑ¿ô ''ary'' ¤¬Ê£¿ô¤Î¥Ç¡¼¥¿¤ò³ÊǼ¤·¤¿ÇÛÎó¤È¤Ê¤ë¡¥
¤è¤¯¤ï¤«¤é¤Ê¤¤¤È¤¤¤¦¿Í¤Ï¡¤ÌµÍý¤ËÍý²ò¤»¤º¡¤¤³¤Î¡Ö¥Ñ¥¿¡¼¥ó¡×¤ò°Åµ­¤·¤Æ¤·¤Þ¤Ã¤Æ¤âÎɤ¤¡¥
&br;

&ref(/materials/warning.png); (¾åµé¼Ô¸þ¤±) ''.split()'' ¤Ï¡¤() ¤ÎÃæ¤Ë»ØÄꤷ¤¿¤â¤Î¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤ë¤È¤·¤Æʸ»úÎó¤òʬ³ä¤·¤ÆÇÛÎó¤òÊÖ¤¹Áàºî¤Ç¤¢¤ë¡¥²¿¤â¤¤¤ì¤Ê¤¤¤È¶õÇò¶èÀÚ¤ê¤Ë¤Ê¤ë¡¥Â¾¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Ï³Æ¼«Ä´¤Ù¤è¡¥
&br;

¤µ¤é¤Ë¡¤ÆþÎϥǡ¼¥¿¤¬¼Â¤ÏÁ´Éô¿ô»ú¤Î¤Ä¤â¤ê¤À¤È¤¤¤¦¾ì¹ç¤Ï¡¤¼¡¤Î°ì¹Ô¤ò²Ã¤¨¤ÆÇÛÎó¤òÊÑ´¹¤¹¤ì¤ÐÎɤ¤¡¥
&br;

&size(24){''&color(blue){ary};.map!{|e| e.to_f }''};
&br;
¤è¤¯¤ï¤«¤é¤Ê¤¤¤È¤¤¤¦¿Í¤Ï¡¤ÌµÍý¤ËÍý²ò¤»¤º¡¤¤³¤Î¡Ö¥Ñ¥¿¡¼¥ó¡×¤ò°Åµ­¤·¤Æ¤·¤Þ¤Ã¤Æ¤âÎɤ¤¡¥
&br;

&ref(/materials/warning.png); (¾åµé¼Ô¸þ¤±) ''.map!'' ¤ÏÇÛÎó¤ÎÃæ¿È¤½¤ì¤¾¤ì¤ËƱ¤¸Áàºî¤ò²Ã¤¨¤ëÌ¿Îá¤Ç¤¢¤ë¡¥
&br;

&ref(/materials/notes.png); ¤µ¤Æ¡¤¤³¤Îµ¡Ç½¤ò»È¤Ã¤Æ¡¤¿ô»ú¤ò1¹Ô¤ËÊ£¿ô¸ÄÆþÎϤ·¤Æ¤â¤é¤Ã¤Æ¤½¤ÎÊ¿¶Ñ¤òµá¤á¤ë´Êñ¤Ê¥×¥í¥°¥é¥à¤òÁȤ⤦¡¥¤¿¤À¤·¡¤²¿¸ÄÆþÎϤµ¤ì¤ë¤«¤Ï»öÁ°¤Ë¤Ïʬ¤«¤é¤Ê¤¤¤È¤·¤è¤¦¡¥ ¤Þ¤¿¡¤ÅÓÃæ¤ÎÊÑ¿ô¤ÎÊÑ´¹Åù¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¤òÍý²ò¤¹¤ë¤¿¤á¤Ë¡¤ÅÓÃæ¤Î·Ð°Þ¤âɽ¼¨¤â¤¹¤ë¤è¤¦¤Ë¤·¤è¤¦.
&br;
¤³¤Î¾ì¹ç¤ÏÎ㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
include Math

# ÆþÎϤòÂ¥¤¹É½¼¨.
print("? : ") 

# ¤Þ¤ºÉáÄ̤ËÂ礭¤Êʸ»úÎó°ì¤Ä¤È¤·¤ÆÆþÎÏ
x = gets
x.chomp!

# ¸½¾õ¤Î x ¤òɽ¼¨¤·¤Æ¤ß¤ë
p x

# ¶õÇò¤Ç¶èÀڤäÆÇÛÎó¤ËÊÑ´¹¤¹¤ë
data = x.split()

# ¤½¤ÎÇÛÎó¤òɽ¼¨¤·¤Æ¤ß¤ë
p data

# ÇÛÎó¤ÎÍ×ÁǤ¹¤Ù¤Æ¤ò¼Â¿ô°·¤¤¤ËÊÑ´¹
data.map!{ |e| e.to_f }

# ¤½¤ÎÇÛÎó¤òɽ¼¨¤·¤Æ¤ß¤ë
p data

# ¤¢¤È¤ÏÊ¿¶Ñ¤ò·×»»¡¥
sum = 0.0
for i in 1..data.size do
  sum += data[i-1]
end
average = sum/data.size

# Ê¿¶Ñ¤òɽ¼¨
print("Average = ",average,"\n")
}}
Î㤨¤Ð¤³¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤È¡¤
>  ? : 3 2.1 4.3
>  "3 2.1 4.3"
>  ["3", "2.1", "4.3"]
>  [3.0, 2.1, 4.3]
>  Average = 3.13333333333333

¤Ê¤É¤È¤Ê¤ë("3 2.1 4.3" ¤ÈÆþÎϤ·¤¿¾ì¹ç)¡¥

** ¥­¡¼¥Ü¡¼¥É¤«¤é¤Ç¤Ï¤Ê¤¯¡¤¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÆþÎϤ¹¤ë [#p3c77d02]

¥Ç¡¼¥¿¤¬Â¿¤¤¾ì¹ç¤Ï¥­¡¼¥Ü¡¼¥É¤«¤éÆþÎϤ¹¤ë¤Î¤ÏÌÌÅݤÀ¡¥¤Þ¤¿¡¤´û¤Ë¥Õ¥¡¥¤¥ë¤Ë¥Ç¡¼¥¿¤¬Â¸ºß¤¹¤ë¤Ê¤é¤Ð¡¤¤Ï¤ä¤ê¤½¤ì¤òľÀÜÍøÍѤ¹¤ë¤Î¤¬¸­¤¤¡¥
¤½¤³¤Ç¡¤¾å¤Î ''¥×¥í¥°¥é¥à¤òÊѹ¹¤»¤º¤Ë''¡¤¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÆþÎϤ¹¤ëÊýË¡¤ò¶µ¤¨¤Æ¤ª¤³¤¦¡¥
&br;

Î㤨¤Ð¡¤''data.txt'' ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë¥­¡¼¥Ü¡¼¥É¤ÇÆþÎϤ¹¤ë¤Î¤ÈƱ¤¸¥Ç¡¼¥¿¤¬½ñ¤¤¤Æ¤¢¤Ã¤Æ¡¤¥×¥í¥°¥é¥à̾¤¬ ''prg.rb''¤À¤È¤·¤¿¤é¡¤
&br;
&size(18){''&color(blue){ruby -w prg.rb }; < &color(blue){data.txt};''};
&br;
¤È¤¤¤¦¤è¤¦¤Ë¡¤
&br;
CENTER:&size(24){''¥×¥í¥°¥é¥à¤Îµ¯Æ°»þ¤Ë''};
CENTER:&size(24){''< ¥Ç¡¼¥¿¤ÎÆþ¤Ã¤¿¥Õ¥¡¥¤¥ë̾ ¤ò¸å¤í¤Ë¤¯¤Ã¤Ä¤±¤ë''};
&br;

¤È¡¤¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤¬¥­¡¼¥Ü¡¼¥ÉÆþÎϤÎÂå¤ï¤ê¤Ë»È¤ï¤ì¤ë¡¥

¤Þ¤¿¡¤Æ±ÍͤË
&br;
&size(18){''cat &color(blue){data.txt}; | &color(blue){ruby -w prg.rb };''};
&br;
¤È¤¤¤¦¤è¤¦¤Ë¡¤
&br;
CENTER:&size(24){''¥×¥í¥°¥é¥à¤Îµ¯Æ°»þ¤Ë''};
CENTER:&size(24){''cat ¥Ç¡¼¥¿¤ÎÆþ¤Ã¤¿¥Õ¥¡¥¤¥ë̾ | ¤òÁ°¤Ë¤¯¤Ã¤Ä¤±¤ë''};
&br;

¤È¤·¤Æ¤â¡¤¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤¬¥­¡¼¥Ü¡¼¥ÉÆþÎϤÎÂå¤ï¤ê¤Ë»È¤ï¤ì¤ë¡¥

&br;
*** ''| tee'' ¤ÈƱ»þ¤Ë»È¤¤¤¿¤¤ [#q4c7cf6c]
¤Á¤Ê¤ß¤Ë¡¤°ÊÁ°³Ø¤ó¤À ''| tee'' ¤ÈƱ»þ¤Ë»È¤¤¤¿¤¤¾ì¹ç¤Ï¡¤(½ÐÎÏ¥Õ¥¡¥¤¥ë̾¤ò ''output.dat'' ¤È²¾¤Ë¤·¤Æ)¤½¤ì¤¾¤ì

&br;
&size(18){''&color(blue){ruby -w prg.rb }; < &color(blue){data.txt}; | tee &color(blue){output.dat};''};
&size(18){''cat &color(blue){data.txt}; | &color(blue){ruby -w prg.rb };  | tee &color(blue){output.dat};''};
&br;

¤È¤¹¤ì¤Ð¤è¤¤¡¥
&br;

&ref(/materials/notes.png); º£¤Þ¤Ç¤Î¥­¡¼¥Ü¡¼¥ÉÆþÎϤò¡¤¤¹¤Ù¤Æ¥Õ¥¡¥¤¥ë¤«¤é¤ÎÆþÎϤËÂ夨¤Æ¤¦¤Þ¤¯¤¤¤¯¤³¤È¤ò³Î¤«¤á¤Æ¤ß¤è¤¦¡¥
&ref(/materials/warning.png); ¥Õ¥¡¥¤¥ë¤«¤é¤ÎÆþÎϤξì¹ç¡¤¡Ö¥Ç¡¼¥¿¤¬¤â¤¦½ª¤ï¤ê¡×¤È¤¤¤¦¤Î¤Ï¡Ö¥Õ¥¡¥¤¥ë¤¬½ª¤ï¤ê¤Ë㤷¤¿¡×¤³¤È¤Çɽ¤µ¤ì¤ë¡¥

&br;
* º£Æü¤ÎÁí»Å¾å¤² [#y5f1ea23]

n x m ¹ÔÎó¤Î¥Ç¡¼¥¿¤òÆþÎϤ·¤¿¤é¡¤¤½¤Î¹ÔÎó¤ÈžÃÖ¹ÔÎó¤ò¤½¤ì¤Ã¤Ý¤¯É½¼¨¤¹¤ë¥×¥í¥°¥é¥à¤ò½ñ¤³¤¦¡¥
&ref(/materials/warning.png); ¤â¤Á¤í¤ó¡¤Ç¤°Õ¤Î¥µ¥¤¥º¤Î¹ÔÎó¤ËÂФ·¤ÆÆ°ºî¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡ª
¤¿¤À¤·¡¤¹ÔÎó¤Î·Á¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥Ç¡¼¥¿¤ÏÁÛÄꤷ¤Ê¤¯¤Æ¤âÎɤ¤¡¥
¤Ê¤ª¡¤Î®¤ì¤È¤·¤Æ¤Ï ''gets'' ¤ò ''while'' ¤ÎÃæ¤Ç»È¤¦¥Ñ¥¿¡¼¥ó¤Ë¤Ê¤ë¤Ï¤º¤À¡¥
&br;

¶ñÂÎŪ¤Ë¤Ï¼Â¹Ô¤¹¤ë¤È
>  ? : 1 2 5 8
>  ? : 2 3 8 10
>  ? :
>  &br;
>  Input matrix =
>  [ 1.0 2.0 5.0 8.0 ]
>  [ 2.0 3.0 8.0 10.0 ]
>  &br;
>  Transposed matrix =
>  [ 1.0 2.0 ]
>  [ 2.0 3.0 ]
>  [ 5.0 8.0 ]
>  [ 8.0 10.0 ]

(1²óÌܤÎÆþÎÏ¤Ç "1 2 5 8" ¤ÈÆþÎϤ·¡¤2²óÌܤÎÆþÎÏ¤Ç "2 3 8 10" ¤ÈÆþÎϤ·¡¤3²óÌܤÎÆþÎÏ¤Ç ''Ctrl'' ¥­¡¼¤È ''d'' ¥­¡¼¤òƱ»þ¤Ë²¡¤·¤Æ¤¤¤ë)
¤È¤¤¤¦¤è¤¦¤ÊÆ°ºî¤ò¤¹¤ë¥×¥í¥°¥é¥à¤ò½ñ¤±¡¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥

&ref(/materials/warning.png); °ÊÁ°¤Ë¹ÔÎó¤Ë¤Ä¤¤¤Æ½ñ¤¤¤¿¥×¥í¥°¥é¥à¤¬»²¹Í¤Ë¤Ê¤ë¤Ï¤º¤À¡¥¤è¤¯¤ß¤Æ¤ß¤è¤¦¡¥
&br;
&ref(/materials/notes.png); (¾åµé¼Ô¸þ¤±) n x n ¹ÔÎó ''A'' ¤Î¥Ç¡¼¥¿¤È n¼¡¸µ¥Ù¥¯¥È¥ë ''b'' ¤Î¥Ç¡¼¥¿¤òÆþÎϤ¹¤ë¤È¡¤Ï¢Î©°ì¼¡ÊýÄø¼° ''Ax = b'' ¤ò²ò¤¤¤Æ ''x'' ¤ò½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à¤¬½ñ¤±¤ë¤À¤í¤¦¤«¡¥ÉáÄ̤ξõîË¡¤¬¤ï¤«¤Ã¤Æ¤¤¤ì¤Ð¤Ç¤­¤ë¤Ï¤º¤À¤¬¡¤¤µ¤Æ¤µ¤Æ.
&br;

* ¥ì¥Ý¡¼¥È [#u9c83f8c]

ËÜÆü¼õ¤±¤¿¹ÖµÁ¤ª¤è¤Ó¹Ô¤Ã¤¿¼Â½¬¤Ë¤Ä¤¤¤Æ¡¤´Êñ¤Ë¤Þ¤È¤á¤¿Êó¹ð¤ò¤»¤è.
¤Þ¤¿¡¤Áí»Å¾å¤²¤ÎÉôʬ¤Ç¼«Ê¬¤Ç½ñ¤¤¤¿¥×¥í¥°¥é¥à¤òÊó¹ð¤»¤è.

¤â¤Á¤í¤ó³Æ¼«¤Î

+ ½ê°(³ØÉô¡¤³Ø²Ê)
+ ³ØÀÒÈÖ¹æ
+ ³Øǯ
+ »á̾
+ Æü»þ
+ ´Î¿´¤Î¥ì¥Ý¡¼¥ÈÆâÍÆ(ÆÀ¤¿Ãθ«¡¤ºî¶È¤Ë¤Ä¤¤¤Æµ¤¤Å¤¤¤¿¤³¤ÈÅù¤â)

¤ò½ñ¤¯¤Î¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë. 

* about Icons, ClipArts [#u72e5ea4]
Some icons in this page are downloadable at [[ICONFINDER:http://www.iconfinder.net/]].

The "note" icon &ref(/materials/notes.png); designed by [[Marco Martin:http://www.notmart.org/]] is distributed with the LGPL licence,
the "warning" icon &ref(/materials/warning.png); designed by [[Alexandre Moore:http://nuovext.pwsp.net/]] with the GPL licence
and the "triangle" icon &ref(/materials/JNorth_arrow-right-sm.png); designed by [[Joseph North:http://sweetie.sublink.ca/]] is distributed with the [[Creative Commons (Attribution-Noncommercial-Share Alike 3.0 Unported):http://creativecommons.org/licenses/by-nc-sa/3.0/]] licence.

Some clip arts used in this page are downloadable at [[Open Clip Art Library:http://www.openclipart.org/]].
We deeply appreciate their superb works. With licence, they describe that "the actual clipart content on open clipart library is Public domain" in the web.

// ¨¬¨­¨®¨¯¨°¨±¨²¨³¨´¨µ¨¶


// ¥³¥Þ¥ó¥É¥é¥¤¥óÆþÎϤϡֹÔƬ¤ò¥Ö¥é¥ó¥¯¤Ç»Ï¤á¤ë¡×.
// ¥³¥Þ¥ó¥É¥é¥¤¥ó½ÐÎϤϡֹÔƬ¤ò > ¤Ç»Ï¤á¤ë¡×.

// ¼Â½¬¥¢¥¤¥³¥ó
// &ref(/materials/notes.png); 

// Ãí°Õ¥¢¥¤¥³¥ó
// &ref(/materials/warning.png);

// Link ¥¢¥¤¥³¥ó
// &ref(/materials/JNorth_arrow-right-sm.png);

// Âçʸ»ú¤Ç¤Î¶¯Ä´ 
// CENTER:&size(24){''¤Û¤²¤Û¤²''};

// programu source ɽµ­
// #highlighter(language=ruby,number=on,cache=on){{}}