令和6年パーフェクトラーニング対策問題①問16

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
まきさん  
(No.1)
すみませんもう一つ(スレ制限のためこちらに追記)
令和6年のパーフェクトラーニングにて、対策問題①問16

ソフトウェア開発技術者平成15年春期 午前問1より
※8ビットの2進数の各けたを,下位けたから順に,配列BITの要素1~8に格納してある。次の流れ図は配列BIT内の2進数の2の補数を求める方法を表したものである。ここで用いる方法は,下位けたから調べていき,最初に表れる1までは何もしないで,次のけたから0と1を反転させるものである。

という問題で
例:10101000
3行目SW=0
下位桁からいれると
        12345678
配列BIT 00010101となります。
5行目 BIT[i]=1で1ビット目が0なので偽になるため
11行目へ
11行目  else BIT[i]=0 なら
12行目  何もしない(0のまま)
(問題文‗下位けたから調べていき,最初に表れる1までは何もしない)
という解釈でしょうか
2024.02.09 22:16
miyaさん 
(No.2)
問題文のとおりで  下位けたから調べていき,最初に表れる1までは何もしない  という解釈で合っています。

地獄のような量をトレースをしてみましたが、きちんと2の補数になりました。

 SW←0
 i=1
  if×
  else
   if〇
   何もしない

 i=2
  if×
  else
   if〇
   何もしない

 i=3
  if×
  else
   if〇
   何もしない

 i=4
  if〇
  SW←1

 i=5
  if×
  else
   if×
   else 
    Bit[5]←1

  i=6
   if〇
    if×
    else
     Bit[6]←0

  i=7
   if×
   else
    if×
    else 
     Bit[7]←1

  i=8
   if〇
    if×
    else
     Bit[6]←0
2024.02.11 21:59
miyaさん 
(No.3)
最後のやつ
  Bit[6]←0  ではなく  Bit[8]←0  です。間違えました

  これで  0101 1000  になります  
2024.02.11 22:02
まきさん  
(No.4)
>miyaさん
鬼のようなトレースをありがとうございました。
2の補数は分かっていますが、PGにした時に読めないのは困りました。
基本が出来てないのかなと・・・
2024.02.12 11:08
miyaさん 
(No.5)
自分で解くときも、確認のためにトレースするんですけど、焦ると未だにミスがちょこちょこあって慣れんですね...
2024.02.12 12:48

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop