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

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

Мой профиль
NEW
int __bits(16) SIGN(int __bits(16) A) {return (A > 0) ? 1 : (A == 0) ? 0 : -1;}
int __bits(16) ABS(int __bits(16) A) { return (A > 0) ? A : (A*(-1));}
unsigned __bits(64) FACT(unsigned __bits(4) A) {unsigned __bits(64) RES=1; while (A > 1) RES *= A--; return RES;}



STANDARD
//Mathematics
unsigned __bits(8) SUM(unsigned __bits(8) A, unsigned __bits(8) B) {return A+B;}
unsigned __bits(16) MUL(unsigned __bits(8) A, unsigned __bits(8) B) {return A*B;}
unsigned __bits(16) DIVRes;
unsigned __bits(16) MODRes;
unsigned __bits(16) DIV(unsigned __bits(16) A, unsigned __bits(16) B) {return A/B;}
unsigned __bits(16) MOD(unsigned __bits(16) A, unsigned __bits(16) B) {return A%B;}
void DIVResult(unsigned __bits(16) A, unsigned __bits(16) B) {DIVRes = DIV(A,B); MODRes = MOD(A,B);}
unsigned __bits(32) DIVMOD(unsigned __bits(16) A, unsigned __bits(16) B) {return ((DIV(A,B)) << 16) + MOD(A,B);}
unsigned __bits(1) GT;
unsigned __bits(1) EQ;
unsigned __bits(1) LT;
unsigned __bits(3) CMP(unsigned __bits(8) A, unsigned __bits(8) B) {return (A > B) ? 4 : (A == B) ? 2 : 1;}
void CMPResult(unsigned __bits(8) A, unsigned __bits(8) B) {unsigned __bits(3) C = CMP(A,B); GT = C == 4; EQ = C == 2; LT = C == 1;}

//Logic
unsigned __bits(1) NOT(unsigned __bits(1) A) {return ~A;}
unsigned __bits(1) OR2(unsigned __bits(1) A, unsigned __bits(1) B) {return A | B;}
unsigned __bits(1) XOR2(unsigned __bits(1) A, unsigned __bits(1) B) {return A ^ B;}
unsigned __bits(1) AND2(unsigned __bits(1) A, unsigned __bits(1) B) {return A & B;}

//DC, CD, MS
unsigned __bits(8) DC(unsigned __bits(1) CS, unsigned __bits(3) X) {unsigned __bits(8) d = 1; return (CS == 0) ? 0 : d << X;}
unsigned __bits(4) CD(unsigned __bits(8) X) {if (X == 0) return 0; unsigned __bits(4) i = 0; while (!(X & 1)) {i++; X = X >> 1;} return (i << 1) + 1;}
unsigned __bits(1) MS(unsigned __bits(8) X, unsigned __bits(3) A) {return ((X >> A) & 1);}



SignedArithm
int __bits(16) CBW(int __bits(8) A) {return A;}
int __bits(32) CWD(int __bits(16) A) {return A;}
int __bits(16) ISUM(int __bits(16) A, int __bits(16) B) {return A+B;}
int __bits(16) ISUB(int __bits(16) A, int __bits(16) B) {return A-B;}
int __bits(32) IMUL(int __bits(16) A, int __bits(16) B) {return A*B;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {return A/B;}
unsigned __bits(3) ICMP(int __bits(32) A, int __bits(32) B) {return (A > B) ? 4 : (A == B) ? 2 : 1;}
unsigned __bits(1) IGT;
unsigned __bits(1) IEQ;
unsigned __bits(1) ILT;
void ICMPResult(int __bits(32) A, int __bits(32) B) {unsigned __bits(3) C = ICMP(A,B); IGT = C == 4; IEQ = C == 2; ILT = C == 1;}
unsigned __bits(16) x32Tox16(unsigned __bits(32) A) {return A;}
unsigned __bits(16) MSb16x2(unsigned __bits(16) Zero, unsigned __bits(16) One, unsigned __bits(1) A) {return (A) ? One : Zero;}


Изменения в STANDARD:

Добавлена функция MOD;
Добавлена функция DIVMOD(первые (старшие) 16 бит это результат деления, остальные - результат остатка от деления)
Добавлены функции CMPResult и DIVResult, которые возвращают результат в соответствующие глобальные переменные - DIVResult: DIVRes и MODRes, CMPResult: GT(больше), EQ(равно) и LT(меньше);
Исправление функции Шифратора(CD);

Изменения в SignedArithm:

Добавлена функция ISUM;
Добавлена функция x32Tox16;
Добавлена функция MSb16x2;
Добавлена функция ICMPResult, которая возвращает результат в соответствующие глобальные переменные - ICMPResult: IGT(больше), IEQ(равно) и ILT(меньше);
Женя Руденок

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

Мой профиль
Обучение\C-MPA\C-MPA - arithm\Сам-с15 - "Задача №15" 101458 Соловцов Виталий
https://dl.gsu.by/task.jsp?nid=2351872&cid=1335
16.12 23:44 Сам-п15. Задача №15 0 / 100 Не пройден секретный тест: Ошибка: Несовпадение R:15=18 [5,004 ps] Arifm.prd DelTA4 at NIT0 Win10 HLCCAD project
16.12 23:42 Сам-с15. Задача №15 100 / 100 Все тесты пройдены (основной + секретный). 123123src.mpc DelTA4 at NIT0 Win10 Winter mpc



MD:


Увеличено время на тестирование
16.12.2023 23:44:14 31.12.2023 21:49:41 Руденок Женя Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2023 Сам-п15. Задача №15 100 Все тесты пройдены (основной + секретный) Arifm.prd DelTA4 at NIT1 Win10
 

int __in __bits(16) x;
int __in __bits(16) y;
int __in __bits(8) a;
int __in __bits(8) b;

int __out __bits(16) R;

unsigned __bits(16) CBW(unsigned __bits(8) A) {return A;}
unsigned __bits(32) CWD(unsigned __bits(16) A) {return A;}
int __bits(16) ISUB(int __bits(16) A, int __bits(16) B) {return A-B;}
int __bits(32) IMUL(int __bits(16) A, int __bits(16) B) {return A*B;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {return A/B;}
unsigned __bits(16) x32Tox16(unsigned __bits(32) A) {return A;}
unsigned __bits(3) ICMP(int __bits(32) A, int __bits(32) B) {return (A > B) ? 4 : (A == B) ? 2 : 1;}
unsigned __bits(16) MSb16x2(unsigned __bits(16) Zero, unsigned __bits(16) One, unsigned __bits(1) A) {return A ? One : Zero;}
int __bits(16) SUM(int __bits(16) A, int __bits(16) B) {return A+B;}

void main() {
    int __bits(16) res1;
    int __bits(16) res2;
    unsigned __bits(1) A = 0;

	int __bits(16) x32 = CWD(x);
    int __bits(16) y32 = CWD(y);
    int __bits(16) a16 = CBW(a);
    int __bits(16) a32 = CWD(a16);
    int __bits(16) b16 = CBW(b);
    int __bits(16) b32 = CWD(b16);

    int	x1=IMUL(ISUB(a16,b16),x);
	int x2=IDIV(CWD(SUM(a16,b16)),y32);
	res1=SUM(x32Tox16(x1),x2);

    int y1=IMUL(ISUB(x,y),a16);
	int y2=SUM(x32,y32);
	int y3=IDIV(y2,b32);

	res2=SUM(x32Tox16(y1),y3);

    if(ICMP(IMUL(a16,b16),0)==2){
	  A=1;
	}
	R=MSb16x2(res2,res1,A);
}


HLCCAD не прошел.

В готовой функции SUM необходимо было изменить тип unsigned на INT, чтобы программа работала корректно.

Отработка пропуска 21_09
Никита Чварков

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

Мой профиль
Чварков Никита, ИТП-31. Пропуск за 06.11.23
https://dl.gsu.by/task.jsp?nid=2290677&cid=1335

int __in __bits(16) X;
int __in __bits(16) Y;
int __out __bits(16) RES;
int __in __bits(8) A9;
int __in __bits(8) B7;

int __bits(16) CBW(int __bits(8) A){return A;}
int __bits(32) CWD(int __bits(16) A){return A;}
int __bits(16) ISUB(int __bits(16) A,int __bits(16) B){int __bits(16) C;C=A-B;return C;}
int __bits(16) SUM(int __bits(16) A,int __bits(16) B){int __bits(16) C;C=A+B;return C;}
int __bits(32) IMUL(int __bits(16) A,int __bits(16) B){int __bits(32) C;C=A*B;return C;}
int __bits(16) IDIV(int __bits(32) A,int __bits(32) B){int __bits(16) C;C=A/B;return C;}
int __bits(2) ICMP(int __bits(32) A,int __bits(32) B){if(IMUL(X,Y)<0)return 0;else return 1;}
int __bits(16) MSb8x2(int __bits(16) Zero,int __bits(16) One,int __bits(1) A){if(A) return One;else return Zero;}

void main()
{
int __bits(16) b=CBW(B7);
int __bits(16) a=CBW(A9);

int m1=IMUL(b,X);
int sm1=SUM(m1,a);
int sb1=ISUB(sm1,Y);
int dv1=IDIV(sb1,X);
int res1=dv1;

int m2=IMUL(X,Y);
int sb2=ISUB(b,m2);
int dv2=IDIV(sb2,a);
int sm3=SUM(dv2,Y);
int res2=sm3;
int flag=ICMP(X,Y);
RES=MSb8x2(res2,res1,flag);

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

Темы: 2010
Сообщений: 47873

Мой профиль


Никита Чварков:

Чварков Никита, ИТП-31. Пропуск за 06.11.23
https://dl.gsu.by/task.jsp?nid=2290677&cid=1335

int __in __bits(16) X;
int __in __bits(16) Y;
int __out __bits(16) RES;
int __in __bits(8) A9;
int __in __bits(8) B7;

int __bits(16) CBW(int __bits(8) A){return A;}
int __bits(32) CWD(int __bits(16) A){return A;}
int __bits(16) ISUB(int __bits(16) A,int __bits(16) B){int __bits(16) C;C=A-B;return C;}
int __bits(16) SUM(int __bits(16) A,int __bits(16) B){int __bits(16) C;C=A+B;return C;}
int __bits(32) IMUL(int __bits(16) A,int __bits(16) B){int __bits(32) C;C=A*B;return C;}
int __bits(16) IDIV(int __bits(32) A,int __bits(32) B){int __bits(16) C;C=A/B;return C;}
int __bits(2) ICMP(int __bits(32) A,int __bits(32) B){if(IMUL(X,Y)<0)return 0;else return 1;}
int __bits(16) MSb8x2(int __bits(16) Zero,int __bits(16) One,int __bits(1) A){if(A) return One;else return Zero;}

void main()
{
int __bits(16) b=CBW(B7);
int __bits(16) a=CBW(A9);

int m1=IMUL(b,X);
int sm1=SUM(m1,a);
int sb1=ISUB(sm1,Y);
int dv1=IDIV(sb1,X);
int res1=dv1;

int m2=IMUL(X,Y);
int sb2=ISUB(b,m2);
int dv2=IDIV(sb2,a);
int sm3=SUM(dv2,Y);
int res2=sm3;
int flag=ICMP(X,Y);
RES=MSb8x2(res2,res1,flag);


Надо строки из протокола скопировать - ты сдал задачи? Обе? Одну?
См. образец в предыдущем сообщении.
Степан Степанчиков

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

Мой профиль
Аналоги чат-ботов, используемые при обучению программированию
Пропуск 29_09
https://useadrenaline.com
https://www.documatic.com/features
https://codeium.com
Валерия Коваленко

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

Мой профиль
Коваленко Валерия ПО-21
Задача 28
https://dl.gsu.by/task.jsp?nid=2301715&cid=1336

17.12 19:51 Сам-с1. Задача №28 100 / 100 Все тесты пройдены (основной + секретный). src.mpc DelTA4 at NIT0 Win10 x64 Winter mpc
17.12 19:48 Сам-с1. Задача №28 0 / 100 [TEST3]: Тест не прошел: RES sgn[2]: 2900. src.mpc DelTA4 at NIT0 Winter mpc

int __in __bits(16) X;
int __in __bits(16) Y;
int __in __bits(8) A;
int __in __bits(8) C;
int __out __bits(16) RES;
 
int __bits(16)  ISUB   (int __bits(16) A, int __bits(16) B) {return A-B;}
int __bits(32) IMUL(int __bits(16) A, int __bits(16) B) {return A*B;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {return A/B;}
unsigned __bits(16) SUM(unsigned __bits(16) A, unsigned __bits(16) B) {return A+B;}
unsigned __bits(16) CBW(unsigned __bits(8) A) {return A;}
unsigned __bits(32) CWD(unsigned __bits(16) A) {return A;}
unsigned __bits(3) ICMP(int __bits(32) A, int __bits(32) B) {return (A > B) ? 4 : (A == B) ? 2 : 1;}
unsigned __bits(16) MSb16x2(unsigned __bits(16) Zero, unsigned __bits(16) One, unsigned __bits(1) A) {return A ? One : Zero;}
 
void main(){
 
unsigned __bits(1)n=0;

int s1=SUM(X,Y);
int __bits(16) s32 = CWD(s1);
int __bits(16) c16 = CBW(C);
int __bits(16) c32 = CWD(c16);
int d1=IDIV(s32,c32);
int sub1=ISUB(d1,X);
int __bits(16) a16 = CBW(A);
int res1=(IMUL(sub1,a16));


int xy32=(IMUL(X,Y));
int __bits(16) xy = xy32;
int sub2=ISUB(a16,xy);
int im1=(IMUL(sub2,c16));
int __bits(16) y32 = CWD(Y);
int d2=IDIV(im1,y32);
int res2=SUM(d2,xy);


if (ICMP(xy32,0) == 1) n = 1;
if (ICMP(xy32,0) == 4 || ICMP(xy32,0) == 2) n = 0;
RES=MSb16x2(res2,res1,n);

}


Отработка пропуска за 1_12
Михаил Долинский

Темы: 2010
Сообщений: 47873

Мой профиль
Надо сначала сдать на С-МПА, а потом отправлять в HLCCAD
- у тебя наоборот.
Сгенерируй проект по сданной программе и отошли его на тестирование
Раз тебе кажется что на разных машинах по-разному тестируется,
давай и это проверим
Пожалуйста - сданную программу и схему по ней отошли на все тест-машины.


7.12.2023 19:51:30 17.12.2023 19:51:34 Коваленко Валерия Организация и функционирование ЭВМ (ПО2) - 2023 Сам-с1. Задача №28 100 Все тесты пройдены (основной + секретный). src.mpc DelTA4 at NIT0 Win10 x64
17.12.2023 19:48:19 17.12.2023 19:48:23 Коваленко Валерия Организация и функционирование ЭВМ (ПО2) - 2023 Сам-с1. Задача №28 0 [TEST3]: Тест не прошел: RES sgn[2]: 2900. src.mpc DelTA4 at NIT0
17.12.2023 19:45:30 17.12.2023 19:45:36 Коваленко Валерия Организация и функционирование ЭВМ (ПО2) - 2023 Сам-п28. Задача №28 0 Ошибка: Несовпадение RES:2010=59516 [2,001 ps] Arifm.prd DelTA4 at NIT1 Win10
17.12.2023 19:42:59 17.12.2023 19:43:03 Коваленко Валерия Организация и функционирование ЭВМ (ПО2) - 2023 Сам-с1. Задача №28 0 [TEST1]: Тест не прошел: RES sgn[2]: 2010. src.mpc DelTA4 at NIT0 Win10
17.12.2023 19:36:46 17.12.2023 19:36:49 Коваленко Валерия Организация и функционирование ЭВМ (ПО2) - 2023 Сам-с1. Задача №28 0 [TEST1]: Тест не прошел: RES sgn[2]: 2010. src.mpc DelTA4 at NIT0 Win10
17.12.2023 19:36:09 17.12.2023 19:36:13 Коваленко Валерия Организация и функционирование ЭВМ (ПО2) - 2023 Сам-с1. Задача №28 0 [TEST1]: Тест не прошел: RES sgn[2]: 2010. src.mpc DelTA4 at NIT1 Win10
17.12.2023 19:33:55 17.12.2023 19:33:59 Коваленко Валерия Организация и функционирование ЭВМ (ПО2) - 2023 Сам-с1. Задача №28 0 [TEST1]: Тест не прошел: RES sgn[2]: 2010. src.mpc DelTA4 at NIT1 Win10
Степан Степанчиков

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

Мой профиль
3 ссылки на материалы типа "Как создавать/обучать чат-ботов"
Пропуски: 6_10, 3_10(2)
1. https://smmplanner.com/blog/kakiie-voprosy-mozhno-zadat-chatgpt-i-kak-ikh-formulirovat/
2 UNISENDER
3. https://practicum.yandex.ru/blog/kak-polzovatsya-neyrosetyu-chatgpt/
4. https://vc.ru/chatgpt/727926-kak-pravilno-zadavat-voprosy-chatgpt
5. https://ru.hexlet.io/blog/posts/chatgpt-kak-instrument-programmista
6. https://codeby.net/threads/kod-gpt-sozdaem-programmy-pri-pomoschi-nejroseti.81651/
Максим Калинков

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

Мой профиль
18.12 13:27 Сам-с18. Задача №18 100 / 100 Все тесты пройдены (основной + секретный).

18.12 13:32 Сам-п18. Задача №18 0 / 100 Ошибка: Несовпадение R:5=20 [5,004 ps]

int __in __bits(16) x;
int __in __bits(16) y;
int	__in __bits(8) a;
int __in __bits(8) b;

int __out __bits(16) R;

int __bits(16) CBW(int __bits(8) A) {return A;}
int __bits(32) CWD(int __bits(16) A) {return A;}
int __bits(16) ISUB(int __bits(16) A, int __bits(16) B) {int __bits(16) C; C=A-B;return C;}
int __bits(16) SUM(int __bits(16) A, int __bits(16) B) {int __bits(16) C; C=A+B;return C;}
int	__bits(32) IMUL(int __bits(16) A, int __bits(16) B) {int __bits(32) C; C=A*B;return C;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {int __bits(16) C; C=A/B;return C;}
int __bits(2) ICMP(int __bits(32) A, int __bits(32) B) {if (y>=x) return 1; else return 0;}
int __bits(16) MSb16x2(int __bits(16) One, int __bits(16) Two, int __bits(1) A){if (A) return One; else return Two;}
int __bits(16) x32Tox16(int __bits(32) A) {return A;}

void main() {

int __bits(16) a16 = CBW(a);
int __bits(16) b16 = CBW(b);
int __bits(32) a32 = CWD(a16);
int __bits(32) b32 = CWD(b16);
int __bits(32) x32 = CWD(x);
int __bits(32) y32 = CWD(y);

int v1 = ISUB(x,y);
int v2 = IMUL(v1,a16);
int v3 = x32Tox16(v2);
int v4 = IDIV(x32,b32);
int vet1 = SUM(v3,v4);

int c1 = SUM(x,a16);
int c2 = ISUB(y,b16);
int c3 = IMUL(a16,b16);
int c11 = CWD(c1);
int c22 = CWD(c2);
int c4 = IDIV(c11,c22);
int c33 = x32Tox16(c3);
int vet2 = SUM(c4,c33);

int flag = ICMP(y32,x32);
R = MSb16x2(vet1,vet2,flag);

}


______________________
[WhiteDuck]
Даниил Акунец

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

Мой профиль
https://dl.gsu.by/task.jsp?nid=2290681&cid=1335
Лучшие 20 Обсудить задачу в форуме (-): Экзамен\Индивидуальные задания\Контрольные срезы\C-МПА\Сам-с14 - "Задача №14" 101457 Володин Валерий

int __in __bits(8) A9;
int __in __bits(8) B7;
int __in __bits(16) X;
int __in __bits(16) Y;
int __out __bits(16) RES;

int __bits(16) CBW(int __bits(8) A) {return A;}
int __bits(32) CWD(int __bits(16) A) {return A;}
int __bits(16) ISUB(int __bits(16) A, int __bits(16) B) {int __bits(16) C;C = A - B; return C;}
int __bits(32) ISUB32(int __bits(32) A, int __bits(32) B) {int __bits(32) C; C = A - B; return C;}
int __bits(16) SUM(int __bits(16) A, int __bits(16) B) {int __bits(16) C;C = A + B; return C;}
int	__bits(32) SUM32(int __bits(32) A, int __bits(32) B) {int __bits(32)C; C = A + B; return C;}
int __bits(32) IMUL(int __bits(16) A, int __bits(16) B) {int __bits(32) C;C = A * B; return C;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {int __bits(16) C;C = A / B; return C;}
int __bits(2) ICMP(int __bits(32) A, int __bits(32) B) {if (A < B)return 1; else return 0;}
int __bits(16) MSb16x2(int __bits(16) Zero, int __bits(16) One, int __bits(1) A) {if (A)return One; else return Zero;}

void main(){
int __out __bits(16) a916=CBW(A9);
int __out __bits(16) b716=CBW(B7);
int __out __bits(32) a932=CWD(a916);
int __out __bits(32) b732=CWD(b716);
int __out __bits(32) x32=CWD(X);
int __out __bits(32) y32=CWD(Y);

int __out __bits(32) v11=IMUL(a916,Y);

int __out __bits(32) v12=IMUL(b716,X);

int __out __bits(32) v13=SUM32(v11,v12);

int __out __bits(32) v14=ISUB32(v13,x32);

int __out __bits(16) res1=IDIV(v14,y32);

int __out __bits(32) v21=IMUL(a916,b716);

int __out __bits(16) v22=IDIV(x32,y32);

int __out __bits(16) v23=SUM(v21,v22);

int __out __bits(16) res2=ISUB(v23,Y);

int __out __bits(2) if2 = 0;
int	__out __bits(32)if1=IMUL(X,Y);
int __out __bits(32) if0 = ICMP(if1,if2);
RES = MSb16x2(res1,res2,if0);
}


Задача решена верно, пропуск 31.10
Владислав Новиков

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

Мой профиль
Делюсь своим опытом решения задач по CMPA/Assembler/HLCCAD при помощи нейронных сетей. Конкретно я для этой задачи использовал ChatGPT версии 3.5 которая является бесплатной, но с маленьким нюансом, а именно на данный момент из-за санкций невозможно завести аккаунт на номер телефона из России или Беларуси, но естественно есть способы как это обойти, но это уже другая история. Также на данный момент существует и более продвинутые версии ChatGPT, которые уже являются платными.

Ссылка на гугл документ с описанным процессом решения:https://docs.google.com/document/d/1GSpRWrBiWjtYHd4y6K2XMXUSQIxxghnm

Кратко резюмируя опыт решения, могу сказать что для решения задач по
CMPA: Для решения задачи по CMPA нейросеть подходит очень неплохо, но при этом она не сделает всё за вас, вам всё ещё необходимо помнить об особенностях языка CMPA и тогда переписать сгенерированный нейросетью код на языке си для вас не составит труда.

Assembler: Для решения задач на Assmebler нейросеть подходит, но с небольшими затруднениями. В процессе я столкнулся с такой проблемой, что нейросеть выдаёт мне код на общем Assembler (x86) который может немного отличаться и не работать в Winter, например нейросеть напишет вам код с использованием оператора imul с двумя операндами. Но переформулировав запрос, можно добиться необходимого результата.

HLCCAD: Для решения задач на HLCCAD ChatGPT 3.5 напрямую не подходит, но при этом есть более популярные языки описания схем, например такой, как VHDL. С написанием кода на нем ChatGPT справляется. Также нахожу полезным то что ChatGPT может вам по шагам расписать решение задачи и даже создать визуальную схему её решения, что здорово помогает.
Валерия Коваленко

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

Мой профиль
Коваленко Валерия ПО-21
Задача 28
https://dl.gsu.by/task.jsp?nid=2301715&cid=1336

18.12 18:58 Сам-п28. Задача №28 0 / 100 Ошибка: Несовпадение RES:2010=59516 [2,001 ps] Arifm.prd DelTA4 at NIT1 Win10 HLCCAD project
18.12 18:55 Сам-с28. Задача №28 100 / 100 Все тесты пройдены (основной + секретный). src.mpc DelTA4 at NIT0 Win10 x64 Winter mpc

На HLCCAD всё равно задача не проходит

int __in __bits(16) X;
int __in __bits(16) Y;
int __in __bits(8) A;
int __in __bits(8) C;
int __out __bits(16) RES;

int __bits(16)  ISUB   (int __bits(16) A, int __bits(16) B) {return A-B;}
int __bits(32) IMUL(int __bits(16) A, int __bits(16) B) {return A*B;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {return A/B;}
unsigned __bits(16) SUM(unsigned __bits(16) A, unsigned __bits(16) B) {return A+B;}
unsigned __bits(16) CBW(unsigned __bits(8) A) {return A;}
unsigned __bits(32) CWD(unsigned __bits(16) A) {return A;}
unsigned __bits(3) ICMP(int __bits(32) A, int __bits(32) B) {return (A > B) ? 4 : (A == B) ? 2 : 1;}
unsigned __bits(16) MSb16x2(unsigned __bits(16) Zero, unsigned __bits(16) One, unsigned __bits(1) A) {return A ? One : Zero;}

void main(){

unsigned __bits(1)n=0;

int s1=SUM(X,Y);
int __bits(16) s32 = CWD(s1);
int __bits(16) c16 = CBW(C);
int __bits(16) c32 = CWD(c16);
int d1=IDIV(s32,c32);
int sub1=ISUB(d1,X);
int __bits(16) a16 = CBW(A);
int res1=(IMUL(sub1,a16));


int xy32=(IMUL(X,Y));
int __bits(16) xy = xy32;
int sub2=ISUB(a16,xy);
int im1=(IMUL(sub2,c16));
int __bits(16) y32 = CWD(Y);
int d2=IDIV(im1,y32);
int res2=SUM(d2,xy);


if (ICMP(xy32,0) == 1) n = 1;
if (ICMP(xy32,0) == 4 || ICMP(xy32,0) == 2) n = 0;
RES=MSb16x2(res2,res1,n);

}


Отработка пропуска за 1_12
Владислав Лисичкин

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

Мой профиль
Работа со строками в C-MPA с использованием GPT-3.5
Ход работы: Тык

Ссылка на документ: Тык

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

Темы: 2010
Сообщений: 47873

Мой профиль


Даниил Акунец:

https://dl.gsu.by/task.jsp?nid=2290681&cid=1335
Лучшие 20 Обсудить задачу в форуме (-): Экзамен\Индивидуальные задания\Контрольные срезы\C-МПА\Сам-с14 - "Задача №14" 101457 Володин Валерий

int __in __bits(8) A9;
int __in __bits(8) B7;
int __in __bits(16) X;
int __in __bits(16) Y;
int __out __bits(16) RES;

int __bits(16) CBW(int __bits(8) A) {return A;}
int __bits(32) CWD(int __bits(16) A) {return A;}
int __bits(16) ISUB(int __bits(16) A, int __bits(16) B) {int __bits(16) C;C = A - B; return C;}
int __bits(32) ISUB32(int __bits(32) A, int __bits(32) B) {int __bits(32) C; C = A - B; return C;}
int __bits(16) SUM(int __bits(16) A, int __bits(16) B) {int __bits(16) C;C = A + B; return C;}
int	__bits(32) SUM32(int __bits(32) A, int __bits(32) B) {int __bits(32)C; C = A + B; return C;}
int __bits(32) IMUL(int __bits(16) A, int __bits(16) B) {int __bits(32) C;C = A * B; return C;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {int __bits(16) C;C = A / B; return C;}
int __bits(2) ICMP(int __bits(32) A, int __bits(32) B) {if (A < B)return 1; else return 0;}
int __bits(16) MSb16x2(int __bits(16) Zero, int __bits(16) One, int __bits(1) A) {if (A)return One; else return Zero;}

void main(){
int __out __bits(16) a916=CBW(A9);
int __out __bits(16) b716=CBW(B7);
int __out __bits(32) a932=CWD(a916);
int __out __bits(32) b732=CWD(b716);
int __out __bits(32) x32=CWD(X);
int __out __bits(32) y32=CWD(Y);

int __out __bits(32) v11=IMUL(a916,Y);

int __out __bits(32) v12=IMUL(b716,X);

int __out __bits(32) v13=SUM32(v11,v12);

int __out __bits(32) v14=ISUB32(v13,x32);

int __out __bits(16) res1=IDIV(v14,y32);

int __out __bits(32) v21=IMUL(a916,b716);

int __out __bits(16) v22=IDIV(x32,y32);

int __out __bits(16) v23=SUM(v21,v22);

int __out __bits(16) res2=ISUB(v23,Y);

int __out __bits(2) if2 = 0;
int	__out __bits(32)if1=IMUL(X,Y);
int __out __bits(32) if0 = ICMP(if1,if2);
RES = MSb16x2(res1,res2,if0);
}


Задача решена верно, пропуск 31.10 


Надо протокол приводить - я сам посмотрел на HLCCAD не отсылалось решение

8.12.2023 14:07:23 18.12.2023 14:07:27 Акунец Даниил Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2023 Сам-с14. Задача №14 100 Все тесты пройдены (основной + секретный). src.mpc DelTA4 at NIT1 Win10
18.12.2023 13:46:32 18.12.2023 13:46:36 Акунец Даниил Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2023 Сам-с14. Задача №14 100 Все тесты пройдены (основной + секретный). src.mpc DelTA4 at NIT0 Win10
Валерия Коваленко

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

Мой профиль
Задача 11
https://dl.gsu.by/task.jsp?nid=2301698&cid=1336

15.12 12:23 Сам-п11. Задача №11 0 / 100 Ошибка: Несовпадение RES:19910=62636 [3,002 ps] Arifm.prd DelTA4 at NIT1 Win10 HLCCAD project
15.12 12:20 Сам-с1. Задача №11 100 / 100 Все тесты пройдены (основной + секретный). src.mpc DelTA4 at NIT0 Win10 Winter mpc

int __in __bits(8) a9;
int __in __bits(8) b7;
int __in __bits(16) x;
int __in __bits(16) y;
int __out __bits(16) RES;
int __bits(16)  ISUB   (int __bits(16) A, int __bits(16) B) {return A-B;}
int __bits(32) IMUL(int __bits(16) A, int __bits(16) B) {return A*B;}
int __bits(16) IDIV(int __bits(32) A, int __bits(32) B) {return A/B;}
unsigned __bits(16) SUM(unsigned __bits(16) A, unsigned __bits(16) B) {return A+B;}
unsigned __bits(16) CBW(unsigned __bits(8) A) {return A;}
unsigned __bits(32) CWD(unsigned __bits(16) A) {return A;}
unsigned __bits(3) ICMP(int __bits(32) A, int __bits(32) B) {return (A > B) ? 4 : (A == B) ? 2 : 1;}
unsigned __bits(16) MSb16x2(unsigned __bits(16) Zero, unsigned __bits(16) One, unsigned __bits(1) A) {return A ? One : Zero;}

void main(){

unsigned __bits(1)A=0;
int __bits(16) a16 = CBW(a9);
int __bits(16) b16 = CBW(b7);
int sub1=ISUB(a16,b16);
int __bits(16) sub132 = CWD(sub1);
int imul1=(IMUL(x,y));
int s1=SUM(sub132,imul1);
int __bits(16) x32 = CWD(x);
int r1=IDIV(s1,x32);
int s2=SUM(b7,a9);
int __bits(16) y32 = CWD(y);
int d2=IDIV(x32,y32);
int __bits(16) s216 = CBW(s2);
int pr2=(IMUL(s216,d2));
int __bits(16) pr = pr2;
int r2=ISUB(pr2,x);
if (ICMP(imul1,0) == 4 || ICMP(imul1,0) == 2) A = 0;
if (ICMP(imul1,0) == 1) A = 1;
RES=MSb16x2(r1,r2,A);
}


Отработка пропуска 8_12
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 5, 6, 7, 8, 9, ... 25, 26, 27
Time:0,078