下図はディジタル技術検定 2 級制御部門第 52 回の (13) である。

この問題解析的にちゃんと解くなら、離散系と云うことで z 変換して後に、入力信号があるので畳み込みで与えて一般式を求めてそこの k に数値を代入して、、、ということになるのだが、幸いなことに k = 2 の時の値を求めよ、という問題だ。しかも 2 行目の式を見ると、y(2) は x(2) の 4 倍としているから、選択肢の中から 1:4 の関係になるものを選び出して答えれば良い。
ということで x(2) (1)10、y(2) (4)40 とすれば良い。
これではあんまりなので、順番に数値を入れて計算しておく。y(2) は今書いたように x(2) が求まればすぐに出てくるので、x(2)だけを計算する。
k = 0 の時、u(0) = 1、x(0) = 0 だから、
x(1) = 3 * 0 + 2 * 1 = 2
よって k = 1 の時は、u(1) = 2、x(1) = 2
x(2) = 3 * 2 + 2 * 2 = 10
y(2) = 10 * 4 = 40
となる。
下図はディジタル技術検定 2 級制御部門第 52 回の (14) である。

UML 図とは、「Unified Modeling Language」の略で、情報システムを設計する際にそのモデル化を記述するための言語である。と、私が分かるのはここまででこれ以上はその関連の用語を調べていただきたい。2 級情報でも過去に出題されたことがあるらしいが、選択肢の中で 2 級制御の問題集で例としてあげられていたのはクラス図とユースケース図だけで他の図の例は見ていない。
で、
[30]は(1)クラス図
[31]は(6)ユースケース図
となる。こういった図の書き方は情報分野では一般常識なのかも知れない。あるいは選択肢を含む用語を図で説明しようとするとこうなるはずだ、というのがあるのかも知れない。どこかにまとまっていると良いのだが。
下図はディジタル技術検定 2 級制御部門第 52 回の (15) である

私は得意ではないプログラムである。C 言語はまだそれほどやっていないので上手く解説できるかどうか自信はないが、それでも大小判定しながら配列の値を更新していくらしいと云うことは分かる。が、途中の y[i] = *x でパニックになった。配列は x[5] で宣言されているが、*x で何をするのか試験中は分からなかった。ただ選択肢の数値を見ると配列に入っている数値が並んでいるだけなので、開き直って*x(i) = x[i] として考えることにした。
それで順番に見ていくと、最初の for ループで y[1 ~ 3] には *x と同じ値を入れたらしい(実際に確かめたら 50 が入っている)ので、次の for ループで *x(i+1) と比較しながら、大小関係で y[0] と y[2] を更新していくというものだ。比較している if 分の条件を注意深く確認すると、y[0] には配列の最小値、y[2] には配列の最大値が残ることが分かる。*x に疑問を残しながらも[32]y[0] は(1)19、[33]y(1) は(2)50、[34]y(2) は(3)84 が答えとなる。
*x という記述を試験後調べてみたが、変数 x のポインタ=「データのある番地」を示すらしい。
以下のところに書いてあったので読んでは見たものの、ピンと来ない。ここでのメリットが分からない。それに何か使い方が違うようにも見える。
SG CORPORATIN/初級C言語講座
https://www.sgnet.co.jp/c/6-3.html
ほぷしぃ/納得C言語
http://www.isl.ne.jp/pcsp/beginC/C_Language_13.html
詳しい方がいらしたら解説をお願いしたい。
← にほんブログ村「科学」-「技術・工学」へ
↑ クリックをお願いします。

この問題解析的にちゃんと解くなら、離散系と云うことで z 変換して後に、入力信号があるので畳み込みで与えて一般式を求めてそこの k に数値を代入して、、、ということになるのだが、幸いなことに k = 2 の時の値を求めよ、という問題だ。しかも 2 行目の式を見ると、y(2) は x(2) の 4 倍としているから、選択肢の中から 1:4 の関係になるものを選び出して答えれば良い。
ということで x(2) (1)10、y(2) (4)40 とすれば良い。
これではあんまりなので、順番に数値を入れて計算しておく。y(2) は今書いたように x(2) が求まればすぐに出てくるので、x(2)だけを計算する。
k = 0 の時、u(0) = 1、x(0) = 0 だから、
x(1) = 3 * 0 + 2 * 1 = 2
よって k = 1 の時は、u(1) = 2、x(1) = 2
x(2) = 3 * 2 + 2 * 2 = 10
y(2) = 10 * 4 = 40
となる。
下図はディジタル技術検定 2 級制御部門第 52 回の (14) である。

UML 図とは、「Unified Modeling Language」の略で、情報システムを設計する際にそのモデル化を記述するための言語である。と、私が分かるのはここまででこれ以上はその関連の用語を調べていただきたい。2 級情報でも過去に出題されたことがあるらしいが、選択肢の中で 2 級制御の問題集で例としてあげられていたのはクラス図とユースケース図だけで他の図の例は見ていない。
で、
[30]は(1)クラス図
[31]は(6)ユースケース図
となる。こういった図の書き方は情報分野では一般常識なのかも知れない。あるいは選択肢を含む用語を図で説明しようとするとこうなるはずだ、というのがあるのかも知れない。どこかにまとまっていると良いのだが。
下図はディジタル技術検定 2 級制御部門第 52 回の (15) である

私は得意ではないプログラムである。C 言語はまだそれほどやっていないので上手く解説できるかどうか自信はないが、それでも大小判定しながら配列の値を更新していくらしいと云うことは分かる。が、途中の y[i] = *x でパニックになった。配列は x[5] で宣言されているが、*x で何をするのか試験中は分からなかった。ただ選択肢の数値を見ると配列に入っている数値が並んでいるだけなので、開き直って*x(i) = x[i] として考えることにした。
それで順番に見ていくと、最初の for ループで y[1 ~ 3] には *x と同じ値を入れたらしい(実際に確かめたら 50 が入っている)ので、次の for ループで *x(i+1) と比較しながら、大小関係で y[0] と y[2] を更新していくというものだ。比較している if 分の条件を注意深く確認すると、y[0] には配列の最小値、y[2] には配列の最大値が残ることが分かる。*x に疑問を残しながらも[32]y[0] は(1)19、[33]y(1) は(2)50、[34]y(2) は(3)84 が答えとなる。
*x という記述を試験後調べてみたが、変数 x のポインタ=「データのある番地」を示すらしい。
以下のところに書いてあったので読んでは見たものの、ピンと来ない。ここでのメリットが分からない。それに何か使い方が違うようにも見える。
SG CORPORATIN/初級C言語講座
https://www.sgnet.co.jp/c/6-3.html
ほぷしぃ/納得C言語
http://www.isl.ne.jp/pcsp/beginC/C_Language_13.html
詳しい方がいらしたら解説をお願いしたい。

↑ クリックをお願いします。