[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 15, 16, 17
Автор Сообщение
Михаил Долинский

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

Мой профиль


Константин Копытов:

Добрый вечер, мне кажется что в тестах на задачу Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Вычислить выражение\2 - "Схема по программе 81716" присутствует ошибка т.к. нужно вычислить выражение
(d+a)*C+b/d+b и на тест ; [1]
a = 3, 10
b = 4, 10
c = 5, 10
d = 254, 10
wait for 1000
assert res = 11, 10 получаем такой вот ответ, хотя по идее должен быть вот такой res:1289. Копытов Константин 
Игорь Коршунов

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

Мой профиль


Константин Копытов:


(d+a)*C+b/d+b и на тест ; [1]
a = 3, 10
b = 4, 10
c = 5, 10
d = 254, 10
wait for 1000
assert res = 11, 10 получаем такой вот ответ
 


Т.к. d однобайтная переменная, то 254 это на самом деле есть -2. И правильный ответ 11.
Константин Копытов

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

Мой профиль
Решал задачу Экзамен\Индивидуальные задания\Проектирование цифровых устройств\Простые устройства с памятью\5 - "Вычисление функции" 54243 Тишкунец Дмитрий, ПО-21, март 2007 и в тесте №2
; 1 Found at 0 place
Set 0,10 on a at 1001
Set 4,10 on b at 1001
Set 2,10 on c at 1001
Set 5,10 on d at 1001
Diff 13,10 on Q at 2000

программа по идее должна выдавать 16, так как в условии если (a*b)=6, то запомнить сумму (a+b+c+d) и подать её на выход

если (a*b)>6, то на выход подать (a+b)

если (a*b)<6, то к запомненному числу (a+b+c+d) прибавить d

должно быть 3-е условие
Игорь Коршунов

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

Мой профиль


Константин Копытов:

Решал задачу Экзамен\Индивидуальные задания\Проектирование цифровых устройств\Простые устройства с памятью\5 - "Вычисление функции" 54243 Тишкунец Дмитрий, ПО-21, март 2007 и в тесте №2
; 1 Found at 0 place
Set 0,10 on a at 1001
Set 4,10 on b at 1001
Set 2,10 on c at 1001
Set 5,10 on d at 1001
Diff 13,10 on Q at 2000

программа по идее должна выдавать 16, так как в условии если (a*b)=6, то запомнить сумму (a+b+c+d) и подать её на выход

если (a*b)>6, то на выход подать (a+b)

если (a*b)<6, то к запомненному числу (a+b+c+d) прибавить d

должно быть 3-е условие 

Запомненное число 8, d = 5, т.е. сумма должна быть 13.
Игорь Гулевич

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

Мой профиль
1.mpc - запрещенное расширение. Список разрешенных расширений: .i86
Программирование микроконтроллеров->ЎУсловные вычисления->2 [2669] Veto4ka
Игорь Гулевич

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

Мой профиль
тоже самое с:Программирование микроконтроллеров \Одномерные числовые массивы [1/33]\1 [2858] Отчисление
и
\Двумерные массивы [0/10]\1 [2891] Сумма элементов
Михаил Долинский

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

Мой профиль


Игорь Гулевич:

1.mpc - запрещенное расширение. Список разрешенных расширений: .i86
Программирование микроконтроллеров->ЎУсловные вычисления->2 [2669] Veto4ka  
Исправлено
Михаил Долинский

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

Мой профиль


Игорь Гулевич:

тоже самое с:Программирование микроконтроллеров \Одномерные числовые массивы [1/33]\1 [2858] Отчисление
и
\Двумерные массивы [0/10]\1 [2891] Сумма элементов
 
Исправлено

Просьба - указывайте задачу полным копированием розового фрейма в врехней части условия задачи
(так ее гораздо проще найти)
Например для последенй задачи:

Экзамен\Индивидуальные задания\Программирование микроконтроллеров\Двумерные массивы\1 - "Сумма элементов" 53562 Бондарович В.О., ПОИТ-36, февраль 2007
Игорь Гулевич

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

Мой профиль
Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Вычислить выражение\2 - "Схема по программе 81716" 81716
SUB BX,AX ; BX=(d+a)*c+b/d
коменты не правильные, должно быть так:
BX=(d+a)*c - b/d

п.с. как-то объявляйте, что версия на шлсикад обновилась...
Игорь Гулевич

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

Мой профиль
Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Цифры числа\1 - "Схема по программе 81527"
не то что бы ошибка, но не понятно зачем в конце программы return; если и так void main()... но тест из-за этого не проходил...

не то что бы ошибка но переписать пришлось...
Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Делители\2 - "Схема по программе 81519"
вот собственно код, но по нему схема не создается,

int __in __bits(8) a;
int __in __bits(8) b;
int __out __bits(8) res;

void main()
{
while( a != b)
{
if (a > b)
a = a - b;
else
b = b-a;
}
res=a;
return;
}
пришлось добавить:
int i=a;
int j=b;
да и снова ретурн..

Игорь Гулевич

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

Мой профиль
Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Битовая обработка\6 - "Схема по программе 81505" 81505 TaskConverter 2009 Февраль 01

может не в тему... но как так писать можно? если с (красным цветом) ещё понять можно, но сразу метку на конец программы слабо что ли? или бы уже nop поставил для красоты что ли, но операторы (зеленым цветом) я не знаю плакать или смеяться
да и mov dx,0 второй раз зачем? да и первый раз? я уже не говорю про то что xor dx,dx быстрее работать должно, если уже так хочется что-нить обнулить

jmp begin
a db 89
b db 137
res db 1

begin:
mov al,a
cbw
mov bx,10
mov dx,0
div bx
mov cx,dx
mov dx,0
mov bx,16
mul bx

add cx,ax
mov ax,cx

cwd
cmp al,b
je rav
mov res,0
jmp f
rav:
mov res,1

f:
h: jmp h ;$E
ошибок вроде и нету, но с таким кодом приходиться тратить намного больше времени, что бы его понять...
Все бы хорошо люди пишут в силу своих имений, хотя в данном случаи писалась лишь бы написать... ну да и ладно? отправил к примеру и сервак твой код увидит в лучшем случаи ещё кто-нибудь... Но на этих задачах учатся другие...
Михаил Долинский

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

Мой профиль
1) Я просил цитировать название задачи так:
Экзамен\Индивидуальные задания\Программирование микроконтроллеров\Двумерные массивы\1 - "Сумма элементов" 53562 Бондарович В.О., ПОИТ-36, февраль 2007  

Тогда ее легче искать (в том числе и по номеру 53562)

2) Про исходники некачественные - студент писал, как мог. Хорошо что ты понимаешь, что это не есть хорошо. Будем считать, это учеба - как писать не надо.
Игорь Гулевич

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

Мой профиль
Экзамен\Индивидуальные задания\Сконвертированные задания на программирование\Логические элементы\4 - "Инверсия" 80885 Федора Сергей, ПО-12, май 2006
Источник - задача 43701.
Arifmetic.prd - файл с неизвестным расширением. Список известных расширений: .i86
1.mpc - запрещенное расширение. Список разрешенных расширений: .i86

написал на асме прошло все...
ещё такое в задачах :

Экзамен\Индивидуальные задания\Сконвертированные задания на программирование\Логические элементы\3 - "Arifma" 80884 Дёмов Евгений, ПМ-45, июнь 2006

Экзамен\Индивидуальные задания\Сконвертированные задания на программирование\Логические элементы\2 - "Арифметик" 80883 Власов Константин, ПМ-45, май 2006

Экзамен\Индивидуальные задания\Сконвертированные задания на программирование\По логическим функциям\2 - "Логические функции" 80971 Бобрик Евгений, ПМ-45,

я так полагаю, что и во всем разделе... или все же i86 тут нужно?
Игорь Коршунов

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

Мой профиль


Игорь Гулевич:

Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Вычислить выражение\2 - "Схема по программе 81716" 81716
SUB BX,AX ; BX=(d+a)*c+b/d
коменты не правильные, должно быть так:
BX=(d+a)*c - b/d

п.с. как-то объявляйте, что версия на шлсикад обновилась...
 

Комментарии удалены.
Игорь Коршунов

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

Мой профиль


Игорь Гулевич:

Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Цифры числа\1 - "Схема по программе 81527"
не то что бы ошибка, но не понятно зачем в конце программы return; если и так void main()... но тест из-за этого не проходил...

не то что бы ошибка но переписать пришлось...
Экзамен\Индивидуальные задания\Сконвертированные задания на проектирование по программе\Делители\2 - "Схема по программе 81519"
вот собственно код, но по нему схема не создается,

int __in __bits(8) a;
int __in __bits(8) b;
int __out __bits(8) res;

void main()
{
while( a != b)
{
if (a > b)
a = a - b;
else
b = b-a;
}
res=a;
return;
}
пришлось добавить:
int i=a;
int j=b;
да и снова ретурн..

 

Исправлено.
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 15, 16, 17
Time:0,046