科目B サンプル問題 問16について
cocoさん
(No.1)
サンプル問題問16の解説の理解が難しいです。
整数型:codepointとはどこからわかるのでしょうか?解説では最初から定義されて言えたかのように扱っていますが自分では見つけられませんでした。youtubeの解説を見てもいまだ不明です。どなたかわかりやすく教えていただけないでしょうか。
整数型:codepointとはどこからわかるのでしょうか?解説では最初から定義されて言えたかのように扱っていますが自分では見つけられませんでした。youtubeの解説を見てもいまだ不明です。どなたかわかりやすく教えていただけないでしょうか。
2025.01.18 12:42
修行時代さん
(No.2)
問題文の最後のほうに引数について書かれています。「関数encodeは、〜」のところをよく読んでください。プログラム中のencode(整数型:codePoint)のcodePointが引数であり、これを通じてencode関数に整数800(16)〜FFFF(16)のいずれかがわたされるんです。
2025.01.18 14:04
jjon-comさん
★FE プラチナマイスター
(No.3)
基本情報 サンプル問題 科目B 問16
https://www.fe-siken.com/kakomon/sample/b16.html
〔プログラム〕は次のように書かれていますから、
---
○整数型の配列: encode(整数型: codePoint)
(省略)
return utf8Bytes
---
ここから次のことが読み取れます。
・encodeは関数である。
・この関数を実行するには、引数(入力データ)として整数型の値を1つ渡す必要がある。
・この関数は実行後に、戻り値(出力データ)を返す。そのデータ型は整数型の配列である。
・関数なので単独では動作せず、この関数を呼び出す別プログラムの存在を前提としている。
次の問題文に即して例示するならば、
---
例えば,ひらがなの" あ" の符号位置である 3042(16) を2進数で表すと 11000001000010 である。(略)"あ"のUTF-8の符号 11100011 10000001 10000010 が得られる。
関数 encode は,引数で渡されたUnicodeの符号位置をUTF-8の符号に変換し,先頭から順に1バイトずつ要素に格納した整数型の配列を返す。
---
この関数encodeと、その存在を前提としている別プログラムとの関係はこうなります。
(1) 関数を呼び出す側の別プログラムで encode(12354) を実行すると、
(注: 10進数の12354 は 16進数の3042 です)
(2) この出題の関数encode()が呼び出される。整数型の変数 codePoint には入力データとして 12354 が代入される。
(3) encodeの実行後は、この関数を呼び出した別プログラムに実行結果として {227, 129, 130} が戻される。
(注: 10進数の{227, 129, 130}は 2進数の{11100011, 10000001, 10000010} です)
https://www.fe-siken.com/kakomon/sample/b16.html
〔プログラム〕は次のように書かれていますから、
---
○整数型の配列: encode(整数型: codePoint)
(省略)
return utf8Bytes
---
ここから次のことが読み取れます。
・encodeは関数である。
・この関数を実行するには、引数(入力データ)として整数型の値を1つ渡す必要がある。
・この関数は実行後に、戻り値(出力データ)を返す。そのデータ型は整数型の配列である。
・関数なので単独では動作せず、この関数を呼び出す別プログラムの存在を前提としている。
次の問題文に即して例示するならば、
---
例えば,ひらがなの" あ" の符号位置である 3042(16) を2進数で表すと 11000001000010 である。(略)"あ"のUTF-8の符号 11100011 10000001 10000010 が得られる。
関数 encode は,引数で渡されたUnicodeの符号位置をUTF-8の符号に変換し,先頭から順に1バイトずつ要素に格納した整数型の配列を返す。
---
この関数encodeと、その存在を前提としている別プログラムとの関係はこうなります。
(1) 関数を呼び出す側の別プログラムで encode(12354) を実行すると、
(注: 10進数の12354 は 16進数の3042 です)
(2) この出題の関数encode()が呼び出される。整数型の変数 codePoint には入力データとして 12354 が代入される。
(3) encodeの実行後は、この関数を呼び出した別プログラムに実行結果として {227, 129, 130} が戻される。
(注: 10進数の{227, 129, 130}は 2進数の{11100011, 10000001, 10000010} です)
2025.01.18 14:09
cocoさん
(No.4)
有難うございます。よく読んでみます。
2025.01.18 14:12
ラーメン大好きさん
(No.5)
(整数型:codepoint)というのは変数の宣言なので特に気にしなくてもいいのではと思います。後に続くアルゴリズムとか関数のの名前だったりもしますが、全く関係ない場合もあると思います。
(整数型:りんご)でも(整数型:みかん)でも好きな変数を宣言できると超初学者向けの対策本では説明があります。
(整数型:りんご)でも(整数型:みかん)でも好きな変数を宣言できると超初学者向けの対策本では説明があります。
2025.01.19 10:51
修行時代さん
(No.6)
ふっといい説明が浮かんだので追記します。
プログラム中のencode(整数型:codePoint)のcodePointが「仮引数」であり、これを通じてencode関数に「実引数」の整数800(16)〜FFFF(16)のいずれかがわたされるんです。
この関数の使い方は、たとえば、
encode(800)
というもので、こうすればencode関数内のcodePointがすべて800になるわけです。実際に使用するときのことをイメージして関数を見るようにしてください。
codePointがどこでわかるかということですが、これを定義しているのは、まさにencode(整数型:codePoint)の()内の部分であり、codePointを仮引数として定義しているんです。仮引数と実引数の違いが理解できればクリアできると思います。
思いつきでこたえたので、ちょっと遅くなってしまって、読んでもらえるかわかりませんが…
プログラム中のencode(整数型:codePoint)のcodePointが「仮引数」であり、これを通じてencode関数に「実引数」の整数800(16)〜FFFF(16)のいずれかがわたされるんです。
この関数の使い方は、たとえば、
encode(800)
というもので、こうすればencode関数内のcodePointがすべて800になるわけです。実際に使用するときのことをイメージして関数を見るようにしてください。
codePointがどこでわかるかということですが、これを定義しているのは、まさにencode(整数型:codePoint)の()内の部分であり、codePointを仮引数として定義しているんです。仮引数と実引数の違いが理解できればクリアできると思います。
思いつきでこたえたので、ちょっと遅くなってしまって、読んでもらえるかわかりませんが…
2025.01.29 22:59
広告
返信投稿用フォーム
投稿記事削除用フォーム
広告