忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[70]  [71]  [72]  [73]  [74]  [75]  [76]  [77]  [78]  [79]  [80
という訳で今週はバンプ対策週間です。
バンプです。このようにフィールドに固定されます。
今まで対策を一切取らなかったバンプにいよいよ対抗です。

その前に・・・バンプの性能を確かめてみるか。


ちょっと輪ゴムを使って飛ばしてみることに。

思いっきり引いて・・・えいやっ!

バコドコガンッ!

部屋の一番奥から打ったのに、手を放した瞬間、部屋のドアから異様な音がしたんですけど・・・







よし、封印しよう。

という訳で、よい子の皆さんはマネしないように。なんで飛ばしたくなったんだろう。

そんな感じで一日目は終了(オイ)、二日目の火曜日になりました。

今度はちゃんとバンプをフィールドにセット・・・しようと思ったのですが


フィールドが汚い。

よし!掃除だ!

ということでフィールドの掃除をすることに。


ところが・・・

「床・・・汚くね?」

よし!掃除だ!

午前中の部活が終了しました。


そして午後、新装開店したフィールドで実験を行うことに。

コースは副部長作です。

ういーん、がっがっ、どどど・・・

コース・・・簡単すぎやしませんか?

そしてバンプに入ると・・・

ガス、ガッガッ、

ドッ、ゴン!

いとも簡単に超えてしまいました。

そのまま坂下まで一気にライントレースして駆け抜けてしまいました・・・練習になってない・・・。



そして次は副部長の番。バンプに入りました。

ガス、ガッガッ、

ドッ、ベリッ



剥がすなっ!


副部長は綺麗にバンプを剥がしていきました(笑)

そしてそのまま坂下へ・・・

と、いう訳で、バンプ対策は(僕は)必要ない、という結果になりました。

という訳でバンプ対策週間は終了しました。

結論。
バンプは飛ばすと危ない。


ということで水曜からは坂検知週間です。明日にも缶持ち上げ週間になる気がするけど・・・。

それではまた。

(^・ω・)ノ RadiumProduction in RoboCup Junior
今、部内で工人舎のパソコンが大ブームとなっています。
 
その原因はコイツ。
 
一昨日購入した、SA5SX04Aというパソコンです。
買ったPC実物の写真です。中古だけど結構きれいですよね。本当に中古・・・?
 
なんでこいつがブームの火種になったかといいますと、
 
このパソコン、一番の特徴が
 
なんと、トランスフォームするんです!
(副部長が)トランスフォームしてみたところです。やっぱり時代先に行き過ぎでしょこのPC・・・
 
しかもこれ実はタッチパネルだったり。要するにタブレットPCになってしまうのです。
 
このトランスフォームがすべての原因。
 
これのせいで今日、工人舎が大ブームとなってしまったのです。

 
このPCですが、AMDの500MHzという驚異的なCPUを使っている割に動作は快適で、
 
動画以外ならネットも結構Chromeでサクサクです。
 
また、重さ僅か910gということで、電車の中でも気軽に扱えます。
 
僕も先日はこれでプログラムを書きながら帰宅とかしちゃいました。
 
でもファンレスなので熱いです・・・やっぱり、元がネットブックなので・・・ね。
 
でも液晶の明るさを下げると2時間ちょいは問題なく使えます。
 
それ以上は・・・冷却台が欲しいなぁ(苦笑)
 
 
まぁこんな本格派のネタPCがうちの部室にやってきたわけなのですが・・・
 
でも・・・お高いのでしょう?という振りが例の如く来るわけですね。
 
 
とんでもございません!
今回買ったインナーです。これは、すごくいいと評判で僕も愛用していますよ(笑)
 
なんと今回は低反発ポリウレタンフォーム搭載のゼロショック・ノートPC用インナーバッグをセットでお値段。
 
15300円!15300円です!

これは凄い!今すぐレジに・・・Go!ですね!
 
ちょっと待った!
 
今ならなんとセットで500円の割引をしちゃいましょう。
 
ということでお値段、14800円!14800円です!
 
これでもう!文句はありま・・・(以下略)
 


 
・・・といった具合です。
 
このネタPCの衝動買いに部員のみんなは驚き半分あきれ半分といった感じだったのですが、
 
お値段を発表したところ、満場一致で「これは買いだ。」と納得してくれました。
 
 
 
そんなわけで今、このPCをおつくりになられた会社である、工人舎が大ブームとなっているのです。
 
ちょっと前に超小型PCで有名になりましたよね。あの会社です。
 
あの会社のPCは比較的高専生の発想のものが多く、うちの高専でも流行った次第です。
 
だって創業一年で、この子のお友達、SAシリーズの画面が荒ぶるPCを発表するって・・・どういうことなの(笑)

工人舎ってこう・・・真面目なPC は作らない感じの会社なんでしょうね。ここ就職したいわ(笑)
 
そして工人舎は今・・・・
 
 
 
 
 
 
ありません(笑)オンキョーにくっついちゃったみたい(笑)
 
 
という訳で工人舎のPCはもうほとんど新品はないんですよね。オンキョ-もPCは・・・ねぇ?
 
 
という訳で某オークションサイトでの工人舎あさりが今日の部室で行われちゃいました。
 
一人信者になっちゃった子がいて、今日にも入札できないかとか言っていました(笑)
 
これ、本当に大丈夫なの・・・(笑)
 
 
という訳で今日はこの、工人舎の伝説のお話でした。
 
これ大事件過ぎるでしょ・・・。


(^・ω・)ノ RadiumProduction in RoboCup Junior
ぐぉんぐぉんぐぉん。

直線のライン上なのに前進をしない。今はこういった状態です。

完璧に事故ってる・・・(泣)

という訳でライントレースの改良を行った今日の部活でした。

といっても午前中はこの子の解析に明け暮れましたけど・・・
この子
今日の午前中だけでセンサーの使い方、特性はわかりました。

まぁこれだけでも大体の用途は特定されちゃいますね。

まぁコイツの実態に関してはまた今度の記事で紹介しましょう。

結構驚愕の結果が出ているのですけど・・・まぁ今その話をしても仕方がないでしょう。

というよりめんどくさい(笑)



そして午後、輪ゴム鯖ゲーの後は部活です。

僕は例のライントレースの修正を、相方は2階のプログラムの作成を行っていました。

2階は相方任せなので逆に言うと、1階はちゃんとしないと・・・と思うのですが

どうにも暴走しています。どうしてこうなった。まだバグも見られますからね。

最近気が付いたのですが、たまにNXCは分岐上ではありえないような分岐のルートを取ることがあるらしく、

そのデバックも重要な課題となりそうです。

あるタイミングで首振りを行わなかったり・・・とかね(苦笑)


まぁ僕のプログラムは世間一般様の書き方とはかけ離れているらしく、

他人が絶対起こさないような問題も起こすことがあるのですよね。


やっぱり定型にはめた方がいいのかな?普通のCだと結構定型になるのですけど・・・。

やっぱりNXCは個人的には特別ですね。」


とりあえず明日はそのライントレースの件とバンプについての攻略を行おうと思います。

あとの検知の方法を変えようかな。

あと2ヶ月ちょい。頑張んなきゃ。

因みにさっきは9時ごろ起きたフランスの原子力の再処理施設で起きた爆発について調べていました。

なんか1時間ですでに立ち入り禁止区域とかでで、炉内の爆発にも拘らず死者とかでちゃってるんですけど・・・。

朝になったらすごいニュースが待っているかもしれませんね。


それでは今日はこの辺で。


すいませんPCのレビューですが、書いて直ぐに忍者お得意の記事消失が発生したので掲載できなくなりました。

精神的に同じような記事がまたかけたら書こうと思います。

(^・ω・)ノ RadiumProduction in RoboCup Junior
今日、ナリカ本社に行ったら借りることになったセンサー。

その名も慣性センサー
慣性センサーの写真です。ハイテックのサンサーたちとはまた違った形状をしていますね
型番はCruizcore XG1300Lというものらしいです。

これはいったいどういうものなのでしょうか。



とりあえず使ってみる前におおまかなデータを調べてみることにしましょう。

まずこのセンサー、何物かというと、3軸加速度センサー+Z軸ジャイロセンサーのようです。

そして二回積分回路が内蔵されていて

加速度から一回積分で速度、二回積分で移動距離

角速度から一回積分で回転角度

をそれぞれ個別に検知することができるもののようです。

データの読み取りはI2Cで行う仕様になっていて、読み取りの周波数は100Hz、

つまり秒間100回の読み取りを行うことができるようです。


恐らくこれは4つの値全てではなく、一つの値に対しての読み取り速度でしょう。
4つ全てで100Hzのようです。

サイズは6×4×3ポッチくらいでしょうか。左右にペグ穴が4つ付いていてペグを取り付けることができます。


重量は15g程度。まぁあまり影響はない程度でしょうか。

使用電力は60mW弱、まぁ割と妥当なのではないでしょうか。


まぁこのようになっています。ちょっと読み出し速度に気になる点がありますが・・・


正直Youtubeなどの動画を見た感じだと、ロボカップでは使える気がしないのですが、

まぁとりあえず一度使ってみます。さて、どうなるかな・・・。


過去に紹介したLEGOセンサー↓
・NXTライトセンサー
・NXT3次元加速度センサー
・NXTタッチセンサー
・NXT超音波センサー
・RCXタッチセンサー
・NXT音センサー
・RCXライトセンサー
・バーニアNXTセンサアダプタV46

・RCX温度センサー
・NXT EOPDセンサー
・NXT IRLink

・NXT IRSeekerV2
・RCX角度センサー

・NXT角度センサー
・NXTコンパスセンサー
NXT磁気センサー
・NXTジャイロセンサー
NXT慣性センサー
・NXT RFIDセンサー
(^・ω・)ノ RadiumProduction in RoboCup Junior
日曜日の恒例。大惨事IN秋葉原の通り名で知られる「秋葉で部活」のお時間がやって参りました。



えっと今日は・・・史上稀に見るような大惨事を引き起こしてしまいました。

というのも、今日もチャリでいったのですが、








まず第一の壁が信号。

全部引っかかる。


そして次、秋葉に到着して最初に行った店、ネジの西川

休業。


そして次に秋月電子、

水銀センサーを6個購入

そして他に買ったものを合わせ、合計5000円弱、

更に同時に4つも別会計で精算。


そして次にレゲェショップへ

何も買わず退散。


次にジャンク街

前に買ったカメラが1000円も安く売っている店を発見。

絶望。

そして同店でUSBケーブルを200円で購入。

するつもりが財布には万札3枚と小銭合計195円。

銀行へ走るハメに。


そして購入、テクノロジアへ。

買う予定の商品が、2点

両方とも在庫なし。そして入荷未定。


次に用事でナリカ本社へ行くことに。ところが

場所がわからない。

結果

末広町を走り回ること30分。

ようやく到着。そして何度も前を通っていたことに気が付く。

中に入る。が、誰もいる気配がない。

→ 先に進めない。

奥の部屋から誘導されてなんとか部屋に突入。

状況が完全アウェイ。

そしてナリカからこんなものを借りることに。
新製品の慣性センサー。大事件必須。


そしてこの新製品である。

お値段10000円弱。今週の土曜まで借りることに。


そしてその後、副部長が秋葉に来ることに。

ところが行き違い発生。

でもなんとか合流に成功。

そしてソフマップへ。

購入。
2008年発売のネットブックタッチパネルで画面が開店するのでタブレットPCにもなる。
工人舎のSA5SX04Aである。事故必須。

その後、SFCのACを求め、ブックオフへ。

無い。

なので他に売っていそうな店を検索。

結果、なんと上野御徒町にあるっぽいという話。

とりあえず歩いて行ってみる。

そして・・・


 
といった具合でした。

この後は・・・はい、色々あって御徒町で解散してチャリで帰ってきました。

うん、なにも・・・・なかったんだよorz

この辺のことは深く追求しないで頂けると非常に嬉しいです。



PCとナリカでの話はまた別の記事で紹介します。


それではー

(^・ω・)ノ RadiumProduction in RoboCup Junior
今日は・・・色々活動したなぁ。

自分のロボットは全然進んでいないけど・・・


というのも、「今日行ったこと」は、

Radium機を2011年ルール対応にする

・部室ルーター導入計画

・部室の掃除、自分周辺の模様替え


というこの3点です。


まずは最初の件。これ一番重要なのですけど、

なんとコイツにアームが付きました。
Radium機・・・今から約2年前まで使用していた機体です。この前のオープンキャンパスの際に持ってきてからずっと学校にいる私物ロボットです。





















といってもまだアームに滑り止めはついていないし、缶センサーもなし

それどころかロボットプログラム2010年度関東ブロック・・・つまり旧ルールのままなので

銀被災者を検出したりします。というかそれぐらいしかできません。


でもまぁ形だけは・・・レスキューA対応です(苦笑)


そして次、お隣の電通部と共同でLANルーターの設置

これは失敗に終わりました。電通部ケチなんだもん。


そして最後は部屋の模様替え。

邪魔なものを別の部屋に押し込めて部室広々化大作戦です。

その結果、僕の周りの棚の位置が結構変わってしまいました。どういうことなの・・・


換気扇とかも掃除したので結構綺麗になった・・・かな?

でも僕自分の周り、箒かけていないような・・・やべやらかしたorz


とまぁそんなことをしているうちに部活終了しました。

月曜日は模様替えの続きを行うとか行わないとか・・・午前中にロボット済ませちゃうか。

とりあえず今は自室で学校のNXTの充電池を充電しています。一年生みんなニートだから・・・

学校に充電器が一つしかないので部活中の充電ではおっつかないんですよね。乾電池はないし・・・

充電池は付属しているのに充電器が別売っていうNXTもどうかとは思いますけどね。普通セットにするだろ。
最近のものは充電器もセットらしいですけど・・・

という問題が浮上したので、旧型のバッテリーを使用している一年生で新しい充電器を買うことになったようです。

最初は1個で足りると思っていたのだけど、当初の予定よりNXTの使用量が多い・・・(苦笑)


そっちの方は副部長が指揮を執ってくれているようなので、そのままお任せの方向で行こうと思います。

といってもテクノロジアが欠品なので通販になるんだよな・・・頑張ってください。

明日は日吉に行くことになっているので宜しくお願いします。因みに明後日は秋葉いくっぽいです。



(^・ω・)ノ RadiumProduction in RoboCup Junior
 
約1ヶ月ぶりのトランジスタの記事になります。

トランジスタの記事は今までに大きく3つ掲載していて、

1つ目はトランジスタって何?という内容の記事でした。

これはトランジスタという素子の特性について簡潔にまとめたものになります。

そして2つ目はトランジスタを使用した回路のお話でした。

これは要するに具体的なトランジスタの使い方についてまとめたものになります。

最後、3つ目はトランジスタの増幅作用についての記事でした。

スイッチング作用だけでなく、こんな作用もありますよ、といった内容でした。


まぁこんな内容になっています。

それで今回はトランジスタの種類・・・ということですが、

実はトランジスタ、分けるとキリがありません。

本当に色々な種類があるのですね。

以前にnpnとpnpがあるよ、というお話をしましたが、あれも一つの区分に過ぎません。

そういった区分を全て考えると、今回紹介している「トランジスタ」というものは

バイポーラトランジスタという種類のトランジスタになります。BJTとも言いますね。

基本的に今はトランジスタというとこのバイポーラトランジスタを指すことが殆どですね。


他にはIGBT、UJT、GTBT・・・等様々な種類があります。

が、僕は使ったとこないですね(笑)

というより見たこともないかも知れません。IGBTは・・・昔使った・・・かも?

このIGBTというものは大電流を流すことができるトランジスタで、

ちょっと昔のモータードライバなどに良く使われていました。(もっと大きい規模のモーターだと今でも使われているのかな?)

因みにUJTというのはサイリスタというダイオードのような、トランジスタのような素子のトリガ、

つまり起動に使います。サイリスタというのは、簡単に言えば増幅のないトランジスタです。

そして残ったGTBTですが、これはバイポーラトランジスタと別のある種類のトランジスタを

複合させたようなものなのです。

その別のあるトランジスタというのが・・・

FET

Field Effect Transistorです。スペルあってるかな?

これは今最も多く使われているトランジスタですね。大体のICと呼ばれるものは、これで作られています。

さて、このFETですが・・・





話すと長くなるので今日は止めにしましょう(笑)

というのも、これは普通のトランジスタより割と複雑で・・・厄介なんです。

せめてデーターシートが読めないとこれを作るのは難しいですね。

例えば去年のロボコン部、このFETで作ったモータードライバをガンガン燃やして、

一日で1レール(50個)2万5千円を使い切ったという伝説があるほどです。

モータードライバのFETが一斉に破裂した時なんか反動で500gはあったドライバ回路が宙に浮いたもんな・・・。

「モータードライバ空を飛ぶ」で有名になってしまったのですよ。

飛べないモータードライバは只の安全なドライバだ。なんて名言もできたとかできていないとか・・・


まぁそれほど難しいんですよ。

因みに爆破の原因は逆起電力に対する応答速度が保護のダイオードよりFETの方が速かったからなんですけどね。

みんなデータシート読んでないから・・・あれほどここマズイだろって言ったのに・・・。


という訳でデータシートが読めないと爆破する危険もあるようなものなので注意して扱いましょう。

某プロ研の部長さんは普通のトランジスタでも大爆発起こしていましたけどね・・・(苦笑)


そんなわけでFETの記事は今度ちゃんと書こうと思います。といってもいつになるかな・・・

一先ず今日はこの辺でー。

そろそろデータシートの話でもすっかなぁ。


(^・ω・)ノRadiumProduction in RoboCupJunior
今日は8月のアクセスワード、フレーズ等の結果を乗せようと思います。
 
実は昨日も書いたのですが、投稿に失敗、記事が消えたので再録になります。
 
忍者ツールズはどうにも使い出が悪くて・・・記事がすぐに消えちゃうんですよね><。
 
という訳で今回のアクセス結果ですが、
 
まずはワードから。
 
とりあえず、ランキングにしてみました。
 
結果はこのようになっています。
 
1位 NXT、nxt (71)
2位 ロボカップ(36)
3位 コンデンサ(18)
4位 ロボット  (17)
5位 PIC       (16)
 
NXTがダントツに多いですね。やっぱりメインで書いているからというものあるのでしょう。
 
そして次にロボカップが多いです。

8月の前半までの段階では余り多くなかったのですが、最近急に増えてきましたね。
 
そして3位がなんと「コンデンサ」4つしか記事を書いていないのですが・・・意外や意外。なんででしょうね?
 
お次はロボット。当たり障りないワードですからやっぱり多くなるんでしょうね。
 
そして5位はPICです。なんといっても記事数が多いですからね。

でもPICの本格的な記事はまだ一切書いていないんだけどなぁ。
 
この後はLEGO関連だったりレスキュー関連のワードが続いています。(実は結構サッカーもあったり・・・)
 
 
思っていたより当初の想定の通りの流れになっているような気がします。
 
最初ロボカップ関連が少なかったから首をひねっていたんですけどね・・・
 
只、色々なことを書いているせいで、ワードの幅が広く、

1位のワードでも全体の3%に満たないような感じでしたね。
 
 
 
因みにランクの順番は累積のものと変わりませんでした(笑)
 
 
フレーズの方ですが、フレーズはその性質上、

ワード=フレーズになる1ワード1フレーズの形態にならない限り、ダブることはあまりありません。
 
そんな状態なので、多かったフレーズだけをちょっと紹介します。
 
 
まずは、16F1936。1ワード1フレーズの典型ですね。
 
これは結構記事を書きましたので、まぁこうなるでしょうね・・・
 
また、kxp84-2050関連も多かったです。

これは確か・・・加速度センサーですね。I2C関連のワードを含むフレーズが多かったです。
 
そしてやっぱり多かったのが「RadiumProduction」。
 
7月はゼロだったのですが、8月は多かったですよ(笑)この差はいったい・・・?
 
 
今度は別の視点から、検索エンジン。つまり検索の際に利用している検索サイトの統計です。
 
これによると、やはりGoogleが圧倒的、全体の6割を占めています。
 
そしてYahoo!が2番手、そしてそれ以下のエンジンは二桁違いに低くなってしまっています。
 
また、一昔前は結構人気があった「MSN」ですが、

なんと、うちのサイトの統計には存在していませんでした。どういうことなの・・・
 
 
また、OSの調査ではWindowsのXP、7、Vistaがトップ3を占めていました。
 
といっても7とVistaの間には決定的な差がありますけど・・・
 
そして、そこから僅差でMacintosh、Linuxと続いていきます・・・
 
 
個人的にはAndroidからのアクセスがあったことに一番驚きましたけどね(笑)
 
 
 
そして、それと同じぐらい驚いたのが、国、言語の統計
 
これはPCの標準語の設定言語の統計で、それによってどの国からアクセスをしているのか・・・

というよりどの国の人がアクセスをしているのかを知ることができるというものです。
 
それによると・・・
 
8月中にアクセスがあったのは
 
日本語
英語
ドイツ語
中国語
韓国語
スペイン語
 
の6ヶ国語でした。
 
しかも英語が全体の4%を占めています。

英語圏の人・・・多すぎやしません?(25人に1人という計算ですよね?)
 
恐らく日本で標準語が英語の端末が流行っているのでしょう。きっと・・・
もしかして某りんごの会社のiなんたらとか、そうなんじゃないですか?
 
 
 
というちょっと不思議な謎を残した先月のアクセス解析でした。
 
まぁこれから毎月こういったことはやっていこうと考えています。
 
今度、7月分もやってみるかな・・・
 
 
という訳で今日の記事はこの辺でノ
 
 
(^・ω・)ノ RadiumProduction in RoboCup Junior
サマーチャレンジの結果についてのお話です。

全員分の結果の集計が終わったので報告いたします。


高専ロボカップ部ですが、

参加はWanWanに8人、レスキューに1人、計9名参加させて頂きました。

WanWanの方は、前述したように、優勝一名、3位入賞一名。なんとか潜り込みました。

残りの6名ですが、4位、5位と続いて、その後、7、8、9と続いています。

そしてダントツのドベは14位でした。

WanWanの結果はこのようになっていました。


これとは別に、高専生内での個人得点の順位を元に、反省会を行ったので

高専生の個人得点は割れているのですが、そこから逆算すると・・・

あれ?という順位の人が何人かいるのですね。

要するに何かというと、チーム得点から高専生の得点を引いてみるとですね・・・

高専生より得点の高い子供が・・・(笑)

土曜日に日吉でその子の話を聞いたのですが、

「高専チームだから勝てると思ったのに自分より点数が低かった」なんて怒っていたそうです。


いくら高専生とはいえ、強い人は強いのですけど、まだ弱い人は弱いんですよね・・・

本大会までに何とかしないと・・・

でも個々人の傾向が今回の大会でよく分かったのでそれはいい収穫だったと思います。

高専生を引っ張ってくれた子供さん方、ありがとう、そしてごめんなさいm(_ _)m



そしてレスキューですが・・・

堂々の13位。

何が『UNI』だ・・・。ライントレースすら出来ていないじゃないですか。

ロボカップ7年目のくせに・・・。なんて皮肉を(彼にとっての)世界中から言われたのではないでしょうか。

主審をやっていた僕個人から見ても順位云々に競技ができていないという状態には・・・うーん(苦笑)

これが本大会の結果にならないことを祈るばかりですね。


というわけで今日の記事は以上です。

それにしても、UNIって「ユニ」にしか読めないのは僕だけでしょうか?


(^・ω・)ノ RadiumProduction in RoboCup Junior
この前部活でサッカーの子が「間違いない」と言っていたのですが、

NXTコンパスセンサーは極端に振動に弱く、すぐ壊れる」

という話があるのです。

現に彼は振動で一つセンサーを壊したと言っているのですね。

でも僕はレスキューでのコンパスの破壊という話は一度も聞いたことがないのですね。


本当に振動に弱いのでしょうか?

僕はただ単にサッカーの試合での激しいぶつかり合いの末にたまたま壊れた・・・

という風な感じの流れだと思うのですが、やっぱり弱いのでしょうか。


もし本当に弱いのであれば、

副部長のように自転車のバスケットにロボットをぶち込んで時速30㎞で爆走するような搬送方法をとる部員には、

厳重注意の処分を下したいのですけど・・・(笑)


コンパスセンサーを壊してしまった方。あるいは周りで壊した、という声を聴いた方、

いらっしゃいましたら報告していただけると助かります。

今日はそんな記事です。


(^・ω・)ノ RadiumProduction in RoboCup Junior
今日の記事はプリプロセッサについてです。

プリプロセッサってなんでしょう、という話から始まるのですが、

別に難しいものではありません。

というより、C言語を齧ったことがあって、この単語を知らない人は、

十中八九名前を知らずに使っている場合が殆どでしょう。

Cの場合(でなくとも)、使わないとほとんど何もできないに等しいですからね。



ところで、これは何かというと


・・・。

コンパイラです。

というより今のコンパイラに付属されている機能といった方が正しいでしょう。

じゃあこのプリプロセッサはどういう機能なのかと言いますと、「ある処理を実行する機能」という答えになります。

では、それはどういう処理かと言いますと、

例えば、
#include

例えば、
#define

このあたりがC言語だと一番有名でしょうね。(というより主なものを挙げるとこれしかないような・・・)

まぁあとは#ifとか#ifdefとかその類のものがあったり・・・します。

どちらも単体で意味は知っていたりするものでしょうね。



#includeは日本語にすると、「含む」とか「組み込む」という意味になります。

これは要するに別のファイルで定義した関数や定数等をプログラムで使いたいときに使用するものですね。

例えばプログラム内に、#include"stdio.h"

と書くと、stdio.hのファイル内に定義された関数等をそのプログラムで使用することができます。

この.hの拡張子のファイルはプログラムにおける、定義ファイルのようなもので、

ライブラリファイルとかヘッダファイルなどと呼ばれています。

ここにC言語の時と同じように関数や定数を定義することで、プログラムの方で#includeを記述すると

プログラム内でヘッダファイルで定義した関数等が使えるようになるというものです。

ただヘッダを作る際には場合によって、環境変数をいじらなくてはならないのでちょっとめんどくさいです。

ちなみに記述方法は2通りあって、

#include"ヘッダ名"

#include<ヘッダ名>

の2通りです。どちらでも意味は変わりません。


また、#defineは日本語にすると「定義」になります。これはそのままの意味、つまり定数を定義するのもので

#define X 10

などと書くことで数字を文字に置換することができるものです。

プログラム内にこれを記述することで、そのプログラム内ではXという文字は数字の10と同様の扱いになります。

例えば上の#defineと変数xが定義されたプログラムなら、

if(x==10)と、

if(x==X)は、同一のものとなります。



まぁこのような処理を行うものをプリプロセッサといいます。

これには大体最初に#が入っているのですぐにわかるようになっていると思います。

まぁなんでこれらが総称して、このように呼ばれているかと言いますと、

プリプロセッサに該当するものはすべて、プログラムをコンパイルした時に、

ソースそのものがコンパイルされる前に、「前処理」という形で処理されます。

まぁ要するに一番最初にコンパイルされる、という言い方が分かり易いでしょうか。(ちょっと違う気がするけど・・・)

この「前処理」を英訳すると、

前→pre

処理→process

前+処理=pre+process=preprocess

これを名詞にしてみると→preprocessor

∴ プリプロセッサという訳です。


また、このプリプロセッサを行う命令、

つまり#include#defineのことをディレクティブとか言ったりします。(この単語絶対使わないな・・・)


というわけで今日は前処理についてのお話でした。

このディレクティブについてですが、

基本的に関数の外、プログラムの一番上に宣言部としてまとめて宣言するのが通例ですね。


ちなみに僕の場合、このディレクティブ、宣言部だけで

副部長のプログラムの総量(約140行)を超えています(笑)



(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
08 2024/09 10
S M T W T F S
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 30
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...