[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, ... 18, 19, 20
Автор Сообщение
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Евгений Власенко:

Задача http://dl.gsu.by/task.jsp?nid=1677023&cid=1061 (Шифрование)

Предлагаю добавить секретные тесты :
 

Секретные тесты добавлены.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Владислав Гончаров:

в задаче: http://dl.gsu.by/task.jsp?nid=1682365&cid=1061
неправильный тест 2:

; 1 Found at 0 place
Set 2,10 on a at 1
Set 3,10 on b at 1
Set 2,10 on c at 1
Set 1,10 on d at 1
Diff 8,10 on Q at 1000
; 1 Found at 0 place
Set 0,10 on a at 1001
Set 4,10 on b at 1001
Set 2,10 on c at 1001
Set 5,10 on d at 1001
Diff 13,10 on Q at 2000

; 1 Found at 0 place
Set 2,10 on a at 2001
Set 7,10 on b at 2001
Set 3,10 on c at 2001
Set 5,10 on d at 2001
Diff 9,10 on Q at 3000
; 1 Found at 0 place
Set 4,10 on a at 3001
Set 4,10 on b at 3001
Set 4,10 on c at 3001
Set 4,10 on d at 3001
Diff 8,10 on Q at 4000
; 1 Found at 0 place
Set 8,10 on a at 4001
Set 4,10 on b at 4001
Set 1,10 on c at 4001
Set 10,10 on d at 4001
Diff 12,10 on Q at 5000
; 1 Found at 0 place
Set 5,10 on a at 5001
Set 1,10 on b at 5001
Set 9,10 on c at 5001
Set 10,10 on d at 5001
Diff 18,10 on Q at 6000
; 1 Found at 0 place
Set 2,10 on a at 6001
Set 3,10 on b at 6001
Set 6,10 on c at 6001
Set 10,10 on d at 6001
Diff 21,10 on Q at 7000

0*4<6 --> 3 условие
0+4+2+5=11+d(5)=16
 

Из условия
если (a*b)<6, то на выход подать сумму запомненного ранее числа и d. 

8 + 15 = 13 (см. первый тест, в котором запомнили 8).
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Николай Погудин:

http://dl.gsu.by/task.jsp?nid=1694591&cid=1062
Неправильны тест Diff 0,16 on RES at 600
 

Тесты заменены.
Артём Овчинников

Темы: 0
Сообщений: 11

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1677055&cid=1061 (Алфавит)

Решение :
char st0[13];

char ST1[13];

void main() {
	int length = 0;
	int code;
	for (int k = 0; (code = st0[k]) != 0; k++){
		length++;
	}
	for (int i = 0; i < length; i++) {
		for (int j = 0;	j < length - 1; j++) {
			int	first = st0[j];
			int second = st0[j + 1];
			if (first > second) {
				char c = st0[j];
				st0[j] = st0[j + 1];
				st0[j + 1] = c;
			}
		}
	}
	ST1 = st0;
}


Предлагаю добавить секретные тесты :

Report = report.txt
StopOnError = false
Statistics = false
WatchReport = false
ShowReport = false

[1]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0


st0 strz: XYZABCJCB

ST1 strz: ABBCCJXYZ

[2]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0


st0 strz: AAAXXXAAAYWK

ST1 strz: AAAAAAKWXXXY


[3]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0


st0 strz: QWEMNBVGY

ST1 strz: BEGMNQVWY

[4]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0


st0 strz: PPGGHHTT

ST1 strz: GGHHPPTT

[5]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0


st0 strz: OIPRTBV

ST1 strz: BIOPRTV

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Артём Овчинников:

Задача http://dl.gsu.by/task.jsp?nid=1677055&cid=1061 (Алфавит)

Предлагаю добавить секретные тесты :
 

Секретные тесты добавлены.
Ян Саранчук

Темы: 0
Сообщений: 36

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1677102&cid=1061 Максимальный элемент
Текст программы:
int __bits(16) n;
int __bits(16) a[40];
int __bits(16) t;

void main() {
int number = 0, max = a[0];
for(int i = 1; i<n*n; ++i)
if(max<a[i]) {
max = a[i];
number = i;
}
int sum = 0;
int col = number%n;
for(int d = 0; d<n; ++d)
sum += a[d*n + col];

t = sum;

}

Предлагаемые тесты:

Report - report.txt
StopOnError = true
Statistics = false
WatchReport = true
ShowReport = true

[1]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 6
a sgn[2]: -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 128 128

t sgn[2]: 128

[2]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 3
a sgn[2]: -91 25 -566 3123 1234 9000 -12000 16000 -12000

t sgn[2]: 17259


[3]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 1
a sgn[2]: 19000

t sgn[2]: 19000

[4]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 4
a sgn[2]: 19000, -19000, 1300, 4600, 123, 321, 456, 654, 765, 567, 876, 678, 987, 789, 890, 980

t sgn[2]: 20875
Илья Истомин

Темы: 1
Сообщений: 72

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1676039&cid=1061 (Абсолютная погрешность)

Решение:

unsigned __in __bits(8) A;
unsigned __in __bits(8) B;
unsigned __in __bits(8) C;
unsigned __in __bits(8) D;

unsigned __out __bits(8) E;

void main(){
	int a=A,
		b=B,
		c=C,
		d=D,
	    sredn = (a+b+c+d)/4;
	int b1= a-sredn<0 ? sredn-a : a-sredn,
		b2= b-sredn<0 ? sredn-b : b-sredn,
		b3= c-sredn<0 ? sredn-c : c-sredn,
		b4= d-sredn<0 ? sredn-d : d-sredn;
	int b5= b1>b2 ? b1 : b2,
		b6= b3>b4 ? b3 : b4;
	E= (b5>b6 ? b5 : b6) & 255;
}


Предлагаю добавить тесты:
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false

[fenix97 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


A dec[1]: 255
B dec[1]: 255
C dec[1]: 255
D dec[1]: 255

E dec[1]: 0

[fenix97 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


A dec[1]: 101
B dec[1]: 105
C dec[1]: 110
D dec[1]: 114

E dec[1]: 9

[fenix97 3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


A dec[1]: 2
B dec[1]: 255
C dec[1]: 0
D dec[1]: 2

E dec[1]: 191

[fenix97 4]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


A dec[1]: 50
B dec[1]: 100
C dec[1]: 50
D dec[1]: 56

E dec[1]: 36

Илья Истомин

Темы: 1
Сообщений: 72

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1676042&cid=1061 (Умножитель)

Решение:

unsigned __in __bits(1) In_0;
unsigned __in __bits(1) In_1;
unsigned __in __bits(1) In_2;
unsigned __in __bits(1) In_3;
unsigned __in __bits(1) In_4;
unsigned __in __bits(1) In_5;
unsigned __in __bits(1) In_6;
unsigned __in __bits(1) In_7;

unsigned __out __bits(1) Out_0;
unsigned __out __bits(1) Out_1;
unsigned __out __bits(1) Out_2;
unsigned __out __bits(1) Out_3;
unsigned __out __bits(1) Out_4;
unsigned __out __bits(1) Out_5;
unsigned __out __bits(1) Out_6;
unsigned __out __bits(1) Out_7;

void main(){
	unsigned __bits(4) 	num1 = 0,
						num2 = 0;

	unsigned __bits(8) 	ans = 0;

	num1 <<= 1; num1 |= In_3;
	num1 <<= 1; num1 |= In_2;
	num1 <<= 1; num1 |= In_1;
	num1 <<= 1; num1 |= In_0;

	num2 <<= 1; num2 |= In_7;
	num2 <<= 1; num2 |= In_6;
	num2 <<= 1; num2 |= In_5;
	num2 <<= 1; num2 |= In_4;

	ans = num1*num2;

	Out_0 = ans; ans>>=1;
	Out_1 = ans; ans>>=1;
	Out_2 = ans; ans>>=1;
	Out_3 = ans; ans>>=1;
	Out_4 = ans; ans>>=1;
	Out_5 = ans; ans>>=1;
	Out_6 = ans; ans>>=1;
	Out_7 = ans; ans>>=1;
}


Предлагаю добавить тесты:
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false

[fenix97 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


in_0 dec[1]: 0
in_1 dec[1]: 1
in_2 dec[1]: 1
in_3 dec[1]: 1
in_4 dec[1]: 1
in_5 dec[1]: 1
in_6 dec[1]: 0
in_7 dec[1]: 1

out_0 dec[1]: 0
out_1 dec[1]: 1
out_2 dec[1]: 0
out_3 dec[1]: 1
out_4 dec[1]: 1
out_5 dec[1]: 0
out_6 dec[1]: 0
out_7 dec[1]: 1

[fenix97 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


in_0 dec[1]: 0
in_1 dec[1]: 0
in_2 dec[1]: 0
in_3 dec[1]: 0
in_4 dec[1]: 1
in_5 dec[1]: 1
in_6 dec[1]: 1
in_7 dec[1]: 1

out_0 dec[1]: 0
out_1 dec[1]: 0
out_2 dec[1]: 0
out_3 dec[1]: 0
out_4 dec[1]: 0
out_5 dec[1]: 0
out_6 dec[1]: 0
out_7 dec[1]: 0

[fenix97 3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


in_0 dec[1]: 1
in_1 dec[1]: 1
in_2 dec[1]: 0
in_3 dec[1]: 1
in_4 dec[1]: 0
in_5 dec[1]: 1
in_6 dec[1]: 1
in_7 dec[1]: 1

out_0 dec[1]: 0
out_1 dec[1]: 1
out_2 dec[1]: 0
out_3 dec[1]: 1
out_4 dec[1]: 1
out_5 dec[1]: 0
out_6 dec[1]: 0
out_7 dec[1]: 1

[fenix97 4]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


in_0 dec[1]: 0
in_1 dec[1]: 0
in_2 dec[1]: 1
in_3 dec[1]: 1
in_4 dec[1]: 1
in_5 dec[1]: 0
in_6 dec[1]: 0
in_7 dec[1]: 1

out_0 dec[1]: 0
out_1 dec[1]: 0
out_2 dec[1]: 1
out_3 dec[1]: 1
out_4 dec[1]: 0
out_5 dec[1]: 1
out_6 dec[1]: 1
out_7 dec[1]: 0

Илья Истомин

Темы: 1
Сообщений: 72

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1676109&cid=1061 (Две окружности)

Решение:

int __in __bits(8) x1;
int __in __bits(8) x2;
int __in __bits(8) y1;
int __in __bits(8) y2;
int __in __bits(8) r1;
int __in __bits(8) r2;

int __out __bits(8) res;

void main(){
	int __bits(16) 	X1 = x1,
					X2 = x2,
					Y1 = y1,
					Y2 = y2,
					R1 = r1,
					R2 = r2,
					RES = 100,
					kvRast = (X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2),
					kvSumRad = (R1+R2)*(R1+R2);
	if(kvRast > kvSumRad) RES = 0;
	if(kvRast == kvSumRad) RES = 1;
	if(kvRast < kvSumRad){
		if((kvRast<=R1*R1) && (kvRast<=R2*R2))
			RES=4;
		else
			if((kvRast<=R1*R1) || (kvRast<=R2*R2))
				RES=3;
			else
				RES=2;
	}
	res=RES&255;

}


Предлагаю добавить тесты:
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false

[fenix97 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x1 dec[1]: 100
y1 dec[1]: 100
r1 dec[1]: 100
x2 dec[1]: 103
y2 dec[1]: 104
r2 dec[1]: 5

res dec[1]: 4

[fenix97 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x1 dec[1]: 125
y1 dec[1]: 125
r1 dec[1]: 127
x2 dec[1]: -125
y2 dec[1]: 125
r2 dec[1]: 127

res dec[1]: 2

[fenix97 3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x1 dec[1]: -120
y1 dec[1]: -120
r1 dec[1]: 125
x2 dec[1]: 80
y2 dec[1]: 30
r2 dec[1]: 125

res dec[1]: 1

Илья Истомин

Темы: 1
Сообщений: 72

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1676154&cid=1061 (Волна)

Решение:

unsigned __in __bits(7) X;
unsigned __out __bits(7) Y;

void main(){
	unsigned __bits(7) maskes[7] = {1,2,4,8,16,32,64};
	unsigned __bits(7) ans = X;
	if((ans&maskes[3])>0){
		ans=ans ^ (maskes[2]|maskes[4]);
		if((ans&maskes[2])>0 && (X&maskes[2])==0) ans=ans^maskes[1];
		if((ans&maskes[1])>0 && (X&maskes[1])==0) ans=ans^maskes[0];
		if((ans&maskes[4])>0 && (X&maskes[4])==0) ans=ans^maskes[5];
		if((ans&maskes[5])>0 && (X&maskes[5])==0) ans=ans^maskes[6];
		if(((ans&maskes[6])!=(X&maskes[6]))&&((ans&maskes[0])!=(X&maskes[0]))) ans = ans^maskes[3];
	}
	Y=ans;

}


Предлагаю добавить тесты:
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false

[fenix97 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


X dec[1]: 72

Y dec[1]: 55

[fenix 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


X dec[1]: 9

Y dec[1]: 118

[fenix97 3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


X dec[1]: 73

Y dec[1]: 54

Илья Истомин

Темы: 1
Сообщений: 72

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1676190&cid=1061 (Нужный бит (программа))

Решение:

unsigned __in __bits(16) x;
unsigned __out __bits(4) n;

void main(){
	unsigned __bits(4) ans=7;
	unsigned __bits(16) in=x;
	for(unsigned __bits(8) i=0; i<16; i++){
		if(in&1>0){
			if((i&15)<ans) ans=(i&15);
			if((15-(i&15))<ans)
				ans=15-(i&15);
		}
		in>>=1;
	}
	n=ans;
}


Предлагаю добавить тесты:
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false

[fenix97 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x dec[2]: 256

n dec[1]: 7

[fenix97 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x dec[2]: 384

n dec[1]: 7

[fenix97 3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x dec[2]: 65535

n dec[1]: 0

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Ян Саранчук:

Задача http://dl.gsu.by/task.jsp?nid=1677102&cid=1061 Максимальный элемент
Текст программы:
int __bits(16) n;
int __bits(16) a[40];
int __bits(16) t;

void main() {
int number = 0, max = a[0];
for(int i = 1; i<n*n; ++i)
if(max<a[i]) {
max = a[i];
number = i;
}
int sum = 0;
int col = number%n;
for(int d = 0; d<n; ++d)
sum += a[d*n + col];

t = sum;

}

Предлагаемые тесты:

Report - report.txt
StopOnError = true
Statistics = false
WatchReport = true
ShowReport = true

[1]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 6
a sgn[2]: -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 -128 128 128 128

t sgn[2]: 128

[2]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 3
a sgn[2]: -91 25 -566 3123 1234 9000 -12000 16000 -12000

t sgn[2]: 17259


[3]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 1
a sgn[2]: 19000

t sgn[2]: 19000

[4]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


n sgn[2]: 4
a sgn[2]: 19000, -19000, 1300, 4600, 123, 321, 456, 654, 765, 567, 876, 678, 987, 789, 890, 980

t sgn[2]: 20875 

Твоя программа не проходит первый и четвертый тесты.
1 - тест неоднозначный, в ответе вообще непонятно что за число.
4 - ошибка в программе.

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Илья Истомин:

Задача http://dl.gsu.by/task.jsp?nid=1676039&cid=1061 (Абсолютная погрешность)

Предлагаю добавить тесты:
 


Секретные тесты добавлены, но во втором тесте я исправил ошибку.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Илья Истомин:

Задача http://dl.gsu.by/task.jsp?nid=1676042&cid=1061 (Умножитель)

Предлагаю добавить тесты:
 

Секретные тесты добавлены.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Илья Истомин:

Задача http://dl.gsu.by/task.jsp?nid=1676109&cid=1061 (Две окружности)

Предлагаю добавить тесты:
[code]

[fenix97 1]
[fenix97 2]
[fenix97 3]
 

В этой задаче нужно минимум 5 тестов (по одному для каждого из возможных вариантов).
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, ... 18, 19, 20
Time:0,063