情報科学演習
2011.06.20
Back to index page
- 本日の作業内容
- 節電について
全国各地で今夏の節電への協力が求められています.中国電力は電力供給に余力
のある数少ない会社ですが,関西電力への協力依頼なども求められており,我々
の節電に対する行動も重要になってきます.
この教室は電力を大量に使用する施設ですが,各自節電に留意して使用してくだ
さい.照明と空調が一番大きな問題と思いますが,特に空調は,設定温度を大学
推奨の28℃もしくはせいぜい27℃で使用するよう心がけてください.
- 宿題の結果について
- 良くない例
次のものはインデントが変です.
for(j=1; j<=6 - i; j++){
a = rand() % 21 ;
b = b + a; 何故この行がインデントされる?
printf(" %2d",a); なぜこの行も?
|
次のは余分な変数 c が定義されています.この変数は使用されていま
せん
int a , b, c, d, e=0;
for(a = 1; a <= 5; a++){
e = 0;
for(b = a; b <= 5; b++){
d = rand() % 20 + 1;
printf(" %2d",d);
e += d;
}
printf(" --- %d \n",e);
}
|
次のは何故か3重ループになっていました.宿題のプログラムは2重で十分です.
for(i=1;i<=5;i++){
for(j=5;j>=i;j--){
for(k=5;k>=j;k--)
|
次のはインデントが少しおかしいものです.前回も指摘しましたが,このパター
ンがいくつかありました.
for(b=1; b<=5; b++){
gokei=0;
for(c=5; c>=b;c--){
a=rand() % 20 + 1;
printf("%2d ",a);
gokei += a;
}
printf("--- %2d\n",gokei); この行が下がっていない
}
|
次のは,不要な if 文があります.%2d を使用すればこのよ
うな冗長な処理は不要です.
if(num >= 10)
printf("%d ", num);
else
printf(" %d ", num);
|
次は自分の学生番号になっていないものです.
printf("My student number: s104099\n\n");
|
次のは %f ですが,整数型しか扱っていない場合には %d で
十分です.
printf(" --- %2.0f \n",sum);
|
- 学生番号もハイフンラインも無し.
- 前回の復習
for 文の式2の終了条件が定数でなく,変数になる場合を練習しました.
これにより2次元の多様な表現が可能となります.今後も使用しますので,
覚えておいてください.
for(i=1; i<=5; i++)
for(j=1; j<=i; j++)
|
上のように j に関する終了条件を i に依存させることで,
以下のような変数の変化が実現できます.
(1,1)
(2,1) (2,2)
(3,1) (3,2) (3,3)
(4,1) (4,2) (4,3) (4,4)
(5,1) (5,2) (5,3) (5,4) (5,5)
- while 文
while 文は,for 文と異なり,終了条件(式2)しか指定しま
せん.その分,自由度が高いので,熟練した人はよく使用します.最初は
for 文の方が簡単なので,この授業では基本的に for
文を使用しますが,知っておいて損はありません.
- 実習