-
1:ID:tgyCcm · 2018-04-18

プログラムで使うfor文ですが、
これは「繰り返し」に使う文で、配列の文字を書き出したり…
と初心者向けの説明にはよく書かれていますが、
実際のプログラムの中で、
どのようなことを解決するために使いますか?
なぜfor文を使わないと値が取得できないのかよく理解できていません
できれば具体的な使用例を知りたいと思い、質問しました。

よろしくお願い致します。

27 件の回答

2:ID:vUPz7n · 2018-04-18

ぐるぐるしたい時に使うかな

3:ID:vUPz7n · 2018-04-18

このコメント欄もなんらかのループ処理は使われてるよね。

コメント
コメント
コメント
コメント
コメント

繰り返しだ

4:ID:QUv7sX · 2018-04-18

基本的には一覧表示に使う。ニュースの一覧とかコメントの一覧とか。
あとは集計するときに使う。価格の合計値を出したい時とか。

5:ID:EsyFcz · 2018-04-18

わたしも初心者なんですが。。。
例えば。。。特定の条件を満たすまで同じ処理を繰り返すってことは
画像一覧を表示させたい!
その画像リスト内をループさせて、あれば表示!なければ空間をあける!
リスト内を全部ループし終わったらはい終了!

みたいなざくっとしたイメージ。

6:ID:EsyFcz · 2018-04-18

Re:5
これがいろんな条件加わってくると、ifとかだと長文になるから
ループの1回でリスト内すべてを繰り返して見てくれるから良い!ってことですね!きっと!

7:ID:KnZSw. · 2018-04-18

人生だよ。
社会人になってから1日のループが365日*43年続く。
for(var i = 22*365;$i<65*365;i++){
睡眠();
食事()
通勤()
労働()
帰宅()
}
die();

8:ID:vUPz7n · 2018-04-18

末尾再帰最適化のある言語ならfor文の代わりに再帰処理でオッケー。

9:ID:27y/3a · 2018-04-18

似たようなコードをいくつも書かずに済ますため。だいぶ前だが、ド新人がループを使わずパラメータを変えて必要分コピペしてたの見てびっくりした事がある。もうアホかとバカかと…。

10:ID:vUPz7n · 2018-04-18

なぜfor文を使わないと値が取得できないのかよく理解できていません

使わなくても1つずつ取り出せば取得出来るよ。

でも、そんな面倒なことをやりたいかってはなし。

11:ID: · 2018-04-18

みなさん、ご回答ありがとうございます。
「特定の条件を満たすまで同じ処理を繰り返す」
という表現がわかりやすかったです

配列にある要素の
最初の要素からひとつずつ、条件にあうかチェックして
条件にあえば○○する、
というイメージですよね

前に、複数あるチェックボックスのチェック状態を調べて、その値を取得する
という時に、なんでforを使わないとダメなのかよく解らず…
「複数あるチェックボックス」をまず配列にするイメージなんですよね
そこがよく解っていなかったのかなと思いました。

12:ID:vUPz7n · 2018-04-18

Re:11
たぶん、わかってないと思う。

13:ID: · 2018-04-18

Re:12
まだ理解できていませんか…
どういうふうにイメージすればわかりやすいでしょうか?

14:ID:vUPz7n · 2018-04-18

Re:13
黙ってまずはコードを書け。数分で書ける簡単なお題をだれか考えてくれるはず(他力本願)

15:ID:vUPz7n · 2018-04-18

Re:14
じゃ、1からnまでの整数の合計を出す処理を書いてみて。nは10かもしれないし、10000かもしれない不確定の任意の値。

16:ID:WmbSkT · 2018-04-18

腕立てを5回する
腹筋を5回する
スクワットを5回する
腕立てを5回する
腹筋を5回する
スクワットを5回する
腕立てを5回する
腹筋を5回する
スクワットを5回する



以下を3セット繰り返す
 腕立てを5回する
 腹筋を5回する
 スクワットを5回する

の違い

17:ID: · 2018-04-18

Re:15
var num = 0;
for (var i = 1; i =< n; i++) {
num = num + i;
}

このような感じでしょうか?

19:ID:WmbSkT · 2018-04-18

Re:16
for文は単純に条件を満たすまで繰り返しを行う処理で値を取り出すのは繰り返しを利用した副次的な要素だよ。その辺りを混同してるから分かりにくいんじゃない?

20:ID:SXuyVO · 2018-04-18

Re:7
おいwやめろw

21:ID: · 2018-04-18

Re:19
そうかも知れません。
先ほどの例でいうと、
複数のチェックボックスの値を取得するのに、

1番目のチェックボックスの状態をチェック、チェックされていたら値を取得
2番目のチェックボックスの状態をチェック、チェックされていたら値を取得
3番目のチェックボックスの状態をチェック、チェックされていたら値を取得
4番目のチェックボックスの状態をチェック、チェックされていたら値を取得
という処理にしないと、
値がとれない、ということがわかっていなかったのです。
(なにかで一括で取得できると思っていたのです)

22:ID:vUPz7n · 2018-04-18

Re:17
そう、そのnが1000でループ使ったらダメな場合、1から1000までの整数の合計を出すの大変じゃない?

23:ID:EsyFcz · 2018-04-18

Re:21
これわかりやすいですね!

24:ID: · 2018-04-18

Re:22
ほんとうにそうですよね…
このプログラムがないと、成り立ちませんよね
教えていただいてありがとうございました

25:ID: · 2018-04-18

Re:23
for文の問題と、
値を取得するのが別の問題で、混同しているのでは?
と気付いていただいて、よくわかりました。ありがとうございました

26:ID:KnZSw. · 2018-04-18

Re:20
basicな差分が追加だった( ^ω^)
goto 来世();

27:ID:i/ryzx · 2018-04-18

Re:26
閏日が抜けてる

28:ID:KnZSw. · 2018-04-18

Re:27
ネタにマジで言われても…
if(過労){
 continue;
}
var 納期に対してのループの方が良かったか。

1 件の回答が除外されました。[詳細]
コメントの受付は終了しました。

一緒に読まれている質問

ページ上部に戻る