データ構造とアルゴリズム論
第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章の内容)を行います。→テストに備
えて復習しておいて下さい。
ダウンロード

スライド(5/1)