最終更新時刻:2008年8月30日(土) 2時12分

4

C言語 〜算法への一歩

公開日時:
2008/04/24 20:52
著者:
名夢子

新入社員研修も、基礎的な知識講義から、実践的なコンピュータ言語教育に入った。今更ながら的な感は否めないが、私の会社ではコマンドラインによるC言語を学ばせる。20名近い社員のうち、C言語を使ったことがあるのは4名程度。そのうち2名は日常的に使っていたようだ。

しかし大半の新入社員がプログラミング(作譜)をしたことがなく、その方法論さえしらないのだから、言語教育は面白い。

まずはテキストに沿って、提示された通りにテキストエディタをつかって、ソースプログラムを写していく。そして、コンパイル&リンクして、実行。

「うごいた!」「おお!」

という感動の言葉も2日目には聞こえなくなる。写すだけでは物足りなくなるのだ。だから問題を提示して、じぶんなりにソースプログラムを書いていくことになる。入力する、表示するといった程度はすぐにクリアできるのだが、くりかえし何かを処理する、処理条件を加える、といったひねりが加わるととたんに、解法手順が想像できなくなる。

ましてや、使用する変数名がへんてこりんで、これまでC言語を使ってきた人にもなかなかなじめない。そう、私の会社ではハンガリアン記名法を使っているのだ。変数の型や使用領域によるプレフィクスを変数名につけるのは、一度記憶するとわかりやすいのだが、まだそこまで練習を積んでいない人には酷なものだ。

しかも、変数名というからには名前に意味を持たせる行為自体が、「なぜ?」らしい。

1週間もたつと、ある程度の作譜ができるようになる。しかし、彼らは常に不安だ。なぜなら、いつの間にかできあがっているからなのだ。自分が完全に理解していない間に、コンパイル&リンクが通り、実行すれば思った通りの動きをしてくれる。それでも「なぜ?」なのだ。

それは、開発業務ではもっと複雑な問題に取り組まなければならないということを、実は、コンピュータ言語教育の前に体験しているからで、複雑なアルゴリズム(算法)をどのように考え出したらよいか、わからないことが、不安の中心にある。

今は、「その不安は、持ち続けること」と指導しているが、落ちこぼれてきている人もでてきた。 そこで、算法の一歩前の段階として、コメントをまず先に書くという方法論を教えてみようかと思っている。これは、問題を解く手順をコメント文に記述するもので、

/* 問題:キーボードから入力される二つの文字列を比較する */

/* 結果:同じなら 0、違っている文字数を表示させる */ 

int main(void) {

/* ここで変数宣言:文字列の箱を二つ作る */

/* ここでは作った箱に、キーボードから入力させる */

/* 入力した文字列をまず、表示させる */

... }

といった風に書いてみるのだ。そうすることで、 自分がどのような問題に取り組んでいるのがわかるし、問題を分割して、対処できるのだ。効果がどの程度かは、今のところ不明だが、実施してみて、後ほどここに報告しようと思う。

※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

ブログにコメントするにはCNET_IDにログインしてください。

この記事に対するTrackBackのURL: 

このブログについて

ブロガープロフィール

アーカイブ

2008年8月
     12
3456789
10111213141516
17181920212223
24252627282930
31      

カテゴリ

ブログネットワーク

アルファブロガー

佐々木俊尚 ジャーナリストの視点グーグルはストビューで「よそ者」化する
佐々木俊尚 ジャーナリストの視点
クロサカタツヤの情報通信インサイト北京オリンピック
クロサカタツヤの情報通信インサイト
江島健太郎 / Kenn's Clairvoyance新サービスをローンチしました
江島健太郎 / Kenn's Clairvoyance
村上敬亮 情報産業の未来図コンテンツ市場14兆円の中身と行方
村上敬亮 情報産業の未来図
末吉隆彦 ロケーションウェアの「空」と「実」場所・空間を増幅!?「ロケーション・アンプ」
末吉隆彦 ロケーションウェアの「空」と「実」
鈴木健の天命反転生活日記パラレルワールドとしての電脳コイル
鈴木健の天命反転生活日記

読者ブロガー

インターネットの裏側を探しましょtaspoの必要性とタバコ屋でのコミュニケーション
インターネットの裏側を探しましょ
電子政府パブリックコメントの抜粋できるだけ検索せずに情報を集める(試してみます)
電子政府パブリックコメントの抜粋
木田わをんのパソコン武士道@Tovas for AppExchangeのセットアップを30分で完了
木田わをんのパソコン武士道
夢幻∞大のドリーミングメディア夢幻∞大のエントリーアクセスランキング(8/29編)
夢幻∞大のドリーミングメディア

企画特集

仮想化環境で求められるストレージの要件仮想化環境で求められるストレージの要件
それに応えるNetAppの実力とは?
DELLが掲げる「新・仮想化アセスメントサービス」DELLが掲げる「新・仮想化アセスメントサービス」
〜企業システムの仮想化環境の構築を支援〜

新着コメント

たばこによる経済効果よりも関連の損失額の方が何倍も大きいという試算があり......
taspoの必要性とタバコ屋でのコミュニケーション
投稿者:PowerYOGA
こういうのいいですね!ちなみにCNETブログのシステムは全然進化しないですね......
夢幻∞大のエントリーアクセスランキング(8/29編)
投稿者:尊仁
櫻吉さん、いつもお世話になっています。アクセス順に並んでくれるとありがた......
夢幻∞大のエントリーアクセスランキング(8/29編)
投稿者:mugendai
「アダムとイブが楽園を追放されたのは、神様の言いつけを破って禁断の実を食......
毎日新聞社内で何が起きているのか(下)
投稿者:keijizyou
きむこうさん、コメントありがとうございました。 > 「お客さんが絶対必要......
新しい開発手法:初期にユーザインターフェースを完璧に作れば、最高の要件定義になる 2
投稿者:生島勘富

ブログネットワークとは?

CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。

広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。

あなたもブログを書いてみませんか?

CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから

ブログの投稿・管理

ブログの投稿はこちらから(※ブロガー専用)

ブログアワード2007開催決定!

今年最も活躍したブロガーを表彰します。詳細はこちらから

αマークって?

これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。

Good!って?

CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。

レビュー

[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
“自作ユーザーは、電源ユニットに何を求めるのか?”出力なのか、安定性なのか、それとも機能性なのか?難し
今週の新製品総チェック:ノート、デスクトップ、UMPCまでPC秋モデルが続々
富士通、NEC、東芝などのPCメーカーから続々と新製品が登場した。ノートPC、デスクトップPCに加え、注目の
今週の新製品総チェック:薄さ13.9mmのサイバーショット登場!NEC「LaVie」はデザインモデルが
最薄部13.9mmのソニー「サイバーショット」、ニコンのGPS内蔵デジカメ「COOLPIX」など、機能性、デザイン性