2022 年度「プログラミング」中間テスト・解答例

全体

ペーパーテスト

  1. 以下のプログラムは動作はするがインデンテーションが滅茶苦茶でプログラム の構造を正しく反映していない。(そして、おそらく作成者の意図したように は動かない。)プログラムの構造を明確にするために「プログラミング」の インデンテーションの約束事(別紙)に厳密に従って(特に 5 番目のルー ルに注意)、必要に応じてブレースを挿入し、インデントしなおせ。ただし、 ブレース内の字下げは紙幅の制限のため 3 文字分とせよ。

    もちろん、プログラムの意味(実行結果)が変わらないようにすること。 (つまり、作成者の(よくわからない)意図を忖度するのではなく、 コンパイラーが解釈する通りにインデントすること。)

    解答は、最初の #include <stdio.h> は省略せよ。 また、解答欄のスペースの都合で、(最後は別として)空行は入れずに記入せよ。

  2. 次のプログラムは一つの整数値を読み込んで、 それを整数として 4 で割った値(切り捨てた値)と、実数として 4 で割った値を表示するプログラムである。 たとえば、9 を入力すると、

    整数を入力して下さい: 9
    整数として 4 で割った値は 2 です。
    実数として 4 で割った値は 2.250000 です。
    

    と出力する。 空欄を埋めて、プログラムを完成せよ。

  3. 次のプログラムの出力を書け。

  4. 以下の空欄を埋めて、 2 以上 102 以下の偶数をすべて降順 (つまり、102, 100, 98, …, 2 の順)に出力するプログラムを完成させよ。

  5. 以下のプログラムは、整数の組のデータを (i,j) という形式で出力する。 このプログラムの出力を書け。ただし、この問題の解答では、 空白は明示的に空白記号()を、 改行は矢印()を書くこと。

オンラインテスト


Koji Kagawa