Програмирање 1/К1 2017

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Задаци

Задатак 1

Написати програм на симболичком машинском језику за пицоЦомпутер који одређује да ли је разлика целобројног дела аритметичке средине првих К елемената низа дужине Н (где је 1<Н≤100) и целобројног дела аритметичке средине преосталих Н-К елемената низа дељива бројем К. Уколико јесте, треба исписати 1, уколико није, треба исписати 0. Програм најпре учитава бројеве К и Н, а затим и елементе низа. Препоставити да је 0<К<Н. Рачунање аритметичке средине обавити у посебном потпрограму.

		a=100
		adrA=1
		n=2
		k=3
		i=4
		brElem=5
		s=6
		as1=7
		as2=0
		ORG 8 ; TODO: Adjust to make room for static data.
		
		in n
		mov i, 100
		bgt n,i,kraj
		mov i,2
		bgt i,n,kraj
		mov adrA,#a
		in (adrA),n
		in k
		mov brElem,k
		jsr as
		mov as1,s
		sub brElem,n,k
		jsr as
		mov as2,s
		sub n, as1,as2
		div as1, n,k
		mul as1,as1,k
		
		
		bgt n,as1,skok
		mov n,1
		beq n,n,kraj
		
		skok: mov n,0
		
		
		kraj: stop n



		as: mov s,0
		mov i,brelem
		petlja:	add s,s,(adrA)
		add adrA,adra,1
		sub i,i,1
		bgt i,0, petlja
		div s,S,brElem
		rts