亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tax.pro

?? prolog開發(fā)工具
?? PRO
字號(hào):
%--------------------------------------------------------------
% TAX.PRO - sample tax application
%
% Copyright 1987-1995 Amzi! inc.
% permission granted to use this code as you see fit
%
% For details on this application, see the Amzi! Technote
% TAXES.TXT.
%
% This is the source code for the Prolog version of Tax program
% for a subset of US federal taxes in 1987
%

main :-
   consult('tax.dat'),
   tax.

tax :-
	getl(1040,63,X),
	X > 0,
	nl,write('*** good news : '),
	write(X),nl,!.
tax :-
	getl(1040,65,X),
	X >= 0,
	nl,write('*** bad news : '),
	write(X),nl,!. 


%------------
% form 1040
%------------

%----- income -----

line(1040,'6a','exemption self',1).
line(1040,'6b','exemption spouse',1) :-
	status(married_joint).
line(1040,'6b','',0).
line(1040,'6c','dependent children',X) :-
	children(X).
line(1040,'6e','total dependents',X) :-
	sum_lines(1040,['6a','6b','6c'],X).

line(1040,7,'wages salaries etc',X) :-
	wages(X).
line(1040,8,'interest income',X) :-
	getl(b,3,X).
line(1040,13,'business profit or loss',X) :-
	getl(c,31,X).
line(1040,22,'total income',X) :-
	sum_lines(1040,[7,8,13], X).


%----- adjusted gross income -----

line(1040,25,'health insurance',X) :-
	health_insurance(A),
	B is integer( 0.25 * A + 0.5 ),
	getl(c,31,C),
	minimum([B,C],X).
line(1040,30,'adjusted gross income',X) :-
	getl(1040,22,X).

%----- tax computation -----

line(1040,31,'adjusted gross income',X) :-
	getl(1040,30,X).
line(1040,'33a','itemized deductions',X) :-
	getl(a,26,X).
line(1040,'33b','',2540) :-
	status(single).
line(1040,'33b','',3760) :-
	status(married_joint).
line(1040,'33b','',1880) :-
	status(married_separate).
line(1040,34,'less itemized deductions',X) :-
	getl(1040,'33a',A),
	getl(1040,'33b',B),
	A > B,
	line_dif(1040,31,'33a',X), !.
line(1040,34,'less standard deductions',X) :-
	line_dif(1040,31,'33b',X).
line(1040,35,'dependent deductions',X) :-
	getl(1040,'6e',D),
	X is 1900 * D.
line(1040,36,'taxable income',X) :-
	line_dif(1040,34,35,X).
line(1040,37,'tax computation',X) :-
	getl(1040,36,A),
	compute_tax(A,X).
line(1040,39,'',X) :-
	getl(1040,37,X).
	
%----- other taxes -----

line(1040,53,'total taxes',X) :-
	getl(1040,39,X).

%----- payments -----

line(1040,54,'withheld',X) :-
	withheld(X).
line(1040,55,'estimated paid',X) :-
	estimated_paid(X).
line(1040,61,'total payments',X) :-
	sum_lines(1040,[54,55],X).

%----- refund or amount owed -----

line(1040,63,'refund',X) :-
	getl(1040,53,Owed),
	getl(1040,61,Paid),
	X is Paid - Owed,
	X > 0.
line(1040,63,'refund',0).
line(1040,65,'pay',X) :-
	getl(1040,53,Owed),
	getl(1040,61,Paid),
	X is Owed - Paid,
	X >= 0.

%-------------
% schedule a
%-------------

line(a,2,'medical fees',X) :-
	medical_fees(A),
	getl(1040,25,B),
	X is A - B.
line(a,3,'7.5% of income',X) :-
	getl(1040,31,A),
	X is integer(0.075 * A + 0.5).
line(a,4,'total medical',X) :-
	line_dif(a,2,3,X).

line(a,5,'state taxes',X) :-
	getl(mass,50,X).
line(a,6,'real estate taxes',X) :-
	real_estate_taxes(X).
line(a,7,'excise taxes',X) :-
	excise_taxes(X).
line(a,8,'total taxes',X) :-
	sum_lines(a,[5,6,7],X).

line(a,'9a','mortgage interest',X) :-
	mortgage_interest(X).
line(a,'12a','personal interest',X) :-
	personal_interest(X).
line(a,'12b','',X) :-
	getl(a,'12a',A),
	X is integer( 0.65 * A + 0.5 ).
line(a,13,'total interest',X) :-
	sum_lines(a,['9a','12b'],X).

line(a,26,'total itemized',X) :-
	sum_lines(a,[4,8,13],X).

%-------------
% schedule b
%-------------

line(b,2,'interest accounts',table(int_inc_tab)).
line(b,3,'total interest income',X) :-
	getl(b,2,_),
	interest_income(X).

%-------------
% schedule c
%-------------

line(c,'1a','gross receipts',X) :-
	gross_receipts(X).
line(c,'1b','returns',X) :-
	returns(X).
line(c,'1c','receipts',X) :-
	line_dif(c,'1a','1b',X).
line(c,2,'cost of goods',X) :-
	cost_of_goods(X).
line(c,3,'gross profit',X) :-
	line_dif(c,'1c',2,X).
line(c,4,'other income',X) :-
	other_income(X).
line(c,5,'gross income',X) :-
	sum_lines(c,[3,4],X).

line(c,6,'advertising',X) :- 
	deduct('advertising',X).
line(c,8,'bank charges',X) :-
	deduct('bank charges',X).
line(c,9,'car expenses',X) :-
	deduct('car expenses',X).
line(c,12,'depreciation',X) :-
	getl(4562,5,A),
	getl(4562,11,B),
	X is A + B.
line(c,13,'dues & pubs',X) :-
	deduct('dues & pubs',X).
line(c,16,'insurance',X) :-
	deduct('insurance',X).
line(c,20,'office expense',X) :-
	deduct('office expense',X).
line(c,22,'rent',X) :-
	deduct('rent',X).
line(c,'26a','travel',X) :-
	deduct('travel',X).
line(c,'26b','meals & entertainment',X) :-
	deduct('meals & entertainment',X).
line(c,'26c','meals * 20%',X) :-
	getl(c,'26b',A),
	X is integer( 0.20 * A + 0.05 ).
line(c,'26d','meals & entertainment',X) :-
	line_dif(c,'26b','26c',X).
line(c,27,'utilities & phone',X) :-
	deduct('utilities & phone',X).

line(c,30,'total deductions',X) :-
	sum_lines(c,[6,8,9,12,13,16,20,22,'26a','26d',27],X).
line(c,31,'net profit',X) :-
	line_dif(c,5,30,X).
	
%-------------------------
% form 4562 depreciation
%-------------------------

line(4562,2,'listed property table',table(listed_prop_tab)).
line(4562,3,'listed property',X) :-
	getl(4562,2,_),
	depreciation_prop_179(X).
line(4562,5,'179 election',X) :-
	getl(4562,3,X),
	X =< 10000 .
line(4562,5,'179 election',_) :-
	write('*** error - 179 election on 4562 > 10000'),nl.
	
line(4562,11,'depreciation',X) :- 
	depreciation(X).

%-----------------
% mass form
%-----------------

line(mass,50,total,X) :-
	mass_tax(X).

%------------------
% tax computation
%------------------

compute_tax(A,Tax) :-				% adjust for tax table calc
	B is integer(A / 50),
	C is B * 50 + 25,
	comput_tax(C,Tax).

comput_tax(A,Tax) :-
	status(single),
	rate_single(A,T), !,
	Tax is integer(T + 0.5).
comput_tax(A,Tax) :-
	status(married_joint),
	rate_joint(A,T), !,
	Tax is integer(T + 0.5).
comput_tax(A,Tax) :-
	status(married_separate),
	rate_separate(A,T), !,
	Tax is integer(T + 0.5).

rate_single(A,T) :-
	A =< 1800,
	T is 0.11 * A.
rate_single(A,T) :-
	A =< 16800,
	T is 198 + 0.15 * (A - 1800).
rate_single(A,T) :-
	A =< 27000,
	T is 2448 + 0.28 * (A - 16800).
rate_single(A,T) :-
	A =< 54000,
	T is 5304 + 0.35 * (A - 27000).
rate_single(A,T) :-
	T is 14754 + 0.385 * (A - 54000).
	
rate_joint(A,T) :-
	A =< 3000,
	T is 0.11 * A.
rate_joint(A,T) :-
	A =< 28000,
	T is 330 + 0.15 * (A - 3000).
rate_joint(A,T) :-
	A =< 45000,
	T is 4080 + 0.28 * (A - 28000).
rate_joint(A,T) :-
	A =< 90000,
	T is 8840 + 0.35 * (A - 45000).
rate_joint(A,T) :-
	T is 24590 + 0.385 * (A - 90000).

rate_separate(A,T) :-
	A =< 1500,
	T is 0.11 * A.
rate_separate(A,T) :-
	A =< 14000,
	T is 165 + 0.15 * (A - 1500).
rate_separate(A,T) :-
	A =< 22500,
	T is 2040 + 0.28 * (A - 14000).
rate_separate(A,T) :-
	A =< 45000,
	T is 4420 + 0.35 * (A - 22500).
rate_separate(A,T) :-
	T is 12295 + 0.385 * (A - 45000).


%--------------------------
% database, reports, etc.
%--------------------------

forms([1040,a,b,c,4562,mass]).

guess(X) :-
	assertz( unsure(X) ).

getl(Form,Line,Amount) :-
	lin(Form,Line,_,Amount), !.
getl(Form,Line,Amount) :-
	line(Form,Line,Desc,Amount),
	assertz( lin(Form,Line,Desc,Amount) ), !.
getl(Form,Line,Amount) :-
	nl,
	write('*** getl failure ***'),
	write_list([Form,Line,Amount]),
	nl.

report :-
	forms(L),
	rep(L),
	report(guess).

rep([]).
rep([H|T]) :- report(H), rep(T).

report(guess) :-
	rep_guess.
report(Form) :-
	nl,
	write('----- '),write(Form),write(' -----'),nl,nl,
	lin(Form,Line,Desc,Amount),
	process(Line,Desc,Amount),
	fail.
report(_).

process(Line,Desc,table(T)) :-
	write(Line),
	tab(5),write(Desc),nl,
	T, !.
process(Line,Desc,Amount) :-
	write(Line),
	tab(5),write(Desc),
	tab(45),write(Amount),nl.

rep_guess :-
	nl,
	write('----- '),write('Guesses'),write(' -----'),nl,nl,
	unsure(G),
	write(G),nl,
	fail.
rep_guess.

clear :-
	retractall( lin(_,_,_,_) ),
	retractall( unsure(_) ).

clear(guess) :-
	retractall( unsure(_) ).
clear(Form) :-
	retractall( lin(Form,_,_,_) ).

%------------
% utilities
%------------

write_list([]) :- nl.
write_list([H|T]) :-
	write(H),tab(1),
	write_list(T).

line_dif(F,A,B,X) :-
	getl(F,A,AX),
	getl(F,B,BX),
	X is AX - BX.

sum_lines(F,L,X) :- sumlin(F,L,0,X).

sumlin(F,[],X,X).
sumlin(F,[H|T],X,Y) :-
	getl(F,H,A),
	XX is X + A,
	sumlin(F,T,XX,Y).

list_sum(L,X) :- ls(L,0,X).

ls([],X,X).
ls([Amount|T],X,Y) :-
	XX is X + Amount,
	ls(T,XX,Y).

minimum([H|T],X) :-
	min(T,H,X).

min([],X,X).
min([H|T],M,X) :-
	H < M,
	min(T,H,X).
min([H|T],M,X) :-
	min(T,M,X).                                                                                                  

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品高潮呻吟久久| 蜜桃在线一区二区三区| 亚洲成av人在线观看| 国产一区二区精品在线观看| 精品污污网站免费看| 久久久精品综合| 日本不卡高清视频| 91久久人澡人人添人人爽欧美| 久久理论电影网| 免费观看一级欧美片| 欧美日韩国产美女| 亚洲蜜桃精久久久久久久| 国产成人免费在线观看| 精品国产乱码久久久久久久久 | 最新国产の精品合集bt伙计| 蜜桃视频一区二区三区在线观看| 91精品1区2区| 国产精品电影一区二区| 国产69精品一区二区亚洲孕妇| 日韩欧美国产午夜精品| 丝袜脚交一区二区| 欧美日韩高清一区| 亚洲成人一区二区| 天堂成人免费av电影一区| 欧美这里有精品| 中文一区在线播放| 韩国在线一区二区| 欧美日韩成人在线一区| 亚洲天天做日日做天天谢日日欢 | 欧美日韩国产免费一区二区| 国产欧美一区二区三区鸳鸯浴| 亚洲v中文字幕| 99国产欧美久久久精品| 国产亚洲欧美激情| 激情六月婷婷久久| 日韩欧美一区在线| 亚洲v中文字幕| 欧美综合欧美视频| 亚洲欧美激情插 | 欧美一区二区大片| 亚洲国产精品一区二区www| 99久久精品国产麻豆演员表| 久久久久久99精品| 亚洲成人免费在线观看| 91原创在线视频| 国产亚洲女人久久久久毛片| 久久国产麻豆精品| 日韩一区二区高清| 久久99精品久久久久婷婷| 91精品国产高清一区二区三区| 亚洲电影第三页| 欧美在线观看视频在线| 亚洲国产精品精华液网站| 91极品美女在线| 夜夜揉揉日日人人青青一国产精品| 99久久伊人精品| 一区二区三区四区激情 | aaa欧美大片| 最新中文字幕一区二区三区 | 亚洲va国产天堂va久久en| 91久久精品国产91性色tv| 亚洲主播在线播放| 欧美裸体一区二区三区| 久久精品国产99国产| 久久综合色一综合色88| 成人午夜碰碰视频| 亚洲精品视频免费观看| 欧美日韩中文另类| 麻豆精品在线播放| 欧美色涩在线第一页| 婷婷国产v国产偷v亚洲高清| 欧洲av一区二区嗯嗯嗯啊| 亚洲精品一二三| 欧美四级电影在线观看| 亚洲精品成a人| 欧美亚洲一区二区三区四区| 日韩中文欧美在线| 国产电影精品久久禁18| 色天使色偷偷av一区二区| 五月婷婷另类国产| 精品国产乱码久久久久久浪潮| 99这里只有久久精品视频| 欧美高清视频一二三区| 国产精品乱码一区二三区小蝌蚪| 亚洲国产欧美日韩另类综合 | 欧美日韩一区成人| 国产中文字幕精品| 亚洲欧美日韩国产中文在线| 在线免费观看视频一区| 亚洲黄色av一区| 在线播放中文一区| 国产麻豆日韩欧美久久| 欧美一区二区三区四区久久| 免费观看成人鲁鲁鲁鲁鲁视频| 久久久av毛片精品| 欧美日韩精品福利| 成人av电影在线| 日本aⅴ精品一区二区三区| 亚洲欧美一区二区在线观看| 日韩三级精品电影久久久| 99re66热这里只有精品3直播 | 黄色小说综合网站| 亚洲国产一区在线观看| 中文字幕av一区 二区| 日韩三级.com| 欧美日韩亚洲国产综合| 成人免费视频国产在线观看| 蜜桃视频第一区免费观看| 亚洲视频一区二区在线| 精品国产亚洲在线| 欧美日韩aaa| 色欲综合视频天天天| 国产+成+人+亚洲欧洲自线| 麻豆精品新av中文字幕| 亚洲午夜三级在线| 亚洲欧美一区二区三区国产精品| 精品国产人成亚洲区| 欧美日本在线观看| 欧美性猛片aaaaaaa做受| av午夜一区麻豆| 波多野结衣视频一区| 日韩av电影一区| 亚洲一区二区三区免费视频| 国产午夜三级一区二区三| 久久这里只有精品首页| 精品伦理精品一区| 欧美一激情一区二区三区| 欧美三级电影网| 欧美日韩在线三区| 欧美日韩精品一区二区三区| 欧洲日韩一区二区三区| 色综合久久88色综合天天| 色综合天天做天天爱| 成人免费黄色大片| 成人精品电影在线观看| 成人的网站免费观看| 99久久精品费精品国产一区二区| av电影天堂一区二区在线 | 国产精品每日更新在线播放网址| 国产清纯在线一区二区www| 久久久久久久久久久久久夜| 久久精品无码一区二区三区| 国产午夜精品久久久久久久| 国产日韩综合av| 亚洲欧美日韩中文字幕一区二区三区| 日韩美女视频一区二区| 一区二区高清视频在线观看| 五月婷婷综合在线| 午夜视频一区二区| 日韩电影在线观看电影| 激情五月婷婷综合| 国产高清视频一区| 99久久久免费精品国产一区二区| 在线影视一区二区三区| 欧美一区二区三区白人| 国产午夜精品福利| 亚洲精品国产a| 美女久久久精品| 国产精品一区免费视频| 99国产精品久久久久久久久久| 欧美视频中文字幕| 欧美成人一区二区| 国产精品久久毛片av大全日韩| 中文字幕欧美国产| 自拍av一区二区三区| 亚洲最快最全在线视频| 日韩综合小视频| 懂色av一区二区三区免费观看| 色狠狠综合天天综合综合| 欧美精品乱码久久久久久| 久久久www成人免费无遮挡大片| 亚洲男人天堂av| 免费看黄色91| 色诱视频网站一区| 久久综合久久综合久久综合| 一区二区三区四区激情| 国产精品一区2区| 欧美视频自拍偷拍| 中文字幕成人av| 视频一区二区三区中文字幕| 丁香天五香天堂综合| 欧美丰满嫩嫩电影| 亚洲视频网在线直播| 国精产品一区一区三区mba视频| 国产麻豆精品95视频| 丁香婷婷综合五月| 欧美精品一区二区三区蜜桃| 亚洲一区二区三区四区在线观看| 国产呦萝稀缺另类资源| 69精品人人人人| 亚洲最大的成人av| 粉嫩av亚洲一区二区图片| 日韩一区二区三区观看| 一区二区三区四区激情| 东方欧美亚洲色图在线| 精品国产乱码久久久久久牛牛| 亚洲成人激情综合网| 91搞黄在线观看| 久久久久久久精| 日本亚洲欧美天堂免费|