令和7年度秋期 応用情報技術者試験 午前 問21
組込みシステムのプログラムで,放された状態では0になり,押された状態では1になるスイッチの値を読み込んでいる。このプログラムによって,スイッチの値は周期的に適切なタイミングで読み込まれ,チャタリング処理などの適切な処理が行われるものとし,aが今回の値で,bが前回の値とする。このスイッチが放された状態から押された状態に変化したことを検出するための論理式はどれか。ここで,「・」は論理積,「+」は論理和,「 ̄」は論理否定を表す。
- ア a・b ̄
- イ a ̄・b
- ウ a+b ̄
- エ a ̄+b
解答・解説を見る
正解:ア
AI解説
「放された(0)→押された(1)」への変化を検出するには、今回値aが1(押された)かつ前回値bが0(放されていた)である条件を論理式で表せばよく、これはa・b ̄(aとbの否定の論理積)となる。 ア: 正しい。今回1・前回0を表すa・b ̄は、放された状態から押された状態への変化(立ち上がり)を検出する式である。 イ: a ̄・bは今回0・前回1を表し、押された状態から放された状態への変化(立ち下がり)を検出する式であり、求める変化とは逆である。 ウ: a+b ̄は今回1または前回0のいずれかで成立する論理和であり、変化点だけでなく押されたまま(a=1,b=1)の状態でも真になってしまい変化検出にならない。 エ: a ̄+bも同様に論理和であり、放されたまま(a=0,b=0)の状態でも真になり得るため、変化点の検出条件として不適切である。 💡 立ち上がり検出=今回1・前回0(a・b ̄)、立ち下がり検出=今回0・前回1(a ̄・b)という対応を型として覚えておくと、論理否定・論理和との混同を避けられる。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。