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

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

Мой профиль


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


Дмитрий Логойда:

Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019
Оценка\Индивидуальные задания\Обязательные\Программирование на ассемблере (WInter)\Арифметические выражения\2 - "Задача №2" (5594)
http://dl.gsu.by/task.jsp?nid=1823701&cid=1120

Не получается сдать задачу. Думаю из-за того что в тесте опечатка. 


Конкретнее поясни свою мысль - докажи.

Решили: 323  
Думаю, вероятнее, что ошибка у тебя.
Но если будет твоё доказательство, проще будет понять, в чём именно ты ошибаешься
 


При прохождении этого теста в Winter он выдаёт:
[тест 4]: не объявлена переменная b.
С такой ошибкой ещё не сталкивался и поэтому думаю что опечатка в тесте (по ссылке выше скриншоты теста)
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
В протоколе я вижу такую ошибку

17.04.2019 15:29:04 17.04.2019 15:29:09 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 2. Задача №2 0 [test 4]: Тест не прошел: res sgn[2]: -2482. 2.i86 DelTA3 at NIT8
17.04.2019 15:22:27 17.04.2019 15:22:34 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 2. Задача №2 0 [test 4]: Тест не прошел: res sgn[2]: -2482. 2.i86 DelTA3 at NIT5


Если у тебя такая ошибка,
[тест 4]: не объявлена переменная b.  

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

Это твой исходник

	jmp	begin
a	dw	-1
b	dw	-1
c	db	-1
d	db	-1
RES	dw	9
begin:
	mov	ax,b
	cmp	ax,0
	jg	met1
	mov	al,c
	cbw
	cmp	ax,0
	jg	met1
	mov	ax,a
	imul	b
	mov	bx,ax
	mov	al,c
	cbw
	add	bx,ax
	mov	al,d
	cbw
	imul	bx
	mov	si,ax
	mov	al,d
	cbw
	imul	a
	mov	bx,ax
	mov	al,d
	cbw
	add	bx,ax
	mov	al,c
	cbw
	imul	bx
	sub	si,ax
	mov	ax,si
	cwd
	idiv	b
	mov	RES,ax
	jmp	halt
met1:
	mov	al,c
	cbw
	mov	bx,ax
	mov	ax,a
	cwd
	idiv	b
	cwd
	idiv	bx
	mov	si,ax
	mov	al,d
	imul	c
	mov	di,ax
	mov	al,d
	cbw
	cwd
	idiv	b
	sub	di,ax
	mov	ax,di
	imul	a
	add	si,ax
	mov	RES,si
	jmp	halt
halt:
	jmp	halt;$E


А это тест который ты должен подключить

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

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


a dec[2]: 600
b dec[2]: 1
c sgn: -2
d sgn: -10

res dec[2]: 17700

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


a dec[2]: 3
b sgn[2]: -2
c dec: 3
d dec: 100

res dec[2]: 1050

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


a dec[2]: 100
b sgn[2]: -100
c dec: 0
d dec: 3

res sgn[2]: 300

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


a dec[2]: 500
b sgn[2]: -2
c sgn: -3
d dec: 10

res sgn[2]: -2482

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


a sgn[2]: 1000
b sgn[2]: 2
c sgn: 4
d sgn: 5

res sgn[2]: 18125

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


a sgn[2]: 100
b sgn[2]: 15
c sgn: -5
d sgn: 45

res sgn[2]: -22801

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

Темы: 1982
Сообщений: 47182

Мой профиль
А возможно ошибка появилась в результате выполнения первых трёх тестов.
Попробуй только 4-ый выполнить вручную.
Дмитрий Логойда

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

Мой профиль


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

А возможно ошибка появилась в результате выполнения первых трёх тестов.
Попробуй только 4-ый выполнить вручную. 

А может быть такое, что тесты сбоят, ибо решаю следующую задачу (http://dl.gsu.by/task.jsp?nid=1823702&cid=1120) и снова не проходит 4 тест (тестовый файлы разные), там в тесте смещается D dec:20 (как я понял это должно быть с новой строки). В прошлой и этой задаче я прогнал вручную и всё вычисляет как нужно. Что с этим делать ?
/*******************
[тест 4]
Циклы = 1000
CheckCycles = false
Сегмент-0
Смещение-0


a dec[2]: 200
B dec[2]: 2
c dec: 10D dec: 20

res dec[2]: 1000
********************/
Михаил Долинский

Темы: 1982
Сообщений: 47182

Мой профиль
Решили: 459  

И снова, вероятнее всего, ошибка у тебя.

Напиши на бумажке вычисления последовательно.
А потом также последовательно найди все эти ответы в своей программе.
Если не получается самому - надо попросить помощи у кого-то из одногруппников.
Ну или в понедельник на моих занятиях будем разбираться.
Дмитрий Логойда

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

Мой профиль
Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019
Оценка\Индивидуальные задания\Обязательные\Программирование на ассемблере (WInter)\Арифметические выражения\3 - "Задача №3" (5595)
http://dl.gsu.by/task.jsp?nid=1823702&cid=1120
отправил на проверку 22.4 14:02 3. Задача №3 0 / 100 [test 4]: Тест не прошел: res dec[2]: 1000. DelTA3 at NIT5 Winter i86
выгрузил тест, и тест также не прошло в Winter. Когда подставил значения вручную - ответ правильный
подставлял значения a=200 b=2 c=10 d=20 res=1000


[MD] Его решение можно взять здесь
22.04.2019 14:02:28 22.04.2019 14:02:33 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 3. Задача №3 0 [test 4]: Тест не прошел: res dec[2]: 1000. 3.i86 DelTA3 at NIT5
Игорь Коршунов

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

Мой профиль


Дмитрий Логойда:

Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019
Оценка\Индивидуальные задания\Обязательные\Программирование на ассемблере (WInter)\Арифметические выражения\3 - "Задача №3" (5595)
http://dl.gsu.by/task.jsp?nid=1823702&cid=1120
отправил на проверку 22.4 14:02 3. Задача №3 0 / 100 [test 4]: Тест не прошел: res dec[2]: 1000. DelTA3 at NIT5 Winter i86
выгрузил тест, и тест также не прошло в Winter. Когда подставил значения вручную - ответ правильный
подставлял значения a=200 b=2 c=10 d=20 res=1000


[MD] Его решение можно взять здесь
22.04.2019 14:02:28 22.04.2019 14:02:33 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 3. Задача №3 0 [test 4]: Тест не прошел: res dec[2]: 1000. 3.i86 DelTA3 at NIT5
 

В самом начале программы:
begin:
	mov	al,d
	cbw
	mov	ax,b
	cmp	ax,bx
	jge	met1

b загружается в ax, хотя должно в bx.
В результате при выполнении сравнения используется неинициализированный регистр bx. После чего оператор перехода работает случайным образом.

Можно было несколько раз запустить тестирование и увидеть, что ошибка проявляется рандомно в разных тестах. Из чего сразу понятно, что в программе используются неинициализированные переменные.
Александр Городков

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

Мой профиль
Архитектура вычислительных систем (ПО4/ИТ3) - 2019
Контрольные срезы\24 октября\Программирование\Одномерные числовые массивы\27 - "Статистика" (58584)
http://dl.gsu.by/task.jsp?nid=1852315&cid=1145
Неплохо бы добавить в условие, что такое "выборочная неисправленная дисперсия".
Игорь Коршунов

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

Мой профиль


Александр Городков:

Архитектура вычислительных систем (ПО4/ИТ3) - 2019
Контрольные срезы\24 октября\Программирование\Одномерные числовые массивы\27 - "Статистика" (58584)
http://dl.gsu.by/task.jsp?nid=1852315&cid=1145
Неплохо бы добавить в условие, что такое "выборочная неисправленная дисперсия". 

Добавил.
Дмитрий Логойда

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

Мой профиль
Задача Экзамен\Индивидуальные задания\Программирование микроконтроллеров\Цифры числа\10 - "Сумма цифр числа" 26553 Бондаловский Д.А., ПОИТ-26, февраль 2005
http://dl.gsu.by/task.jsp?nid=1844562&cid=1145
unsigned __in __bits(16)x;
unsigned __out __bits(8)y;

void main(){
  unsigned b = 0;
  unsigned a = x;
  unsigned mas[15];
  unsigned i = 0;
  while(a > 0){
    unsigned k = a % 10;
	mas[i] = k;
	i++;
	b++;
	a = a/10;
  }
  unsigned min = mas[0];
  unsigned max = mas[0];
  for (i = 0; i < b; i++){
    if (min > mas[i])min = mas[i];
	if (max < mas[i])max = mas[i];
  }
  y = max+min;
}


Не проходит [test3]
[test3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x dec[2]: 0

y dec: 0


В Winter ответ даёт верный. Проверил все тесты, и везде верный ответ. Помогите понять в чём ошибка.
Игорь Коршунов

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

Мой профиль


Дмитрий Логойда:

Задача Экзамен\Индивидуальные задания\Программирование микроконтроллеров\Цифры числа\10 - "Сумма цифр числа" 26553 Бондаловский Д.А., ПОИТ-26, февраль 2005
http://dl.gsu.by/task.jsp?nid=1844562&cid=1145
unsigned __in __bits(16)x;
unsigned __out __bits(8)y;

void main(){
  unsigned b = 0;
  unsigned a = x;
  unsigned mas[15];
  unsigned i = 0;
  while(a > 0){
    unsigned k = a % 10;
	mas[i] = k;
	i++;
	b++;
	a = a/10;
  }
  unsigned min = mas[0];
  unsigned max = mas[0];
  for (i = 0; i < b; i++){
    if (min > mas[i])min = mas[i];
	if (max < mas[i])max = mas[i];
  }
  y = max+min;
}


Не проходит [test3]
[test3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


x dec[2]: 0

y dec: 0


В Winter ответ даёт верный. Проверил все тесты, и везде верный ответ. Помогите понять в чём ошибка. 


В случае x = 0 не происходит инициализации mas[0], соответственно минимальное и максимальное значение получаются случайными.
Максим Громыко

Темы: 2
Сообщений: 26

Мой профиль
https://dl.gsu.by/task.jsp?nid=1936300&cid=1189
как в этой задаче при заданных n = 10, k = 10, res получается = 4? (7 тест)
это я чего-то не понимаю или что-то не так с последними 2-мя тестами?
Игорь Коршунов

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

Мой профиль


Максим Громыко:

https://dl.gsu.by/task.jsp?nid=1936300&cid=1189
как в этой задаче при заданных n = 10, k = 10, res получается = 4? (7 тест)
это я чего-то не понимаю или что-то не так с последними 2-мя тестами? 

Тесты исправлены, решение перетестировано.
Иван Бобр

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

Мой профиль
Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2021
Командные олимпиады\Архитектура учебного процессора TCPU \Ассемблирование\5 - "TCPU ASM - 01" (53110)
http://dl.gsu.by/task.jsp?nid=2028071&cid=1230

В условии задачи написано, что в данном случае не надо использовать выравнивание по NOP. В файле "Инструкции по решению задач\Инструкция по решению задач на ассемблирование для процессора TCPU" (https://dl.gsu.by/theory.jsp?id=4573&cid=594) сказано, что для включения режима выравнивания нужно использовать директиву
.align. По этому мы просто не дописываем .align.
Владислав Громыко

Темы: 2
Сообщений: 8

Мой профиль
Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2021
Командные олимпиады\Архитектура микропроцессора Intel 8086\Симуляция ASM-программ\3 - "Строка" (44922)
http://dl.gsu.by/task.jsp?nid=2028182&cid=1230

В данной задачи нет условия, есть лишь входные и выходные данные
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, 6, 7, 8, 9
Time:0,054