プログラミング I(RISE)・7月 18日


重要な連絡

  1. 第4回レポートも忘れずに提出して下さい。 締切は 7月 31日ですが、7月 18日頃から採点を開始しますので、 安心して帰省したい人は早めに提出して下さい。提出から 3営業日以内に採点するようにします。

    まだ作成中の場合は、トップページの上の方に 「Under Construction...」、「作成中...」などとわかりやすく書いておいて下さい。


本日の課題

これまでのレポート、各週の課題、及び下の課題 X,Y,Zの中から、 本日の各自の課題で指定された課題をやって下さい。

課題 Y,Zについては

\\stfile\Report\kagawa\2001\Programming1\010718\s学籍番号\
に提出する。

  1. タイピング練習

    今日はいつもの Mikatextではなく、 このページ(香川研究室卒研ゼミ生作成)をやって下さい。 「Typing Test」をクリックして下さい。

  2. 総合問題(C, HTML, Excel)

    先週とほとんど同じです。 (先週の解答例

    次の 2つのプログラムを、コンパイルして実行し、 その実行結果についてのレポートを HTMLで作成せよ。 (プログラムのファイル名は自由だが、 英数字のみを使用して日本語は使わないこと。 以降で作成するファイルについても同様。)

    1. (このソースは、右クリックして「すべて選択」、もう一度右クリックして「コピー」でコピーできます。)

      手順

      1. プログラムにいくつかのコマンドライン引数(0〜70程度の数値)を与えて、 実行する

        例:

        C:\My Documents> プログラム名 10 20 30 40 50 60
        
        

      2. DOSプロンプトのウインドウのイメージのコピーを PNG形式または GIF形式で保存する。

    2. (このソースは、右クリックして「すべて選択」、もう一度右クリックして「コピー」でコピーできます。)

      参考文献: カオスとフラクタル ◎Excelで体験, 臼田 昭司 他著, オーム社, ISBN4-274-02389-3

      手順

      1. 変数 Muの初期値を少し変えてコンパイルする

      2. プログラムを実行した時の出力をテキストファイル (拡張子は.txt)にリダイレクトする。

        C:\My Documents> プログラム名 > 適当なテキストファイル名
        

      3. 出力結果のテキストファイルを Excelから開く。 (「ファイルの種類」を「すべてのファイル」にする必要がある。 「元のデータの形式」は「カンマやタブなどの区切り文字によってフィールド毎に区切られたデータ」、「区切り文字」は「タブ」、「列のデータ形式」は「G/標準」を選択する。その他の項目はそのまま。)

      4. A1から B10000までを選択する。 (A1〜B1を選択した状態で Ctrl+Shift+↓を押すと簡単。)

      5. 「グラフ ウィザード」でグラフを作成する。「グラフの種類」は「散布図」、 「形式」は「散布図 ─ 値の組を比較します」を選ぶ。その他の項目はそのままで、「次へ」を何度か押して、 「グラフの場所」は「新しいシート」を選ぶ。 (「オブジェクト」を選んでしまって、しかもグラフをワークシートの終りの方に貼り付けてしまうと後で困るので注意する。)

      6. この時点で xls形式で保存する。(「名前をつけて保存」で「ファイルの種類」を「Microsoft Excelブック」にする。)

      7. グラフを画像ファイルとして保存するために、 「ファイル」─「ブラウザでプレビュー」を選択し、 現れたブラウザ上のグラフを「画像を名前をつけて保存」する。 (PNG形式または GIF形式)

    注意点:

    1. トップページのファイル名を index.html(このファイル名だけは固定)とすること。 index.html以外のファイル名は自由だが英数字を用いること。

    2. 他の提出ファイルは index.htmlと同じフォルダに直接置かず、 i, iiの問ごとにフォルダを作成し、そこにまとめておくこと。

      各フォルダに、そのフォルダ内のファイルへの相対リンク、及び index.htmlへの「戻る」リンクを含む HTMLファイルを置くこと。 リンクのキーワード(青くなっている文字)は、 リンク先の内容が推定可能なものにすること。

      提出ファイルの一覧(index.html以外の、 この色で表示されたフォルダ名・ファイル名一例なので、自分でつけた名前に置き換える。)

      • index.html ─ タイトル「プログラミング I, 7月 18日レポート 」と学籍番号、名前および toi1.html, toi2.html への相対リンク、 感想を含む HTMLファイル
      • toi1 ─ 以下のファイルを含むフォルダ
        • toi1.c ─ Cのソースファイル
        • toi1.exe ─ 実行可能ファイル
        • toi1.png ─ 実行時のウインドウのイメージ
        • toi1.html ─ 上の 3つのファイルと、 トップページ index.htmlへの 相対リンク (画像以外は <a href="〜">〜</a>タグ、 画像は <img src="〜" alt="〜">タグ)を含む HTMLファイル
      • toi2 ─ 以下のファイルを含むフォルダ
        • toi2.c ─ Cのソースファイル
        • toi2.exe ─ 実行可能ファイル
        • toi2.txt ─ プログラムの出力
        • toi2.xls ─ toi2.txtを Excel形式で保存しなおしたもの
        • toi2.gif ─ Excelで作成したグラフの画像ファイル
        • toi2.html ─ 上の 5つのファイルと、 トップページ index.htmlへの相対リンク (画像以外は <a href="〜">〜</a>タグ、 画像は <img src="〜" alt="〜">タグ) を含む HTMLファイル

    3. 感想は必ず書くこと。

      感想の例

      • 〜はわからなかったので、〜さんに教えてもらった。
      • 〜の部分で時間がかかった。
      • 〜は結局うまくできなかった。
    4. さらに余裕のある人は C言語のソースコードを HTML(toi1.html, toi2.html)に直接(リンクではなく)埋め込んでコメントを入れる。

      • ソースコードの部分には等幅フォント(<tt>もしくは <pre>タグを使用)を用いること
      • 自分が書き込んだコメントの部分は色を変えること

        HTMLに埋め込んだソースコードの例


        #include <stdio.h> 
        
        int main() {
          int i; /* intは整数型 */
          for (i=0; i<10; i++) { /* 10回繰り返す */
            printf("hello\n"); /* \n は改行 */
          }
          return 0;
        }
        

  3. 総合問題 (C, Word)

    次の 2つのプログラムを Nの値をいろいろと変えて、コンパイルして実行し、 結果をワードファイルにまとめよ(ファイル名 Jul18.doc)。 ワードによるレポートの例をみて、 そのコメントの指示に従え。

    1. integral.c
      #include <stdio.h>
      #include <math.h> 
      
      int main() {
      
        int N=1000;
        int i;
        double sum=0.0;
        for(i=0; i<N; i++) {
          double x = 1.0/N*i;
          sum = sum+sqrt(1-x*x)/N;
        }
        printf ("result is %g\n", sum*4);
        return 0;
      }
      
    2. integral2.c
      #include <stdio.h>
      #include <math.h>
      
      int main() {
      
        int N=1000000;
        int i;
        double sum=0.0;
        for(i=0; i<N; i++) {
          double x = 1+1.0/N*i;
          sum = sum+1.0/x/N;
        }
        printf ("result is %g\n", pow(2, 1.0/sum));
        return 0;
      }
      

オンライン提出状況(セルフチェック)


7月 11日, プログラミング Iのホームページ,
Koji Kagawa (kagawa@eng.?????)