• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報技術者 午後 )

基本情報技術者午後試験対策のポイント

このQ&Aのポイント
  • 基本情報技術者午後試験の対策ポイントについてまとめました。
  • 問題文の解釈や変数の意味について理解することが重要です。
  • 変数のアルファベットにも意味がある場合があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

その問題を見たことすらないので,質問文から得られたイメージですが。 16ビットの加算処理を行うプログラム,ということなので,次のような筆算の図はすぐ脳裏に浮かんできます。   x [][][][][][][][][][][][][][][][] + y [][][][][][][][][][][][][][][][] ------------------------------------   s [][][][][][][][][][][][][][][][] ・加算は下の桁から上の桁へと順におこなわれるだろう ・swはスイッチ(switch)の略だろう。0か1かの論理型だからスイッチのイメージにも合う ・各桁ごとの加算のたび,桁上がりを考慮しなきゃならないだろう ・他に適当な変数がないのなら,swが桁上がりの保持用だろう という程度でしたら,質問の文章からピンときます。 >大文字小文字は混ぜて使うのが普通なのですか。 いいえ,大文字・小文字は厳密に区別するのが普通です。 s 以外にも Xが大文字でyが小文字というのも解せませんし,Xは配列なのに S[X]←1 のように単独変数らしく表記しているのも変です( s[i]←1 なら納得できます)。 誤植の可能性はないのですか?

yoshikon
質問者

お礼

やっぱり普通は問題を見てピン!と来るものなのですね。 昔から数学が苦手でしたし、午後の参考書の擬似言語とかもかなり怪しいまま学習を進めてるのでだめなのかもしれないですね。ありがとうございます。 誤字にかどうかに関してですが、内容に関する質問は書面でということで面倒くさいのでここで聞いてみたのですが、誤字かもしれません。厳密に区別するということが分かったので確かめはしませんが。 分かりやす回答どうもありがとうございました。

その他の回答 (2)

noname#50176
noname#50176
回答No.3

1.(初期設定)sw=0 2.s[i]=x[i] XOR y[i] OR sw(i=0 の時、swは必ず0) 3.sw=x[i] AND y[i] 4.S[i]=sw 5.i=i+1 6.i<16 であれば2.へ(繰り返し) でした、訂正いたします。

noname#50176
noname#50176
回答No.2

この処理は、 0=1ビット目(1桁目)、15=15ビット目(15桁目),すべて値は0か1 XOR=排他的論理和、OR=論理和、AND=論理積、の条件で 1.(初期設定)sw=0 2.s[i]=x[i] XOR y[i] OR sw(ここのswは必ず0) 3.sw=x[i] AND y[i] 4.S[i]=sw 5.i=i+1 6.i<16 であれば2.へ(繰り返し) 結果、{ S[?]=各桁の繰り上がり値/s[?]=各桁の加算演算の答え } のはずですが…。 >A:変数swが処理の中で参照されていないことから >B:swが桁上がりの有無を保存していると考えられます A:これは一時的に使われ、“結果として直接結びつくものではない” と言う意味で、変数を読み取り/書き込み、しない意図ではないと思いますよ。 B:処理の通り使用されます。 >それから・S[X]←1はなんでSが大文字なのですか。大文字小文字は混ぜて使うのが普通なのですか。 完全な誤字でS[i]の間違いでしょう。 通常変数は小英文字を使用しますが、's'は桁上げを意味し設問上、 共通化したかったため大英文字'S'(小文字's'を異なる変数文字に重複できません) を選定したものかと思います。

関連するQ&A