今年も稲田自治会主催の「稲田夏祭り」に参加させて頂きます。
震災の影響で開催が危ぶまれましたが、無事実施となりました!
以下、実施予定です。
場所/ひたちなか情報電子専門学院
日程/8月20日(土) 14:00~18:30
実施項目
・輪投げ
・射的
・くじ引き
・ストラックアウト
・ヨーヨーすくい
・おばけ屋敷(初!)
・フリーマーケット(※)

※現在、フリーマーケット担当はM先生1人なので、手伝ってくれる方を募集してます!
よろしくお願いいたします。
〓武田〓

現在日時を表示jするプログラムです。
時間に関する構造体tm構造体を使っています。tm構造体は、time.hに宣言されています。
補足説明として、西暦年のtm_yearは、1900年を起点としての年数が戻り値になりますので、1900を足して使用します。
曜日をあらわすtm_wdayは戻り値0~6の数値が日曜日~土曜日に対応します。下のサンプルのように曜日を表す文字配列の添え字として使うといいでしょう。
経過日数のtm_ydayは1月1日を0日としてその年の経過日数を返します。
サマータイムフラグtm_isdstはサマータイムに対応している地域でサマータイム中であれば、1をそうでない場合は0を返します。
// xGetLocalTime.c 現在の日時を表示する
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t timer;
struct tm *t;
int year, month, day, hour, minute, second, wday;
char weekday[][4] = {“Sun”, “Mon”, “Tue”, “Wed”, “Thr”, “Fri”, “Sat”};
/* 現在時刻を取得 */
time(&timer);
/* 現在時刻を構造体に変換 */
t = localtime(&timer);
/* tm構造体の全ての要素を表示してみる */
printf(“tm構造体\n--------------------—-\n”);
printf(“%5d /秒\n”,t->tm_sec);
printf(“%5d /分\n”,t->tm_min);
printf(“%5d /時\n”,t->tm_hour);
printf(“%5d /日\n”,t->tm_mday);
printf(“%5d /月\n”,t->tm_mon);
printf(“%5d /西暦年\n”,t->tm_year);
printf(“%5d /曜日\n”,t->tm_wday);
printf(“%5d /経過日数\n”,t->tm_yday);
printf(“%5d /サマータイムフラグ\n”,t->tm_isdst);
/* 現在日時を表示 */
year = t->tm_year + 1900;
month = t->tm_mon + 1;
day = t->tm_mday;
hour = t->tm_hour;
minute = t->tm_min;
second = t->tm_sec;
wday = t->tm_wday;
printf(“\n%04d-%02d-%02d(%s) at %2d:%2d:%2d”,
year, month, day, weekday[wday], hour, minute, second);
return 0;
}
【実行結果】
tm構造体
--------------------—-
   34 /秒
   50 /分
   15 /時
    1 /日
    5 /月
  111 /西暦年
    3 /曜日
  151 /経過日数
    0 /サマータイムフラグ

最近良く見ているサイトを2つ紹介します。
GIGAZINE(ギガジン)
http://gigazine.net/
私は同名の本を最初に買って読んでから、このサイトを見るようになりました。
基本方針は時系列に色々なニュースを取り上げることのようです。
時どき「コンビニの新商品を食べてみた!」とか「飲食店の新メニューを食べてみた!」的などうでもいいような記事が入ってくるのですが、そこがまたいい味だしてます。おススメです!

痛いニュース(ノ∀`)

http://blog.livedoor.jp/dqnplus/
ライブドアのブログです。
2ちゃんねるてきに「痛いニュース」(いわゆる掲示板で盛り上がれそうなニュース)を取り上げています。
構成が上手です。
取り上げられた「痛いニュース」のあとすぐに続けてそのニュースに対する2ちゃんねるの書き込みが表示されていて、読んでいて自然に一人で盛り上がれます。実際、どのニュースも痛いです!
上のGIGAZINEの記事の写真などは、ニュースにあった写真をFlickr(米Yahoo!が運営する写真共有サービス)上からのリンクで表示している場合があるのですが、そういったホームページの作り方は参考になります。
私もFlickrは利用しています。iPhone4で撮った写真を簡単にFlickr上にアップできるアプリがあるので便利です。
〓武田〓

来年の1月31日に開催される勝田マラソンに、今年も参加しようと思います。
もう5回くらい走っていると思います。
私は10kmの部しか出場したことはありませんが…
ところで、私はマラソン大会の約3ヶ月前から走り始めます。
運動に限らず、何でも3ヶ月位続けると変化が表れてきますね。
たしか、人間の細胞も3ヶ月で新しいものと生まれ変わるとの事でした。
5回ほどマラソンに出場して分かったことは、私は毎日走る練習をしてはだめだと言うことです。
私の場合は、1週間に3回程度走ることが自分にとって丁度いいと分かりました。
あまり続けてしまうと筋肉の疲労がとれず、体を壊してしまいます。
筋肉は使い過ぎると痛くなりますが、これは筋肉が切れて、新しく丈夫な筋肉を作るためだそうです。
筋肉を作るためには睡眠や体を休めることも大事なことなのです。
私の場合は1週間に2~3回位走ることが丁度体のリズムに合っているようです。
一度、練習しすぎてしまい、マラソン大会当日まで疲れがとれず、本当に辛かったときがありました。
反省を踏まえての今です。
人生「太く、短く」とか「細く、長く」などと言いますが、私は自分に合った太さで長く行きたいと思います。
休みながらでも、続けていくことで、何事か成せるのではないでしょうか。
〓武田〓

今日から学生は夏休みに入ります。
1期の授業の終わりに次の課題を出しました。

Q. カレンダーを表示するプログラムを作成せよ。入力は西暦年と月とする。
なお、西暦元年1月1日は月曜日である。

カレンダーを作成するためには、まず閏年(うるうどし)を考慮しなければなりません。閏年の定義は「西暦年が400で割り切れる年」又は「西暦年が4で割り切れ、かつ100で割り切れない年」です。
C言語で書くと、

if (year % 400 == 0){
<閏年である>
}
else if(year % 4 == 0 && year % 100 != 0){
<閏年である>
}

となります。
解答例では、この閏年判定は関数化してあります。
月毎の日数は基本的に2月以外は変化はないため、配列に順番に入れておきます。
2月は閏年ではないときの日数28日とします。

 int month_date[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

閏年の場合は、1日足して29日としています。

 if(checkUruu(year)) month_date[1]++; // 閏年の2月分

カレンダー風に表示するために1週間(7日分)表示したら改行をして、それっぽく見せます。

  if(cnt % 7 == 0) printf(“\n”);

閏年をチェックする関数(checkUruu)では、閏年だった場合、戻り値を「1」としていますが、これは閏年でない場合の28日に1日足して29日にするために使っています。

 // 日数計算
 for(i=1; i<=year-1; i++){
  total = total + 365 + checkUruu(i);
 }

このときの変数totalは、指定した西暦年の前の年までのトータル日数を計算するために使っています。その後に指定した西暦年の指定月の前の月までの日数をtotalに入れています。

 for(i=0; i<month-1; i++){
  total = total + month_date[i];
 }

total変数の目的は、月の初日が曜日によってずれるため、スペース表示を行うために使っています。
解答例は分かりやすいように月曜日から表示しています。

 for(i=1,cnt=0; i<=total%7; i++, cnt++) printf(” “); // その月の初日の曜日のずれを考慮

【C言語でカレンダー表示をするプログラム】

/*
xCalendar.c 西暦年を月を指定するとカレンダーを表示する
          09/07/07(火) Syuichi Takeda wrote.
*/
#include <stdio.h>
int checkUruu(int);  /* 閏年チェック関数: 閏年なら1を返す */
int main(void)
{
 int year, month;
 int month_date[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
 int total = 0;
 int i, cnt;
 
 // 西暦年入力
 do{
  printf(“西暦年を入力して下さい “);
  scanf(“%d”, &year);
 } while(year < 1);
 
 // 月日入力
 do{
  printf(“月を入力して下さい “);
  scanf(“%d”, &month);
 } while(month < 1 || month > 12);
 
 // 日数計算
 for(i=1; i<=year-1; i++){
  total = total + 365 + checkUruu(i);
 }
 
 if(checkUruu(year)) month_date[1]++; // 閏年の2月分
 
 for(i=0; i<month-1; i++){
  total = total + month_date[i];
 }
 
 // カレンダー表示
 printf(“\n\n\t%d年\n%2d月\n”, year, month);
 printf(” 月 火 水 木 金 土 日\n”);
 for(i=1,cnt=0; i<=total%7; i++, cnt++) printf(”   “); // その月の初日の曜日のずれを考慮
               // 月曜->ずらさない 火曜->1日ずらす
 for(i=1; i<=month_date[month-1]; i++, cnt++){
  if(cnt % 7 == 0) printf(“\n”);
  printf(“%3d”, i);
 }
 printf(“\n”);
 
 return 0;
}
int checkUruu(int year) // 閏年なら1を返す
{
 if (year % 400 == 0){
  return 1;
 }
 else if(year % 4 == 0 && year % 100 != 0){
  return 1;
 }
 return 0;
}

【実行結果】

西暦年を入力して下さい 2000
月を入力して下さい 2
     2000年
 2月
月 火 水 木 金 土 日
   1  2  3  4  5  6
  7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29

意外とこのプログラムWindowsなどのカレンダーより表示できる西暦年の範囲が広くていいですよ。(Windowsのカレンダーだと2009年の時点で1980年からしか表示できない)
この解答例では曜日が月曜から始まっています。
よくあるカレンダー表示みたいに日曜日から始まるようにするには、カレンダー表示の先頭部分を以下のようにします。

 // カレンダー表示
 printf(“\n\n\t%d年\n%2d月\n”, year, month);
 printf(” 日 月 火 水 木 金 土\n”);
 for(i=1,cnt=0; i<=(total+1)%7; i++, cnt++) printf(”   “);

こういったプログラムを作る場合は、実際に紙に書いてみるといいと思います。例えば、西暦元年の1月はどうなるとか、2月になったらどうなるとか言ったように書いてみます。
すると、カレンダーのポイントは月ごとの初日に曜日がずれていくことにあると気づきます。
閏年でない場合は1年間で1日曜日がずれます。
西暦元年の1月1日は月曜日ですが、西暦2年の1月1日は火曜日となります。
閏年だと前の年と比べて、2日ずれます。
とにかく、書いてみることです。
私の場合、まずは学生には曜日を考えずにカレンダーっぽく7日ずつ表示が出来るかどうかを最初に考えさせました。
一度にプログラムすると大変ですが、少しずつプログラムして目的に近づいていくことがベストだと思います。
〓武田〓

学院のテニス大会が催されました。
朝方の雨もどこへやら、日中は日差しがあり、夏の暑さでした。
女子高生の格好あり、本気モードの方あり、試合放棄の方あり、景品のビールを飲みたそうな人あり…と様々な人間模様が繰り広げられていました。
試合が終わる頃には、皆一様に疲れ果て、目も遠くをみておりましたが、爽やかな汗でした。
スポーツっていいですね。
テニスと言うと、高貴なイメージがあります。(学院の中でテニスが上手いK君は「テニスの王子様」と呼ばれ親しまれています。)
貧乏でもテニスはできるんでしょうが、何か合わない気がします。
やはりお金持ちのスポーツだと思います。
私も出来ましたら、いつでもテニスが出来るようにテニスコート付きの家に住みたいものです。その横にプールもあれば何も言うことはありません。
テニスで汗をかき、プールでクールダウンといった感じですか。
私は将来お金持ちになりたいと思いますが、お金持ちになることが先か、テニスが上手くなることが先か今悩んでいます。
〓武田〓

本日、大きく改定された2009年春の情報処理技術者試験を受けてきました。
私は旧ソフトウエア開発技術者試験にあたる応用情報技術者試験(通称AP)を受けました。
前回までは、午後試験が午後Ⅰと午後Ⅱに分かれており、それぞれ2時間と1時間の試験でしたが、今回は午後2時間半のみの試験となり、選択問題となりました。
気持ちとしては、早く試験が終わるので良かったですね。
最近は中国の方の姿も見受けられます。(会話をかわしている言葉で気がつきます。)
やるだけのことはやりましたので、結果が楽しみです。
で、試験の最中にふと思ったのですが、最近一人になる時間があまりなく、久々に一人の時間(試験の間だけですが)を持てました。
いつもなら試験の時間は辛い気持ちになるのですが、なぜか今日はすがすがしい気持ちで、「一人もいいもんだ」などと考えていました。
帰り際、昇降口を出たところにある自転車駐輪場の方から、甲高い歌声で

あ~ わたしの恋は~ みなみのぉ~ 風にのってはし~るわ~

と聴こえてきました。
少し音程もはずれぎみで周囲の笑いを誘っていましたが、皆バカにしたような笑いではなく、微笑ましい雰囲気になっていました。
試験も終わり、ほっとしたところでの歌声でしたので、皆きっと私同様「気持ちはわかるよ」と考えていたのかもしれません。
歌は歌いたいときに歌うものですよね。
〓武田〓

人生に卒業はありませんw
先日、ひたちなか情報電子専門学院での第24回卒業式がありました。
私がこの学院に来てからは11回目の卒業式です。
一体何を卒業するのだろうかと毎度の事ながら思います。
形式上は学校を卒業する訳ですが。
私の好きな歌に尾崎豊の「卒業」があります。
世の中に対する「支配」からの卒業を歌っています。
最近好きな歌にガガガSPの「卒業」もあります。
「別れた彼女」からの卒業を歌っています。
内容は違いますが、どちらも「自立」というキーワードが頭に浮かびます。
ご卒業おめでとうございます。

~ s/卒業|自立/感謝/g

…Perl
〓武田〓

先日、オリバー先生や職場の同僚と外国人が集うバーに行きました。
あえて店員の方に英語のメニューを持ってきてもらい、注文しようとしたのですが、メニューだけではどんな料理か分からず、私はとりあえず好きな食べ物である「トマトスライス」といったのですが、無いと言われてしまい困ってしまいました。
そのときオリバー先生が店員に使った言葉がこれです。

What do you recommend?

その時は何をいっているのか分かりませんでした。
ずっと気になっていたので、調べてみると意味は

おすすめは何ですか?

でした。
日本でも良く使う表現です。
これは憶えようと思いました。
ついでに調べてみました。

What kind of food is this?

どんな料理ですか?(メニューを指差しながら)

次回は使おうと思います。
〓武田〓

勝田マラソンが終わってから、一度3kmほど走りましたが、勝田マラソンに出る前と出た後での走っているときの気持ちは違うものなんだ、と感じました。
出場前は去年より速く走りたいという気持ちがあるため、意識して一歩一歩走るのですが、出場後に走ったときは、周りの景色を見ながら、などの余裕が出てリラックスして走ることが出来ました。(どちらが良いということではないです)
走ることに変わりはないのですが、何か目標があってそれに向かって動いているときの方が「真剣さ」はあると思いました。
私は「くだらないこと」にあえて熱くなりたい方です。
くだらないことでも何か自分の中で目標や動機づけを行うことで、きっと心から熱く真剣になれると思います。
〓武田〓