PowerPoint プレゼンテーション

湘南工科大学
2013年12月3日
情報理論2
湘南工科大学情報工学科
准教授 小林 学
[例題1] ファイルへの出力プログラム
Page 2
#include<stdio.h>
void main(void){
int i, Data[8]={5, 2, 3, 8, 1, 4, 7, 6};
開くファイル名
テキストの書込は「w」
FILE *fp;
fp=fopen("data.txt","w");
for(i=0;i<8;i++) fprintf(fp,"%d\n",Data[i]);
printfとほぼ一緒
}
fclose(fp);
[プログラミング課題1] 例題1のプログラムを作成し,提出しなさい.
[実行結果]
「data.txt」ファイルの中身は以下
Page 3
[例題2] ファイルからの入力プログラム
#include<stdio.h>
void main(void){
int i, Data[8];
開くファイル名
FILE *fp;
Page 4
テキストの読込は「r」
fp = fopen("data.txt","r");
for(i=0;i<8;i++) fscanf(fp,"%d", &Data[i]);
fclose(fp);
scanfとほぼ一緒
}
for(i=0;i<8;i++) printf("%d\n", Data[i]);
[プログラミング課題2] 例題2のプログラムを作成し,提出しなさい.
[紙に書く課題1] ファイルへの出力プログラム
Page 5
以下のプログラムを実行し,おおよその実行時間(秒)とファイル
「data.txt」のファイルサイズを演習の紙に書きなさい.
[紙に書く課題2] ファイルからの入力プログラム
Page 6
以下のプログラムを実行し,おおよその実行時間(秒)と画面出力を
演習の紙に書きなさい.ただし前ページの結果の「data.txt」をフォ
ルダに入れておくこと.
[例題3] ファイルへの出力プログラム(バイナリ)
Page 7
#include<stdio.h>
void main(void){
int Data[8]={5, 2, 3, 8, 1, 4, 7, 6};
開くファイル名
バイナリの書込は「wb」
FILE *fp;
fp=fopen("data.dat","wb");
配列 Data の先頭から 8 個分を一気にファイルにバイナリ出力
fwrite(Data,
}
fclose(fp);
4,
1データのバイト数
int の場合は 4
double の場合は 8
8,
fp);
一気に書き込む
データ数
[プログラミング課題3] 例題3のプログラムを作成し,提出しなさい.
[実行結果]
Page 8
「data.dat」ファイルの中身をテキストエディタで開くと以下
バイナリファイルなので,テキストエディタでは見えない!!!
見えたとしてもめちゃくちゃな文字列になる
(画像ファイルをテキストエディタで開くようなもの)
[例題4] バイナリファイルからの入力プログラム
#include<stdio.h>
void main(void){
int i, Data[8];
開くファイル名
FILE *fp;
Page 9
バイナリの読込は「rb」
fp = fopen("data.dat","rb");
バイナリファイルから配列 Data の先頭に 8 個分を一気に読み込む
fread(Data,
fclose(fp);
}
4,
1データのバイト数
int の場合は 4
double の場合は 8
8,
fp);
一気に読み込む
データ数
for(i=0;i<8;i++) printf("%d\n", Data[i]);
[プログラミング課題4] 例題4のプログラムを作成し,提出しなさい.
[紙に書く課題3] ファイルへの出力プログラム
Page 10
以下のプログラムを実行し,おおよその実行時間(秒)とファイル
「data.dat」のファイルサイズを演習の紙に書きなさい.
[紙に書く課題4] ファイルからの入力プログラム
Page 11
以下のプログラムを実行し,おおよその実行時間(秒)と画面出力を
演習の紙に書きなさい.ただし前ページの結果の「data.dat」をフォ
ルダに入れておくこと.
Page 12
[紙に書く課題5]
以下のように,テキスト形式のファイル出力,ファイル入力と,バイ
ナリ形式でのファイル出力,ファイル入力のそれぞれの長所と短所
を書きなさい
[テキスト形式]
長所:
短所:
[バイナリ形式]
長所:
短所:
[紙に書く課題6]
授業ホームページから「kadai.dat」のバイナリファイルをダウンロー
ドし,このファイルの中身を先頭から10個分を紙に書きなさい.
なお,このファイルは int 型(4バイト)の数値が100個分書き込まれ
ている.
[プログラミング課題5]
Page 13
以下のプログラムを改良して,素数のみファイル(prime.txt)に出力
するプログラムを作成しなさい.実行結果を次ページに示す.
[実行結果]
「prime.txt」ファイルの中身は以下
Page 14
[プログラミング課題6]
Page 15
以下のプログラムを改良して,素数のみファイル(prime.txt)にテキ
スト出力するプログラムを作成しなさい.実行結果を次ページに示
す.
[プログラミング課題7]
Page 16
課題5で作成した「prime.txt」から,配列 int data[10] にデータを
10個分読み込んで,それぞれを画面に表示するプログラムを作成
し,提出しなさい.