プログラミング入門 情報科学演習
2015.12.07

Back to index page



  1. 本日の作業内容

  2. 宿題の結果について

    何かわかりませんが,全然関係ないプログラムの提出がありました.

    ???? b1545

    それと,解答用紙を使用していないものもまた出てきてしまいました.注意しましょう.

    解答用紙不使用  b1209

    以下は例によって気になったものの一例です.

                            if(j%6==0)
                                    printf("");
                            else if(j%6==i || j%6==-i+6)
                                    printf("* ");
                            else
                                    printf("  ");
    

    if else の組を一つという条件を出していたのですが,よくわからない意味の無いものが入っています.

            int a,i,j;
     

    変数は i j の二つのみ,と条件指定があったのに.

            int i, j, n1, n2;
    

    こちらも同様に変数の個数違反ですね.

                            if(i==j || (j-i)%5==0)
                                    printf("* ");
                            else if((i+j)%5==1)
                                    printf("* ");
                            else
                                    printf("  ");
    

    こちらも if else 一組にまとめられたはずです.

    さて,今回はインデントのおかしいものが大量に出てきました.注してください.また,演習の際には質問等をして確認してください.

    インデントの不備: b1502 b1517 b1522 b1524 b1525 b1526 b1529 b1535 b1537 b1539 b1540 b1546 b1550 b1551 b1552 b1555 b1559 b1560 b1563 b1573 b1576 b1359 b1406 b1414 b1415 b1417 b1422 b1428 b1450 b1457 b1470 b1473 b1477

    ハイフンライン無し: b1559 b1204

    解答用紙に名前無し:  b1543 b1402

    学生番号無し:  b1543 b1447 b1204 b1269

  3. 前回の復習

    for 文が始まると,変数の値がループが回るたびにどのように変わっていくのか,十分に把握しておく必要があるのですが,そこをフォローするのが難しいのも事実です.そのため,変数の値の遷移をノートなどで確認していくことが重要です.例えば,以下のように考えてみましょう.

    #include <stdio.h>
    
    main()
    {
    	int i, j;
    	
    	for(i=0; i<=5; i++){             //  <- loop1
    		for(j=0; j<i; j++)        //  <- loop2
    			printf("   ");
    			
    		for(j=i; j<=i+5; j++){      //  <- loop3
    			printf("%2d ", j);
    		}
    		
    		printf("\n");
    	}
    	
    	return(0);
    }
    

    のようなプログラムで変数 i j がどのように変わっていくのか見てみましょう.

    loop1loop2loop3
    ijj
    0-0
    1
    2
    3
    4
    5
    10-
    -1
    2
    3
    4
    5
    6
    20-
    1
    -2
    3
    4
    5
    6
    7
    - - - -
    50-
    1
    2
    3
    4
    -5
    6
    7
    8
    9
    10

    この変数の変化と実際の実行結果との対応を考えてみてください.

  4. 多重の for

    前回に引き続き多重のループの練習を今日も行いますが,ループの処理の学習の 初期には変数の値がどのように変化しているのか,注意して行くと間違いに気づ いたり,処理の無駄に気づいたりということが多いので,分からなくなってきた ら,メモ用紙などに変数の値の遷移を書いて見直してみてください.

  5. 実習

    実習の演習問題は当日ご案内します.

  6. 次回の予習範囲

    教科書のp.42からp.48の while 文を予習してきてください.

  7. 宿題

    授業の終わりに宿題の案内をします.ただし,問題を見ることができるのは8日以降です.

    10.184.10.130/report/

    にアクセスして問題を見てください.


目次ページに戻る