技術士の過去問
令和元年度(2019年)
基礎科目「情報・論理に関するもの」 問10

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

問題

技術士 第一次試験 令和元年度(2019年) 基礎科目「情報・論理に関するもの」 問10 (訂正依頼・報告はこちら)

次の表現形式で表現することができる数値として、最も不適切なものはどれか。
数値  ::= 整数 | 小数 | 整数 小数
小数  ::= 小数点 数字列
整数  ::= 数字列 | 符号 数字列
数字列 ::= 数字 | 数字列 数字
符号  ::= + | -
小数点 ::= .
数字  ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
ただし、上記表現形式において、::= は定義を表し、 | は OR を示す。
  • -19.1
  • .52
  • - .37
  • 4.35
  • -125

次の問題へ

正解!素晴らしいです

残念...

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

01

数値列の表現に関する問題です。


1.
-19.1は「符号」「数字」「数字」「小数点」「数字」で構成されます。

・数字列::= 数字 | 数字列 数字より
 1桁または2桁以上の「数字」は「数字列」になります。

・整数::= 数字列 | 符号 数字列より
「数字列」または「符号」「数値列」は「整数」になります。

・小数::= 小数点 数字列より
「小数点」「数字列」は「小数」になります。

・以上より、「符号」「数字」「数字」「小数点」「数字」は
 「整数」「小数」の組み合わせとなり、
 数値::= 整数 | 小数 | 整数 小数の定義に該当するので適切です。
 
 
2.
.52は「小数点」「数字」「数字」で構成されます。

・数字列::= 数字 | 数字列 数字より
 1桁または2桁以上の「数字」は「数字列」になります。

・小数::= 小数点 数字列より
「小数点」「数字列」は「小数」になります。

・以上より、「小数点」「数字」「数字」は
 「小数」であり、
 数値::= 整数 | 小数 | 整数 小数の定義に該当するので適切です。
 
3. 

 -.37は「符号」「小数点」「数字」「数字」で構成されます。

・数字列::= 数字 | 数字列 数字より
 1桁または2桁以上の「数字」は「数字列」になります。
 
・小数::= 小数点 数字列より
「小数点」「数字列」は「小数」になります。

設問の定義より、「符号」の次に並ぶのが「数値列」である「整数」の定義しか存在せず、「符号」の次に「小数」が並ぶ定義が存在しないので、不適切な数値の表現です。

4.
.4.35は「数値」「小数点」「数字」「数字」で構成されます。

これは「整数」「小数」になりますので、「数値」の定義として適切です。

5.
-125は「符号」「数字」「数字」「数字」で構成されます。

これは「整数」になりますので、「数値」の定義として適切です。

したがって、3が正解となります。

参考になった数13

02

<正解>3

[解説]

数値表現に関する問題です。

問題文に与えられた表現に従って、

各選択肢を変換していき、

「数値」として表現できるかを検討します。

問題文より「数値」は、

「整数」か「小数」か「整数 小数」

のいずれかで表現できるものとなり、

「数字列」は、

1桁または2桁以上の「数字」

と表現しています。

1)-19.1は、

「符号」「数字」「数字」「小数点」「数字」

となり、以下のように分解できます。

「符号」「数字」「数字」→「符号」「数字列」

 ⇒「整数」

「小数点」「数字」→「小数点」「数字列」

 ⇒「小数」

よって、「整数」「小数」→「数値」となります。

2).52は、

「小数点」「数字」「数字」

となり、以下のように変換できます。

「小数点」「数字」「数字」→「小数点」「数字列」

 ⇒「小数」

よって、「小数」→「数値」となります。

3)-.37は、

「符号」「小数点」「数字」「数字」

となり、

「小数点」「数字」「数字」→「小数点」「数字列」

⇒「小数」

と変換できます。

しかしながら、「整数」には、「符号」「小数」が含まれておらず、

また、「数値」にも「符号」「小数」が含まれていないことから、

「数値」とはなりません。

4)4.35は、

「数字」「小数点」「数字」「数字」

となり、以下のように分解できます。

「数字」

 ⇒「整数」

「小数点」「数字」「数字」→「小数点」「数字列」

 ⇒「小数」

よって、「整数」「小数」→「数値」となります。

5)-125は、

「符号」「数字」「数字」「数字」

となり、以下のように変換できます。

「符号」「数字」「数字」「数字」→「符号」「数字列」

 ⇒「整数」

よって、「整数」→「数値」となります。

以上のことから、3が正解となります。

参考になった数7

03

1 整数 小数→符号 数字列 小数点 数字列 となり、〇です。

2 小数→ 小数点 数字列 となり、〇です。

3 整数 小数→符号 数字列 小数点 数字列 となるが数値がないため、×です。

4 整数 小数→符号 数字列 小数点 数字列 となり、〇です。

5 整数→符号 数字列 となり、〇です。

よって、3 です。

参考になった数8