学年

教科

質問の種類

情報:IT 高校生

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

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

回答募集中 回答数: 0
情報: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】次のプログラムを入力して、実行しなさい。そのあと、以下の間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
情報:IT 高校生

⑶ってなぜ、書いているような数式になるんですか?💦

③ 下図のように表計算ソフトを利用して座席を決める。 座席番号と位置を決めておき、乱数の値の 小さい順に、出席番号を割り振る。 次の各問いに答えなさい。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (15) 16 17 18 19 20 21 22 23 38 39 40 41 42 43 44 A 座席番号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 37 38 39 40 41 42 B C 乱数 生徒番号 0.01781328 1 0.466087451 22 2 14 24 26 37 32 35 42 16 34 17 13 0.01923281 0.20563183 0.47722923 0.50534706 0.92785938 0.76808017| 0.84721213 0.99830741 0.26447127 0.84708513 0.27690907 0.20352437 0.16858377 0.97130205 0.06212899 0.11712606 0.97272104| 0.95984957 0.71022711 0.3787261 0.47431656 0.97782322 0.78276747 0.09375127 0.4979731 0.18616393 91 39 4 8 40 38 30 18 23 41 33 25 11 D (1) セルB2に入力する数式を答えなさい。 E 1 7 13 19 25 31 37 1 37 17 40 5 20 23 F 2 8 14 20 26 32 38 22 32 13 38 36 15 41 G 3 9 15 21 27 33 39 2 35 9 30 27 21 33 教卓 教卓 H 4 10 16 22 28 34 40 14 42 39 18 10 12 7 508563 座席番号 5 11 17 23 29 35 41 生徒番号 24 16. 4 28 6 25 J 6 12 18 24 130 36 42 26 34 8 29 31 19 11 (2) セルC2の数式をC3~C43 の範囲にコピーするとき、セルC2に入力する数式を答えなさい。 (3) セルE16の数式をE17 ~E22、F16~ J 22 の範囲にコピーするとき、セルE16 に入力する数式を答え なさい。 LOOKUP(E4,$A$2:$($43、3)

未解決 回答数: 1