第4回レポートも忘れずに提出して下さい。 締切は 7月 31日ですが、7月 18日頃から採点を開始しますので、 安心して帰省したい人は早めに提出して下さい。提出から 3営業日以内に採点するようにします。
まだ作成中の場合は、トップページの上の方に 「Under Construction...」、「作成中...」などとわかりやすく書いておいて下さい。
これまでのレポート、各週の課題、及び下の課題 X,Y,Zの中から、 本日の各自の課題で指定された課題をやって下さい。
課題 Y,Zについては
\\stfile\Report\kagawa\2001\Programming1\010718\s学籍番号\に提出する。
タイピング練習
今日はいつもの Mikatextではなく、 このページ(香川研究室卒研ゼミ生作成)をやって下さい。 「Typing Test」をクリックして下さい。
先週とほとんど同じです。 (先週の解答例)
次の 2つのプログラムを、コンパイルして実行し、 その実行結果についてのレポートを HTMLで作成せよ。 (プログラムのファイル名は自由だが、 英数字のみを使用して日本語は使わないこと。 以降で作成するファイルについても同様。)
(このソースは、右クリックして「すべて選択」、もう一度右クリックして「コピー」でコピーできます。)
手順
プログラムにいくつかのコマンドライン引数(0〜70程度の数値)を与えて、 実行する
例:
C:\My Documents> プログラム名 10 20 30 40 50 60
(このソースは、右クリックして「すべて選択」、もう一度右クリックして「コピー」でコピーできます。)
参考文献: カオスとフラクタル ◎Excelで体験, 臼田 昭司 他著, オーム社, ISBN4-274-02389-3
手順
変数 Muの初期値を少し変えてコンパイルする
プログラムを実行した時の出力をテキストファイル (拡張子は.txt)にリダイレクトする。
C:\My Documents> プログラム名 > 適当なテキストファイル名
出力結果のテキストファイルを Excelから開く。 (「ファイルの種類」を「すべてのファイル」にする必要がある。 「元のデータの形式」は「カンマやタブなどの区切り文字によってフィールド毎に区切られたデータ」、「区切り文字」は「タブ」、「列のデータ形式」は「G/標準」を選択する。その他の項目はそのまま。)
A1から B10000までを選択する。 (A1〜B1を選択した状態で Ctrl+Shift+↓を押すと簡単。)
「グラフ ウィザード」でグラフを作成する。「グラフの種類」は「散布図」、 「形式」は「散布図 ─ 値の組を比較します」を選ぶ。その他の項目はそのままで、「次へ」を何度か押して、 「グラフの場所」は「新しいシート」を選ぶ。 (「オブジェクト」を選んでしまって、しかもグラフをワークシートの終りの方に貼り付けてしまうと後で困るので注意する。)
この時点で xls形式で保存する。(「名前をつけて保存」で「ファイルの種類」を「Microsoft Excelブック」にする。)
注意点:
トップページのファイル名を index.html(このファイル名だけは固定)とすること。 index.html以外のファイル名は自由だが英数字を用いること。
他の提出ファイルは index.htmlと同じフォルダに直接置かず、 i, iiの問ごとにフォルダを作成し、そこにまとめておくこと。
各フォルダに、そのフォルダ内のファイルへの相対リンク、及び index.htmlへの「戻る」リンクを含む HTMLファイルを置くこと。 リンクのキーワード(青くなっている文字)は、 リンク先の内容が推定可能なものにすること。
提出ファイルの一覧(index.html以外の、 この色で表示されたフォルダ名・ファイル名は一例なので、自分でつけた名前に置き換える。)
感想は必ず書くこと。
感想の例
さらに余裕のある人は C言語のソースコードを HTML(toi1.html, toi2.html)に直接(リンクではなく)埋め込んでコメントを入れる。
HTMLに埋め込んだソースコードの例
#include <stdio.h> int main() { int i; /* intは整数型 */ for (i=0; i<10; i++) { /* 10回繰り返す */ printf("hello\n"); /* \n は改行 */ } return 0; }
総合問題 (C, Word)
次の 2つのプログラムを Nの値をいろいろと変えて、コンパイルして実行し、 結果をワードファイルにまとめよ(ファイル名 Jul18.doc)。 ワードによるレポートの例をみて、 そのコメントの指示に従え。
#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; }
#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; }