start:-
	write('\33\[2J'),
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,
	write('>>> به سیستم خبره ارزشیابی استاد خوش آمدین <<<'),nl,
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,
	write('راهنمای سیستم'),nl,
	write('1 - محاسبه امتیاز کسب شده و از دست داده شده استاد در بخش دایره امتحانات'),nl,
	write('2 - محاسبه امتیاز کسب شده و از دست داده شده استاد در بخش دفتر اساتید'),nl,
	write('3 - محاسبه امتیاز کسب شده و از دست داده شده استاد در بخش مدیران گروه'),nl,
	write('4 - محاسبه امتیاز کسب شده و از دست داده شده استاد در بخش دانشجویی'),nl,
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,emtehanat.

emtehanat :-
	write('بخش دایره امتحانات'),nl,
	write('استاد مربوطه چند درس در دانشگاه ارائه میدهد ؟'),nl,
	read(A1),assert(tedad_dars(A1)),
	write('استاد مربوطه نمرات چند درس را در تاریخ مشخص شده وارد نکرده ؟'),nl,
	read(A2),assert(takhir_nomre(A2)),
	(  A2 >= 3 ->
          A3 is 8
         ;
          A3 is (A2*(8/A1))
         ),
	write('***************************************************************'),nl,
	write('استاد مربوطه در این دانشگاه تعداد'),
	write(' '),
	write(A1),
	write(' '),
	write('کلاس درس داردکه نمرات'),
	write(' '),
	write(A2),
	write(' '),
	write('درس را در تاریخ مشخص شده توسط دایره امتحانات وارد نکرده است'),nl,
	write('سیستم خبره طی پردازش های انجام داده'),
        write(' '),
	write(A3),
	write(' '),
	write('امتیاز از استاد مربوطه کثر میکند'),nl,
	write('سیستم خبره طی پردازش های انجام داده'),
	write(' '),
	A4 is 20-A3,
	assert(socer1(A4)),
	write(A4),
	write(' '),
	write('امتیاز به استاد مربوطه میدهد'),nl,
	write('امتیاز کسب شده'),
	write(' = '),
	write(A4),nl,
	write('امتیاز از دست داده'),
	write(' = '),
	write(A3),nl,
	(  A4 = 20 ->
          assert(d_e1('ممتاز'))
	 ;   A4 >= 17 ->
	 assert(d_e1('خوب'))
	 ;   A4 >= 14 ->
	 assert(d_e1('متوسط'))
	 ;   A4>= 2 ->
	 assert(d_e1('ضعیف'))
	 ),
	d_e1(X),
	write('وضعیت استاد'),
	write(' '),
	write(X),
	write(' '),
	write('است'),nl,
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,asatid.

asatid :-
	write('بخش دفتر اساتید'),nl,
	write('تعداد غیبت های استاد مربوطه را وارد کنید'),nl,
	read(B1),
	write('تعداد جبرانی های برگزار شده توسط استاد را وارد کنید'),nl,
	read(B2),
	write('***************************************************************'),nl,
	write('استاد مربوطه در این دانشگاه'),
	write(' '),
	write(B1),
	write(' '),
	write('روز غیبت کرده است و تعداد'),
	write(' '),
	write(B2),
	write(' '),
	write('روز جبرانی برگزار کرده است و ضمنا این استاد در این دانشگاه '),
	write(' '),
	tedad_dars(X),
	write( X ),
	write(' '),
	write('کلاس درس دارد'),nl,
	B3 is 20-(((B1*2)-(B2*1))*(8/(13*X))),
	assert(socer2(B3)),
	write('سیستم خبره طی پردازش های انجام داده'),
        write(' '),
	B4 is 20-B3,
	write(B4),
	write(' '),
	write('امتیاز از استاد مربوطه کثر میکند'),nl,
	write('سیستم خبره طی پردازش های انجام داده'),
	write(' '),
	write(B3),
	write(' '),
	write('امتیاز به استاد مربوطه میدهد'),nl,
	write('امتیاز کسب شده'),
	write(' = '),
	write(B3),nl,
	write('امتیاز از دست داده'),
	write(' = '),
	write(B4),nl,
	(  B3 = 20.0 ->
          assert(d_e2('ممتاز'))
	 ;   B3 >= 17 ->
	 assert(d_e2('خوب'))
	 ;   B3 >= 14 ->
	 assert(d_e2('متوسط'))
	 ;   B3>= 2 ->
	 assert(d_e2('ضعیف'))
	 ),
	d_e2(X1),
	write('وضعیت استاد'),
	write(' '),
	write(X1),
	write(' '),
	write('است'),nl,
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,boss.

boss:-
	write('بخش مدیران گروه'),nl,
	write('توجه : امتیاز های داده شده توسط مدیران گروه باید از 20 نمره باشد'),nl,
	write('امتیاز کسب شده توسط رئیس دانشگاه را وارد کنید'),nl,
	read(C1),
	write('امتیاز کسب شده توسط معاون آموزش را وارد کنید'),nl,
	read(C2),
	write('امتیاز کسب شده توسط مدیر گروه را وارد کنید'),nl,
	read(C3),
	write('امتیاز کسب شده توسط مدیر گروه را وارد کنید'),nl,
	C4 is ((C1+C2+C3)/3),
	assert(socer3(C4)),
	write('سیستم خبره طی پردازش های انجام داده'),
        write(' '),
	C5 is 20-C4,
	write(C5),
	write(' '),
	write('امتیاز از استاد مربوطه کثر میکند'),nl,
	write('سیستم خبره طی پردازش های انجام داده'),
	write(' '),
	write(C4),
	write(' '),
	write('امتیاز به استاد مربوطه میدهد'),nl,
	write('امتیاز کسب شده'),
	write(' = '),
	write(C4),nl,
	write('امتیاز از دست داده'),
	write(' = '),
	write(C5),nl,
	(  C4 = 20 ->
          assert(d_e3('ممتاز'))
	 ;   C4 >= 17 ->
	 assert(d_e3('خوب'))
	 ;   C4 >= 14 ->
	 assert(d_e3('متوسط'))
	 ;   C4 >= 2 ->
	 assert(d_e3('ضعیف'))
	 ),
	d_e3(X2),
        write('وضعیت استاد'),
	write(' '),
	write(X2),
	write(' '),
	write('است'),nl,
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,daneshjo.

daneshjo:-
	write('بخش دانشجویی'),nl,
	write('راهنما : امتیازات دانشجویان در رده های مختلف معدل از 20 نمره میباشد'),nl,
	write('امتیاز دانشجویان گرامی که معدل آنها بین 18 تا 20 است را وارد کنید'),nl,
	read(D1),
	write('امتیاز دانشجویان گرامی که معدل آنها بین 16 تا 18 است را وارد کنید'),nl,
	read(D2),
	write('امتیاز دانشجویان گرامی که معدل آنها بین 16 تا 14 است را وارد کنید'),nl,
	read(D3),
	write('امتیاز دانشجویان گرامی که معدل آنها کم تر از 14 است را وارد کنید'),nl,
	read(D4),
	write('***************************************************************'),nl,
	write('دانشجویان معدل 18 تا 20 امتیاز'),
	write(' '),
	write(D1),
	write(' '),
	write('را به استاده مربوطه دادند و با توجه با اینکه ظریب 4 دارد میشود'),
	Ds is D1*4,
	write(Ds),nl,
	write('دانشجویان معدل 16 تا 18 امتیاز'),
	write(' '),
	write(D2),
	write(' '),
	write('را به استاده مربوطه دادند و با توجه با اینکه ظریب 3 دارد میشود'),
	Ds1 is D2*3,
	write(Ds1),nl,
	write('دانشجویان معدل 14 تا 16 امتیاز'),
	write(' '),
	write(D3),
	write(' '),
	write('را به استاده مربوطه دادند و با توجه با اینکه ظریب 2 دارد میشود'),
	Ds2 is D3*2,
	write(Ds2),nl,
        write('دانشجویان معدل کمتر از 14 امتیاز'),
	write(' '),
	write(D4),
	write(' '),
	write('را به استاده مربوطه دادند و با توجه با اینکه ظریب 1 دارد میشود'),
	Ds3 is D4*1,
	write(Ds3),nl,
	Ds4 is (Ds+Ds1+Ds2+Ds3)/10,
	Ds5 is 20-Ds4,
	assert(socer4(Ds4)),
	write('استاد مربوطه توانسته در بخش دانشجویی'),
	write(' '),
	write(Ds4),
	write(' '),
	write('امتیاز کسب کند و'),
	write(' '),
	write(Ds5),
	write(' '),
	write('امتیاز از دست بدهد'),nl,
	write('امتیاز کسب شده'),
	write(' = '),
	write(Ds4),nl,
	write('امتیاز از دست داده'),
	write(' = '),
	write(Ds5),nl,
	(  Ds4 = 20 ->
          assert(d_e4('ممتاز'))
	 ;   Ds4 >= 17 ->
	 assert(d_e4('خوب'))
	 ;   Ds4 >= 14 ->
	 assert(d_e4('متوسط'))
	 ;   Ds4 >= 2 ->
	 assert(d_e4('ضعیف'))
	 ),
	d_e4(X3),
	write('وضعیت استاد'),
	write(' '),
	write(X3),
	write(' '),
	write('است'),nl,
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,rep.
rep :-
	write('آیا میخواهید گزارش نهایی سیستم را مشاهده کنید ؟'),nl,
	read(R),
	write('\33\[2J'),
	write('***************************************************************'),nl,
	write('***************************************************************'),nl,
	write('امتیاز کسب شده در دایره امتحانات'),
	write(' '),
	write(':'),
	write(' '),
	socer1(Q1),
	write(Q1),
	write(' '),
	write('وضعیت'),
	d_e1(Q2),
	write(' '),
	write(Q2),nl,

	write('امتیاز کسب شده در دفتر اساتید'),
	write(' '),
	write(':'),
	write(' '),
	socer2(Q3),
	write(Q3),
	write(' '),
	write('وضعیت'),
	d_e2(Q4),
	write(' '),
	write(Q4),nl,

	write('امتیاز کسب شده مدیران گروه'),
	write(' '),
	write(':'),
	write(' '),
	socer3(Q5),
	write(Q5),
	write(' '),
	write('وضعیت'),
	d_e3(Q6),
	write(' '),
	write(Q6),nl,

	write('امتیاز کسب شده مدیران توسط دانشجویان'),
	write(' '),
	write(':'),
	write(' '),
	socer4(Q7),
	write(Q7),
	write(' '),
	write('وضعیت'),
	d_e4(Q8),
	write(' '),
	write(Q8),nl,
        write('***************************************************************'),nl,
	Is1 is Q7*60,
	Is2 is Q5*20,
	Is3 is Q3*10,
	Is4 is Q1*10,
	Is5 is Is1+Is2+Is3+Is4,
	Is6 is Is5/100,
	Index_socer is Is6,
	 (  Index_socer = 20 ->
	 Index='ممتاز'
	 ;   Index_socer >= 17 ->
	 Index='خوب'
	 ;   Index_socer >= 14 ->
	 Index='متوسط'
	 ;   Index_socer >= 2 ->
	 Index='ضعیف'
	 ),

	write('امتیاز کل برابر است با'),
	write(' '),
	write(Index_socer),
	write(' '),
	write('وضعیت'),
	write(' '),
	write(Index),
	write(' '),
	write('است'),nl,nl,nl,nl,nl,nl.
:- start.





























