学年

教科

質問の種類

情報:IT 高校生

情報:高3 [ウ]の部分がなぜ③になるのか分かりません。 iが 1〜kazu-1 になるから jは 0〜kazu-2 までは考えられたのですが、ここから kazu-2 が kazu-1-i になるのはなぜでしょうか、、教えてください🙇🏻

次の生徒 (S) と先生 (T) の会話文を読み, 空欄 解答群のうちから一つずつ選べ。 ア ~ に入れるのに最も適当なものを,後の 201 T:データを昇順または降順に並べ替えるアルゴリズムのことをソートといいます。まずはじめに,バブルソー トというアルゴリズムを考えてみましょう。 バブルソートは、配列の中の隣り合うデータの大小を比較し交 換を繰り返す方法です。 図1は、10個の要素を持つ配列 Data に対してバブルソートを行う場合の流れを 表しています。グラムの まず、配列の先頭とその次の要素を比較し, 左の方が大きければ右と交換する。 これを一つずつずらしなが ら配列の最後尾まで繰り返していき、最後尾まで繰り返したら1周目の比較が終了します。 S: つまり, 1周目の比較がすべて終了した段階で、 配列の最後尾には ア が入っているのですね。 イ T: その通りです。 2周目は、配列の を除いて1周目と同じように比較していきます。 これを繰り返 して、最後には配列が並び変わっているという具合ですね。図2はバブルソートのプログラムを表してい ます。 1071 配列 Data 77 52 89 48 97 3 18 62 33 29 1周目/ 1回目の比較 77 52 89 48 97 3 18 62 33 29 交換する 1周目/ 2回目の比較 52 77 89 48 97 3 18 62 33 29 交換しない (81) 1周目/3回目の比較 52 77 89 48 97 交換する 3 18 62 33 29 図1 配列 Data に対するバブルソートの流れ Irabid (1) (2) (Data) (3) (4) (5) Data = [77,52,89,48,97, 3,18,62,33,29] kazu = iを1から kazu 1まで1ずつ増やしながら繰り返す : を0から ウ まで1ずつ増やしながら繰り返す: もしData[j] > Data [j + 1] ならば: & FURS ipin (6) hokan = Data[j] ① Ad>(7) (8) エ _Data [j+1] = hokan 図2 バブルソートのプログラム 0000 1036 0 kouk 4-1 S図2のプログラムだと, もし仮に最初からデータが昇順に並んでいても、配列 Data の場合と同じ回数だけ 比較を繰り返さないといけないですよね? T:いいところに気が付きましたね。 最初から昇順に整列された配列をバブルソートすると、交換回数は オ だけど比較回数は |ので効率が悪いです。 それでは,データの整列が完了した段階で繰り返 しを抜けるように図1のプログラムを修正してみましょう。 まず, 変数 koukan を用意して初期化してお きます(図3の (3) 行目)。 次に, 交換が発生した場合, 変数 koukan に 「1」 を代入するようにしましょ (図3の (10) 行目)。 さて、ここで図4のプログラムを, 図3のプログラムのどこに挿入すればいいか 分かりますか? S:繰り返しが1周終わるごとに変数 koukan の値を確認する必要がありますから、 T:正解です! よくできました。 98 第3章 コンピュータとプログラミング キ だと思います。 0

解決済み 回答数: 1
情報:IT 高校生

この問題が全く分からないです🙏 また、図3の(4)(5)の表す意味が分からないです

STEP 3 実戦問題にチャレンジ 9 25120分 得点 目標時間 取り組み日 目標 実戦問題にチャレンジして、 今の実力を 確かめよう 月 日 Aさんは18歳になって選挙権が得られたのを機に、比例代表選挙の当選者を決定する仕組み に興味を持った。そこで各政党に配分する議席数 (当選者数)を決める方法を友人のBさんと ブログラムを用いて検討してみることにした。会話文を読み, 次の各問いに答えよ。 比例代表選挙での各政党の当選者数はどうやって決まるのですか? B:日本では,各政党の得票数を 1, 2, 3, ・・・と, 整数で割った商の大きい順に定められた議席 を配分する方法で決めています。 各政党が表1のとおり得票数を取り, 当選者数が6名であ るとします。そのとき、表1のように ①から⑥の順に議席が各政党に割り当てられます。 ど ういうことかというと,まず得票数を1で割った商を A, B, C,D の4つの党で比較して 最も大きな値をもつB党が①の議席を取り、 次に A,C,D の3つの党の1で割った商と B党の2で割った商を比較して A党が②の議席を取り,さらに・・・というふうにしていくと、 最終的に表1のようにA党が②と⑥の議席, B党が①と④と⑤の議席, D党が③の議席を 取ることになります。 表1 各政党の得票数と整数で割った商 A B党 C D党 得票数 600 960 240 540 1で割った商 ②600 ①.960 240 ③ 540 2で割った ⑥ 300 ④ 480 120 270 3で割った商 200 ⑤320 80 180 4で割った商 150 240 60 135 A: では、このような仕組みで当選者数を決めることができるプログラムを書いてみましょう。 まず,プログラムの中で扱うデータを図1と図2にまとめました。 配列 Tomei には各政党 の党名を,配列 Tokuhyo には各政党の得票数を、配列 Tosen には各政党に配分する議席数 (当選者数)を格納することにします。 Tosen の初期値は全部0にしておきます。 次に、①の議席の政党を決めるプログラムを書きましょう(図3)。 図3のプログラムを実 行したら図4の結果が表示されました。 i Tomei 0 1 2 3 A党 B党 C党 D党 i Tokuhyo 600 0 1 2 3 960 240 540 図1 各政党名が格納されている配列 図2 得票数が格納されている配列

解決済み 回答数: 1
情報:IT 高校生

問一のアなんですけど、 選択肢の”あ”と”お”の順番がよくわかりません。 答えは②ですが、④でもいけませんか? あと、問題の明確化、解決案の決定にあてはまる選択肢も教えて欲しいです。

全国の高校生の学習時間調査なんてものを見つけたよ。 花子:その調査の結果から,何か自分たちの生活を変えるヒントを見つけられないかな? ) 太郎:おっ,まさに問題解決ってやつだね! 花子:とりあえず,問題解決のプロセスにのっとって調べてみましょう。 問1 次のあ~おは問題の発見, 問題の明確化, 解決案の検討, 解決案の決定, 解決案の実施と評価という問題 解決のプロセスの内容を表したものである。 問題解決のプロセスとして正しい手順に並べたものを,次の ~④のうちから一つ選べ。 ア あ: 収集した情報を整理・分析する。 い : 決定した解決案が効果的であったかどうか評価する。 う:現状の把握と分析を行い, 問題を把握する。 え: 解決案を視覚的,効果的に表現する。 お : 何ができたら問題解決したことになるのか考える。せやせ 問題発見 ”明確化 ア 問題を発見するためには,現状を はいくつかの要素が絡み合って生じる。 問題の明確化は,その要素を洗い出し、 理し,何をもって解決とするかを明確化 解決案の検討は, 解決に向けて何をする つなげる。 科学的な根拠を持って最終的 それらを実施し,よりよいものへの改良 ②が適当である。 ラ →→お→え→い ①→お→う→い→え ③う→→→い→え ④う→あ→お→→ 4月である、 解決案検討 え 〃 ②う→お→あ→え→い 決定 実施・評価 い イ 花子:文部科学省の調査を見つけたわ。全国の高校1年生向けに平日の学習時間を調査したも たちの学校でも独自に調査しているからそれらのデータを比べてみましょう。 データ わ。 6時間以上と回答した人はどの学年の人も0人だったので、表1からは省略したわ 太郎:全国データと比較となると人数が違いすぎるから, 図1にある ための帯グラフ 花子:ありがとう。 これは比較をしやすくなったわ。 「全国1年」というのが文部科学省の言 年」,「2年」,「3年」と書かれているところは私たちの学校のデータになるのね。 表1 れることとしては, ウ ことがいえるわね。 表 1 学習時間調査のまとめ 全国1年 1年 2年 3年

解決済み 回答数: 1
情報:IT 高校生

情報です。問2のイウエオカができません。教えてください!

と言う グラムがWeb上に公開さ 呼び出して利用できる Piといい, Web サービ ータを利用したプログ ものに活用されている。 天気の amming Interface) 社会とのかかわり WebAPIの活用 WebAPIには, 天気, 観光, グル メ, 交通などのリアルタイムの情報 を得られるものや、 動画投稿サイト やSNSの機能をプログラムに組み込 むことができるものなどがある。 000 77 0188 1181 難易度 目安 ★★★ 15分 い~はに入れるのに最も適当な組合せを ットが2匹いて、そのうちの1匹はメスだった す。 別が問題です。 オスとメスであ と言われたのです。 る確率は同じ ペットを2匹飼っている家族がたくさんい つ目の ペット ことします。1つ目の家族の番号 い始めたペットに0, 2番目に飼い始めた 飼い始めたペットは, Pet [0,1] となります。 圧はどう表すのですか? T: 配列 Petの要素の値がそのペットの性別を表します。 オスは1, メスは2とします。 では、4番目の家族 の2番目に飼い始めたペットがメスの場合, 添字と要素はそれぞれいくつになりますか? S:Pet いろ]で要素の値ははです。 T: きちんと理解できたようですね。 それではプログラムを作っていきましょう。 の解答群 ⑩い: 3, 3: 1, は:1 ④い: 4. 3: 1. は:1 ①い: 3, 3: 1, は:2② い: 4, 3: 2, は : 2 ③ い: 4, ろ : 2, は 1 ⑤い: 4, ろ : 1, は : 2 ⑥ い: 3, 3: 2, 1:27 い: 3, 3: 2, は:1 問2 次の文章の空欄 イ - Є MI 次の文章 なお、 解答 T:プログラムの後半は先生 成しました。 なお、この タが格納されていると S:このプログラムはどう T: 図2は、ペットの1 S: 数学の時間に出され T:図3は、最初に飼い S : どちらも同じだと T: どうでしょう。 (1) (2) (3) kazo kaz ka (4) i (5) (6) (7) に入れるのに最も適当なものを,後の①~③のうちから一つずつ (8) (9) (10) (11 べ。なお,解答群の選択肢は複数の箇所で使用してもよい。 T:まずは, 配列 Pet にペットの性別データを格納するプログラム (図1) を作ります。 S:ペットの性別は乱数を作って決めるのですね。 T:よく分かっていますね。 ここでは, 関数 「性別決定」という先生があらかじめ作成しておいた関数を使いま す。これは,戻り値として1と2を同じ確率で返す関数です。 S:データは何件分を作成したらよいですか? 入力が大変そうです。 T:データを作成する家族の件数は kazoku No という変数に格納しましょう。最初は100000件にしておきま す。まさか手入力しようと思っているのですか? S:そうか! 繰り返しを使えばいいのですね! (1) kazoku_No = 100000 (2) iを0から イ まで1ずつ増やしながら繰り返す: (3) Pet [ ウ 0] エ = (4) Pet [ オ 1 = 図12匹のペットの性別を乱数で決定し 2次元配列に格納するプログラム イ ~ カ の解答群 100000 6 1,0 ①kazoku_No ⑦ i,1 kazoku No - 1 ④。 ⑤ 1 1, 1 性別決定 () 第3章 コンピュータとプログラミング

解決済み 回答数: 1
情報:IT 高校生

分からないので教えて欲しいです お願いします🙏

【課題1】次のプログラムを入力して、実行しなさい。そのあと、以下の間1~3の【ア】【ク】にあて はまる数字を答え、 【ケ】 には、 〔図4〕 から適当なものを1つ選べ。 《プログラム》 問1 プログラムにおいて、行番号 08~13の文の実行によって、〔図3] の記号が描かれるのは、Xの 値が 【ア】でYの値が 【イ】 のときである。 〔図3] 01 # 模様を描くプログラム 02 # 模様の1行目を描く 03 for X in range (1,8): 04 print("*", end="") 05 print("") 06 # 模様の2行目から6行目を描く 07 for Y in range (2, 7): for X in range (1,8): if X == 8-Y : 08 09 10 print("*" 11 else: 12 13 print("''*) これは模様を描くプログラムです 模様の1行目を描きましょう 変数Xを1から7まで順番に次のことをします 「*」を表示して、 X の値を1つ増やす 終わったら改行します 模様の2行目から6行目を描きましょう 変数Y を2から6まで順番に次のことをします 変数Xを1から7まで順番に次のことをします もし X=8-Y ならば 「*」 を表示して end="" " ) そうでなければ print(".", end="") 14 # 模様の7行目を描く 16 15 for X in range (18) print("*", end="" 17 print("") 18 19 20 「・」を表示して、 Xの値を1つ増やす Xが終わったら改行してYの値を1つ増やす 模様の7行目を描きましょう 変数Xを1から7まで順番に次のことをします 「*」 を表示して、 Xの値を1つ増やす 終わったら改行する 問2 プログラムの実行において、行番号 09のif文は、全部で 【ウエ】 回実行され、行番号 13 の print 文は全部で 【オ】 回実行される。 問3 プログラムにおいて、行番号 08 の for 文を for X in range (1, Y+1) に変更して実行する。 行番 号 07~13の文の繰り返しの中で、Yの値が5のとき、行番号 09のif文は 【カ】 回実行され、 "*" 記号が 【キ】 個、 "." 記号が 【ク】 個それぞれ表示される。 したがって、変更したプログラムの実行によって描かれる図形は、 【ケ】である。 1 ******* 2 ******* 3 ******* 4 ******* * *.. .* ・*・ ******* ******* ******* ******* 《実行結果》 ******* ******* 5 6 7 ******* *****. ******* ***** ******* ******* .* ****. *** * ** *** **• * . *****> * *** * ** *** ******* [図4]

解決済み 回答数: 1