中小企業診断士 過去問
平成27年度(2015年)
問164 (経営情報システム 問4)

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

中小企業診断士試験 平成27年度(2015年) 問164(経営情報システム 問4) (訂正依頼・報告はこちら) (新しいタブで開く)

ソフトウェアの開発には多様なプログラミング言語が使われるが、それぞれ特徴がある。下記の記述のうち最も適切なものはどれか。

横にスクロールして続きを読む(本文にフォーカスして左右キー)。

  • Cは、OSも開発できる言語であるが、メモリ解放の指示を忘れるとメモリリークバグが発生することがある。
  • C#は、日本人が開発したオブジェクト指向型言語であるが、Perlを参考にして開発された。
  • Javaは、インタプリタ言語なので、初心者にも習得がしやすい。
  • Perlは、HTMLとともに記述することができるサーバサイドスクリプト言語で、Webページ作成に特化している。

正解!素晴らしいです

残念...

この過去問の解説 (3件)

01

正解は、「Cは、OSも開発できる言語であるが、メモリ解放の指示を忘れるとメモリリークバグが発生することがある。」です。

【基礎知識】

プログラミング言語の知識が問われています。

C アメリカ規格強化によって標準化され、ISOやJISにも標準として採用されている。歴史が古く、汎用性が高い手続き型のブログラム言語。問いにあるように、プログラムで使用したメモリを開放していかないと、メモリが使えなくなるメモリリークバグが発生することがある。

C# マイクロソフトが開発した言語。特にWindowsとの相性がいい。C言語系を参考に作られており、文法的には理解が容易。オブジェクト指向(複数の特徴を持つため、マルチパラダイム言語とも位置付けられる)。

Java OSに依存しない汎用的なオブジェクト指向言語。汎用性の高さがメリット。やや難易度は高い。

Perl テキストの検索や抽出、レポート作成に向いたスクリプト言語。インタプリタ型。CGIではPerlが使われる。CGIとは、Common Gateway Interface の略。WWWサーバの中で外部プログラムを実行するための仕組み。

選択肢1. Cは、OSも開発できる言語であるが、メモリ解放の指示を忘れるとメモリリークバグが発生することがある。

正しい。記載内容の通りです。

選択肢2. C#は、日本人が開発したオブジェクト指向型言語であるが、Perlを参考にして開発された。

誤り。マイクロソフトが開発したプログラム言語です。オブジェクト指向型ですが、C言語系などが参考にされています。

選択肢3. Javaは、インタプリタ言語なので、初心者にも習得がしやすい。

誤り。インタプリタ言語としても使えますが、難易度はやや高めになります。

選択肢4. Perlは、HTMLとともに記述することができるサーバサイドスクリプト言語で、Webページ作成に特化している。

誤り。Webページの作成に特化しているわけではありません。Perlの成り立ちの一つは、

Practical Extraction and Report Language 実用データ取得レポート作成言語

です。

参考になった数47

02

1.◯:正しいです。
2.✕:Rubyの説明です。
3.✕:BASICの説明です。
4.✕:PHPの説明です。

参考になった数35

03

正しい選択肢は「Cは、OSも開発できる言語であるが、メモリ解放の指示を忘れるとメモリリークバグが発生することがある。」です。

C言語は、OS(オペレーティングシステム)などの開発にも使われるプログラミング言語です。

C言語では、プログラムが使用するメモリを開発者自身で管理する場合があり、不要になったメモリを解放し忘れると、メモリリークが発生することがあります。

選択肢1. Cは、OSも開発できる言語であるが、メモリ解放の指示を忘れるとメモリリークバグが発生することがある。

この記述は適切です。

C言語は、処理速度が速く、コンピュータのハードウェアに近い部分を操作できるため、OSや機器を制御するプログラムなどに利用されています。

また、C言語では、プログラムの実行中に確保したメモリを、開発者が解放する必要がある場合があります。

不要になったメモリを解放し忘れると、メモリリークと呼ばれる問題が発生することがあります。

メモリリークとは、使わなくなったメモリが解放されず、利用できるメモリが減ってしまう現象です。

メモリリークが続くと、プログラムの動作が遅くなったり、正常に動かなくなったりすることがあります。

選択肢2. C#は、日本人が開発したオブジェクト指向型言語であるが、Perlを参考にして開発された。

この記述は不適切です。

C#は、Microsoftが開発したオブジェクト指向型のプログラミング言語です。

オブジェクト指向とは、データとそのデータを扱う処理をひとまとまりにして、プログラムを作成する考え方です。

C#は、C++やJavaなどの影響を受けて開発されました。

なお、日本人のまつもとゆきひろ氏が開発したオブジェクト指向型言語はRubyです。

RubyはPerlなどの影響を受けて開発されているため、C#とRubyの特徴を混同しないことが重要です。

選択肢3. Javaは、インタプリタ言語なので、初心者にも習得がしやすい。

この記述は不適切です。

Javaは、ソースプログラムをコンパイルして、バイトコードと呼ばれる中間的な形式に変換する言語です。

作成されたバイトコードは、Java仮想マシン(JVM)によって実行されます。

JVMでは、インタプリタによる処理や、実行時に機械語へ変換するJITコンパイルなどが利用されます。

そのため、Javaを単純にインタプリタ言語と説明することは適切ではありません。

また、プログラミング言語の習得しやすさは、インタプリタ方式かどうかだけで決まるものではありません。

選択肢4. Perlは、HTMLとともに記述することができるサーバサイドスクリプト言語で、Webページ作成に特化している。

この記述は不適切です。

Perlは、文字列の処理やテキストデータの加工などを得意とするスクリプト言語です。

Webサーバ側でプログラムを実行するためにも利用できますが、Webページの作成だけに特化した言語ではありません。

また、HTMLの中にプログラムを埋め込んで記述できる代表的な言語はPHPです。

Perlでも専用の仕組みを使えばHTMLと組み合わせられますが、一般的にはテキスト処理やシステム管理、Webアプリケーションなど、幅広い用途に利用されます。

まとめ

プログラミング言語には、それぞれ異なる特徴や用途があります。

C言語:OSなどの開発に利用され、メモリの解放を忘れるとメモリリークが発生することがあります。

C#:Microsoftが開発したオブジェクト指向型言語で、C++やJavaなどの影響を受けています。

Java:ソースプログラムをバイトコードにコンパイルし、Java仮想マシン(JVM)で実行します。

Perl:文字列やテキストデータの処理を得意とし、Web開発などにも利用されます。

特に、C言語はメモリ管理、C#はMicrosoft、JavaはJVM、Perlはテキスト処理という特徴を覚えておくと、プログラミング言語に関する問題を判断しやすくなります。

参考になった数0

操作の確認にはJavaScriptと対応ブラウザが必要です。

出題を開始しますか?