ゼミ日記



ゼミ第1回目 H13 9月12日(水)

 ついにこの日からO教授のゼミの講義が始まった。普通ならこの日は教授の面接などを受けてこの日にゼミ配属が決まるのだが、O教授のゼミ配属は日記を見てくれればわかるようにすでに決まっていたので、今日この日から講義が始まったのである。
 場所等はすでにメールで指定されていたのでその場所に集まる。が、時間を過ぎてもO教授どころか他のゼミ生も現れない・・。私は少し不安がよぎった。なぜなら、そのメールを受け取ったのはもう1ヶ月前くらいの話であり、しかもO研究室のメーリングリストに登録してあるのだがそれが8月下旬からぱったりとこなくなってしまっていたからだ。知っている同じゼミ生の友達(izuyaさん)に聞いてみようと電話をかけてみたが留守電になってしまいつながらない。不安がより一層高まったそのとき、O教授が姿を現して私はホッと一安心。そして、初めてのゼミがスタートする。  今回のゼミは実際にLinuxをパソコンで起動して慣れしたしんでもらうというもの。さっそくパソコンを起動しwindowsとデュアルブートしてあるので、まず最初にLILOが立ち上がる。その画面でdosとLinuxの選択肢がでてくるのでLinuxを選択する。Linuxが立ち上がり、ユーザー名、パスワードをO教授から教えてもらい、それを使ってログインする。Linuxにはたくさんのコマンドが存在しており、そのコマンドを打つことによってさまざまな事ができるのである。そのコマンドを実行して実際に何ができるかを確かめてみる。というようなことをやった。 こういうことをやっていると時間はあっという間に過ぎていくものである。1時間半が過ぎ初めてのゼミは終了した。ゼミを終えて思ったことはLinuxの知識のなさを痛感するだけであった。
 ゼミが終わったあと、あまりゼミと関係のないお菓子さんを連れてO教授の研究室を訪ねた。Linuxの本を借りることが目的でO教授に会いに行った。このことは、前もってメールでやり取りしてあったことなのでO教授も本を用意しておいてくれた。いろいろとお話したかったのだが、O教授にお客さんがいたらしく見知らない人がいたので、あまりお話はできなかった。さあ、この本で少しは知識がつくのであろうか・・・・。


ゼミ第2回目 H13 9月19日(水)

 さあ、今回で2回目を向かえたゼミ。先週借りた本を読んで、少しは知識がついたはずである(汗)借りた本からではないが、家で多少viエディタというもの勉強して普通に使えるようにはなった。
 今日のゼミの内容は、プログラミングである。というものの、自分でプログラム打って実行するのではなくO教授が作ったものをLinux上で実行させるというまだまだ初歩的なことをやった。
 まずは、いつもどおりにLinuxを起動させる。ユーザー名とパスワードを忘れてしまって、戸惑うこともあったがなんとかログインし、$ startx と打ち込んでX window systemを立ち上げる。ktermやらviやらEmacsやらを立ち上げたりして、いろいろ遊んでみた。viは少しは勉強したせいか、他よりはまともに操作できた。さて、O教授のメールにある、プログラムを入手しようとするがなんとパスワードが必要なので入手が不可能なのである。結局その時点で終わってるので(笑)O教授じきじきにパスワードを打って取り込みプログラムを入手してゼミ生の3人ほどが代表してそれを実行できることを確認してゼミは終了を迎えた。今回学んだことは、プログラム(C++)の拡張子は.ccであることぐらいだった(泣)


ゼミ第3回目 H13 9月26日(水)

 ついにゼミも3回目。あるゼミは初回というところもあるというのに・・・・。
 さて、今回もLinux上でプログラムを打ち込んで動作を確認するという内容であった。今回はC言語を用いるようだ。前回、さっぱりわからないまま終わってしまったため、なんとしても、今回で基本的なコンパイルの仕方などをしっかりと覚えたかった。
 実は、2日前に電子メールで今回やる内容とそのプログラムが書かれているのであった。前回のときもその電子メールはあったのだが、読んだだけで印刷やその内容をメモせずに挑んだ結果、上記のようなこととなってしまった。
 しかし今回は違う。ちゃんとそのメール印刷してきたのだ。そしてさっそくプログラムを打っていく・・・。しかし、途中でつまづいた。なんと「¥」が打てないのだ。これでは実行できないではないか。

printf("開始%d",now,"\n");

このたった1行のために苦戦していた。もちろんコンパイルしてもこの行のエラーがでてしまう。さあ、どうしたものかなと思って、いろんなファイルをいじくっていた。そして、.cとついているのがCのファイルなので開いてみると、なんと「¥」ではなく「\」(この半角)で書かれているではないか!?そうか、Linuxでは「¥」ではないのか〜っと分かり、さっそくプログラムを完成させる。そして、コンパイルして実行するとちゃんと思惑通りの結果がでた。めでたしめでたし。
 さて、今回学んだことは、プログラムファイルを「test.c」とするとそのファイルにviやemacsなどのエディタでプログラムを打ち込んだあとコマンドラインで「gcc test.c -o test」これでコンパイルができる。そしてオブジェクトができるのでそれを確認したら、「./test」と入力する。そうするとそのプログラムは実行される。 ということを今回のゼミで学びました。よかったよかった。本当なら前回ですでに分からなきゃいけない内容だってことは内緒です(滝汗)


ゼミ第4回目 H13 10月3日(水)

 ゼミ4回目の今日もプログラミングである。
 まず今回は、「そういえば、まだ自己紹介をしていなかったねぇ。」とO教授がおっしゃっり、1人ずつ簡単な自己紹介をした。俺はとんちんかんなことを言っていたような気がしますw 自己紹介やったけど、結局ほとんど他の人の名前をおぼえてねえToT
 さて、今回はC言語とPerlと呼ばれるプログラム言語を使った乱数を発生するプログラムをつくった。今回も事前にメールでやることを通知してあったのでプログラムはわかる。C言語のほうは楽勝楽勝^^; 動作をちゃんと確認し、次はPerlで組まれたプログラムを打ってみる。この言語はコンパイルする必要がないということなので、実行してみると・・・ エラーがぎっしりでたToT ちゃんとメールで送られたとおりにプログラムを打ったのに・・・。gerberaさんとizuyaさんとそのエラーを解除しようとあれこれ試してみるが、さっぱりわからない。もうこうなったらメールを送った張本人のO教授を呼ぶしかねえと思った3人はO教授に聞いてみる。O教授は管理人の打ったプログラムと自分の持っているプログラムの書かれた紙を見比べる。しばらく悩んでいたみたいだが、ある場面を見るとすぐに誤りに気がついた。とっても簡単なミスだったw その部分とは、

fpr($i=1; $i<10; $i++){

・・・・・・・

}

この部分である。Perlという言語が初めてということもあって、「ああ、こういうものなんだぁ」ぐらいにおもっていたのでこの部分も流す程度にしていたのだ。Cをやっている人なら「あれ?変だぞ」と思うだろう。そのとおりだ。そこがちがうのだよToT 正解は、
for($i=1; $i<10; $i++){

・・・・・・・

}

です(爆  たんなるfor文だったんですね(笑) 要するにO教授の打ち間違いだったということです(汗)
これが解決して動作を確認し、講義は終了。つまったときは案外簡単なところが間違えてるものなんですよねToT


ゼミ第5回目 H13 10月9日(水)

 今回のゼミの内容は1〜10までの数を足して55が画面に出るようなプログラムを組むという簡単なことをやった。しかも、メールでそのプログラムが未完成ではあるが配布されておりちょこっと修正するだけで完成してしまうという簡単なものであった。

#include <stdio.h>

for (i=1; i<=10; i++) {

sum = sum + i;

}

printf("Sum10= %3d\n", sum);


これがそのプログラムである。もう答えを書く必要もないですね。C言語を少しでもかじった事がある人ならたいしたことないと思います。もし、よかったらこの問題といてみてくださいね。そして、その答えをうちの掲示板にカキコしてください(汗 (ただし、Qちゃん お菓子 JETは遠慮してくださいね。答え知ってるしw)
  簡単だったので5分くらいには動作確認してこの課題はクリアしてしまいました。JETもQちゃんもすぐ終わってしまって、JETなんか帰ろうとしてました(笑)
 その後はしばらく自由にLinuxいじくってました。すると大半が終わったせいか、O教授がTcl/Tkというものを少し教えてくれました。ほとんど理解していませんが・・(爆)
で、そのテフの一例を実際につくって起動してみました。

label.l1 -text "任意"

button.b1 -text "任意" -command "exec xclock &"

pack.l1 .b1


これがテフのプログラム文です。(任意の部分は自分で好きな言葉を入れる)
このファイルをtkを拡張子とするファイル名にします。(例:TEX.tk)
そして、コマンドラインで

$ wish -f TEX.tk


でプログラムが実行されます。Tcl/Tkもコンパイル不要で便利ですよね^^
実行すると新たなウインドウがでてきて、その中に任意の部分になる言葉が2行ででてきてその内の下の言葉はボタンになっていてクリックで押すことができます。クリックすると、この場合はxclock(時計です)というLinuxのアプリケーションが起動します。つまりこれを使うとボタンひとつでいろいろなアプリケーションの起動が可能になるということです。
 まあ、今回はこれでおしまい。次回につづく・・・・。


ゼミ第6回目 H13 10月16日(水)

 今日はJETがとある理由で(QちゃんのHPにいけばわかりますw)欠席です。つまらんなぁ。
 さて今回は100までの素数を表示させるプログラムを組むということをやった。素数とは1とその数以外では割り切れない数のことをいう。ってこれはわかってるよね(汗) このプログラムをC言語で組むというのが今日の課題です。
 これが結構むずかしい。今回も虫食いプログラムwが送られていたので、まずはそれを一通り打ち込んでみる。それから怪しいところやなんかをいじくってみるが・・・。わからん。またミスプリかなんかあるんだろうなぁ と思っていたらやっぱりありました^^;

#include <stdio.h>
main() {
int n, nmax, i;
nmax = 100;
for (n=2; n<=nmax; n++) {
for (i=2; i m = n % i;
if ( m == 0) {
goto label; /* 割り切れたときは、次のnへ */
} else {
if ( i == n-1) printf("%3d",n);
}
label: m = m;
}
}

送られてきたのはこれです。
一見まともっぽいのですが、いろいろとおかしいところがありますよね。
まあ、答えはこちら↓です。

#include<stdio.h>
main() {
int n, nmax, m,i;
nmax = 100;
for (n=3; n<=nmax; n++) {
for (i=2; i m=n%i;
if ( m == 0) {
break;
} else {
if ( i == n-1) printf("%3d",n);
}
}
}
}

が、正解です。カッコがなかったり、labelでなくbreakだったりと・・・・ いくつかミスがありました(汗)
で、そのあとはTcl/Tkをやりました。

\documentclass{jarticle}
\begin{document}
\title{texの試み}
\author{shuichi sakamoto}
\date{2001/10/17(wed)}
\maketitle
\section{hello!!}
\subsection{処理手順}
\end{document}

これはO教授が紙に書いてくれたのですが、草書体でかかれてるのでさっぱり読めない部分があります。プログラムの意味よりも解読のほうに苦戦しました(笑)
で実行のやりかたは、

XDVI xxx.tex

これで、XDVIというLinuxのフリーソフトが起動してこのプログラムが起動します。
O教授いわく、このTcl/Tkを使って論文をやってほしいそうです。かなりめんどくさいです。これで論文なんて書けるのかなぁ と一抹の不安をいだきながらゼミは終了しました。つづく・・・


H13 10月24日(水)

 今日はゼミの時間帯が就職ガイダンスということでゼミはお休みでした。 就職も近いのかぁ としみじみ思うのでした。おしまいw

ゼミ第7回目 H13 10月31日(水)

 今回の課題は虫食いプログラムではなく一から自分で作るプログラムである。その内容は三角形を作るというものである。以下の図を作るのであるが、

             *             
            * *            
           *  *           
          *   *          
         *    *         
        * * * * * *        
分かる人いますか〜?俺は何にもなしではわかりませんToT 今までのゼミの中では難しい課題でしょうか。そういえば1年の時にも同じような課題をやった記憶があるのですが、もうさっぱりわすれてしまいましたToT ゼミ生のほとんどの人が分からないといった状況でしたが、O教授は自分のパソコンに答えがあるということでLinuxのftpコマンドを使って、そこにアクセスしてその答えのプログラムをゲット(盗むともいうw)する方法を教えてくれましたw さっそく管理人は教えられた方法でそのプログラム文をゲットして実行して動作確認して終了しました(ォィ 以下にそのプログラムを掲載します。


#include <stdio.h>
main(){
int h,i,j;
h=6;
printf(" *\n");
for(i=2;i<h;i++){
for(j=i;j<h;j++){
printf(" ");
}
printf("*");
for(j=1;j<2*(i-1);j++){
printf(" ");
}
printf("*\n");
}
for(j=1;j<i;j++){
printf("* ");
}
printf("*\n");
}

このプログラム文なのですが、これだと図のような三角形しか出来ません。欲を言うとどんな高さの三角形もつくれるようなプログラム文のほうがいいなぁということで、この日記を見たかたで「こんなの簡単じゃぁン」と言う方は私に教えて下さい。メールでも掲示板にカキコでもなんでもいいのでお願いしますm(_ _)m 
そして、そのあとはLinuxのgnuplotというソフトを使ってsin cos tanの波形を作ったりして(あまりおもしろくないw)今回のゼミは終了です。
今回の感想はプログラミングくらいできないとやばいなぁ・・・。この程度くらいできんとなぁ・・・と思うのでした(泣)

ゼミ第8回目 H13 11月7日(水)

 今回は簡単なホームページを作るということが課題でした。C言語よりはまだ得意かなっといった感じの管理人ですw ゼミ生の中にはホームページを持ってる人がそこそこいるので結構みんな順調に作ることはできたようです。そして管理人はというとまあ、普通にはできました(本当か?? しかし、私はCGIが使えません(泣) 使った事もないし、なによりこのホームページはjcomから借りてるのですがここではCGIは許可されてないので使えません。そんなこんなでCGIはさっぱりなのです。 まあ、今回は簡単なホームページを作るということなのでCGIはちょこっとしかやっていませんが・・・。プログラムのにHTMLにとやることいっぱいあるなぁ(ノ_・、)
 そんなことを思っているときにO教授がそのうち各自でホームページを作って研究室のサーバーを使って研究室のホームページの中に載せたいと申されました。そっちに作るときはこんなホームページではなくもっとましなものを作りたいものですヾ(;´▽`A``アセアセ それまでにHTML理解しとかないとなぁと思うのでした。
 そんな中、ホームページを持っているQちゃんがO教授のホームページにリンクをはってもらうことを試みました。O教授は喜んでその申し出を受け、早速リンクをはるためにホームページを更新しました。これでQちゃんも更新せざるを得ないだろうと管理人はほくそえんでいると、Qちゃんは管理人の了承を得ていないのに半ば強制的にこのホームページもリンクさせられました・・・・。ぐはっw しかも、早速O教授はこのホームページを閲覧しているではないですか・・・・。なんとも恥ずかしいしだいです。で、O教授から質問が・・・(汗 「このre-gzって何?」と(滝汗 その場は上手くごまかしたというか、流したというか・・。このことによりこのホームページも生まれ変わらないとなぁと思うのでした。 おしまい

ゼミ第9回目 H13 11月14日(水)

 今回は再びC言語です。簡単なものです。

#include<stdio.h>
main(){
int num,inp,count;
count=0;
srand(time(NULL));
num=rand()%100;
for(;;){
printf("INPUT:");
scanf("%d",&inp);
count++;
if(num if(num>inp)printf("答えはもっと小さい\n");
if(num==inp){
printf("***%d回で大当たり\n",&count);
break;
}
}
}

以上が今回のプログラムです。名づけて「数当てゲーム!?」らしいです(汗
しかし、意外とはまれました(笑)
num=rand()%100; の部分を num=rand()%1000 とかにすればさらに楽しめたりします(笑)
さて、これが今回の課題だったのですがすぐ終わってしまいました。O教授もこのゼミで何をやったらよいのかいろいろと悩んでいる様子でした。このままプログラムをやっていくのか・・・、Tcl/Tkをやっていくのか・・・などです。やることはたくさんあるはずですが講義の回数は限られてるのでその時間内にどれを効率よくやるかが問題です。管理人はLinuxについてまだよくわかってません。これまでやってきたことで、Linuxでプログラムを組んで実行したり。多少だがコマンド(cd,ls,find,・・・)などの使い方が分かってきました。しかしまだまだLinuxを理解していないでしょう。
どうせ、勉強するならWindowsではなくLinuxにしかできないことを勉強したいものです。サーバーを建てたりとか家で簡単にできそうにもないことをやってみたいですね。
 さて、管理人のボヤキはここら辺にしておいてっと(笑) えーっと先週学校のHPのリンクにこのしょぼいHPを載せていただいた件で、O教授が一言・・・「QちゃんのHPはよくできてるねえ。しかし、re-gz君のはなんだね?ゲームばっかりだねw」と・・・ToT
まあ、やってる内容はQちゃんには勝てないのはわかってるさ・・・・。ということでLinuxのコンテンツをつくるぞ〜!!(無理かも・・
そんなわけでがんばりますToT

ゼミ第10回目 H13 11月21日(水)

 ゼミも始まってからもう3ヶ月経とうとしています。早いものですな。
 さて、今回の講義内容はO教授が見つけてきたPerlのプログラムを打ちこんで(コピペして)実行するというもの。で、そのプログラムの内容は60行もある長いプログラムです。どうやらそのプログラムを実行して、ホストを打ちこんでやるとHTMLファイルをGETしてきてくれるプログラムのようです。あまりに長いため今回はプログラムの掲載を省略させていただきます。
 さて、早速プログラムを実行しますが例のごとくエラーがでますToT またどこかに簡単なプログラムミスかなと思っていましたが今回は違うようです。他のゼミ生ともあれこれ考えてみましたが結局誰一人できないので、O教授に言ってO教授専用のここのゼミでいうホストパソコンで同じようにやってみると・・。なんとできました。ためしにO教授のホームページのホストを打ち込んでみるとソースを見事にGETしてきました。どうやらO教授のパソコンでないとできないようです・・・。それが解明してゼミは終了しました。いったい、この1時間はなんだったんだろうと考えましたがあまり気にしないことにします・・・。

ゼミ第11回目 H13 11月28日(水)

 今回のゼミはLinuxコマンドのちょっとした復習と簡単な検索のC言語プログラムを組むという事をしました。  コマンドの復習はたいしたことやってません(死 find du df cut more lessなどの意味の再確認くらいしかしてないですが、初心にかえったつもりで(まだ初心ですがw)やってみました。  次は検索プログラムを作ります。いつもどおり、ftpコマンドを使ってO教授のパソコンにアクセスしプログラムをゲットします。以下がそのプログラムです。
#include <stdio.h>
#include <string.h>
main() {
int i,m,n;
char inp[100]; /* 検索キーワード入力 */
char k ,k1, k2;
 /* 検索ファイル */
char s[]="This is a pencil.\nThat is also a pencil. It happened twice.";
m = sizeof(s);

printf("Input Keyword:");
scanf("%s", &inp);
printf("Enterd is: %s\n",inp);
n = strlen(inp);
printf("String Length of Inp=%d\n",n);

k = inp[0]; k1 = inp[1]; k2 = inp[2];
for (i=0; i if (k==s[i] && k1==s[i+1] && k2==s[i+2]) {
printf("|***");
i = i +2;
} else printf("|%c",s[i]);
}
printf("|:\n");
printf("KeyWord= [%s]\n",inp);
printf("SizeofS(m)=%d; ",m);
printf("[%s]\n",s);
}

このプログラムを実行すると、文字の入力をうながされます。そして入力した文字がchar s[]=の後にある""の中の文章の中にその入力された文字があればその部分を「*」にして表示させるというものです。ただし、このプログラムだと検索する文字は3文字限定です(死 しょぼいとか言わないようにw
 今回でO教授ははっきりと「このゼミももうすぐに終わってしまうので、これから終わるまでC言語をします。」とおっしゃったのでC言語やるようですね。管理人はTEXのほうに興味あるのになぁToT

ゼミ第12回目 H13 12月5日(水)

 ゼミも終了が近づいてきました・・・。早いものです。
 さて今回は、ゼミとしては新しい試みで一斉授業をしました。いつもは課題をだされて個人個人やっていくものですが、今回はO教授と一緒に黒板を見つつやっていくというものでした。
 今回はpython(パイソン)というものを学びました。pythonとはフリーなオブジェクト指向プログラム言語です。ハッカーになろうでも書かれている事ですが、コンピュータ言語を知らないならまずpythonやったほうがよいといわれるほど簡単で覚えやすいそうです。そして、今回の講義では簡単にpythonを使ってみることをしました。といっても計算をすることくらいでこれができるからなんなんだ?と思うくらいです。その程度でで済んでしまったのですが、管理人はちょっと興味が持てた気がします。卒研で何をやるか・・・。悩むところです・・・。

python HP・・・pythonのHPです。pythonに興味ある人は見ることをお勧めします。

ゼミ第13回目 H13 12月12日(水)

 今回もpythonです。課題はpythonを使ったチャットサーバを実行する事だ。
 ktermで、そのpythonのプログラムを実行しポート4000に接続する。接続の仕方はktermで、コマンドラインから、telnet ホスト名 4000と入力すると名前を聞かれるので名前を入れることでチャットが始まるというものである。
 実際にチャットサーバを立ち上げて隣の人であるizuyaさんとチャットをしてみる。違和感なくできるので、なかなか面白かったのだがpythonでこんなこともできることに感動したのが実情だ。そのpythonのプログラムを見たがとても長いものだ。見ても今はさっぱり分からないが、ところどころだが分かりそうなところはある。ここの部分はポート4000で接続要求してる部分だとか、名前入力を要求している部分だとかだ。
 ゼミではいろんなことをかじる程度にやっている。それはゼミ全員がなにかしらに興味をもち、それを題材に卒業研究をしてほしいというO教授の目論見である。今までゼミは少ない回数の中でいろいろやってきた。C/C++,Perl,TEX,gnuplot,python・・・色々やってきたものだ。そして、来週は今までやってきた感想と興味を持ったものを発表する事になっている。考えてみると結構悩むものだ。広く浅くゼミでやってきたため、どれをやっていくか迷うところであるが管理人はpython,TEXかなぁ・・と思うのであった。

ゼミ第14回目 H13 12月19日(水)

 ついにゼミも今回で終了となります。今回はプレゼンテーションということでこのゼミを受けての感想を1人1人発表することになりました。管理人はずばり発表するのが苦手です。ある程度は考えていたんですが、やっぱりいざ発表となると上手く言えなくなっちゃうんですね(汗 で、管理人はTAROTさんのおかげでpythonやりた〜いとか言わずにすみました(滝汗 で、管理人はなにを発表したというと、プログラミングはやるのならCでやっていきたいと、そしてpython やらPerlやらは読めるようにはなりたい。で、TEXやgunuplotを勉強して使えるようになりたい。というようなことを言った・・・ような気がします(汗 全員いろいろな感想がでてきて、いろいろと考えさせられました。
 発表が終わったところでゼミ最後の講義が始まりました。今回は、pythonとLaTEXをしましたがLaTEXは実行できませんでした。文法も間違ってるようには見えないし・・・。結局誰一人としてLaTEXは実行できませんでした。以下にLaTEXの文は載せておきます。

\documentclass{jarticle}
\usepackage{graphicx}
\begin{document}
\title{p\LaTeX に於ける数式の表現}
\author{岡村宗治}
\date{\today}
\maketitle
\section{特殊記号}

以下は積分記号を用いた数式の例です。
\begin{equation}
y= \int^{\infty}_{0} f dx
\end{equation}
\begin{equation}
\theta = \pm \arctan \frac{3}{4}
\end{equation}
\begin{equation}
x = \frac{-b \pm \sqrt{b^2 -4ac}}{2a}
\end{equation}
\begin{figure}
\begin{center}
\includegraphics[height=4cm]{example.eps}
\end{center}
\end{figure}
\end{document}

pythonのほうは実行できましたが、文字化けしてしまいました。やはりLinuxでは日本語の表示は不可能なんでしょうかね?今回のも日本語でかかれている部分だけが文字化けしてしまいました。
 これから卒研に向かって頑張っていこうと思います。まだ、どの研究をするとか全然決まってませんが・・・(汗 まず、サーバ組とアプリ組に分けないといけませんしね。
 以上をもちましてゼミ日記は終了となります。ご愛読ありがとうございました。


トップへ戻る