第3講 繰り返し処理
第4話 timesの使い方
1+2+3+・・・+10は、
timesを使って次のようにプログラミングできます。
mfw
#! ruby -Ks
w=0
i=1
10.times do i
 w+=i
 i+=1
end
print "1+2+3+・・・+10=",w
(w+=iはw=w+iと同じでしたね。
ですから、i+=1はi=i+1です。)
cde
参考ダウンロード添付ファイル

つまり、timesは次のように使います。
繰り返す回数.times do (制御変数)
  ・・・
  ・・・
  ・・・
end
()がしてあるのは、省略してもよいからです。

では、timesを使って
5+8+11+・・・+35
を計算させるにはどうしたらよいでしょうか。
答は30行下。













vfe
#! ruby -Ks
w=0
i=5
11.times do i
 w+=i
 i+=3
end
print "5+8+11+・・・+35=",w
dw
参考ダウンロード添付ファイル

解説
回数は10回ではありません。
5+8+11+14+17+20+23+26+29+32+35
整数を何個足しているか数えてみて下さい。
10個ではなく11個ですね。

5,8,11,・・・,35
の中に何個整数が入っているかを、
式で出すにはどうしたらよいでしょうか。
うっかりすると、
(35−5)÷3=10
としてしまいますが、
正解は
(35−5)÷3+1=11
です。
wwq
3mの間隔で木が植えてあって、最初の木と最後の木の距離が30mであるときに、
木は何本あるかという問題と同じです。
30÷3=10
は木の間の個数です。
wa
木の間の個数と木の数を考えて下さい。
間の個数よりき木の数の方が1つ多いですね。
ですから、
wwq
の答は
30÷3+1=11個
なのです。
中学生以上の方は、忘れてしまったでしょうけど、
植木算ですよ。
5,8,11,・・・,35
の整数は何個という問題の答は、
(35−5)÷3+1=11
です。

私は、高校の先生ですので、
高校生に5から10までの整数の個数は何個という質問を、
授業中によくします。
ほとんどの生徒は瞬間的に5個と答えてしまいます。
10−5=5
であるからです。
小学生の皆さんこの答え正しいですか。
5,6,7,8,9,10
数えれば分かりますね。
6個です。
10−5+1=6
と教会書にはのっているかも知れませんが、私なら
10−4=6
と教えます。
10−5だと5を数える対象から外しているからです。
1,2,3,4,5,6,7,8,9,10
これをみると10−4が正しいことがよく分かります。

繰り返す回数.times do 制御変数
  ・・・
  ・・・
  ・・・
end
を使うときには、何回繰り返すか考えなければなりません。
小学生の皆さん、
プログラミングするにも算数が重要だと言うこと分かるでしょう。
算数をしっかり勉強して下さい。


練習問題
timesを使い次の計算をさせて下さい。
@ 2+7+12+・・・+107
A 100+96+92+・・・+8
B 32+32.7+33.4+・・・+42.5


第3話へ 第5話へ
004


eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
vba 2013 2010 2007 入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門第1部へ
本サイトトップへ