ホーム » スタッフ (ページ 218)

スタッフ」カテゴリーアーカイブ

2025年6月
1234567
891011121314
15161718192021
22232425262728
2930  

検索・リンク

マンガでわかる電子回路…すげぇ〜

本屋の専門書コーナーで、すごすぎて、頭がクラクラしてきた。

中身だけど、数式ほとんどなかったな… CPUの創り方とは違い、文章も少なかったし..

コウモリがいた

ちなみに電子情報棟2階の階段です。ここは洞窟ではありません。 1007301808_240x320.jpg

オブジェクト指向のレポート課題優秀すぎ…

オブジェクト指向の試験が終わり、 レポートの採点。 例年通りなんだけど、複素数を使った直交座標・極座標クラスのネタと、 図形クラスで、色クラスを多重継承にするかのネタと、 自分の特別研究の内容をUML表現。

といっても、今年は電子情報の学生しか残らなかったためか、 どのレポートも気合が入っている。 カラーの図入り説明で、複数の実装試みて比較されたら、 100点つけるしかないじゃん。 レポートの採点って、100つけること少ないし、レポート3本+テストを各25%合計じゃ、 100なんかつけることはないんだけど、今年は気持ちよく、100点つけた方がでました。 うーん、レポートばっかでこちらにしてみりゃ、「サボってないかぁ~」と言われないか、 心配だったけど、こういうレポートみるとやりがいを感じるね。

TimeCapsuleのバックアップ容量制限[メモ]

仕事用にMacbookのディスクのバックアップとして、TimeCapsuleを使っている。 しかしながら、500GBの容量を使い切って、容量不足とか言ってくる。 自宅でも、netatalk をインストールして、自宅サーバの外部HDDをTimeCapsuleとして 使えるようにしているが、容量を次から次へと食いつぶしてくれる。

基本、TimeCapsuleは、ディスク容量が埋まるまでバックアップして、足りなくなったら 古い方を消すだけしかないみたい。参考記事を色々と探すけど、 どれも面倒そうだなぁ…

2010年7月25日(第174回)

テスト期間中につき、数学科 長水先生、電子情報工学科 奥田先生、西の3名の収録でお送りしました!

  • 高専の地区体育大会の結果紹介
  • 教員の夏の過ごし方
  • 福井高専生参加バンド「SKALAPPER」の楽曲紹介

双方向リスト

リスト構造の特徴として、リストの可変長データの便利さの反面、 シーケンシャルアクセスしかできないため、N番目データの参照がO(N)で 効率が悪い点を再確認したあと、その問題の解決方法として、双方向リストを説明する。

テキストエディタのような、1つ前の行、次の行をアクセスするような処理が多い場合、 単純リストでは、1つ前の参照は効率が悪い。 その対策として、1つ前のデータの場所を保存すればよい。

struct BDList {
struct BDList* prev ;
int            data ;
struct BDList* next ;
} ;
void bdinsert( struct BDList* p , int x ) {
struct BDList* n ;
n = (struct BDList*)malloc( sizeof( struct BDList ) ) ;
if ( n != NULL ) {
n->data = x ;
n->prev = p ;
n->next = p->next ;
p->next->prev = n ;
p->next = n ;
}
}

しかしながら、このプログラムは、データが数件存在している場合は正しく動作するが、 データ件数が0件の場合には、問題が発生する。 データ件数が0の状態で、top = NULL であれば、この場合だけの特別処理を 記載することになる。これは、効率も悪いしプログラムも分りにくくなる。 この対策として、データ0件の状態を作らなければいい。このため、ダミーのデータを つくりリストの最前端と最後端に入れておけば特別処理が不要となる。 このような、データの端に処理の簡略化のために入れるデータを番兵(sentinel)と呼ぶ。

しかし、双方向リストでは、最前端と最後端に番兵を設けなくても、最後端の1つ前が、 最前端のデータを指すように循環リストを構成してやれば、番兵が1つで済む。 双方向リストでは、このような『双方向循環リスト』として扱う場合が多い。

説明補足用の図がいいのがないかなぁ~と、Google の画像検索をかけると、 イマイチな図ばっかり…と数回次次次とみていって、良い絵をみつける。 けど、よくみりゃ去年自分で書いた図だった…

入出力関数とリダイレクト

入出力系の関数の説明として、 getchar() / putchar() , fgetc() / fputc() , gets() / puts() , fgets() / fputs() などの関数の説明を行う。 この話の中で、while( (c = getchar()) != EOF ) putchar( toupper( c ) ) のような プログラムを紹介し、その話の中から、fgetc() の EOFチェックや、fgets() のNULLチェック という話などを交えながら説明を行う。

特に、安全な入力手段ということで、fgets() + sscanf() による方法の説明を行う。

char buff[ 100 ] ;
char name[ 100 ] ;
int  age ;
while( fgets( buff , sizeof( buff ) , stdin ) != NULL ) {
// 色々な入力チェック() ;
if ( sscanf( buff , "%s%d" , name , &age ) == 2 ) {
// 入力値を使った処理...
}
}

リダイレクト

前の説明の toupper のプログラムを使って、入力リダイレクト、出力リダイレクトの説明を行う。

Z:>> toupper.exe > upper.txt
This is a pen.
That is a pencil.
^Z
Z:> type upper.txt
THIS IS A PEN.
THAT IS A PENCIL.
Z:> toupper.exe < toupper.c
#INCLUDE <stdio.h>
VOID MAIN() {
INT C ;
:

本当は、標準エラー出力・バッファリング・パイプの話もしたいんだけど、 来週から前期期末試験だし、重要な用語も多い講義だったこともあり、試験後のまとめにて 説明を行う予定。 話せる範囲が減ったから、テストの出題範囲もちょいと狭いなぁ… さて、難しいひねった問題出すしかねぇなぁ…(^_^;

2010年7月18日(第173回)

スタジオお休みにつき収録でお送りしました!

  • IT研究会メンバーの話
  • 1年生に聞く高専最初の試験

C言語でのファイル処理

C言語でのファイル操作ということで、FILE型のイメージや、 fopen() , fclose() の説明を行う。 特に、Windowsでのディレクトリ名区切り"¥"の問題の説明と、 ファイルモード"r/w/a"などの説明を行う。 また、OSでの違いの影響として、テキストモード・バイナリモードの違いを、 タイプライターの動きを例にしながら、"\n"と"\r"の違いなどを交えながら説明する。 ファイルの入出力命令は、導入なので現段階では、fscanf() , fprintf() のみを紹介に留める。

後半は、演習ということで、ファイルに、1行1件で複数人数のデータが保存されているときの データの読み込みと出力をテーマに課題とする。 レポートの動作確認のネタとして、定番でよくトラブルとして報告される、scanf("%d",…) で、 非数値データを入力したら無限ループ…あたりが面白いので、 「数値データがあったら数値以外を入力したら…」と伏線をひいておく。

来週には、fgetc(),fputc() , fgets() , fputs() あたりを紹介し、 fgets() + sscanf() による入力などを解説しよう。

2010年7月11日(第172回)

誠市、ご縁市開催中でした

  • メールテーマ:旅行
  • ゲスト:福井大学生 小寺さん
  • 鯖江や福井の街中活性化について

photo100711.jpg
小寺さんは福井駅前の活性化を目指して活動されています。

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー