2017年3月15日水曜日

論理回路

平成28年秋季 問23. 論理演算

問題文「次の条件を満足する論理回路はどれか。」


〔条件〕
階段の上下にあるスイッチA又はBで、一つの照明を点灯・消灯する。すなわち、一方のスイッチの状態にかかわらず、他方のスイッチで照明を点灯・消灯できる。



解答群
ア. AND
イ. NAND
ウ. NOR
エ. XOR

これは論理演算の基礎の基礎なので、復習の意味も込めて調査対象にしてみた。
だが、久しぶりに論理演算の問題を見て、「OR」演算が含まれるどちらかだっ( ゚Д゚) と、本能的に思ったがどっちがどっちかがよく思い出せなかった。

論理演算をグーグル先生に聞いてみると、以下の2つのサイトがとてもまとまっていてわかりやすかったので紹介する。

RENESASさんの今さら聞けない「論理回路」、「①デジタルとは、基本論理回路

こちらのサイトでは基本論理回路は3種類だと書いてある。「AND」「OR」「NOT」の3種類だとのことだ。

もう一つのサイトはIT proさんの「【5分で覚えるIT基礎の基礎】あなたは論理演算がわかりますか?第1回

今回の問題を解くのに必要な知識は、IT proさんのサイトの文中にある「●真理値表の覚え方は簡単」の項目で十二分に得られる。転記するのは書いた人に対して失礼にあたるので、実際にサイトを見ていただきたい。

こちらのサイトでは論理演算には4種類、「AND」「OR」「XOR」「NOT」だとのことだ。おそらく、細かな部分で「XOR」を含めるか否かが決まっているのだろうと予想する。

RENESASさんのサイトはIC回路についてかなり細かく書いてくれているので、今後時間ができたら読んでみたいと思う。

IT proさんのサイトは応用情報の問題を進めていくとおそらくここで詳述してくれている内容が役に立つと思うので、こちらは論理演算にからむ部分で今後お世話になると思う。

2進数と論理演算は本当にコンピュータの基本の部分なので、いつかは完全にものにしたいと思う。が、今は直近に迫った試験に集中したいと思う。

2017年3月14日火曜日

トレーニング日誌 2017/3/13~

一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。

ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。

2017/3/13
体重:74.3kg
体脂肪率:20.6%
基礎代謝量:1644kcal
肉体年齢:37歳

シックスパックトレーナー Lv.15
※会社の同僚の人に、「筋肉を太くするにはどうすればよいか?」という相談を受けて、一回だけ腕立て30回を10セットするといいのではないかと思うと最近答えた。

これはあまり系統だった根拠がないのだが、その昔、高校の時の体育の先生がボディビルダーで、一番初めの授業が上の腕立ての方法で1時間丸々使うというものだったのが根拠である。

進学校だったためあまり本気でトレーニングをしていた人もいなかったが、中学から運動をした友人皆がこのトレーニング後、急激に体が大きくなる早さが変わったという感想を漏らしていた。

で、その方法を紹介した同僚の人が実際に4時間(!)かけて腕立てをしてくれたと話してくれたので、ついでに体をできれば3日間程休ませてほしいとお願いした。

体を休ませるのには根拠があって、筋肉が回復するには少なくとも24時間を必要とすると聞いたことがあるからだ。

ただ、それだけではあまりにもあやふやすぎるのでちょっと調べてみた。

筋トレぴろっきーさんのブログ「筋肉が落ちる・減る理由6選!細い筋肉が嫌なら痩せる・細くなる原因を明確に!より「筋肉が落ちる・減る理由④ オーバートレーニング」という項目がとても詳しく内容を書いてくれている。

簡単に言うとトレーニングを行うと筋肉がある程度分解され、それを回復する時に前よりも大きくなっていくのだが、回復が間に合わない状態でトレーニングを続けると分解が回復よりも多くなるため細くなってしまう、ということだ。

これは実際に荷揚げをやっていて色んな人を見て思ったのだが、毎日のように体を酷使する荷揚げ屋さんは一部の例外を除いて体が細かった。体脂肪が少なくなっているのも見た目を細くする要因だったと思うが、実際に筋肉が非常に固く細くなっていたのだ。

びっくりするほど重い荷物を持てる人でも、見た目上の筋肉は俺よりも細い人が多かった。なので、「重いものが持てる」 = 「筋肉が太い」というのは当てはまらない。



2017/3/14
体重:74.0kg
体脂肪率:21.3%
基礎代謝量:1622kcal
肉体年齢:38歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
ダンベルカール(7.5kg) x15
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2

※最近鏡を見ていることが多くなった。確かに自分のことは好きだが、それだけが理由ではない(と、言ってみる)。

実感としては体が少しずつだがしまってきているように思うのだが、体重や体脂肪率の推移を見てもほとんど変わっていないからだ。

確かに体重は開始直後の12月末から見ると2kg減っているが、2kgって別に大したことないと思えば思えるし、体脂肪率に至っては開始直後21.8%から現在21.3%とほぼ変化なしなのだ。

だがっ( ゚Д゚) 確かに変わっているっ( ゚Д゚)

そこで、1月末と2月末の不定期身体測定の写真を見比べてみた。

1月末の前から


2月末の前から

前から見ると、確かにぜい肉のでっぱりはあるが・・・へ・・・へこんどる・・・

1月末の横から


2月末の横から


横からみると・・・腹筋の形が見えてきとる・・・

よしっ 満足だ。。。 勉強しよう(*´▽`*)

2017年3月13日月曜日

標本化周波数

平成28年秋季 問22. 標本化周波数

問題文「音声を標本化周波数10kHz、量子化ビット数16ビットで4秒間サンプリングして音声データを取得した。この音声データを、圧縮率1/4のADPCMを用いて圧縮したデータ量は何kバイトか。ここで、1kバイトは1,000バイトとする。」


解答群
ア. 10
イ. 20
ウ. 80
エ. 160

はっきり言って全く用語がわからないため、応用情報技術者試験ドットコムさんの解説を見ても全然わからなかった。

そこで、まずは用語の1つ目を検索・・・と、ほとんどの用語が開設されたサイトさんを発見した。

Soraoto Webサイトさんの「サンプリング周波数と量子化ビット」というページである。

ここを見ればほぼ完ぺきに音声をデジタルデータ変換する方法について解説してくれている。

しかしだ、ここを見れっ( ゚Д゚) と書くだけでは全く俺がこのページを書いている意味がなくなるので、さらに意訳して解説すると以下のようになる。

標本化周波数 ⇒ 1秒間にどのくらいの数のデータを取るか。丁度テレビのコマ数(15フレーム毎秒)のように、1秒間に15回データ(ここで言うサンプル/標本)を録るならば15Hzとなるらしい。

量子化ビット数 ⇒ 標本化周波数が1秒間に何回サンプルを録るか?を表しているならば、量子化ビット数は1回のサンプルで何段階の音として記録するか?ということらしい。

ここで本気で訳がわからないのが、標本化周波数は音の高さを表現しているらしく、量子化ビット数は音の大きさを表していることであるが、時間を短く区切って何故に音の高さを表現できるのだろうか?

上の疑問を考え始めると長くなるのと、まあ上の例だけで問題は解けそうなので後日の課題として残したまま問題を解きたいと思う。

標本化周波数は10kHz、量子化ビット数16ビットなので、1秒間に10,000個の16ビットのデータがある、ということになる。

それを4秒間取得したわけだから、640,000ビットのデータがあるわけだ。

これを圧縮率1/4のADPCMを用いて・・・

なんでも略すのいくないっ( ゚Д゚)

ADPCMとはAdaptive Differential Pulse Code Modulationの略だそうだ。そして、PCMというのがPulse Code Modulationの略で、上の標本化周波数と量子化ビットを使ったアナログ信号のデジタル化を指しているらしい。

じゃあ、AD(Adaptive Differential)の部分はなんだ?という話だが、どうやら「自然界の音は連続していることが多いので、前のタイミングとの差をデータ化することで圧縮する技術」と言う風に見える。(出典:e-Words「ADPCM」より)

つまりその技術を使って4分の1に圧縮するということだ。

なので、640,000ビットのデータを4分の1に圧縮するので、データ量は160,000ビットとなる。設問は「何kバイトか?」を問うているので

160,000÷8÷1,000=20(kByte)

これで問題は解けるのは解けるが・・・ 一体周波数と時間の関係って・・・?
高校の時の物理を真剣に勉強しておくべきだった・・・orz

2017年3月12日日曜日

トレーニング日誌 2017/3/11~

一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。

ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。

2017/3/11
体重:74.0kg
体脂肪率:20.7%
基礎代謝量:1633kcal
肉体年齢:38歳

シックスパックトレーナー Lv.15
※カロリー計算のエクセルファイルを更新し、とりあえず体脂肪と塩分の記録ができるようにしてみた。だが、一番大変なのはメニューごとに塩分を調べることだろうと思う。
我が家で使っている醤油は加藤味噌醤油さんで売っている吟上醤油という奴で、これはうちの実家近くで出回っているというか多分、故郷近くの醤油を独占しているであろう醤油である。

塩分が通常16%ぐらいのところを12%程度に抑え、濃厚な味でこれでないと刺身を食いたくないぐらいなのだが、何しろ田舎のお店なので商売が下手なのか「アミノ酸液」を投入していると書いてしまっているのがほほえましいのだが、「昔ながらの作り方」とあるのでアミノ酸液も実は手作りなのだろうと思われる(保証はしない)。

で、以前この醸造元の社長さんと話す機会があって、醤油の拡販について聞いたところ「結局は食べてみて口に合うかどうか」と、達観した回答が返ってきたのが非常に興味深かった。

話は逸れてしまったが塩分を調べるのは意外と大変だ。それぞれの食品に記載していればいいのだが、そうでないケースも多いし、一番塩分の多いと思われる醤油や味噌は使う分量が一定していない(目分量で入れてしまう)ため、今後はグラム数を調べて使う必要が出てきてしまう。

塩分コントロールは想像以上に茨の道である。



2017/3/12
体重:74.2kg
体脂肪率:21.1%
基礎代謝量:1633kcal
肉体年齢:38歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
ダンベルカール(7.5kg) x15
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2

※今日はドーナツ食ってやった
以上っ( ゚Д゚)

ウソである。

今日色々同僚と話していて気がついたのだが、どうやら睡眠不足が続くと糖分が欲しくなるらしい。
『寝不足で甘いものが食べたくなる』のは脳の前頭前皮質の働き!

それで酔っ払いながらブラウジングしてたら意外なものを見つけた:
眠れない負のスパイラル!睡眠不足の人の糖分過剰摂取が明らかに

確かに夕食に糖質を抑えると眠りが深くなるような気がしたのは意味があったのかと少しびっくりした。

しかしである、「甘いものを食って太る仲間が欲しいから」って言う理由でドーナツ発言を繰り返すなっ( ゚Д゚)
お前だお前っ( ゚Д゚)

2017年3月11日土曜日

ラウンドロビン方式

平成28年秋季 問19. ラウンドロビン

問題文「タイムクウォンタムが2秒のラウンドロビン方式で処理されるタイムシェアリングシステムにおいて、プロセス1~3が逐次生成されるとき、プロセス2が終了するのはプロセス2の生成時刻から何秒後か。ここで、各プロセスはCPU処理だけで構成され、OSのオーバヘッドは考慮しないものとする。また、新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合には、新しく生成されたプロセスを優先するものとする。」


解答群
ア. 12
イ. 14
ウ. 16
エ. 17

何回か同じ勉強をしているつもりだが、結局用語の意味がわからなかったので調べてみた、が、結構色々あるものの端的に答えてくれるサイトが見つからない。
テニスの総当たり戦の解説なんかも出てきて何が何だかわからない結果の中から、次のサイトを見つけた。

タスクスケジューリング(ラウンドロビン方式)

簡単にまとめてしまうと、到着したプロセスに平等に同じ時間だけ処理をさせ、終わったら一番待っているプロセスの一番後ろに待たせる、という処理だ。

では、実際に行ってみようではないかっ( ゚Д゚)

※俺の解答

ここでいつもお世話になっている応用情報技術者試験ドットコムと俺の解釈が以下の文言で解釈が割れた。

「新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合には、新しく生成されたプロセスを優先」

応用情報技術者試験ドットコムさんの解答は以下のようだ。

※応用情報技術者試験ドットコムさんの解答

どちらを信じるかは見てる人にお任せしたい。
俺の解釈は以下の通り。

6秒時点で「プロセス3」が生成される。この時点で待ち行列には「プロセス1」が待っていて、6秒の最後に処理が中断した「プロセス2」がその後にいる。

このような場合が生じた際に、「新しく生成されたプロセスを優先」とあるので、「中断されたプロセスの再開」である「プロセス1」は待たされ、「プロセス3」を行うと解釈している。

応用情報技術者試験ドットコムさんの解釈では、競合が発生するのは処理が終了した直後で、待ち行列に加わる「プロセス2」が新たに生成された「プロセス3」と競合し、待ち行列の順番は「プロセス1」、「プロセス3」、「プロセス2」となる。

そして恐ろしいことにプロセス2が生成された時間から終了までが問われているこの問題では回答がどちらも「14秒後」になるのだ。。。

そこで、他のサイトも見てみると「IT試験ドットコム」では俺の解釈で間違いないようだ、が、解説がほとんどないためよくわからない。

ここはどちらも正解だが、同じような問題が出た時、俺は俺のやり方で行こうと思う。何故か?俺は俺を含めて誰も信じないが、どちらも信用できないならば俺のが正しいと思うからだっ( ゚Д゚)

CPUの遊休時間

平成28年秋季 問17. CPUの遊休時間

問題文「五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。優先度”高”のタスクと、優先度”低”のタスクのうち一つだけを同時に実行する。実行を開始してから、両方のタスクの実行が完了するまでの間のCPUの遊休時間が最も短いのは、どの優先度”低”のタスクとの組み合わせか。ここで、I/Oは競合せず、OSのオーバヘッドは考慮しないものとする。また、表の()内の数字は処理時間を示すものとする。」

解答群


ぱっとみ解説だけでは理解ができず、ランボー1を見ながらぼーっと眺めていて初めて理解ができた。

この問題ではI/O(Input / Output)が競合しないという点がわかりにくかった様子。I/Oが競合しない、つまり、I/Oの部分は二つのタスクが同時に行えるということだ。



言葉だけではわかりにくいのでまずは表にしてみた。I/Oの競合が発生しないというのは、ここでは2つのタスクが同時にI/Oを行えるということなので、同じ列に重なっていても問題ないことになる。

1つのタスクはCPUを使っているか、I/Oを行っているかのいずれかしかできないので、上の表にある灰色の部分のようにCPUが使われていない時間が発生することになる。

これがCPUの遊休時間ということになる。

もう一つ注意が必要なのは、問題が「最も早く処理が終わる時間」を聞いていないという点だ。このような問題は問いの内容によって答えが変わってくるので注意が必要だと思う。簡単に手書きで答えが導き出せるようにするのが必要だと思う。

2017年3月10日金曜日

トレーニング日誌 2017/3/8~

一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。

ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。

2017/3/8
体重:74.9kg
体脂肪率:21.2%
基礎代謝量:1646kcal
肉体年齢:38歳

シックスパックトレーナー Lv.15
※特にコメントはない。




2017/3/9
体重:74.8kg
体脂肪率:22.3%
基礎代謝量:1620kcal
肉体年齢:40歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
ダンベルカール(7.5kg) x15
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2

※昨日確かに酒を飲んだ。ステーキも500gぐらい食った。しかし体重もほとんど変わっていないのに体脂肪率22.3%とはなんだっ( ゚Д゚)
うちのタニタちゃんはご機嫌斜めらしい。
実感としては最近かなりぜい肉が落ちてきているように思う。だが、体重の落ちは止まっている。筋肉がついているのだろうと前向きに捉えたいが、実際のところはどうなんだろうか。。。。