データ構造とアルゴリズム論 第3章 ファイルを用い たデータ入出力 平成27年5月1日 森田 彦 理解度チェック1 【流れ図1 】は、どの様な処理を行うアルゴリズムでしょうか? 1. 1~10までの和SUM=1+2+・・・+10を求め表示する。 2.10までの偶数の和SUM=2+4+・・・+10を求め表示する。 3.2を10回加えた和SUM=2+2+・・・+2(=2×10)を求め表 示する。 4.SUM=2+3+4+・・・と、1ずつ増やして加え続け、SUM の値が10を超えたときの値を求め表示する。 理解度チェック1 解答 開始 i SUM SUM←0 0 i←0 2 0 + 0=0 4 0 + 2=2 6 2 + 4=6 8 6 + 6=12 10 12+ 8=20 12 20+10=30 i≦10 No Yes SUM←SUM+i SUMを表示 i←i+2 終了 0 終了! 2.10までの偶数の和SUM=2+4+・・・+10を求め表示する。 理解度チェック2 【流れ図1 】のアルゴリズムを【流れ図2 】の様に変更 しました((「i←i+2」と「SUM←SUM+i」の順序を入れ替 えています)。この時、表示されるSUMの値は、変更前 と比べてどの様に変わりますか? 1.小さくなる 3.大きくなる 2.変わらない 理解度チェック2 解答 開始 i SUM SUM←0 0 i←0 2 0 + 2=0 4 2 + 4=6 6 6 + 6=12 8 12+ 8=20 10 20+10=30 i≦10 No Yes i←i+2 SUMを表示 SUM←SUM+i 0 12 終了 30+12=42 終了! 3.大きくなる 理解度チェック3 【流れ図1 】はループ端記号を用いると【流れ図 3 】の様に記述できます。空欄に入る式は次の いずれですか? 1.0,1,10 3.1,1,10 2.0,2,10 4.1,2,10 理解度チェック3 解答 開始 SUM←0 1.0,1,10 3.1,1,10 2.0,2,10 4.1,2,10 ループ i: 0,2,10 SUM←SUM+i ループ SUMを表示 終了 0 2 10 i : 初期値, 増分, 終値 理解度チェック4 【流れ図1 】はループ端記号を用いると【流 れ図4 】の様に記述することもできます。空 欄に入る式は次のいずれですか? 1.i≧10 4. i<10 2. i>10 5. i≦10 3. i=10 理解度チェック4 解答 開始 SUM←0 i←0 ループ i>10 1.i≧10 3. i=10 5. i≦10 2. i>10 4. i<10 空欄に入るのは終了条件 SUM←SUM+i i←i+2 ループ SUMを表示 終了 iの値が10を超えたら終わり → iの値が10を超えるまで 理解度確認テストについて 科目のHP http://ext-web.edu.sgu.ac.jp/HIKO/Algo/ に理解度確認テストを掲載しています。 各自、合格点をとるまで繰り返し受験して おいて下さい。 テストには、この問題をアレンジして出題 します。→理解度確認テストができていな いとテストに対応できません。 本章(本日)の学習のねらい ① データをファイルへ出力する(書き込む) 方法を学習する。 ② データをファイルから入力する(読み込 む)方法を学習する。 注意:ファイルを使ったデータ入出力は今後 の課題で頻繁に用います。 ファイルを使った大量データの処理はコンピュータを 使った典型的な処理 学習に当たって 本日の学習内容は、Java言語によるファイル入 出力の記述方法(文法事項)が主です。新しい アルゴリズムは出てきません。 その方法の詳細はプリントにまとめました。→プ リントをよく読んでください。 今後頻繁に用いるので、プログラムの動作を確 認し、確実に使用できるようにしておいてくださ い。 本日のプリントは2週分(5/1・5/15)です。 学習のポイント-1 3-1節~3-2節 ファイルへの出力 ファイルへの書きデータの書き込み方を学習 します。 まず、プリント通りにプログラムを作成し動作を 確認して下さい。 その後、解説を読んで意味を理解して下さい。 必ず解説をよく読むこと。→ p.35~40を よく読んでいなければ3-2節以降を理解できませ ん。 学習のポイント-2 3-3節~3-5節 ファイルからの入力 ファイルからのデータの読み込み方を学 習します。 3-1~3-2節同様、まずプリント通りにプロ グラムを作成し動作を確認して下さい。 その後、解説を読んで意味を理解して下 さい。 特に【基礎課題3-5】(p.51)は良く理解して おいて下さい。→ 今後頻繁に用います。 【応用課題3-C】 ファイルscore.txt <処理内容> ファイル「score.txt」からデータ (テストの得点)を読み込んで、 平均点等を求める。 デモンストレーション 学習のポイント-3 3-6節 ファイル入出力の応用 ここの【応用課題3-D】~【応用課題3-F】 が自力で解ければ、これまでの理解度は OKです。→各自、力試しのつもりで取り 組んで下さい。 3-4節の【応用課題3-A】~ 【応用課題3C】も実用的な課題です。ぜひチャレンジ して下さい。 本日のプリントは2週分(5/1・5/15)です。 テストのアナウンス 5/29に1回目のテストを実施します。 要領は「プログラミング」と同じペーパーテスト 形式です。(テキスト、プリント参照可) 試験欠席の場合は、単位を取得できません。 →十分注意してください。 範囲は第4章(5/22学習)までです。 成績=2回のテストの平均点+応用課題数 -未提出基礎課題数 HP上の理解度確認テストをやってお くこと 学習に当たって 本日は3-4節(p.54)まで終了することを目 標にして下さい。→【応用課題3-C】まで終了 した人は退出して結構です。 第3章の課題は5/15の演習終了時までに 確実に終了するようにして下さい。→遅れ るとテストに差し支えます。 5/15にも、講義の始めに、理解度チェック (第2章の内容)を行います。→テストに備 えて復習しておいて下さい。
© Copyright 2025 ExpyDoc