プロが教える店舗&オフィスのセキュリティ対策術

プログラミングの問題が意味がわからないので
詳しく解説お願いしたいです!

「高一情報」の質問画像

A 回答 (3件)

意味が解らないだけじゃ何を説明すべきかわかりませんが



超超初心者向けの解説をすると
① range(5)

配列 [0,1,2,3,4] と同等なもの。
#本当は別物だけど、初心者は同じと思って問題なし。

② for i in range(5):

配列の先頭から要素を一個ずつ 変数 i に取り出しては
ループの中身を実行してくれる。

#本当はシーケンスとかイテレータとかの知識が必要だが、
#初心者を脱したら勉強しよう。


左のコードでは
x = x + 1
が5回実行されるし
右のコードでは
x = x + i
print(x)
が5回実行されるから

右のコードの場合

x = x + 0 #xはゼロになる
print(x)
x = x + 1 # x は 1 になる
print(x)
x = x + 2 # x は3になる。以下同様・・・
print(x)
x = x + 3
print(x)
x = x + 4
print(x)

というように実行されることになる。

#pythonの代入は変数の保持している値を更新するという意味で
#右辺の式の計算結果を左辺の変数の値にするという意味。
#左辺と右辺の値が同じという意味ではないので注意
    • good
    • 0

使用言語を書かないでプログラムの質問をするのは


どんなもんかと思いますけどね。

ぱっと見たところ、言語は Python のようです。
Python であれば、字下げがブロックを表す↓ので、
https://www.javadrive.jp/python/if/index2.html

(1) は C でいうところの

x = 0;
for(i = 0; i < 5; i++) {
  x += 1;
}
printf("%d\n", x);

を、
(2) は C でいうところの

x = 0;
for(i = 0; i < 5; i++) {
  x += i;
  printf("%d\n", x);
}

を表します。(Cのほうがブロックが判りやすいですね。)
    • good
    • 0

range(5)は、0,1,2,3,4を返すとありますから、


forループは5回まわることになります。
xは前回値に上書きされます。
print()文が頭下げになっているかどうかの説明がありませんが、頭下げになっているとforループ内なんでしょうね。

(1)のforループ内では、次の演算が行われます。
1回目x=0+1=1
2回目x=1+1=2
3回目x=2+1=3
4回目x=3+1=4
5回目x=4+1=5

forループから抜けた後、1回だけprint()が実行されます。よって最後の(=現在の)xの値を表示しますので、出力は、


(2)は、iを前回値に加えますので、forループ内では、次の演算が行われます。
1回目x=0+0=0
2回目x=0+1=1
3回目x=1+2=3
4回目x=3+3=6
5回目x=6+4=10

forループを1回まわる度に表示しますので、出力は、




10

縦に表示されるのは、1回のprint()実行毎に「CRLF(キャリッジリターン・ラインフィード)」が入るからです。

pythonは、この「教えて!goo」のサイトは行頭の空白が省かれるのでクセモノです。このサイトに投稿すると意味が変わってしまいます。

また、添え字がRと違って0からだと言うのがクセモノですね。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A