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

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1676154&cid=1061 (Волна)

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

Здесь нужны минимум 4 теста (по одному на каждую возможную комбинацию 2-ого и 4-ого бита).
Игорь Коршунов

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

Мой профиль


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

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

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

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

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

Мой профиль


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


	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);
		}
	}


Зачем добавлять абсолютно бесполезные &15, если i изменяется от 0 до 15 и &15 никак не может изменить i.

Михаил Долинский

Темы: 1984
Сообщений: 47242

Мой профиль


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


Ян Саранчук:

Задача http://dl.gsu.by/task.jsp?nid=1677102&cid=1061 Максимальный элемент
 

Твоя программа не проходит первый и четвертый тесты.
1 - тест неоднозначный, в ответе вообще непонятно что за число.
4 - ошибка в программе.
 
Ян так быть не должно. Надо делать хорошо, а не создавать лишнюю работу Игорю Викторовичу.
Ян Саранчук

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

Мой профиль


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

Задача http://dl.gsu.by/task.jsp?nid=1677102&cid=1061
Твоя программа не проходит первый и четвертый тесты.
1 - тест неоднозначный, в ответе вообще непонятно что за число.
4 - ошибка в программе.

 

Задача 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]: 768

[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-го теста я вас не понял. Программа, которую я написал, прошла все тесты DL. А при проходе 4-го теста она выдает именно этот ответ. Сверившись с условием задачи, я пересчитал все вручную. Получил тот же ответ, что и в моем тесте.
Анастасия Католикова

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

Мой профиль
Задача: Подсчёт слов в предложении по критерию (http://dl.gsu.by/task.jsp?nid=1677045&cid=1061)
Решение:
char  str_in[255];
unsigned  __in __bits(8) n;
unsigned  __in __bits(8) k;
char  __in  letter;
unsigned __out __bits(8) words;

void main()
{
   unsigned count_word_letters = 0;
   unsigned count_words = 0;
   unsigned count_letter = 0;
   for (unsigned i = 0;	str_in[i] != '#'; i++) {
     if (str_in[i] != ' ') {
	   count_word_letters++;
	   if (str_in[i] ==	letter) {
	   	 count_letter++;
	   }
	 } 
	 if (str_in[i] == ' ' || str_in[i + 1] == '#') {
	   if (count_word_letters >= n && count_letter == k) {
	   	 count_words++;
	   }
	   count_word_letters = 0;
	   count_letter = 0;
	 }
   }
   words = count_words;
}

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

[test1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


n dec: 10
k dec: 1
str_in str[26]: What's the beautiful day!#
letter str: b

words dec: 0

[test2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


n dec: 3
k dec: 1
str_in str[46]: His        father worked as a     journalist.#
letter str: i

words dec: 2

[test3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


n dec: 5
k dec: 1
str_in str[62]: Boxers can be very friendly dogs	but	they need to be trained.#
letter str: r

words dec: 3

[test4]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


n dec: 2
k dec: 2
str_in str[58]: I have     a milli     on questio  ns.#
letter str: a

words dec: 0

[test5]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


n dec: 5
k dec: 2
str_in str[26]: Better better      better#
letter str: t

words dec: 3


[test6]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


n dec: 6
k dec: 1
str_in str[13]: Hello world!#
letter str: l

words dec: 1


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

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

Мой профиль


Ян Саранчук:


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

Задача http://dl.gsu.by/task.jsp?nid=1677102&cid=1061
Твоя программа не проходит первый и четвертый тесты.
1 - тест неоднозначный, в ответе вообще непонятно что за число.
4 - ошибка в программе.

 

Задача 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]: 768

[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-го теста я вас не понял. Программа, которую я написал, прошла все тесты DL. А при проходе 4-го теста она выдает именно этот ответ. Сверившись с условием задачи, я пересчитал все вручную. Получил тот же ответ, что и в моем тесте.
 

1. Тест допускает два правильных ответа. Также правильной будет сумма 5-ого столбца -512.

4. Проблема была в запятых, которых быть в тесте не должно.

Исправил ошибки и установил секретный тесты.
Игорь Коршунов

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

Мой профиль


Анастасия Католикова:

Задача: Подсчёт слов в предложении по критерию (http://dl.gsu.by/task.jsp?nid=1677045&cid=1061)

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


Секретные тесты добавлены.
Максим Березовский

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

Мой профиль
В задаче http://dl.gsu.by/task.jsp?nid=1676934&cid=1061 ошибка в тестах 2 и 4

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


a sgn: 100
b sgn: 50
c sgn: 75
d sgn: -35

res sgn[2]: -2775

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


a sgn: -30
b sgn: 90
c sgn: 66
d sgn: 27

res sgn[2]: -1728
Игорь Коршунов

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

Мой профиль


Максим Березовский:

В задаче http://dl.gsu.by/task.jsp?nid=1676934&cid=1061 ошибка в тестах 2 и 4

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


a sgn: 100
b sgn: 50
c sgn: 75
d sgn: -35

res sgn[2]: -2775

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


a sgn: -30
b sgn: 90
c sgn: 66
d sgn: 27

res sgn[2]: -1728
 

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

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

Мой профиль
Задача Простой калькулятор (http://dl.gsu.by/task.jsp?nid=1677047&cid=1061)

Решение
char str[10];

int __bits(8) res;

char num[2];

int parseInt(int size) {
	int r = 0;
	if (size == 2) {
		r = (num[0] - 48) *	10 +
			(num[1] - 48);
	} else {
		r = num[0] - 48;
	}
	return r;
}

void main() {
	char firstNumber[2];
	char secondNumber[2];
	char operation;
	int i = 0;
	int j = 0;
	int k = 0;
	for (i = 0; str[i] != '!'; i++) {
	   if ((str[i] < 48) || (str[i] > 57)){
			break;
	   }
	   firstNumber[j] =	str[i];
	   j++;
	}
	operation = str[i];
	i++;
	while(str[i] != '!') {
		secondNumber[k] = str[i];
		k++;
		i++;
	}
	num = firstNumber;
	int first = parseInt(j);
	num = secondNumber;
	int second = parseInt(k);
	if (operation == '+') {
		res = first + second;
	} else if (operation == '-') {
		res = first - second;
	} else if (operation == '/') {
		res = first / second;
	} else {
		res = first * second;
	}
}


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

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


str str[4]: 12+12!

res dec: 24


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


str str[4]: 0+0!

res dec: 0


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


str str[4]: 98+2!

res dec: 100

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


str str[4]: 55+15!

res dec: 70

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


str str[4]: 12+2!

res dec: 14

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


str str[4]: 16+10!

res dec: 26

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

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

Мой профиль


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

Задача Простой калькулятор (http://dl.gsu.by/task.jsp?nid=1677047&cid=1061)

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

В тесте только операции сложения. Нужно еще минимум 3 теста с другими операциями.
Ян Саранчук

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

Мой профиль
Предлагаю добавить секретные тесты
Задача http://dl.gsu.by/task.jsp?nid=1677105&cid=1061 Прогрессия
Текст программы:
int __bits(8) a;
int __bits(8) d;
int __bits(8) n;
int __bits(16) s[200];

void main() {
	int i, j, number = 0, A[200];
	A[0] = a;
	for(i = 0; i<n; ++i)
		for(j = 0; j<n; ++j) {
			if(i*n+j==0)
				continue;
			A[i*n+j] = A[i*n+j-1]+d;
		}
	for(i = 0, j = n-1; i<n; ++i, --j)	{
		if(i*n+i==j*n+j)
			s[i] = A[i*n+i]*2;
		else
			s[i] = A[i*n+i]+A[i*n+j];
	}

}


Предлагаемые тесты:
Report = report.txt
StopOnError = false
Statistics = false
WatchReport = true
ShowReport = true

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


a sgn: -100
d sgn: 5
n dec: 5

s sgn[2]: -180 -130 -80 -30 20

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


a sgn: -128
d sgn: 10
n dec: 10

s sgn[2]: -166 34 234 434 634 834 1034 1234 1434 1634

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


a sgn: 127
d sgn: -7
n dec: 3

s sgn[2]: 240 198 156

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


a sgn: -50
d sgn: -128
n dec: 4

s sgn[2]: -484 -1508 -2532 -3556


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


a sgn: 24
d sgn: 93
n dec: 7

s sgn[2]: 606 1908 3210 4512 5814 7116 8418
Игорь Коршунов

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

Мой профиль


Ян Саранчук:

Предлагаю добавить секретные тесты
Задача http://dl.gsu.by/task.jsp?nid=1677105&cid=1061 Прогрессия

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

Секретные тесты добавлены.
Константин Радько

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

Мой профиль
http://dl.gsu.by/task.jsp?nid=1681022&cid=1061
при вводе res=(x*x)/(y/2) нужно вводить х с русской раскладки клавиатуры, а не английской
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, 6, ... 18, 19, 20
Time:0,048