学年

教科

質問の種類

情報: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 高校生

情報の「データの配列から最大値を考えるプログラミング」です。解説を見ても意味が理解できません。解説していただきたいです!

テーマ2 データの配列から最大値を考えるプログラミング 例題:次のプログラムAについて、以下の問いに答えよ。 ただし、配列の添字は0から 始まるものとする。 [0) T.630 [1]ndoor (C 美月 (6) LLTokuten[i] = temp (1) Tokuten = [57,70,65,821 (2) を1から3まで1ずつ増やしながら繰り返す: (3) (4) || temp = Tokuten [0] (5) || Tokuten[0]= Tokuten [i] i 〈プログラムA> (aa 問1 (2) 行目を実行する前の Tokuten [0], Tokuten [1], Tokuten [2], Tokuten [3] の値をそれぞれ求めよ。 1 2 3 Tokuten [0] < Tokuten [i] 512:0) $100 > [0]medusio (1 of 1500 Telan TOYOT 問2 表1も使いながら、以下の(ア)~ (ウ), (カ)~(コ)に当てはま る数を求めよ。 また、(エ)・(オ)は適当なものを選べ。 i=1のとき, Tokuten [0] < Tokuten [1] が成り立つ。 MUEVE (4)行目を実行すると変数 temp には (ア)が代入され,その後, (5), (6)行目を 実行することで Tokuten [0] (イ), Tokuten [1] には (ウ)が代入さ れる。 i=2のとき, Tokuten [0] ・ > ) Tokuten [i] であるから, (4), (5) (6) 行目は(オ実行される ・ 実行されない)。 さらに,i=3のときの処理を終えた後, 配列 Tokuten の要素は[(カ), (キ), (ク),(ケ)] となり, 変数 temp に代入されている数は コ) コ である。 57 (イ) (カ) ITE OF ED 027 表1 配列 rokuten と変数 temp の変化 Tokuten [0] Tokuten [1] Tokuten [2] Tokuten [3] 65 982 70 (3) (キ) cepler (or [S Budo! (ク) [2] 0330E=1.011 SudoT OT (ケ) temp に近づ (ア) (コ) POINT ●配列の構造を正しく理解する。 ●条件分岐(もし・・・)について, 実行されるか・実行されないかを正確に判断する。 ●プログラムの一つずつの手順を丁寧に解読していく。 SM

回答募集中 回答数: 0
情報:IT 高校生

(2)〜(6)の解き方を教えてほしいです😭

思3 ある仮想コンピュータについて,次の問いに答えなさい。 なお、 主記憶装置には図のような命令が 1~5番地に, データが 10~11番地にそれぞれ保存されているものとする。 また, 仮想 コンピュータの命令は,p.32の側注に準ずるものとする。 (1) プログラムカウンタが「2」のとき, 命令レジスタに取り出される命令は何 か答えなさい。 (2) プログラムカウンタが「3」のとき, 命令が実行されるとデータレジスタA の内容は実行前と実行後ではどのよう に変化するか答えなさい。 (3) 12番地にデータが保存されるのは,プログラムカウンタがい くつのときの命令が実行されたときか答えなさい。 (4) このプログラムを実行した結果, 12番地に保存されるデータ は何か答えなさい。 (5) このプログラムは,何を計算したものか答えなさい。 (6) 3番地に保存されている命令を 「ADD B,A」 のように書き換え ると,プログラムを実行した結果は正しくならない。 正しい結 果を得るためには、何番地の命令をどのように書き換えればよ いか答えなさい。 ただし、3番地の命令はもとに戻してはいけ ない。 READ A, (10) READ B, (11) ADD A,B | WRITE (12), A STOP 2 6 番地 12345 10 11 12

回答募集中 回答数: 0
1/7