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

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675279&cid=1061 (10 - "Программа по схеме 84378")

Решение :

unsigned __in __bits(4) x ;
unsigned __out __bits(8) res ;

void main(){
	res = x * 5 + 15;
}


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


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


x dec[1]: 12

res dec[1]: 75

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


x dec[1]: 9

res dec[1]: 60

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


x dec[1]: 14

res dec[1]: 85

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

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675281&cid=1061 (12 - "Программа по схеме 84380")

Решение :
unsigned __in __bits(8) a  ;
unsigned __in __bits(8) b  ;
unsigned __in __bits(8) c  ;

unsigned __out __bits(16) res ;

void main(){
	res = (a + b + c) * 7 ;
}


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

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


a dec[1]: 18
b dec[1]: 19
c dec[1]: 20

res dec[2]: 399

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


a dec[1]: 42
b dec[1]: 42
c dec[1]: 42

res dec[2]: 882

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


a dec[1]: 255
b dec[1]: 255
c dec[1]: 255

res dec[2]: 5355

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675321&cid=1061 (Сконвертированные задания на программирование по схеме\Условные вычисления\13 - "Программа по схеме 84352")

Решение:
unsigned __bits(8) InX;
unsigned __bits(8) InY;
unsigned __bits(8) InA;
unsigned __bits(8) InB;

unsigned __bits(8) Out;

void main() {
  unsigned x = InX;
  unsigned y = InY;

  unsigned xy = x * y;
  
  unsigned one = xy / InB;
  unsigned zero = xy / InA;

  if (x > y) {
    Out = one;
  } else {
    Out = zero;
  }
}


В существующих тестах неверно указана размерность InA, InB и Out.

Предлагаю заменить существующие тесты на следующие
[test 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


InX dec[1]: 3
InY dec[1]: 2
InA dec[2]: 2
InB dec[2]: 3

Out dec[2]: 2

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


InX dec[1]: 2
InY dec[1]: 3
InA dec[2]: 2
InB dec[2]: 3

Out dec[2]: 3

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


InX dec[1]: 2
InY dec[1]: 1
InA dec[2]: 1
InB dec[2]: 1

Out dec[2]: 2


И добавить следующе секретные тесты
[test 4]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


InX dec[1]: 3
InY dec[1]: 7
InA dec[2]: 9
InB dec[2]: 9

Out dec[2]: 2

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


InX dec[1]: 8
InY dec[1]: 5
InA dec[2]: 0
InB dec[2]: 1

Out dec[2]: 40

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


InX dec[1]: 7
InY dec[1]: 11
InA dec[2]: 123
InB dec[2]: 9

Out dec[2]: 0

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

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675282&cid=1061 (13 - "Программа по схеме 84381")

Решение :
unsigned __in __bits(4) a  ;
unsigned __in __bits(4) b  ;
unsigned __in __bits(4) c  ;

unsigned __out __bits(8) res ;

void main(){
	res = a + c + b * 3 ; ;

}

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

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


a dec[1]: 1
b dec[1]: 15
c dec[1]: 4

res dec[1]: 50

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


a dec[1]: 1
b dec[1]: 1
c dec[1]: 1

res dec[1]: 5

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


a dec[1]: 15
b dec[1]: 15
c dec[1]: 15

res dec[1]: 75

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675322&cid=1061 (Условные вычисления\14 - "Программа по схеме 84353")

Решение:
unsigned __bits(1) In_0;
unsigned __bits(1) In_1;
unsigned __bits(1) In_2;

unsigned __bits(1) Out_0;
unsigned __bits(1) Out_1;
unsigned __bits(1) Out_2;

void main() {
  int number = In_2 * 4 + In_1 * 2 + In_0;
  int zero = number * 2;
  int one = number * 3;

  int out;
  if (number > 2) {
    out = one;
  } else {
    out = zero;
  }

  Out_0 = out & 1;
  out >>= 1;
  Out_1 = out & 1;
  out >>= 1;
  Out_2 = out & 1;
}


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


In_2 dec[1]: 1
In_1 dec[1]: 0
In_0 dec[1]: 1

Out_2 dec[1]: 1
Out_1 dec[1]: 1
Out_0 dec[1]: 1

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


In_2 dec[1]: 0
In_1 dec[1]: 1
In_0 dec[1]: 1

Out_2 dec[1]: 0
Out_1 dec[1]: 0
Out_0 dec[1]: 1

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


In_2 dec[1]: 1
In_1 dec[1]: 1
In_0 dec[1]: 0

Out_2 dec[1]: 0
Out_1 dec[1]: 1
Out_0 dec[1]: 0

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675323&cid=1061 (Сконвертированные задания на программирование по схеме\Условные вычисления\15 - "Программа по схеме 84354")

Решение:


unsigned __bits(1) M_0;
unsigned __bits(1) M_1;
unsigned __bits(1) M_2;

unsigned __bits(1) W_0;
unsigned __bits(1) W_1;

unsigned __bits(1) Res;

void main() {
  unsigned AND_1 = M_0 & M_1;
  unsigned AND_2 = M_0 & M_2;
  unsigned AND_3 = M_1 & M_2;

  unsigned OR_1 = AND_1	| AND_2 | AND_3;

  unsigned AND_4 = OR_1 & W_0;
  unsigned AND_5 = W_0 & W_1;
  unsigned AND_6 = OR_1 & W_1;

  unsigned OR_2 = AND_4 | AND_5 | AND_6;

  Res = OR_2;
}


Существующие тесты покрывают все возможные варианты (32 теста на 5 переменных по 1 байту).

Предлагаю перенести часть в секретные.
Евгений Бычков

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675283&cid=1061 (14 - "Программа по схеме 84382")

Решение :

unsigned __in __bits(4) a ;
unsigned __in __bits(4) b ;
unsigned __in __bits(4) c ;
unsigned __in __bits(4) d ;

unsigned __out __bits(8) res ;

void main(){
	res = b * c	 + d * a ; 
}


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


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


a dec[1]: 9
b dec[1]: 8
c dec[1]: 4
d dec[1]: 5

res dec[1]: 77

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


a dec[1]: 11
b dec[1]: 12
c dec[1]: 13
d dec[1]: 14

res dec[1]: 54

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


a dec[1]: 15
b dec[1]: 15
c dec[1]: 15
d dec[1]: 15

res dec[1]: 194


Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675328&cid=1061 (Условные вычисления\20 - "Программа по схеме 84359")

Решение:
unsigned __bits(8) a1;
unsigned __bits(8) a2;
unsigned __bits(8) b1;
unsigned __bits(8) b2;

unsigned __bits(1) out;

void main() {
  out = ~((a1 + a2) & 1) & ~((b1 + b2) & 1);
}


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


a1 dec[1]: 12
a2 dec[1]: 15
b1 dec[1]: 120
b2 dec[1]: 40

out dec[1]: 0

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


a1 dec[1]: 0
a2 dec[1]: 0
b1 dec[1]: 0
b2 dec[1]: 0

out dec[1]: 1

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


a1 dec[1]: 1
a2 dec[1]: 1
b1 dec[1]: 5
b2 dec[1]: 1

out dec[1]: 1

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

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675284&cid=1061 (15 - "Программа по схеме 84383")

Решение :

unsigned __in __bits(8) a ;
unsigned __in __bits(8) b ;
unsigned __in __bits(8) c ;

unsigned __out __bits(16) res ;

void main(){
	res = (a * 2)/(b*c)  ;
}


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



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


a dec[1]: 255
b dec[1]: 1
c dec[1]: 255

res dec[2]: 2

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


a dec[1]: 6
b dec[1]: 1
c dec[1]: 4

res dec[2]: 3

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


a dec[1]: 0
b dec[1]: 12
c dec[1]: 3

res dec[2]: 0

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

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675285&cid=1061 (16 - "Программа по схеме 84384")

Решение :

unsigned __in __bits(8) a ;
unsigned __in __bits(8) b ;

unsigned __out __bits(16) res ;

void main(){
	res = (a + 2)*(b + 4)  ;
}



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



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


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

res dec[2]: 20

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


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

res dec[2]: 18
[test 8]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


a dec[1]: 4
b dec[1]: 1

res dec[2]: 30

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675303&cid=1061 (34 - "Программа по схеме 84402")

Решение:
unsigned __bits(16)	x;
unsigned __bits(16) y;

unsigned __bits(16) z;

void main() {
  z = (x*3) + (y*4);
}


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


x dec[2]: 341
y dec[2]: 0

z dec[2]: 1023

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


x dec[2]: 0
y dec[2]: 255

z dec[2]: 1020

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


x dec[2]: 74
y dec[2]: 200

z dec[2]: 1022

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675302&cid=1061 (33 - "Программа по схеме 84401")

Решение:
unsigned __bits(8) x;

unsigned __bits(16) y;

void main() {
  unsigned xx = x*x;
  unsigned xx5 = (xx & 127) * 5;
  unsigned x3 = x * 3;
  y = xx5 + x3 + 1;
}


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


x dec[1]: 0

y dec[2]: 1

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


x dec[1]: 13

y dec[2]: 245

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


x dec[1]: 12

y dec[2]: 117

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675300&cid=1061 (31 - "Программа по схеме 84399")

Решение:
unsigned __bits(8) x;

unsigned __bits(8) y;

void main() {
  unsigned k = ~x & 255;
  
  unsigned d = x + 255;
  unsigned r = k + 1;
  unsigned e = ~d & 255;

  unsigned bit = x & 1;

  if (bit) {
    y = e;
  } else {
    y = r;
  }
}


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


x dec[1]: 0

y dec[1]: 0

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


x dec[1]: 127

y dec[1]: 129

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


x dec[1]: 22

y dec[1]: 234

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675299&cid=1061 (30 - "Программа по схеме 84398")

Решение:
unsigned __bits(4) a;
unsigned __bits(4) b;
unsigned __bits(4) c;
unsigned __bits(4) d;

unsigned __bits(8) res;

void main() {
  unsigned ac = a*c;
  unsigned bd =	b*d;
  unsigned ac_bd = ac + bd;

  unsigned ac_bd_8 = ac_bd & 255;
  
  unsigned div = ac_bd / 2;

  if (ac_bd - ac_bd_8) {
    res = div | 128;
  } else {
    res = div;
  }
}


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


a dec[1]: 15
b dec[1]: 15
c dec[1]: 15
d dec[1]: 15

res dec[1]: 225

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


a dec[1]: 15
b dec[1]: 1
c dec[1]: 1
d dec[1]: 15

res dec[1]: 15

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


a dec[1]: 12
b dec[1]: 15
c dec[1]: 12
d dec[1]: 15

res dec[1]: 184

Александр Вольштейн

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

Мой профиль
Задача http://dl.gsu.by/task.jsp?nid=1675298&cid=1061 (29 - "Программа по схеме 84397")

Решение:
unsigned __bits(8) a;
unsigned __bits(8) b;
unsigned __bits(8) c;
unsigned __bits(8) d;

unsigned __bits(8) res;

void main() {
  unsigned a_b = a + b;
  unsigned c_d = c + (~d & 255) + 1;

  res = a_b + c_d;
}


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


a dec[1]: 100
b dec[1]: 123
c dec[1]: 35
d dec[1]: 120

res dec[1]: 138

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


a dec[1]: 127
b dec[1]: 120
c dec[1]: 255
d dec[1]: 0

res dec[1]: 246

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


a dec[1]: 255
b dec[1]: 0
c dec[1]: 255
d dec[1]: 255

res dec[1]: 255

 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 9, 10, 11, 12, 13, ... 18, 19, 20
Time:0,031