HOME»情報処理安全確保支援士掲示板»令和4年秋午後2問1設問4(4)
投稿する

[1347] 令和4年秋午後2問1設問4(4)

 aaaさん(No.1) 
こちらの回答が理解できません。
「変数nの値を5桁の文字列に変換」らしいですが、私は、「変数nを5桁の数字に変換」としました。なぜ文字列なのかわからないです。プログラミング知識は、ほぼ0です。
2024.02.14 19:59
GinSanaさん(No.2) 
SC ブロンズマイスター
nが整数型の変数といっている以上、もうnが数値型なのはわかりきっている(数値型を数値に変換してどうする、ということ)わけで、Adminという文字列型の固定値にくっつけるには、文字列に変換してやらなきゃならんわけです。
2024.02.14 20:23
pixさん(No.3) 
SC ダイヤモンドマイスター
解答は「変数nの値を5桁の文字列にして"Admin"に結合した文字列」でした。
解答のなかに『結合』という単語がでてきます。
プログラミング言語の一般論として、「文字列」に結合できるのは「文字列」です。
それゆえに"Admin"という「文字列」に結合できるのは、変数nの値を5桁の「文字列」に
変換したものです。

perlなどの一部のスクリプト言語は、「文字列」と「数値」を直接結合
できるものもあります。(結果は「文字列」になります。)
ですがこれはperlなどの一部のスクリプト言語が簡易的な書き方を許容している
ためであり、例外的なものと考えた方がよいでしょう。
2024.02.14 20:38
 aaaさん(No.4) 
わかりやすい説明ありがとうございます。
プログラム言語能力が0なので、何か対策を取りたいのですが、お勧めの書籍がございましたら教えていただきたいです。
2024.02.14 21:25
pixさん(No.5) 
SC ダイヤモンドマイスター
プログラミングの本は世の中に星の数ほどあるので、薦めるのは非常に難しいです。
それでもあえて薦めるであれば、プログラミング言語はJavaかPythonで、本は
Java:スッキリわかるJava入門
Python:スッキリわかるPython入門
のように「スッキリわかる入門」シリーズになります。
このあたりを足掛かりにプログラミングを覚えてけばと思います。

しかしSCのセキュアプログラミングに必要な言語は
C++(C),Java,ECMAScript,HTML,SQL
なので、また別に学習する必要があります。
2024.02.14 21:52
pixさん(No.6) 
SC ダイヤモンドマイスター
補足です。
SCの対策としてシェルスクリプト(+コマンド)についての知識があると、
有用なことが多々あります。
2024.02.14 21:55
とおりすがりさん(No.7) 
みなさん何言ってるのでしょう?

5桁の数値ならともかく、5桁の数「字」なんだから文字列でしょ
2024.02.14 22:58
pixさん(No.8) 
SC ダイヤモンドマイスター
>とおりすがりさん
>5桁の数値ならともかく、5桁の数「字」なんだから文字列でしょ
ご指摘頂きありがとございます。
もちろん上記の解答はその点も解答する際に考慮ずみです。

P7 整理した情報 3.「・・・[数字5桁]にはサーバごとに異なる数字が・・・」と
記述があります。

数については一般的な呼び方とコンピュータ用語的な呼び方の2種類があります。
数字:一般的な呼び方。日常生活や文章などで主に用いられる。
数値:コンピュータ用語、特にプログラミング用語で用いられる。
      数が数値型(Number)であることを明示的に意味するのにも使われる。

文中に「数字」とあるのでここでは数を一般的な意味で表記したものと判断しました。
そのため、ここでいう数字が数値型や文字列型といった型について明言されて
いないと解釈しました。

このような点をふまえ、IPAの解答
「変数nの値を5桁の文字列にして"Admin"に結合した文字列」
を読み解くと、暗黙的に「変数n」は数値型であると判断でき、
さらに文字列に変換する必要があったと判断できます。
2024.02.15 05:50
橙色文書さん(No.9) 
正答率が高く配点が低い場合は減点なし、正答率が低く配点が高い場合は1点程度の減点があるかもしれません。
もっとも、正答率が低い設問で得点するのは他の選択者に対して優位になりますので、減点されても痛手にはならないはずです。

余談かつ屁理屈に近くなりますが、情報処理分野における数字には2進表記や16進表記もあるため「外部10進数」が最も正しい表現になるでしょう。
そんな死語に等しいものを持ち出すまでもなく「文字列」であれば議論の余地もありません。

プログラミングについては、これから習得してプログラマーさんと競り合ってプログラムが登場する選択問の成績上位に入る自信があれば時間をかけるのもいいでしょう。
2024.02.15 20:44
 aaaさん(No.10) 
ありがとうございます。
試験対策としてプログラム問題は選ばないですが、プログラムの知識がないと解けない問題があるので、たまたま知っている問題が出たらラッキー程度の粒度で勉強します。
2024.02.15 21:13

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2014-2024 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop