Codelogy

« 2007年08月 | メイン | 2007年10月 »

2007年09月 アーカイブ

2007年09月18日

パソコン甲子園2007(予選)を攻略してみよう (前編)

高校生たちのアルゴリズムの祭典・パソコン甲子園2007の予選が終了しました。
先日予選の結果が発表されましたが、私の母校もなかなか良い順位についており、11月に行われる決勝戦が楽しみです。

さて、予選の問題は パソコン甲子園公式Webページ で公開されています。
問題はすべて、「標準入力から入力を受け取り、問題文に書かれている処理を行い、標準出力に出力せよ」という形をとっています。
良い問題が揃っていますので、プログラミングが大好きな人も、プログラミング嫌いを克服したい人も、いざ挑戦してみましょう。

【以下のヒントはすべて私個人の見解であり、その正しさについて保障されているものではないことをご了承ください。】

続きを読む "パソコン甲子園2007(予選)を攻略してみよう (前編)" »

2007年09月25日

【c++】インタプリタを初めから丁寧に 第01回

アプリケーションがスクリプトにより動作を変更できるようにするのは、応用範囲も広く(他人に仕事を任せれるため)大変重要です。 特にゲームなどでは、敵の動作などをハードコーディングしてしまった場合プログラムを製作した人しか変更することが難しく、その変更も非常に面倒になってきます。

インタプリタを製作するには yacc や lex を使うと大変便利ですが、内部動作をよく理解するために最初は手書きで作ってみることが必要でしょう。 第01回はインタプリタの内部動作についてを学習します。

続きを読む "【c++】インタプリタを初めから丁寧に 第01回" »

2007年09月27日

C++例外処理のススメ

Java をはじめとするいくつかの言語は、実行時に発生したエラーを処理する仕組みとして、例外処理機構を採用しています。
例外処理を使うと、戻り値でエラーを検知・処理する手法よりも確実に行うことができる上、コードの記述も簡潔になります。
C++ もこの例外処理を採用していますが、Java のそれと比べても明らかに普及していません。
その理由としては、

  • 前身である C から、従来のエラー処理手法 (戻り値で検出) が尾を引いている。
  • Java の Exception のような、標準の例外型が存在しない。
  • 例外の補足・処理が強制されない。(Java では throws キーワードを使用してこれを強制する。)

などが考えられます。
これらのうち、1. 2. を解決すべく、Java に負けじと C++ 版 Exception を作成してみました。

これを使えば、従来よりも簡単かつ便利に例外処理を行うことができます。

続きを読む "C++例外処理のススメ" »

About 2007年09月

2007年09月にブログ "Codelogy" に投稿されたすべてのエントリーです。 過去のものから新しいものへ順番に並んでいます。

Prev: 2007年08月
Next: 2007年10月

メインページアーカイブページもご覧ください。