学年

教科

質問の種類

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

赤でマークしたところについてです。 表6の左半分の先頭ビットが0の部分と、右半分の先頭ビットが1の部分という意味がわかりません。表のうちのどこのことを言っていますか? ちなみに先頭ビットの意味はわかります!

文字の形に応じて文字の幅 が異なるプロポーショナル フォントがある。 will Will 等幅フォント (上)とプロ ポーショナルフォント (下) ① ASCIIコードは, 1963年に 制定され,現在, 国際標準化機 構 (ISO (アイエスオー), International Organization for Standardization) が ISO 646 として規定してい る。 表6 JIS X0201 文字コード 下位 の桁 0000 0 0001 1 0010 2 0011 3 0100 4 0101 0110 20111 1000 8 1001 1010 A 5 154 6 上位 0000 0001 0010 0011 0100 0101 0110 0111 の桁 0 2 3 4 6 7 7 9 1011 B 1100 C 1101 D 1110 E 1111 F 使われる記号(省略) コンピュータを制御するために 1 66 # $ % & * SP 0 @ ! 1 A + 第2編 コミュニケー -234567 8-9 . : < ほんさんぎょうき ドの体系が JJapanese Industrial Standards エックス 表6 に, 標準的な文字コードの一例として, 日本産業規格(JIS で定められたJIS X020」 という日本語文字コードを示す。 この = 文字コードの左半分(先頭のビットのコードの部分)は、 > ? スキ ASCIIコード (ASCII) とよばれる文字コードと同じで、古くから American Standard Code for Information Interchange 異字や数字を表すのに用いられてきた。 表の右半分先頭のピッ トは、日本語のカタカナなどを表すのに用いられている。 表6の上位と 下位を組みあ |わせる 上位 2進法 : 01000011 (2) 3 (16) 16:4 図9 「CAT」 という文字列のデジタル表現 B C D E F G H I J K L M OIZI N 5 | PQRSTUVWXYZ ¥ < abcdefgh - Cong SEDICA 下位 i j klmno P q r S t u V W { X y Z 上位 下位 01000001 (2) 4 1 (16) DEL この 1000 1001 8 9 未定義 未定義 1010 A 未定義 「 1 J . ヲ ア イ ウ I オヤユ 3 1011 B ア イ ウ I オ カ キ ク ケ コ サ + SP・・・スペース DEL・・・文字消去 1110 1111 F 1100 1101 タ チ ナニヌ ミムメモヤユヨラリルレロワン 未定義 未定義 ツ テ ト ネ ノ 2\ ヒ T 上位 下位 0101 0100 [2] 5 4 (16) フ く

解決済み 回答数: 1
情報: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