IC2 第4回レポート課題の解答例 課題 1の解答 入力する数値により i は 3、4、5、6、7、の五つのいずれかになる。 よって while /* c1 */ は i+1 回の判定を行ない、ループは i 回の反復をする。 次に、そのループのなかでは /* c2 */ の if文により c2、p3、p5、 或は c2、p4、p5 のどちらかのルートを通過して i 回の反復後 c1、p6 で終わる。 例として、 i が 3 の場合はp1 p2 c1 c2 p4 p5 c1 c2 p3 p5 c1 c2 p4 p5 c1 p6
課題 2の解答 各※には次の文またはコマンドが入る。[※1]if [※2] n>0 [※3] while [※4] i<=n [※5] i=i+1;
従って プログラム は以下のようになる。 #includemain() { int i, n; double r, s; printf("Input Number\n"); scanf( "%d", &n ); if ( n>0 ) { s=0.0 ; i=1 ; while ( i<=n ) { printf("Input r[%d]\n", i ); scanf("%lf", &r ); s=s+1.0/r; i = i+1; } printf("Total resistance =%f\n", 1.0/s ); }else{ printf("Illegal Number\n"); } } 実行結果は次のとうりになる。 例として 2, 4, 6, 8, 10,オーム の5個及び 10 オーム 4個の場合の合成抵抗を示す。 raven.cc.uec.ac.jp1% kadai4-2 Input Number 5 Input r[1] 2 Input r[2] 4 Input r[3] 6 Input r[4] 8 Input r[5] 10 Total resistance =0.875912 raven.cc.uec.ac.jp2% exit raven.cc.uec.ac.jp1% kadai4-2 Input Number 4 Input r[1] 10 Input r[2] 10 Input r[3] 10 Input r[4] 10 Total resistance =2.500000 raven.cc.uec.ac.jp2% exit