湘南工科大学
Download
1 / 10

湘南工科大学情報工学科 准教授 小林 学 - PowerPoint PPT Presentation


  • 122 Views
  • Uploaded on

湘南工科大学. 2014 年 1 月 21 日. 情報 理論2. 湘南工科大学情報工学科 准教授 小林 学. [ プログラミング 課題 1 ] 授業ホームページの課題プログラムに対し, max と pos を求める箇所を以下のように MaxMatch () 関数にしなさい.(変数は自分で考えること). Page 2. #include< stdio.h > #define MADO 8 int Dat [2*MADO]={0,1,0,1,2,0,2,0,0,1,2,0,1,2,1,-1 };

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '湘南工科大学情報工学科 准教授 小林 学' - jacqui


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

湘南工科大学

2014年1月21日

情報理論2

湘南工科大学情報工学科

准教授 小林 学


[プログラミング課題1]授業ホームページの課題プログラムに対し,max と posを求める箇所を以下のようにMaxMatch()関数にしなさい.(変数は自分で考えること)

Page 2

#include<stdio.h>

#define MADO 8

intDat[2*MADO]={0,1,0,1,2,0,2,0,0,1,2,0,1,2,1,-1};

int Max, Pos; //追加(先頭は大文字.以下も同じ!!)

intIcchicho(int n){・・同じ・・  }

void Shift(int n){・・同じ・・}

void MaxMatch(void){ // 追加

ここへコピー!!

}

void main(void){

while(1){

max=0; pos=0;

for(i=0; i<MADO; i++){・・同じ・・}

printf("(%d,%d,%d)\n",pos,max,Dat[MADO+max]);

if(Dat[MADO+max]==-1) break;

Shift(max+1);

}

}

ここの内容をMaxMatch()関数にする


Page 3

LZ77符号プログラムにおける配列の初期化

Dat

中身を0にする

ファイルから読み込む

中身を0にする

ファイルから読み込む

1バイトずつ c に読み込む

配列Datに c を挿入


Page 4

[プログラミング課題2] 以下のプログラムを作成し,実行しなさい.

(注:課題1のプログラムは後で利用するので,とっておくこと)

1バイトずつ読み込む


Page 5

配列へのファイル読み込み関数 FileRead作成

[例] 引数start=11

start

Dat

位置 start 以降にファイル

内容を読み込む関数


Page 6

[プログラミング課題3] 以下のプログラムの???の箇所を追加し,実行しなさい.

課題2を参考に,ここを作成!!


[プログラミング課題4] 課題1のプログラムに,課題3のFileRead関数を追加し,main関数を以下としなさい.

Page 7

(注)このプログラムは終了しない!

追加

追加

ここは自分で考えること!!


Page 8

ファイルの終わりを検出するには以下を利用する

  • ファイル読み込み関数 freadの戻り値は,読み込んだシンボル数

  • ファイルの終端の場合は,「0」を返す

[プログラミング課題5] 課題4のプログラムの FileRead関数を以下のように修正しなさい.(ちゃんとプログラムが終了するようになる)

ファイルの終端の場合「-1」を追加


[プログラミング課題6] 課題5のプログラムの画面出力を,ファイルにバイナリ形式で出力するプログラムを作成しなさい

Page 9

追加

追加

追加.この関数を自分で作成すること

追加


Page 10

[プログラミング課題6のヒント]

int型の変数(4バイト)を

unsigned char 型(1バイト)に変換(キャストという)

ここを考える!


ad