問21 押された瞬間を見る論理式

応用情報​技術者試験 令和7年度 秋期 午前、全80問のうちの問21。

出典:令和7年度 秋期 応用情報技術者試験 午前 問21(否定を表す上線は「¬」で書いた)

組込みシステムのプログラムで,放された状態では 0 になり,押された状態では 1 になるスイッチの値を読み込んでいる。このプログラムによって,スイッチの値は周期的に適切なタイミングで読み込まれ,チャタリング処理などの適切な処理が行われるものとし,a が今回の値で,b が前回の値とする。このスイッチが放された状態から押された状態に変化したことを検出するための論理式はどれか。ここで,“・”は論理積,“+”は論理和,“¬”は論理否定を表す。

  1. アa・¬b
  2. イ¬a・b
  3. ウa+¬b
  4. エ¬a+b
答えと解説を開く

正解はアです。

放された状態から押された状態に変わったとは、前回の値 b が 0 (放された) で、今回の値 a が 1 (押された) ということです。「a が 1」かつ「b が 0」は、「a」と「b の否定」の論理積で表せるので a・¬b になります。この式は、a が 1 で b が 0 のときだけ 1 になります。正解はアです。

ほかの選択肢が違う理由

  • イ¬a・b は、前回が 1 で今回が 0 のときに 1 になります。押された状態から放された瞬間を見つける式です。
  • ウa+¬b は論理和なので、押し続けている間 (a も b も 1) や、放したまま (a も b も 0) でも 1 になります。変化の瞬間だけを取り出せません。
  • エ¬a+b も論理和なので、変化していないときにも 1 になります。

仕組み

値が 0 から 1 に変わる瞬間を立ち上がり、1 から 0 に変わる瞬間を立ち下がりと言います。前回の値を覚えておき、今回の値と比べると変化を見つけられます。

チャタリングは、スイッチを押した瞬間に接点が細かく跳ねて、0 と 1 が何度も入れ替わる現象です。少し時間をおいて読み直すなどの処理で取り除きます。

この問に出る言葉