超初心者向け!プログラミングクイズ

記事
IT・テクノロジー
プログラムってよく分からないですよね。

本を見てコードを書き写してみて実際に動いていても
だから何・・・?って私は思っていました。笑

私がSEを目指したのは、
まだSEという職業が世間にあまり認識されていない時です。

なりたい職業を聞かれてSEと答えると、
SE?何する人?システムって・・・?という反応ばかりでした。

実は私もSEのことをよく知らないまま情報処理科に進んで
プログラムって何ができるの?という状態のまま入学式を迎えました。笑

こんなプログラムをよく知らない状態の私がなぜ入学を決めたかというと
学校見学会で行ったプログラミングクイズがとても楽しかったからです。
(動機が軽い)

画面にこんなものを表示させたい!
こんな動きをさせたい!そのためにはどうしたらいいんだろう?と悩んで
それを実現できたときの達成感や悩む楽しさがとても魅力的に感じました。

その時のプログラミングクイズを載せてみます。
良かったら挑戦してみてくださいね。

言語はC言語ですが、後程解説します。
細かい宣言文は省略しますが、

int x,y;
for(y=0;y<5;y++){
    for(x=0;x<=y;x++){
        printf("*");
    }
    printf("\n");

上記のコードが初めてのコーディングです。


*を複数表示するコードなのですが、
皆さん、これを実行すると、どのように*が画面に表示されると思いますか?

今回はC言語で書かれていますが、他の言語でも細かい記述は異なっていても
for文など、基本的な部分は同じかと思います。

xとyの値があって、
yの値に0が代入されて、for文が回るたびにyの値に1プラスされていっていますね。
ということは、yの値が0の時、1回for文を通るとyの値は1になりますね。

for文はyの値が5未満になるまで回るようです。

そのfor文の中にxの値がyの値と同じ数になるまでfor文が回っていますね。
そのfor文の中では、*が画面上に表示される命令が書かれています。
そして、xのfor文を抜けると、改行される命令が書かれています。

答えは
*
**
***
****
*****
です。

正解されましたか?
y=0からfor文が回るので、
yの値が0,1,2,3,4までfor文を通って5ではじかれるのがややこしいですよね。


よかったら応用として次は

     *
   ***
 *****


を表示するコードを考えてみてくださいね。

それでは、失礼します。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す