Автор |
Сообщение |
22.11.2012 19:05:47
Тема: Re:Ошибка в установке задачи - 2012
|
Михаил Долинский
Темы: 1985
Сообщений: 47299
Мой профиль
|
22.11.2012 19:03:13 22.11.2012 19:03:14 Захарченко Татьяна Организация и функционирование ЭВМ (М3/ПМ4) - 2012 4. Умножение двух знаковых чисел 0 [test 1]: Тест не прошел: Размерность переменной p должна быть 0 байт. 6.i86 DelTA3 at Nit3
|
23.11.2012 09:24:09
Тема: Re:Ошибка в установке задачи - 2012
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Михаил Долинский:
22.11.2012 19:03:13 22.11.2012 19:03:14 Захарченко Татьяна Организация и функционирование ЭВМ (М3/ПМ4) - 2012 4. Умножение двух знаковых чисел 0 [test 1]: Тест не прошел: Размерность переменной p должна быть 0 байт. 6.i86 DelTA3 at Nit3
Тесты исправлены, решения перетестированы.
|
23.11.2012 09:31:24
Тема: Re:Ошибка в установке задачи - 2012
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Юлия Ратникова:
Оценка\Индивидуальные задания\По выбору\Сконвертированные задания на программирование по схеме\Вычислить выражение\27 - "Программа по схеме 84395"
http://dl.gsu.by/task.jsp?nid=990399&cid=835
при значениях a=4, b=2 тест показывает res=5
перебрали схему в HLCCAD при этих же значениях res=2
в нашем решении на assembler res=2.
решение:
jmp begin
a db 4
b db 2
res db 0
begin: mov al,3
imul b ;b*0011
mov cl,al
mov al,a
mov bl,2
add al,bl ;a+2
cbw
idiv cl ;a+2/b*0011
mov bl,1
add al,bl ;(a+2/b*0011)+1
mov res,al
halt: jmp halt ;$E
Условие задачи исправлено.
|
27.11.2012 18:32:44
Тема: Re:Ошибка в установке задачи - 2012
|
Юлия Ратникова
Темы: 0
Сообщений: 12
Мой профиль
|
Оценка\Индивидуальные задания\По выбору\Сконвертированные задания на программирование по схеме\Вычислить выражение\13 - "Программа по схеме 84381" 84381
ошибка в схеме, в входных данных нет с_4
|
27.11.2012 19:22:40
Тема: Re:Ошибка в установке задачи - 2012
|
Кристина Осипенко
Темы: 0
Сообщений: 2
Мой профиль
|
http://dl.gsu.by/task.jsp?nid=989685&cid=835
Оценка\Индивидуальные задания\По выбору\Программирование микроконтроллеров\Условные вычисления\34 - "Вычисление функции - 2" 44602
по первой ветке должно должно получаться (при х=3, у=4) 22, а в примере получается 3.
и при отправке "секретный тест не пройден"
jmp begin
x db 3
y db 4
F db 0
begin:
mov al,x
cbw
mov bx,ax
mov al,y
cbw
imul bx
cmp ax,7
jle met1
jg met2
cmp ax,0
jle met3
met1: mov al,x
cbw
mov bx,ax
mov al,2
imul y
add ax,bx
mov F,al
jmp halt
met2:
mov al,5
imul x
mov bx,ax
mov al,2
imul y
add ax,bx
mov bx,1
sub ax,bx
mov F,al
jmp halt
met3: mov al,5
imul x
mov bx,ax
mov al,1
add al,y
cbw
sub bx,ax
mov f,bl
halt: jmp halt ;$E
|
27.11.2012 20:39:52
Тема: Re:Ошибка в установке задачи - 2012
|
Николай Тарасенко
Темы: 0
Сообщений: 36
Мой профиль
|
Оценка\Индивидуальные задания\По выбору\Сконвертированные задания на программирование\Микропрограммно\2 - "Простое число"
http://dl.gsu.by/task.jsp?nid=990295&cid=835
По условию требуется А - 16 бит.
Однако в протоколе при первой проверке выскочила ошибка
"Размерность переменной a должна быть 1 байт."
|
28.11.2012 09:21:46
Тема: Re:Ошибка в установке задачи - 2012
|
Виталий Коган
Темы: 1
Сообщений: 189
Мой профиль
|
Кристина Осипенко:
http://dl.gsu.by/task.jsp?nid=989685&cid=835
Оценка\Индивидуальные задания\По выбору\Программирование микроконтроллеров\Условные вычисления\34 - "Вычисление функции - 2" 44602
по первой ветке должно должно получаться (при х=3, у=4) 22, а в примере получается 3.
и при отправке "секретный тест не пройден"
jmp begin
x db 3
y db 4
F db 0
begin:
mov al,x
cbw
mov bx,ax
mov al,y
cbw
imul bx
cmp ax,7
jle met1
jg met2
cmp ax,0
jle met3
met1: mov al,x
cbw
mov bx,ax
mov al,2
imul y
add ax,bx
mov F,al
jmp halt
met2:
mov al,5
imul x
mov bx,ax
mov al,2
imul y
add ax,bx
mov bx,1
sub ax,bx
mov F,al
jmp halt
met3: mov al,5
imul x
mov bx,ax
mov al,1
add al,y
cbw
sub bx,ax
mov f,bl
halt: jmp halt ;$E
Не зная секретный тест, могу сразу указать на ошибку: вы делаете проверку на то, чтобы xy<7 и переходите на определенную метку(met1), где спокойно вычисляете определенное выражение, затем проверяете xy>7 и переходите на met2 и xy<=0 и переходите на met3. Так вот ваша ошибка состоит в том, что если произведение xy даст 0, то оно никогда не попадет в met3, куда по условию задачи и должно попасть, а попадет в met1, поскольку 0<7 и выполнит вторую ветку в системе, вместо третьей. Т.е. делаем вывод: сначала проверяем xy<=7, если да, то заходим в met1 и проверяем xy>0, если да, то переходи в другую метку и вычисляем вторую ветку заданной системы, иначе вычисляем третью ветку заданной системы.
|
30.11.2012 10:40:14
Тема: Re:Ошибка в установке задачи - 2012
|
Павел Капустин
Темы: 0
Сообщений: 29
Мой профиль
|
В задаче:
Экзамен\Контроль практики\Интегральный контроль\12\Программирование\4 - "Поменять регистры"
Программа не проходит секретный тест. Причём программа при моём тестировании проходит все мною придуманные тесты(возможные для этой программы). Даже все крайние случаи.
char in1[128];
char out1[128];
void main()
{
unsigned __bits(16) i=0;
while (in1[i]!='#')
{
if (in1[i]<94)
out1[i]=in1[i]+32;
else
out1[i]=in1[i]-32;
i++;
}
out1[i]=in1[i];
}
|
30.11.2012 10:55:32
Тема: Re:Ошибка в установке задачи - 2012
|
Павел Дзунович
Темы: 0
Сообщений: 59
Мой профиль
|
Дзунович Павел, ПО-31
Задача на тестирование. Вариант #15
http://dl.gsu.by/task.jsp?nid=999892&cid=836
Одинадцатая, якобы неверная, программа, проходит все тесты, в том числе и секретный, при отправке сюда:
http://dl.gsu.by/task.jsp?nid=999830&cid=836
jmp Begin
x dw 1
y dw 2
a db 3
b db 4
R dw 0 ;R=(a*b=0)?((a-b)*x+(a+b)/y)
; ((x-y)*a+(x+y)/b)
Begin:
mov AL,a ; AL=a
imul b ; AX=a*b
cmp AX,0 ; (a*b~0)
je Then ; If (a*b = 0) GoTo Zero
jmp Else ; Else GoTo NonZero
Then:
mov AL,a ; AL=a
sub AL,b
cbw ; AX=a-b
imul x ; DX:AX=(a-b)*x
mov BX,AX ; BX=(a-b)*x
mov AL,a ; AL=a
add AL,b
cbw
cwd ; DX:AX=a+b
idiv y ; AX=(a+b)/y | DX=(a+b)%y
add AX,BX ; AX=(a-b)*x+(a+b)/y
mov R,AX ; R=(a-b)*x+(a+b)/y
jmp Halt ; return
Else:
mov CX,x ; CX=x
sub CX,y ; CX=x-y
mov AL,a
cbw ; AX=a
imul CX ; DX:AX=(x-y)*a
mov BX,AX ; BX=(x-y)*a
mov CX,x ; CX=x
add CX,y ; CX=x+y
mov AL,b
cbw ; AX=b
xchg AX,CX
cwd
idiv CX ; AX=(x+y)/b | DX=(x+y)%b
add AX,BX ; AX=(x-y)*a+(x+y)/b
mov R,AX ; R=(x-y)*a+(x+y)/b
; return
Halt:
jmp Halt ;$E
Если окажется, что это решение все таки правильное, прошу исправить оценку в контрольном срезе. Этот срез сдавался 26.10
______________________
Верховный Жрец школы "Демонического программирования"
|
30.11.2012 10:59:33
Тема: Re:Ошибка в установке задачи - 2012
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Павел Капустин:
В задаче:
Экзамен\Контроль практики\Интегральный контроль\12\Программирование\4 - "Поменять регистры"
Программа не проходит секретный тест. Причём программа при моём тестировании проходит все мною придуманные тесты(возможные для этой программы). Даже все крайние случаи.
char in1[128];
char out1[128];
void main()
{
unsigned __bits(16) i=0;
while (in1[i]!='#')
{
if (in1[i]<94)
out1[i]=in1[i]+32;
else
out1[i]=in1[i]-32;
i++;
}
out1[i]=in1[i];
}
Основной тест дополнен.
|
30.11.2012 11:05:49
Тема: Re:Ошибка в установке задачи - 2012
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Павел Дзунович:
Дзунович Павел, ПО-31
Задача на тестирование. Вариант #15
http://dl.gsu.by/task.jsp?nid=999892&cid=836
Одинадцатая, якобы неверная, программа, проходит все тесты, в том числе и секретный, при отправке сюда:
http://dl.gsu.by/task.jsp?nid=999830&cid=836
jmp Begin
x dw 1
y dw 2
a db 3
b db 4
R dw 0 ;R=(a*b=0)?((a-b)*x+(a+b)/y)
; ((x-y)*a+(x+y)/b)
Begin:
mov AL,a ; AL=a
imul b ; AX=a*b
cmp AX,0 ; (a*b~0)
je Then ; If (a*b = 0) GoTo Zero
jmp Else ; Else GoTo NonZero
Then:
mov AL,a ; AL=a
sub AL,b
cbw ; AX=a-b
imul x ; DX:AX=(a-b)*x
mov BX,AX ; BX=(a-b)*x
mov AL,a ; AL=a
add AL,b
cbw
cwd ; DX:AX=a+b
idiv y ; AX=(a+b)/y | DX=(a+b)%y
add AX,BX ; AX=(a-b)*x+(a+b)/y
mov R,AX ; R=(a-b)*x+(a+b)/y
jmp Halt ; return
Else:
mov CX,x ; CX=x
sub CX,y ; CX=x-y
mov AL,a
cbw ; AX=a
imul CX ; DX:AX=(x-y)*a
mov BX,AX ; BX=(x-y)*a
mov CX,x ; CX=x
add CX,y ; CX=x+y
mov AL,b
cbw ; AX=b
xchg AX,CX
cwd
idiv CX ; AX=(x+y)/b | DX=(x+y)%b
add AX,BX ; AX=(x-y)*a+(x+y)/b
mov R,AX ; R=(x-y)*a+(x+y)/b
; return
Halt:
jmp Halt ;$E
Если окажется, что это решение все таки правильное, прошу исправить оценку в контрольном срезе. Этот срез сдавался 26.10
Программа удалена из списка неправильных, решение перетестировано.
|
30.11.2012 11:15:28
Тема: Re:Ошибка в установке задачи - 2012
|
Евгений Картавых
Темы: 2
Сообщений: 49
Мой профиль
|
Задача:
Экзамен\Контроль практики\Интегральный контроль\12\Программирование\4 - "Поменять регистры" 44325 Нина Бирич, ПОИТ-27, май 2006
Тестер пишет "Секретный тест не прошел".
Решение:
char in1[100];
char out1[100];
void main() {
int i = 0;
int delta = 'a' - 'A';
while (1) {
if (in1[i] >= '0' && in1[i] <= '9') {
out1[i] = in1[i];
i++;
continue;
}
if (in1[i] == '#') {
out1[i] = '#';
break;
};
if (in1[i] < 'a') {
out1[i] = in1[i] + delta;
} else {
out1[i] = in1[i] - delta;
}
i++;
}
}
______________________
xxx: I just saw a red-black squirrel!
yyy: Was it in a red-black tree?
|
30.11.2012 11:16:54
Тема: Re:Ошибка в установке задачи - 2012
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Кристина Осипенко:
http://dl.gsu.by/task.jsp?nid=989685&cid=835
Оценка\Индивидуальные задания\По выбору\Программирование микроконтроллеров\Условные вычисления\34 - "Вычисление функции - 2" 44602
по первой ветке должно должно получаться (при х=3, у=4) 22, а в примере получается 3.
и при отправке "секретный тест не пройден"
jmp begin
x db 3
y db 4
F db 0
begin:
mov al,x
cbw
mov bx,ax
mov al,y
cbw
imul bx
cmp ax,7
jle met1
jg met2
cmp ax,0
jle met3
met1: mov al,x
cbw
mov bx,ax
mov al,2
imul y
add ax,bx
mov F,al
jmp halt
met2:
mov al,5
imul x
mov bx,ax
mov al,2
imul y
add ax,bx
mov bx,1
sub ax,bx
mov F,al
jmp halt
met3: mov al,5
imul x
mov bx,ax
mov al,1
add al,y
cbw
sub bx,ax
mov f,bl
halt: jmp halt ;$E
Основной тест дополнен.
Пример исправлен.
|
30.11.2012 11:19:07
Тема: Re:Ошибка в установке задачи - 2012
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Евгений Картавых:
Задача:
Экзамен\Контроль практики\Интегральный контроль\12\Программирование\4 - "Поменять регистры" 44325 Нина Бирич, ПОИТ-27, май 2006
Тестер пишет "Секретный тест не прошел".
Решение:
char in1[100];
char out1[100];
void main() {
int i = 0;
int delta = 'a' - 'A';
while (1) {
if (in1[i] >= '0' && in1[i] <= '9') {
out1[i] = in1[i];
i++;
continue;
}
if (in1[i] == '#') {
out1[i] = '#';
break;
};
if (in1[i] < 'a') {
out1[i] = in1[i] + delta;
} else {
out1[i] = in1[i] - delta;
}
i++;
}
}
Основной тест дополнен.
|
30.11.2012 11:30:23
Тема: Re:Ошибка в установке задачи - 2012
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Николай Тарасенко:
Оценка\Индивидуальные задания\По выбору\Сконвертированные задания на программирование\Микропрограммно\2 - "Простое число"
http://dl.gsu.by/task.jsp?nid=990295&cid=835
По условию требуется А - 16 бит.
Однако в протоколе при первой проверке выскочила ошибка
"Размерность переменной a должна быть 1 байт."
Тесты исправлены, решения перетестированы.
|
|
|