2006/03/15
【it-lesson】 Vol.020 コンパイラにおける処理の流れ
〓〓━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━〓〓 「情報処理技術者試験 午前問題攻略ストーリー」 06/03/15 Vol.020 〜 2週間で取れた黒帯など実戦では使えない 〜 関連サイト: http://www.it-lesson.net/ 〓〓━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━〓〓 殿堂入りメルマガ「特訓PDCA式で学ぼう情報セキュリティ」発行者者が 情報処理技術者試験 午前問題を分かりやすく解説します。 午前問題の攻略は、細切れの時間をいかにうまく活用するかにかかって います。 本メルマガでは、新たな試みとして会話形式を取り入れてみました。 ぜひ主人公のユウトと一緒に楽しく勉強していきましょう。 ────────────────────────────────── こんにちは。sstokkunです。 テクノブレーン社により、宿題メールでお馴染みの斉藤末広先生と 豪華講師陣が午後問題(高度)の対策を練った合格へ導く強力な 対策法を無料で配布されています。 春期試験まであと1ヶ月。 受験される方は、受験区分の問題をダウンロードしましょう! ⇒ http://www.it-lesson.net/link/techno-brain.html 午前問題の攻略のカギは、細切れの時間をうまく使うことです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆午前問題出題範囲 ------------------------------------------------------------------------ ┌───────────┐ │コンピュータ科学基礎 │ ├───────────┤ │コンピュータシステム │ ├───────────┤ │システムの開発と運用 │←今回の問題はこの分野です。 ├───────────┤ │ネットワーク技術 │ ├───────────┤ │データベース技術 │ ├───────────┤ │セキュリティと標準化 │ ├───────────┤ │情報化と経営 │ ├───────────┤ │監査 │ └───────────┘ ──────────────────────────────────── 【 重 要 】取り上げる問題について ------------------------------------------------------------------------ 「午前問題攻略ストーリー」では、過去問題の中で基本的な問題かつ 応用が効く問題を多く取り上げます。 その理由は、情報処理技術者試験の午前問題は、何割か過去の問題及び 類似問題から繰り返し出題されるからです。 繰り返し出題される問題は以下の特徴があります。 ・時代が経っても普遍的な情報処理技術であること ・正解率が低かったが良問であること ・高度区分またはソフトウェア開発で出題された問題が、基本情報や 初級シスアドに流用されること ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆問 題 ------------------------------------------------------------------------ 図はコンパイラにおける処理の流れを表している。a〜dに入る 用語の組合せとして、適切なものはどれか。 ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐ │ a │→│ b │→│ c │→│ d │→│目的コード生成│ └───┘ └───┘ └───┘ └───┘ └───────┘ ┌────┬────┬────┬────┐ │ a │ b │ c │ d │ ┌─┼────┼────┼────┼────┤ │ア│構文解析│字句解析│意味解析│最適化 │ ├─┼────┼────┼────┼────┤ │イ│構文解析│字句解析│最適化 │意味解析│ ├─┼────┼────┼────┼────┤ │ウ│字句解析│構文解析│意味解析│最適化 │ ├─┼────┼────┼────┼────┤ │エ│字句解析│構文解析│最適化 │意味解析│ └─┴────┴────┴────┴────┘ (SW13年問44) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆解 説 ------------------------------------------------------------------------ (SW13年問44) 難易度 ★★ 解答 │ウ│字句解析│構文解析│意味解析│最適化 │ 長 池「よし。今回はシステムの開発と運用の分野の問題をやってみよう。 この分野の問題を取り上げるのは、初めてだね。」 ユウト「システム開発は、日頃業務で携わっていますので、得意な分野 かもしれません。」 長 池「どうかな。それじゃ早速やってみようか。 まず、コンパイラという言葉が出てきたけど、分かるかな。」 ユウト「はい。 たしか、ソースプログラムはそのままじゃ、コンピュータが 理解できないので、機械語に変換するツールのことだと思います。」 長 池「そうだね。 一般的に、プログラムはそのままでは、コンピュータ上では 動作しないからね。 で、この問題はそのコンパイラにおける処理の流れについて 問う問題だよ。」 ユウト「コンパイラの処理の流れですね。ちょっと難しそうです。」 長 池「この手の問題は、覚えているか覚えていないかの問題だからね。 しかも、過去問題が何度も流用されているので、知っている人は すぐに正解を得られるんだけど、知らない人はなかなか正解を得る ことは難しい。」 ユウト「は、はい。 選択肢のアとイは構文解析から始まっていますが、 ウとエは字句解析から始まっていますよね。 なんとなく最小単位の字句から解析するように思うのですが、 その後が分かりません。」 長 池「おぉ。いい推測だね。 確かにコンパイラは字句解析から始めるよ。 それだけでも選択肢を半分に削れたわけだから、その分、正答率は 上がったね。 実は覚えやすい語呂合わせがあるんだ。 知りたいかい?」 ユウト「そんな語呂合わせがあるんですか?! ぜひ知りたいです。」 長 池「それじゃ教えてあげようね。 自分の味が最高! まあ、カレーでも何でもいいんだけど、自分で料理すると 出来がそんなによくなくてもおいしく感じられるよね。 そんなことをイメージしながら、 自分の味が最高!って覚えてしまおう。 「字」 「分」 の 「味」 が 「最」 高 って感じだね。」 ユウト「あっ。これは覚えやすいです。 ということは、正解は、ウですね。」 長 池「そうだね。 まあ。この問題の本質は、コンパイラの処理の流れと そのフェーズでの処理内容を理解することだから、用語について 簡単にまとめておくから、しっかり復習しておいてね。」 ユウト「はい。ありがとうございます。」 ◇コンパイラにおける処理の流れ 原始プログラム ↓ (1)字句解析 ↓ ↓原始プログラムの行を、命令文、変数、定数など意味のある ↓基本単位に分解する。 ↓ (2)構文解析 ↓ ↓プログラムがその、言語の構文規則に合致しているかを調べる。 ↓誤りがあればコンパイルエラーを出力して停止する。 ↓ (3)意味解析 ↓ ↓構文単位に解釈して、変数の宣言や変数の型、オペランドの範囲など ↓意味上の検査を行いいったん中間言語に変換し出力する。 ↓ (4)最適化 ↓ ↓実行速度を上げたり、記憶領域を節約するなど、効率のよいコードに ↓なるような処理を行う。 ↓ (5)目的コード生成 ↓ ↓中間コードを機械語に変換し、目的プログラムを生成する。 ↓ 目的プログラム ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◇英語を本気で学びたい方のために。 ------------------------------------------------------------------------ ピンズラー英語ってご存知ですか? 英語を聴いて声に出して体得していく方法で定評があります。 わたしも大人になってから英語を理解するのには、シャドウイングが すごい効果があるなぁと思っていたのですが、まさにそれに打って付け の英語教材です。 1課丸ごと(45分)無料視聴できますので、 このやり方をマスターして、市販のCNNの本などを活用することもできます。 ⇒ http://www.sstokkun.net/ss/?9 (画面中央部の「無料案内資料請求(無料)からお申込みできます。」) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼登場人物 ------------------------------------------------------------------------ ユウト:大学卒業後、就職した広告代理店を1年で退社。 ソフトウェア会社に就職し、1から情報処理技術について学ぶ。 長 池:ITソフトウェア会社勤務。 派遣社員として入社してきたユウトの教育担当係。 ──────────────────────────────────── ◆姉妹紙のお知らせ ------------------------------------------------------------------------ 殿堂入りメルマガ 読者6,000人超 「特訓PDCA式で学ぼう情報セキュリティ」 ⇒ http://www.mag2.com/m/0000111318.html 今年春から開始されるテクニカルエンジニア(情報セキュリティ) 「テクニカルエンジニア(情報セキュリティ)対策講座」 ⇒ http://www.mag2.com/m/0000169496.html ======================================================================== ■このメールマガジンは・・・ インターネットの本屋さん『まぐまぐ』を利用して発行しています。 ⇒ http://www.mag2.jp/ (マガジンID: 0000170241) ■登録/解除の方法 。。。 http://www.it-lesson.net/ 「情報処理技術者試験 午前問題攻略ストーリー」は、 上記URLよりいつでも登録/解除可能です。 ■注意事項 。。。 ・一部、もしくは全文の無断転載を禁止します。 ・弊誌を利用する上で生じたトラブルは、当方では一切の責任を負い ません。各自の良識と責任のもとにご利用ください。 ======================================================================== ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Copyright (C) sstokkun 2006 All Rights Reserved.


