いろんな言語で宿題 第四編
at TECH
38:デフォルトの名無しさん
10/03/16 15:37:01
>>37 (>>36) 訂正
% Prolog 'Whitespace'/2の定義を間違えた。それから述語名を入れ替えます。
pgmファイルヘッダの読み取り(_pgmファイル,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル) :-
open(_pgmファイル,read,Input,[type(binary)]),
pgmヘッダ(Input,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル),
close(Input),!.
pgmファイルヘッダ(Input,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル) :-
マジックナンバー(Input,_マジックナンバー),
画像の幅方向サイズ(Input,_画像の幅方向サイズ),
画像の幅方向サイズ(Input,_画像の幅方向サイズ),
画像の高さサイズ(Input,_画像の高さサイズ),!.
マジックナンバー(Input,_マジックナンバー) :-
findall(Y,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;char_code(Y,X))),L),
concat_atom(L,_マジックナンバー),!.
画像の幅方向サイズ(Input,_画像の幅方向サイズ) :-
findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L),
number_codes(_画像の幅方向サイズ,L),!.
画像の高さサイズ(Input,_画像の高さサイズ) :-
findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L),
number_codes(_画像の高さサイズ,L),!.
画像の最大階調レベル(Input,_画像の最大階調レベル) :-
findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L),
number_codes(_画像の最大階調レベル,L),!.
'Whitespace'(X) :- X < 48.
'Whitespace'(X) :- X > 57.
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5499日前に更新/23 KB
担当:undef