バケット

プログラミングの授業のTA。
大分脱落者も増えてきているようだけど、
先生曰く「それでも今年は自分で考えてやっている率が高い」
だそうで、言われてみればそうかもしれない。

今日の演習は

ファイルからデータ(年齢の羅列)を読み込んで
それらを昇順に並び替えて別のファイルに出力しなさい。

と言うようなもの。
実際は構造体使ったりなんだけど、要約するとそんな感じ。

で、並び替えってーと、ソート。
どうやりますか?

殆どの学生は(僕も)下のようなものを書いたり、
それを目指していました。


#include <stdio.h>
#define MAX_DATA 5

int main(int argc, char* argv[])
{
  FILE* fp;
  int i, j, temp;

  int ages[MAX_DATA];
  
  fp = fopen("src.txt", "r");
  for (i=0; i<MAX_DATA; i++) {
    fscanf(fp, "%d", &ages[i]);
  }
  fclose(fp);

  // ここから並び替え ----------------

  for (i=0; i<MAX_DATA-1; i++) {
    for (j=0; j<MAX_DATA-1; j++) {
      if (ages[j+1] < ages[j]) {
        temp = ages[j];
        ages[j] = ages[j+1];
        ages[j+1] = temp;
      }
    }
  }

  fp = fopen("dest.txt", "w");
  for (i=0; i<MAX_DATA; i++) {
    fprintf(fp, "%d\n", ages[i]);
  }
  fclose(fp);

  // ここまで並び替え ----------------

  return 0;
}


ところが、質問してきた学生、
それと言ってプログラムは得意では無い感じの彼、
画面を覗いてみると並び替え部分が…


  fp = fopen("dest.txt", "w");
  for (i=0; i<1000; i++) {
    for (j=0; j<MAX_DATA; j++) {
      if (ages[j] == i) {
        fprintf(fp, "%d\n", ages[j]);
      }
    }
  }
  fclose(fp);


うお、アツイ。

…関係ないけど、ブログにソース載せるのはどうしたらいいんだ…。
<pre>使ったらえれぇ行間空くし…。
Class | - | trackbacks (0)

Wordで論文なんかを書くときのTips

論文なんかを書くというとTeXを使うのが一般的だが
Wordの方が書きやすいというのは僕だけだろうか。
何より、レイアウトを確認しながら打っていけるのは大きいし
数式だって、とっつきやすい。
スペルチェックもその場でやってくれる。
要らぬお世話な機能も多い気もするが、
大抵どこか設定をいじれば切れる。

しかしながら、特に何もいじらないで書いてしまうと
いかにも Word Word した見た目になってしまい、
先生に「あー、またWordなんか使って…。」と言われてしまう。

それらしく見せるために必要な設定なんかを以下にまとめておく。


ツール > オプション
 「全般」タブの「使用する単位」をミリメートル(mm)に。
 「文字単位での編集を可能にする」のチェックボックスを外す。
 
 これで2段組の段の幅や間隔を
 ミリメートル単位で指定できるようになる。

ファイル > ページ設定
 「文字数と行数」タブで行数などをいじってそれらしく。
 「余白」タブも同様。 ミリ単位でしっかり設定。
 
 こういったところを一般的な論文と揃えるだけで
 相当見た目が変わってくる。
 Wordであれ、TeXであれ、結局は紙面に文字があるだけなのだから
 配置をきちっと揃えてしまえば出来上がるものに違いは無い。

はまりがちなのが数式。
数式エディタで書いて文中に入れると行間が狂ってしまう。
これは

書式 > 段落

 「行間」を「固定値」として
 間隔をフォントサイズにあわせて適当に設定すればよい。
 行中のオブジェクトの存在にかかわらず行間が固定になる。

以上の設定はスタイルとして登録してしまうのが良い。

書式 > スタイル

 新しいスタイル、例えば「本文(論文)」なんてのを作って
 上記と同様に行間を固定値に。
 ついでに英数字用のフォントを「Times New Roman」等にするのもいい。

数式自体の大きさは数式エディタを起動した状態で

サイズ > サイズの定義

 ここで自由に定義できる。
 このとき、「標準」以外をパーセント表記にしておくと
 以降「標準」のサイズを変えるだけで他のサイズも追従してくれる。
PC | - | trackbacks (0)

Utility

通り抜けループ98
 …ウィンドウがあってもデスクトップのショートカットをクリック
  ・ワイパー機能のみ使用
  ・スタートアップに登録すべし
  ・ショートカットキーでの使用もなかなか

AltIME
 …MS-Windows用キーボードユーティリティ
  ・IMEのオンオフを「変換」キーに割り当てるのに使っている

DeskList
 …デスクトップをリストビュースタイルに変更
  ・「一覧」のスタイルを採用
  ・作業効率を考えて導入したが今ひとつ安定してないような…
  ・WinXPのデスクトップアイコンが勝手に並び替えられてしまう不具合対策にも有効

助けてってば〜!
 …上に配置したタスクバーにウィンドウが重なる問題を解決

JoyToKey
 …ジョイスティック入力をキーボードの入力に変換
  ・キーボードばかりかマウスの入力もエミュレート可
  ・パッドでやるゲームなのにキーボードのあるキーを頻繁に使うなんて時に

JoyAdapter
 …ジョイスティック入力をキーボードの入力に変換
  ・JoyToKeyとほぼ同じ
  ・JoyToKeyで入力がきかなかった場合はこっちで

Tweak UI
 …Microsoft純正Windowsカスタマイズツール
  ・片っ端から動作が軽くなるように設定

すっきり!! デフラグ
 …バックグラウンドでソフトが動作していない最適な状態でデフラグとスキャンディスクを実行

IME Watcher for Windows XP
 …IME2002をタスクトレイで操作する
  ・うちの環境との相性が悪いのか
   プログラムのデバッグ時に衝突が起きたため使えず
   それ以外の場面では特に問題なく使えた
   2003年のことなので今はどうかは分からない

TClock2ch
 …タスクバーを色々いじくる
  ・TClockの派生バージョン
  ・TClock Lightに期待
  ・スタートボタンを非表示にしてタスクバーを広く使えるように
  ・タスクバーを細くしてデスクトップを広く使えるように

CrystalRes
 …画面解像度の変更
  ・XPだと画面のプロパティからは640x480に変えられなかったりするので
   そんな場合に
  ・こだわって選んだわけでもないし、滅多に使うこともない…

ZTop
 …マウス操作支援ソフト
  ・マウスホイールの転送やウインドのスナップ、半透明化、前面化等
  ・便利でとても手になじむ。なぜWindowsが標準でこれらの機能を持っていないのか疑問に思う程。
Tools | - | trackbacks (0)

CD/DVD

DAEMON Tools
 …仮想CDソフト

CD Manipulator
 …CDライティングソフト

FREE DVD ISO Maker
 …DVDからISOファイル作成

Virtual CloneDrive
 …仮想ドライブソフト
Tools | - | trackbacks (0)

File

UnDup
 …重複ファイル検索・削除
  ・アーカイブ内も検索できないものか

BunBackup
 …バックアップツール
  ・差分バックアップ、ミラーリング等必要十分な機能群

ArcDiff
 …アーカイブを、解凍せずに、中身のファイル毎に比較する
  ・出番は極端に少ないが…

Redundancy Files Finder
 …重複したファイルを、あらゆる角度から検索
  ・ファイルサイズの一致での検索をごくたまに使う

ばっちり同期
 …フォルダ間の同期を取る
  ・FTPにも対応している
Tools | - | trackbacks (0)

Network

Sleipnir
 …タブブラウザ

Becky!
 …メーラー

Hotmail plug-in for Becky! Ver.2
 …Becky! で Hotmail の受信を可能にするプラグイン

WWWC
 …Webページ更新チェッカ

Irvine
 …ダウンロードツール

FFFTP
 …FTPクライアント

Tera Term Pro
 …ターミナルエミュレーター
  ・参考ページ

WinSCP
 …SFTP (SSH File Transfer Protocol) and SCP (Secure CoPy) client
  ・参考ページ

ウイルスバスター2005
 …ウイルス対策ソフトウェア
  ・2005より
   スパイウェアを検出したり
   アプリケーションごとにネットワークへのアクセスを制御したり
   できるようになった
  ・お客さま情報サイト

ZoneAlarm
 …ファイアウォール
  ・無償で使えるのでウィルスバスターの入ってないセカンドマシンに

avast! antivirus Home Edition
 …アンチウィルス
  ・無償で使えるのでウィルスバスターの入ってないセカンドマシンに


以下諸事情により使わなくなったもの


Proxomitron
 …ブラウザで見ているウェブページをオン・ザ・フライで書き換える
  ・要するにポップアップ広告やバナー広告を消す
  ・Sleipnirのプロキシとして登録して必要なときだけ使うようにしている
Tools | - | trackbacks (0)

Graphics

IDraw3
 …ドット絵作成
  ・レイヤーが無い代わりに多彩な範囲選択方法
  ・編集単位も結構使える
  ・画像の回転を1度単位で綺麗に行え、縮小も綺麗にできる
  ・キーボードへの機能割り当てが出来る
   (Ctrl+'+' や Ctrl+'-' Ctrl+'d' Shift+Ctrl+'i' を速攻割り当てるべし)

D-Pixed
 …ドット絵作成
  ・レイヤー機能と手軽なパレット操作がイカス
  ・アドインがあるようだが、僕としては、使えるのは
   「グラデーション」「パレット整理」「縁取り」ぐらいか

EDGE
 …ドット絵作成
  ・IDrawとD-Pixedを足して2で割って1.5を掛けたような…
  ・結構いいのだが、微妙に機能不足?それとも使いこなせてないだけか
   結局「IDraw」「D-Pixed」も併用する羽目に

KH IconStudio2001 Professional Edition
 …アイコン作成
  ・編集というよりアイコン形式での保存に使用

IconEditor LittleCanvas
 …アイコン作成
  ・32x32, 16x16 1ファイルに入った形での保存等一通りの機能が揃っている。
  ・パレットの色変更が画像に反映されないつくりなのがやや不満…。

ZoomIn
 …画面上の任意の場所を拡大表示
  ・点の座標、RGB値も表示
  ・ソースも公開されていて至れり尽くせり
  ・なんだか作者の心意気がすばらしいです
  ・グリッド非表示をデフォルトに改造して使ってます

OPTPiX
 …超高画質減色&レタッチプログラム
  ・販売終了だそうです
   「OPTPiX webDesigner」あたりが後継ソフトでしょうか
   「OPTPiX iMageStudio」は高いし

Capture STAFF - Light -
 …スクリーンキャプチャソフト
  ・クライアント領域さえ取り込めれば別にどのソフトでもいいんですが

Susie
 …グラフィックビューアー
  ・サムネイル表示やスライドショーで画像の確認に
  ・画像の接続機能もたまに使用

Leeyes
 …見開き画像ビューア
  ・漫画の閲覧に

ペイント
 …おなじみのペイント
  ・OSのバージョン毎に微妙に進化…?
  ・別に何が便利ってわけでもないのだけど…

POV-Ray
 …3DCG作成ソフト
  ・モデリング、カメラ設定、光源設定をスクリプトでするというところが特徴
   プログラムを組む感覚で詳細指定
  ・他のモデラーでつくったモデルのレンダリングも可能
  ・フリーだから選んだと言えばそれまでかもしれないのですが

Metasequoia
 …3Dポリゴンモデラー
  ・まだ使いこなせていないがよさげ

Terragen
 …景観作成ソフト
  ・フォトリアリスティックな自然の景観画像を作成
Tools | - | trackbacks (0)

Multimedia

GOM Player
 …メディアプレイヤー
  ・これをインストールするだけで多くの形式のメディアファイルを再生できる
  ・機能も一通りそろっている模様
  ・日本語がところどころヘン

WINAMP
 …メディアプレイヤー
  ・マシンのスペックがよければ特に不満なく使えたりする
  ・インターネットテレビを見れるのがよい
  ・Winamp日本語化キットでプレイリスト等に日本語表示も可能になる

Media Player Classic
 …メディアプレイヤー
  ・「Real Alternative」「QuickTime Alternative」プラグインを使用
  ・大概のメディアファイルは再生できる
  ・1フレーム(おそらく)ずつコマ送りする機能がたまに重宝する

nave player
 …メディアプレイヤー
  ・リアルタイムで動画および音声ファイルを音程を維持したまま
   速度をかえて再生することの出来る

dBpowerAMP Music Converter
 …音声ファイルのコンバータ
  ・複数のWAVファイルのビットレート一括変換等に使用
  ・WAV->MP3など形式変換も可能

Display Movie Capture
 …ディスプレイをキャプチャして動画(AVI)を作成する
  ・「録画時間を指定する」「非同期書込みをする」といったことにより
   他のソフトよりもコマ落ちの少ないキャプチャーが可能
  ・ゲームのプレイ画面のキャプチャなどに

以下使用頻度が低かったり、吟味が足りなかったり


劇場版 ディスプレイキャプチャー あれ 〜圧縮された動画〜
 …ディスプレイキャプチャー
  ・ゲームのプレイ画面をキャプチャーしてエフェクトの研究をしたり
  ・AVIでなくBMPではき出した後重複する内容のものを削除したりするといいかも

Video maid Music Converter
 …AVIファイルエディタ
Tools | - | trackbacks (0)

溜め。

寝溜め食い溜めは出来ないというけど

一日中寝てることはできるらしい。

あぁ、そうか。
寝溜めは出来ないけど、
起きっぱなしってのは出来るし、
そうして崩した体調を
長時間寝てチャージ出来るんだ。

そういう意味では寝溜めは出来る!

あー…、うそうそ。

こんな生活いややわ…。
こんなだるいのもいややわ…。

そしてまた社会でやってく自信を失った。
Gossip | - | trackbacks (0)

本当?

授業で何となく面白かった先生の一言。

フーリエ変換だかの話がふつーにされていたところ

「値が1000倍とかになるわけです。
 すごいことですよね。」

(はぁ…。

「例えば皆さんが
 お小遣いとして月に1000円もらっていたとして
 1000倍になったらうれしいですよね?
 …すぐにむなしくなりますけど。」

なんか面白かった。

むしろ、ここでこそ手を挙げて質問したかった。

「先生!
 本当ですか!?
 むなしくなるって!」

…。

あぁ、あのね、
本当なんてどこにも無いよ。

昨日の夜
あたまんなかで誰かに言われた。
Gossip | - | trackbacks (0)