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

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676169&cid=1061(Четыре единицы)

Все возможные комбинации тестов уже есть. Предлагаю перенести часть тестов в секретные. 

Перенес.
Игорь Коршунов

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676218&cid=1061(Преобразователь в BCD-код)

Все возможные комбинации тестов уже есть. Предлагаю перенести часть тестов в секретные.

p.s. в счет пропусков 

Перенес.
Игорь Коршунов

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

Мой профиль


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

Не проходит тест 6 (задача http://dl.gsu.by/task.jsp?nid=1675289&cid=1061)
res в 6 тесте должен быть: 28080, а не 432 

Разберись как работает схема (в ней не учитывается переполнение, т.е. 250+10 = 4).
Игорь Коршунов

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676222&cid=1061(Memory)

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

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

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676223&cid=1061(Арифметика)

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

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

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

Мой профиль


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

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

Решение:
unsigned __in __bits(1) m1;
unsigned __in __bits(1) m2;
unsigned __in __bits(1) start;
unsigned __out __bits(4) R;
unsigned __bits(4) mem;

int main(){	
	if((m1|m2)==0){
		if(mem>0) mem--;
	}
	
	if((m1&m2)==1) mem++;
	
	if(start>0){
		mem=0;
	}
	
	R=mem;
}


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

В этой задаче выход должен быть типа int, и должны быть тесты с отрицательным значением счетчика. Например, я добавил к основному тесту:
[test 13]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


m1 dec[1]: 0
m2 dec[1]: 0
start dec[1]: 0

R dec[1]: 15


[test 14]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


m1 dec[1]: 0
m2 dec[1]: 0
start dec[1]: 0

R dec[1]: 14

и т.д.
Игорь Коршунов

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676226&cid=1061(Вычисление функции)

Предлагаю добавить серию тестов:
p.s. в счет пропусков 

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

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

Мой профиль


Дмитрий Купрацевич:

http://dl.gsu.by/task.jsp?nid=1675567&cid=1061

Последний 4-ый тест на проверку ветки


; [test4]
x = 5, 10
y = 5, 10
wait for 1000
assert f = 34, 10
wait for 1

 


При значениях х=5, y=5 итоговый ответ 24 (f=x*x-y+4). В случае с тестом, видимо, высчитывалось f=x*x+y+4 и получается ответ 34. 

Тест исправлен.
Евгений Бычков

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

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

Решение :
char  In[100] ;
int __bits(16) Out;

void main(){
	Out = 0	;

	unsigned __bits(8) length ; 
	for(int j = 0 ; In[j] != '#' ; j++){
		length = j;
	}

	unsigned __bits(16) rank = 1; 
	for(int i = length ; i >= 0 ; i--){
		if(In[i] <= '9'){
			Out += (In[i] - '0') * rank;
		} else {
			Out += (In[i] - 'A' + 10) * rank; 
		}

		rank *= 16 ;
	}
}


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

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


In strz: 0#

Out dec[2]: 0

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


In strz: C5#

Out dec[2]: 197

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

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676075&cid=1061(Упражнение на логику)


Предлагаю добавить тесты:
[test 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


a dec[1]: 0
b dec[1]: 17

res dec[2]: 65287

 

Исправил ошибку и добавил секретные тесты.

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


a dec[1]: 0
b dec[1]: 17

res dec[2]: 65297

Евгений Бычков

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

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

Решение :

char    sin[100] = "#";
char    sout[100];

// не имеет смысла проверять, является ли слово палиндромом
// так как независимо от правой части слова, результат всегда будет одинаков
void main(){
	unsigned __bits(8) length ; 
	for(int j = 0 ; sin[j] != '#' ; j++){
		length = j + 1;
	}

	for(int i =  0 ; i < length / 2 + length % 2 ; i++){
		sout[i] = sin[i];
	}

	for(int q = 0 ; q < length / 2 ; q++){
		sout[length - q - 1] = sin[q];
	}
	sout[length] = '#';
}

 


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




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


sin str[12]: #

sout str[12]: #

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


sin str[17]: Hello#World

sout str[17]: HeleH#


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


sin str[17]: MAGICigam#

sout str[17]: MAGICIGAM#

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

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676232&cid=1061(Сравнить)

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

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

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676231&cid=1061(Оценка)

Предлагаю добавить серию тестов:
[test 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x dec[1]: -120
y dec[1]: 50
z dec[1]: 70

res dec[4]: 0
 

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

Исправлена ошибка:
[test 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x dec[1]: -120
y dec[1]: 50
z dec[1]: 70

res dec[4]: -11900


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

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676231&cid=1061(Оценка)

В условии объявлена переменная "z" - 16бит. При отправке решения 23.11 16:32 система проверки выдала ошибку "[test 1]: Размерность переменной z должна быть 1 байт.". 

Условие и тесты исправлены.
Евгений Бычков

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

Мой профиль
Задача http://dl.gsu.by/NForum/posts/topicshow/1890.dl#last отмечена в теме, как требующая добавления секретных тестов, но согласно логам Протокола у нее уже есть секретные тесты:


25.11 11:00 16. Алфавит 1 / 1 Все тесты пройдены (основной + секретный).
 


Так или иначе, прикрепляю свой вариант решения и дополнительных тестов :

char    st0[100];
char    st1[100];

void main(){
	for(int j = 0 ; ; j++){
		st1[j] = st0[j];
// сделано для того, что-бы последний символ st1 установился в 0,
// и только потом произошел выход из цикла
		if (st0[j] == 0){
			break ;
		}
	}

	for(int q = 0 ; st1[q] != 0 ; q++){
		for(int i = 1 ; st1[i] !=0 ; i++ ){
			if(st1[i] < st1[i-1]){
				char tmp = st1[i];
				st1[i] = st1[i-1] ;
				st1[i-1] = tmp;
			}
		}
	}
}


Тесты :


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


st0 strz: AAAAAA

ST1 strz: AAAAAA

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


st0 strz: 

ST1 strz: 

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


st0 strz: MAGIC

ST1 strz: ACGIM


Один из предложенных тестов, это тест на пустую строку, не уверен что система его корректно обработает, но проверить такой сценарий было-бы логичным решением
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 6, 7, 8, 9, 10, ... 18, 19, 20
Time:0,031