表紙 <戻 進>

   練習問題10   

  1. 第1項:基本知識
  2. 第2項:プログラム読取
  3. 第3項:プログラム書取
  4. 第4項:記述式
  5. 第5項:基本知識(解答例)
  6. 第6項:プログラム読取(解答例)
  7. 第7項:プログラム書取(解答例)
  8. 第8項:記述式(解答例)


[1]基本知識


[  1-1  ]
while文の様に、条件が先に判定される繰り返しをなんと呼ぶか。

[  1-2  ]
do〜while文の様に、条件が後に判定される繰り返しをなんと呼ぶか。
解答例

目次に戻る


[2]プログラム読取


[  2-1  ]
次のプログラムは、何を表示するためのプログラムなのか、
処理内容や変数名から判断して答えよ。

#include <stdio.h>

int main(void)
{
	int year = 0;
	double money = 10000;
	
	while (money < 15000) {
		year++;
		money *= 1.01;
	}
	
	printf("%d , %f\n",year , money);

	return 0;
}
解答例

目次に戻る


[3]プログラム書取


[  3-1  ]
テストの点数を入力するプログラムを作りたい。
ただし、テストの点数は0〜100までしかないので、
それ以外が入力された場合には再入力させるようにすること。
解答例

目次に戻る


[4]記述式



[  4-1  ]
do〜while文は何故入力チェックに向いているのかを簡潔に説明せよ。
解答例

目次に戻る


[5]基本知識(解答例)


[  1-1  ]
先判定

[  1-2  ]
後判定
問題

目次に戻る


[6]プログラム読取(解答例)



[  2-1  ]
金利年1%の銀行に10000円を預けた場合に、
それが15000円になるのに何年かかるかを表示するプログラム。
問題

目次に戻る


[7]プログラム書取(解答例)

i-mobile


[  3-1  ]

#include <stdio.h>

int main(void)
{

	int score;
	
	do {
		printf("点数を入力して下さい:");
		scanf("%d",&score);
	} while (score < 0 || score > 100);
	
	printf("入力された点数 %d\n",score);

	return 0;
}
再入力の時にメッセージを表示させたい場合には次のようにする。
変数scoreに0が入っているかどうかで初めの入力かどうかを区別している。
scoreに0が入力された場合はループから抜けるので、条件がかぶることはない。

#include <stdio.h>

int main(void)
{

	int score = 0;
	
	do {
		if (score != 0) printf("点数は 0〜100の範囲で入力して下さい。\n");
		printf("点数を入力して下さい:");
		scanf("%d",&score);
	} while (score < 0 || score > 100);
	
	printf("入力された点数 %d\n",score);

	return 0;
}
問題

目次に戻る


[8]記述式(解答例)

i-mobile


[  4-1  ]
do〜while文は後判定ループなので、初めに必ず1回は実行され、
入力を行わないという事態が起こらないため。
問題

目次に戻る



<−前に戻る  先頭に戻る  次へ進む−>