Download presentation
Presentation is loading. Please wait.
1
「C++言語」習得のための実践的研究 -「テンプレート」,「例外処理」,「実行時型情報」-
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 佐藤 翼
2
発表内容(目次) 研究概要 研究目的 研究手順 開発成果 評価 考察 今後の課題 参考文献
3
研究概要 研究目的 「C++」言語習得 研究手順 参考書をもとにプログラムを制作 研究成果 約30点のプログラムを制作
4
研究目的 C言語の発展型 プログラマとして・・・ 独学・独習 「C言語」を専門学校時代に習得 発展・・・「C++」言語を研究テーマに設定
多言語の習得による柔軟性獲得 独学・独習 ゼロからの技術習得に挑戦
5
研究手順 プログラミング レビュー 参考書の内容を理解しプログラムを制作 参考書中の内容を終えた時点で1段階上の レベルの参考書を購入
制作したプログラム,使用した技法などを発表 問題点,改善要望があれば修正し再度発表
6
研究手順 開発環境 使用OS 使用コンパイラ Windows Vista Home Premium
Borland C++ Compiler 5.5
7
研究手順 開発支援ツール BCC Developer プロジェクト管理機能 ソースファイル・エディタ内蔵
使いなれたエディタでソースファイルを編集可能 CUI/Windows GUIアプリケーションが作成可能 DLLとライブラリも作成可能 Turbo Debugger を直接,起動可能
8
開発成果(テンプレート) テンプレート 魔王VS勇者 さまざまな型のデータに適用できる一連の汎用操作を定義する関数
汎用関数やクラス制作時にも使用可能 魔王VS勇者 戦闘する人物を変更する際などにテンプレートを使用することでソースを流用することが可能に
9
開発成果(テンプレート) 魔王VS勇者の戦闘ゲーム 勇者はエネルギーを消費して魔王に攻撃 0~9の位置をひとつ選択し攻撃
魔王の位置と選択した位置が一致するとクリーン・ヒット消費したエネルギーの5倍のダメージ 選択した位置が±1の場合,消費したエネルギー分のダメージ クリーンヒットした場合魔王は+1~-1の間を移動 勇者か魔王のエネルギーが尽きるとGAME OVER
10
魔王VS勇者の戦闘ゲーム
11
開発成果(例外処理) 例外処理 他の言語の場合・・・ 例外処理を利用することで,予期しない実行時 エラーをより簡易に管理,対処が可能
割り当てられていない記憶領域へのアクセス ハードウェアの故障 ライブラリの欠損 etc… 他の言語の場合・・・ Java,JavaScript,Adaなどの言語でもサポートされている機能
12
開発成果(実行時型情報) 実行時型情報(Runtime Type Information) ポリモーフィズムをサポートする言語
プログラム実行中にオブジェクトの型を判別可能 ポリモーフィズムをサポートする言語 オブジェクトの正確な性質はプログラムを実行するまで未定 RTTIを使用することによりプログラム実行中に オブジェクトの型を判別可能
13
開発成果(実行時型情報) 簡単な図形を描画するプログラム
プログラム実行時にRTTIを使用してなにも表示しない,長方形,三角形,直線のうちから無作為に画面上に描画 どの図形を描画するかは,乱数ジェネレータ関数rand()の結果に応じて,無作為に決定
14
簡単な図形を描画するプログラム
15
評価 プログラム制作 システム開発 習得した技術 約30個のプログラムを制作 ゼミ開始当初,中規模なシステムを制作予定
プログラム制作が想定よりも難航し断念 習得した技術 100以上の技法を習得
16
考察 プログラム制作 獲得した技術 指導者への師事により,順調な言語習得と制作 活動が期待出来たか・・・
習得技法などをまとめたWebページの制作を 通して,Webデザインコンテストへの出展など, 研究の広がりが期待出来たか・・・
17
今後の課題 習得した技術の保持 継続したプログラミング 他言語への応用 更なる言語習得に向け今回の成果を活用
18
参考文献 C++Builder: 小林健一郎: これならわかるC++ Herbert Schildt: 独学C++第3版
cppbuilder/ 小林健一郎: これならわかるC++ 講談社(2001) Herbert Schildt: 独学C++第3版 翔泳社(1994) [邦訳]株式会社トップスタジオ BCC Developer:
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.