237 x=x*xの実行結果とは:数学とプログラムの違いに注意しよう! #shorts - 質問解決D.B.(データベース)

237 x=x*xの実行結果とは:数学とプログラムの違いに注意しよう! #shorts

問題文全文(内容文):
次のプログラムの実行結果を答えよ。
(1)x = 10
(2)x = x * x
(3)表示する("現在のxの値は", x, "です。")
単元: #情報Ⅰ(高校生)#プログラミング#アルゴリズムの表し方とプログラムの設計#基本的なプログラミング#プログラムによる動的シミュレーション
指導講師: めいちゃんねる
問題文全文(内容文):
次のプログラムの実行結果を答えよ。
(1)x = 10
(2)x = x * x
(3)表示する("現在のxの値は", x, "です。")
投稿日:2024.02.14

<関連動画>

【情報Ⅰ】大学入学共通テスト対応プログラム表記で学ぶ!条件分岐の基礎からくじ引きプログラムまで解説

アイキャッチ画像
単元: #情報Ⅰ(高校生)#プログラミング#アルゴリズムの表し方とプログラムの設計
指導講師: 理数個別チャンネル
問題文全文(内容文):
問1 次の文章を読み、空欄ア〜キに入れるのに最も適当なものを、後の解答群のうちから一つずつ選べ。
生徒:今度の文化祭でくじ引き大会をすることになりました。せっかくなので、くじ引きプログラミングを作りたいのですが、何から始めたらいいんですか。
先生:それはいいですね! まずは、大学入学共通テスト用のプログラム表記を使って条件分岐から学んでいきましょう。
例えば、正六面体のサイコロを振って3が出たら「当たり!」と表示し、それ以外なら「はずれ」と表示されるプログラムは次のようになります。
(01) saikoro = 3 # サイコロの出目
(02) もし ア ならば:
(03) 表示する(“当たり!”)
(04) そうでなければ:
(05) 表示する(“はずれ”)

生徒:なるほど! サイコロの出目が1なら「1等」、2〜3なら「2等」、それ以外なら「はずれ」と表示するのは、次のようになりますね。

(01) saikoro = 3 # サイコロの出目
(02) もし イ ならば:
(03) 表示する(“1等”)
(04) そうでなくもし ウ ならば:
(05) 表示する(“2等”)
(06) そうでなければ:
(07) 表示する(“はずれ”)

ア・イ・ウの解答群
| 0 saikoro == 0 | 1 saikoro == 1 | 2 saikoro == 2 |
| 3 saikoro == 3 | 4 saikoro <= 3 | 5 saikoro <= 3 |
| 6 saikoro > 3 | 7 saikoro < 3 |


先生:その通り。このままだと1行目の変数saikoroの値を手入力する必要があるので、乱数を使うといいですね。次の乱数関数を使っていきましょう。
f 乱数の説明
乱数(n)…0から引数として与えられた整数の中からランダムに1つ返却する。

生徒:ということは,1行目を以下のように変更すればよいですね。
(01) saikoro = エ
エ の解答群
| 0 乱数(6) | 1 乱数(5) | 2 乱数(6)+1 | 3 乱数(5)+1 |
先生:その通り。では今度は配列を使って景品を表示するプログラムを作成していきましょう。サイコロの目の数に対応するように配列Keihinを作成します。はずれの場合も,アメを渡すとしましょう。
配列名:Keihin  プラモ  ポテチ  チョコ  アメ  アメ  アメ
このとき添字が0から始まるとした場合,先頭から数えて3番目のチョコの要素を取り出したい場合は以下のように記述すればいいですね。
item = オ
オ の解答群
| 0 Keihin+3 | 1 Keihin[3] | 2 Keihin[2] | 3 Keihin[0] |
先生:実際はサイコロの目と対応しているので,景品を表示する場合は9行目のように記述します。

(01) Keihin = ["プラモ","ポテチ","チョコ","アメ","アメ","アメ"]
(02) saikoro = エ # サイコロの出目
(03) もし イ ならば:
(04) 表示する(“1等”)
(05) そうでなくもし ウ ならば:
(06) 表示する(“2等”)
(07) そうでなければ:
(08) 表示する(“はずれ”)
(09) 表示する(“景品:”, カ)
カ の解答群
| 0 Keihin[saikoro] | 1 Keihin[saikoro-1] | 2 Keihin[1] | 3 Keihin[saikoro+1] |

生徒:完成しましたね! ただ、一人3回くじを引かせたいです。
先生:それなら、処理全体を繰り返し文で囲むといいですね。3行目の処理で、何回目のくじ引きかも表示するようにしましょう。
(01) Keihin = ["プラモ","ポテチ","チョコ","アメ","アメ","アメ"]
(02) i を キ
(03) 表示する(i+1,"回目")
(04) saikoro = エ # サイコロの出目
(05) もし イ ならば:
(06) 表示する(“1等”)
(07) そうでなくもし ウ ならば:
(08) 表示する(“2等”)
(09) そうでなければ:
(10) 表示する(“はずれ”)
(11) 表示する(“景品:”, カ)
キ の解答群
| 0 0から2まで1ずつ増やしながら繰り返す |
| 1 0から3まで1ずつ増やしながら繰り返す |
| 2 2から6まで1ずつ減らしながら繰り返す |
| 3 1から3まで1ずつ増やしながら繰り返す |
生徒:ループの中に条件分岐があると難しく感じますが、1つ1つを順番に作っていったので理解できました!
先生:大学入学共通テストの「情報Ⅰ」でも、このように入れ子構造で出題される可能性があります。いきなり全体を見ると難しく感じますが、処理の内容を1つ1つ押さえて、この構造に慣れていきましょう。



この動画を見る 

233 値を代入した変数に別の値を代入する:上から下へと実行されていくプログラムの基本! #shorts

アイキャッチ画像
単元: #情報Ⅰ(高校生)#デジタル#プログラミング#アルゴリズムの表し方とプログラムの設計#基本的なプログラミング#プログラムによる動的シミュレーション
指導講師: めいちゃんねる
問題文全文(内容文):
次のプログラムの実行結果を答えよ。
(1)x = 1
(2)x = 2
(3)表示する("現在のxの値は", x, "です。")
この動画を見る 

234 変数に別の変数の値を代入する:値の更新(上書き)をマスターしよう! #shorts

アイキャッチ画像
単元: #情報Ⅰ(高校生)#プログラミング#アルゴリズムの表し方とプログラムの設計#基本的なプログラミング#プログラムによる動的シミュレーション
指導講師: めいちゃんねる
問題文全文(内容文):
次のプログラムの実行結果を答えよ。
(1)x = 1
(2)y = 2
(3)x = y
(4)表示する("現在のxの値は", x, "です。")
(5)表示する("現在のyの値は", y, "です。")
この動画を見る 

【情報Ⅰ】サイコロゲームのプログラムを解説

アイキャッチ画像
単元: #情報Ⅰ(高校生)#プログラミング#アルゴリズムの表し方とプログラムの設計
指導講師: 理数個別チャンネル
問題文全文(内容文):
第3問 次の問い(問1~3)に答えよ。

問1
次の生徒(A)と生徒(B)の会話文を読み,空欄 ア・ウ に当てはまる数字を答えよ。また,空欄 イ・エ に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。

A:昨日の放課後,友人Cとサイコロを使ったゲームで盛り上がったのですが,今から一緒にそのサイコロゲームをしませんか?
B:いいですね。どんなゲームなのかルールを教えてください。
A:参加プレイヤーは1つのサイコロを5回振ります。サイコロを振った際の出目(出目)が奇数(1,3,5)であれば2ポイントが得点に加算されます。サイコロの出目が偶数(2,4,6)であれば3ポイントが得点から減算されます。この作業を5回繰り返したときの最終的な得点が最も高い人の勝ちというシンプルなゲームです。
B:なるほど,シンプルなルールですね。
A:例えば,サイコロを2回振った際の出目が3,4の順である場合の得点は,奇数が1回,偶数が1回出ているので,得点は-1点となり,残り3回サイコロを振った出目が1,5,4の順に出た場合の最終的な得点は[ア]点となります。
B:得点の計算方法も理解できたので,2人で今から対決してみませんか?
A:いいですね。でも,サイコロを持っていないので,情報の授業で学習したプログラミングを使って,このゲームをパソコン上で動くようにしてみましょう。
B:そうですね。せっかく授業で学んだプログラミングの知識をここで発揮しましょう。まずは何から考えていけばよいと思いますか?
A:今回使用するサイコロの目を出力する必要があるため,関数のプログラムを作って,サイコロを再現する方法を考えましょう。以下は,乱数を使う場合の関数の説明です。

【関数の説明と例】
乱数(値)・・・0から引数として与えられた値までの範囲内で,ランダムな数値が生成され,その値が戻り値となる。
例:引数が3なら戻り値は0から3までの整数となる。

A:例えば,乱数(2)という関数を実行すると,[イ]が戻り値の候補となります。サイコロの出目は1から6なので,関数にも少し工夫が必要です。
B:サイコロの出目を再現できるようになったら,次はサイコロの出目が奇数か偶数かを判定するプログラムが必要ですね。
A:偶数か奇数かを判定する方法は,判定したい値を[ウ]で割った余りを調べるとよいですね。奇数の場合は[ウ]で割った余りが1,偶数の場合は[ウ]で割った余りが0になります。例えば,3は奇数であり,4は偶数であることが判定できます。
B:この判定を行うとると,プログラムの中で余りを計算する必要がありますが,どうしたらいいですか?
A:プログラムには色々な演算子(表1)があります。これらの演算子を利用して余りを求めることができますね。

表1 演算子の種類と使用例
| 種類 | 演算子 | 計算例 | 答え |
| 加算 | + | 1+2 | 3 |
| 減算 | - | 5-3 | 2 |
| 乗算 | × | 3×2 | 6 |
| 除算 | / | 8/2 | 4 |
| 余り | % | 7%2 | 1 |

B:例えば,2つの値を足す場合は+の演算子を使い,割り算を行う場合は[エ]の演算子を使えばいいですね。
A:その通りです。演算子を使い分けることで,さまざまな計算を行うことができます。

[イ]の解答群
⓪ 0,2 ① 1,2 ② 0,1,2 ③ 1,2,3

[エ]の解答群
⓪ + ① - ② × ③ / ④ %

問2 次の文章の空欄 オ~ケ に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。

B: うーん,もう少しプログラムを作るうえでヒントが欲しいですね。全体的な流れがわかるといいのですが。
A: それでは簡単なフローチャートを考えてみましょう(図1)。サイコロゲームの流れは,サイコロを振り,出目が偶数か奇数かを判定して,得点を計算する,といった行動を5回繰り返していますね。

(図1 サイコロゲームのフローチャート)

始め

score = 0

5回繰り返す

サイコロを振る
└─ NO → scoreから3減算
└─ YES → scoreに2加算
(分岐の菱形の中:オ)

得点表示

終わり

B: フローチャートは処理の流れが可視化されて,わかりやすいですね。分岐には オ を入れればいいですね。

AさんとBさんは,これまでのヒントからプログラムを考えてみた(図2)。変数scoreには得点を求めるため初期値として0を,変数diceにはサイコロの目を求める関数を設定している。

(図2 サイコロゲームの得点を計算するプログラム)

(01) score = 0
(02) i を 1 から カ ながら繰り返す:
(03) dice = キ
(04) もし ク ならば:
(05) score = ケ + 2
(06) そうでなければ:
(07) score = ケ - 3
(08) 表示する(”得点:”, score)

オ の解答群

⓪ 出目が偶数 ① 出目が奇数 ② score が 0 ③ score が 1

カ の解答群

⓪ 5まで1ずつ増やし ① 6まで1ずつ増やし ② 5まで1ずつ減らし ③ 6まで1ずつ減らし

キ の解答群

⓪ 乱数(5) ① 乱数(6) ② 乱数(5) + 1 ③ 乱数(6) + 1

ク の解答群

⓪ dice % 2 == 0 ① dice % 2 == 1 ② score % 2 == 0 ③ score % 2 == 1

ケ の解答群

⓪ score ① dice ② i ③ i + 1


問3 次の文章を参考に,図3のプログラムの空欄【コ—シ】に入れるのに最も適当なものを,後の解答群のうちから一つずつ選べ。

A: プログラム(図2)が完成しました。これでサイコロゲームがコンピュータでも実行できるようになりました。
B: プログラムを動かしてみましょう。【2人でプログラムを実行してみた】

【実行結果】

Aさんの表示 得点:0
Bさんの表示 得点:5

A: きちんと動きました。Bさんの勝ちですね。もう少し白熱するようにゲームの要素を追加しませんか? 最後に特定の条件を満たした場合にボーナスポイントを与えるのはどうでしょうか?
B: いいアイデアですね。それでは,偶数の出目が5回のうち4回以上出現した場合,現在の得点に10点を追加するのはどうでしょう?
A: 最後に大逆転が起きる可能性が出てきますね。
B: そうすると,プログラムを少し改変する必要がありますね。
A: まず(02)行目に偶数の出目が出た回数をカウントするための変数 gusu を設定します。初期値には0を設定し,(09)行目には偶数の出現回数をカウントするプログラムを追加したのが,偶数の出現回数を追加したプログラム(図3)です。

(図3)

(01) score = 0
(02) gusu = 0
(03) i を 1 から 5 まで 1 ずつ増やしながら繰り返す:
(04) dice = キ
(05) もし ク ならば:
(06) score = ケ + 2
(07) そうでなければ:
(08) score = ケ - 3
(09) gusu = コ
(10) 表示する(”偶数回数:”, gusu)
(11) 表示する(”最終スコア:”, score)

B: さらに,ボーナスポイントを加算する条件を設定する必要がありますね。

【追加条件】

もし サ ならば:
score = ケ + 10

(図4 追加条件のプログラム)

A: 追加条件のプログラム(図4)は偶数の出現回数を追加したプログラム(図3)の シ 行目の下に入れると完成ですね。

生徒(A)と生徒(B)は最後にプログラムを実行したところ,正しく得点が計算されていることを確認できた。

A: プログラムを作るのは大変だけど,一度作ると繰り返し行う計算を自動化することで時間を短縮することができますね。
B: さらにルールを途中で変更できる場合,プログラムを少し改変するだけで何度も繰り返し使えると再利用性や拡張性も高いですね。情報の授業でプログラミングを学習してよかったですね。



【コ】の解答群

⓪ gusu ① gusu + 1 ② gusu + score ③ gusu + dice

【サ】の解答群

⓪ gusu > 4 ① gusu < 4 ② gusu >= 4 ③ gusu <= 4

【シ】の解答群

⓪ 3 ① 5 ② 8 ③ 9
この動画を見る 

236 x=x+1ってどういうこと!?:自身の値を更新するプログラム #shorts

アイキャッチ画像
単元: #情報Ⅰ(高校生)#プログラミング#アルゴリズムの表し方とプログラムの設計#基本的なプログラミング#プログラムによる動的シミュレーション
指導講師: めいちゃんねる
問題文全文(内容文):
次のプログラムの実行結果を答えよ。
(1)x = 10
(2)x = x + 1
(3)表示する("現在のxの値は", x, "です。")
この動画を見る 
PAGE TOP