Автор |
Сообщение |
04.06.2013 17:57:15
Тема: Re:Вопросы по C-MPA
|
Михаил Долинский
Темы: 2072
Сообщений: 49881
Мой профиль
|
Максим Шурпо:
Михаил Долинский:
Игорь Коршунов:
Максим Шурпо:
задача с памятью http://dl.gsu.by/task.jsp?nid=1127222&cid=860
unsigned __in __bits(4) x ;
unsigned __in __bits(4) y ;
unsigned __in __bits(4) z ;
unsigned __out __bits(5) res;
unsigned __bits(5) g;
void main(){
unsigned __bits(4) x1 = x;
unsigned __bits(4) y1 = y;
unsigned __bits(4) z1 = z;
unsigned __bits(5) g1 = g;
if(x1+y1 <z1){
g1 = z1+y1+z1;
res = g1;
}else if(x1+y1>z1){
res = g1;
}
else{
g1 = 0;
res = 0;
}
}
не проходят тесты. Имеется глобальная переменная.
Переменная g1 постоянно затирается значением из неинициализированной переменной g.
приведите пожалуйста этот код в такое состояние, чтобы он работал. Все варианты я перепробовал и у меня ничего не получается. хотелось бы узнать синтаксис написания задач на память.
Для начала нужно ЗАМЕНИТЬ вот эту строку
unsigned __bits(5) g1 = g;
На такую
unsigned __bits(5) g1;
А потом с помощью отладчика найти ошибку в программе.
Если не сможешь, приведи последний вариант исходника
и ОПИШИ суть проблемы.
P.S. Не думаю, что это хорошая идея - просить писать код вместо себя.
|
04.06.2013 19:28:45
Тема: Re:Вопросы по C-MPA
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Михаил Долинский:
А потом с помощью отладчика найти ошибку в программе.
В программе есть одна опечатка.
|
05.06.2013 11:57:31
Тема: Re:Вопросы по C-MPA
|
Михаил Долинский
Темы: 2072
Сообщений: 49881
Мой профиль
|
Игорь Коршунов:
Иван Стародубцев:
В среде CMPA не разрешаются массивы, размером больше 1000 элементов. Программа валится на автоматической проверке.
Пока можно объявлять массивы не более чем из 512 элементов.
|
05.06.2013 16:25:30
Тема: Re:Вопросы по C-MPA
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Михаил Долинский:
Игорь Коршунов:
Иван Стародубцев:
В среде CMPA не разрешаются массивы, размером больше 1000 элементов. Программа валится на автоматической проверке.
Пока можно объявлять массивы не более чем из 512 элементов.
Исправил ошибку. Теперь можно объявлять переменные суммарной емкостью до 32768 бит. В случае превышения будет ошибка компиляции.
|
04.10.2013 18:40:29
Тема: Re:Вопросы по C-MPA
|
Евгений Киклевич
Темы: 0
Сообщений: 38
Мой профиль
|
http://dl.gsu.by/task.jsp?nid=1186616&cid=882
unsigned __in __bits(1) IN_0;
unsigned __in __bits(1) IN_1;
unsigned __in __bits(1) IN_2;
unsigned __in __bits(1) IN_3;
unsigned __in __bits(1) IN_4;
unsigned __in __bits(1) IN_5;
unsigned __in __bits(1) IN_6;
unsigned __in __bits(1) IN_7;
unsigned __in __bits(1) IN_8;
unsigned __in __bits(1) IN_9;
unsigned __in __bits(1) IN_10;
unsigned __in __bits(1) IN_11;
unsigned __in __bits(1) IN_12;
unsigned __in __bits(1) IN_13;
unsigned __in __bits(1) IN_14;
unsigned __in __bits(1) IN_15;
unsigned __in __bits(1) IN_16;
unsigned __in __bits(1) IN_17;
unsigned __in __bits(1) IN_18;
unsigned __in __bits(1) IN_19;
unsigned __out __bits(1) OUT_0;
unsigned __out __bits(1) OUT_1;
unsigned res1=0,res2=0;
void by(unsigned __bits(1) x)
{
if (x==1) res1++;
}
void ru(unsigned __bits(1) y)
{
// if (y==1) res2++;
}
void main()
{
/* by(IN_0);
by(IN_1);
by(IN_2);
by(IN_3);
by(IN_4);
by(IN_5);
by(IN_6);
by(IN_7);
by(IN_8);
by(IN_9);
ru(IN_10);
ru(IN_11);
ru(IN_12);
ru(IN_13);
ru(IN_14);
ru(IN_15);
ru(IN_16);
ru(IN_17);
ru(IN_18);
ru(IN_19);
*/
if (res1>res2) { OUT_0=1; OUT_1=0; }
else { OUT_0=0; OUT_1=1; }
}
HLCCAD выдаёт ошибку can't find state for specified offset.
|
25.10.2013 11:55:14
Тема: Re:Вопросы по C-MPA
|
Иван Иванов
Темы: 0
Сообщений: 39
Мой профиль
|
char IN_STR[128];
int __out __bits(16) RES;
void main()
{
int k=0;
for (int i=0; IN_STR[i]!='#';i++){
if (IN_STR[i]=='A' ||
IN_STR[i]=="E" ||
IN_STR[i]=='I' ||
IN_STR[i]=='O' ||
IN_STR[i]=='U') k++;
}
RES=k;
}
[Ошибка]src.mpc: Внутренняя ошибка компилятора - Unsupported node type.
|
25.10.2013 12:00:00
Тема: Re:Вопросы по C-MPA
|
Михаил Долинский
Темы: 2072
Сообщений: 49881
Мой профиль
|
В результате переформатирования текста он и сам нашёл ошибку
IN_STR[i]=="E" ||
Нужен штрих('), а не двойная кавычка (") два раза.
А можно сделать, чтобы Winter выдавал адекватное сообщение?
|
20.12.2013 09:58:07
Тема: Re:Вопросы по C-MPA
|
Иван Иванов
Темы: 0
Сообщений: 39
Мой профиль
|
при объявлении двумерного массива:
int __bits(16) a[6][6]; //ошибка синтаксиса
как можно объявить двумерный массив?
|
20.12.2013 14:40:48
Тема: Re:Вопросы по C-MPA
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Иван Иванов:
при объявлении двумерного массива:
int __bits(16) a[6][6]; //ошибка синтаксиса
как можно объявить двумерный массив?
Двумерные массивы не поддерживаются.
Вместо этого можно объявить одномерный массив.
int __bits(16) a[36];
И обращаться к его элементам так: a[i * 6 + j].
|
07.03.2014 11:05:09
Тема: Re:Вопросы по C-MPA
|
Андрей Фурс
Темы: 0
Сообщений: 36
Мой профиль
|
В задаче Командные олимпиады\Особенности архитектуры МП Intel 80286\Контрольный срез (Пример 3)\Проектирование\КС - "Преф" на прошлой контрольной на мое решение не выдавало никаких ошибок, а в сегодняшней почему-то не проходит, алгоритм, как мне кажется такой же, как и в прошлый раз:
unsigned __in __bits(5) i1;
unsigned __in __bits(5) i2;
unsigned __in __bits(5) i3;
unsigned __in __bits(5) i4;
unsigned __in __bits(5) i5;
unsigned __in __bits(5) i6;
unsigned __in __bits(5) i7;
unsigned __in __bits(5) i8;
unsigned __in __bits(5) i9;
unsigned __in __bits(5) i10;
unsigned __out __bits(2) e1;
unsigned __out __bits(2) e2;
unsigned __out __bits(2) e3;
unsigned __out __bits(2) e4;
unsigned __out __bits(2) e5;
unsigned __out __bits(2) e6;
unsigned __out __bits(2) e7;
unsigned __out __bits(2) e8;
unsigned __out __bits(2) e9;
unsigned __out __bits(2) e10;
void main()
{
if(i1>=0 && i1<=7)
e1 = 0;
if(i1>=8 && i1<=15)
e1 = 1;
if(i1>=16 && i1<=23)
e1 = 2;
if(i1>=24 && i1<=31)
e1 = 3;
if(i2>=0 && i2<=7)
e2 = 0;
if(i2>=8 && i2<=15)
e2 = 1;
if(i2>=16 && i2<=23)
e2 = 2;
if(i2>=24 && i2<=31)
e2 = 3;
if(i3>=0 && i3<=7)
e3 = 0;
if(i3>=8 && i3<=15)
e3 = 1;
if(i3>=16 && i3<=23)
e3 = 2;
if(i3>=24 && i3<=31)
e3 = 3;
if(i4>=0 && i4<=7)
e4 = 0;
if(i4>=8 && i4<=15)
e4 = 1;
if(i4>=16 && i4<=23)
e4 = 2;
if(i4>=24 && i4<=31)
e4 = 3;
if(i5>=0 && i5<=7)
e5 = 0;
if(i5>=8 && i5<=15)
e5 = 1;
if(i5>=16 && i5<=23)
e5 = 2;
if(i5>=24 && i5<=31)
e5 = 3;
if(i6>=0 && i6<=7)
e6 = 0;
if(i6>=8 && i6<=15)
e6 = 1;
if(i6>=16 && i6<=23)
e6 = 2;
if(i6>=24 && i6<=31)
e6 = 3;
if(i7>=0 && i7<=7)
e7 = 0;
if(i7>=8 && i7<=15)
e7 = 1;
if(i7>=16 && i7<=23)
e7 = 2;
if(i7>=24 && i7<=31)
e7 = 3;
if(i8>=0 && i8<=7)
e8 = 0;
if(i8>=8 && i8<=15)
e8 = 1;
if(i8>=16 && i8<=23)
e8 = 2;
if(i8>=24 && i8<=31)
e8 = 3;
if(i9>=0 && i9<=7)
e9 = 0;
if(i9>=8 && i9<=15)
e9 = 1;
if(i9>=16 && i9<=23)
e9 = 2;
if(i9>=24 && i9<=31)
e9 = 3;
if(i10>=0 && i10<=7)
e10 = 0;
if(i10>=8 && i10<=15)
e10 = 1;
if(i10>=16 && i10<=23)
e10 = 2;
if(i10>=24 && i10<=31)
e10 = 3;
}
|
07.03.2014 12:50:50
Тема: Re:Вопросы по C-MPA
|
Михаил Долинский
Темы: 2072
Сообщений: 49881
Мой профиль
|
07.03.2014 11:01:17 07.03.2014 11:02:33 Фурс Андрей Архитектура вычислительных систем (ПМ4) - 2014 КС. Преф 0 Ошибка: Несовпадение e8:0=1 [1 ns] pref.prd DelTA3 at NIT5
07.03.2014 10:42:25 07.03.2014 10:43:33 Фурс Андрей Архитектура вычислительных систем (ПМ4) - 2014 КС. Преф 0 Ошибка: Несовпадение e8:0=1 [1 ns] pref.prd DelTA3 at NIT5
07.03.2014 10:38:12 07.03.2014 10:39:20 Фурс Андрей Архитектура вычислительных систем (ПМ4) - 2014 КС. Преф 0 Ошибка: Несовпадение e8:0=1 [1 ns] pref.prd DelTA3 at NIT5
21.02.2014 18:08:10 21.02.2014 18:08:16 Фурс Андрей Архитектура вычислительных систем (ПМ4) - 2014 3. Преф 1 Все тесты пройдены (основной + секретный). src.mpc DelTA3 at Nit_server
|
21.03.2014 11:40:53
Тема: Re:Вопросы по C-MPA
|
Михаил Долинский
Темы: 2072
Сообщений: 49881
Мой профиль
|
.03.2014 11:36:25 21.03.2014 11:36:27 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 В этой задаче можно сдавать только сгенерированные МПА-проекты 1.prd DelTA3 at Nit_server
21.03.2014 11:35:58 21.03.2014 11:36:00 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 В этой задаче можно сдавать только сгенерированные МПА-проекты 1.prd DelTA3 at DLServer
21.03.2014 11:35:47 21.03.2014 11:35:49 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 В этой задаче можно сдавать только сгенерированные МПА-проекты 1.prd DelTA3 at DLServer
21.03.2014 11:35:36 21.03.2014 11:35:38 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 В этой задаче можно сдавать только сгенерированные МПА-проекты 1.prd DelTA3 at DLServer
21.03.2014 11:34:40 21.03.2014 11:34:42 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 Ошибка: Несовпадение OUT_0:00110=01000 [3 ns] 1.prd DelTA3 at NIT5
21.03.2014 11:34:17 21.03.2014 11:34:19 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 В этой задаче можно сдавать только сгенерированные МПА-проекты 1.prd DelTA3 at Nit4
21.03.2014 11:30:37 21.03.2014 11:30:39 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 Ошибка: Несовпадение OUT_0:00011=00010 [2 ns] 1.prd DelTA3 at NIT6
21.03.2014 11:30:10 21.03.2014 11:30:13 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 В этой задаче можно сдавать только сгенерированные МПА-проекты 1.prd DelTA3 at Nit4
21.03.2014 11:29:45 21.03.2014 11:29:46 Жириков-Фурс Архитектура вычислительных систем (ПМ4) - 2014 ТИ. Степень 0 В этой задаче можно сдавать только сгенерированные МПА-проекты 1.prd DelTA3 at DLServer
|
21.05.2014 15:21:03
Тема: Re:Вопросы по C-MPA
|
Станислав Жириков
Темы: 0
Сообщений: 67
Мой профиль
|
unsigned __bits(8) a;
unsigned __bits(8) b;
unsigned __bits(8) x;
unsigned __bits(8) y;
unsigned __bits(8) res;
main(){
if(b-a>0){
int tmp1 = 0,tmp2 = 0;
for(int i = 0; i<a ; i++){
tmp1 +=a+b;
}
for(int i = 0; i<b ; i++){
tmp2 +=b-a;
}
res = x*tmp1 + y*tmp2;
}
else{
res = x(a+b) + y*(a-b);
}
}
Индивидуальные задания
http://dl.gsu.by/task.jsp?nid=1243227&cid=905
Текс ошибки : [Ошибка] src.mpc(14): Перменная уже определена i.
Хотя обе переменные определены внутри FOR и конфликта не должно было возникакать
|
21.05.2014 15:50:15
Тема: Re:Вопросы по C-MPA
|
Станислав Жириков
Темы: 0
Сообщений: 67
Мой профиль
|
unsigned __bits(6) N =10;
unsigned __bits(12) SUMMA;
main(){
int cnt = 0;
for(int i = 0; i<N ; i++){
i++;
cnt+=i;
SUMMA = cnt;
}
Случайно забыл закрыть цикл FOR
Как ни странно с открытой скобкой всё работает, неприавильно конечно но работает.
Перезапустил WINTER ничего не изменилось
|
21.05.2014 18:40:57
Тема: Re:Вопросы по C-MPA
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Станислав Жириков:
unsigned __bits(8) a;
unsigned __bits(8) b;
unsigned __bits(8) x;
unsigned __bits(8) y;
unsigned __bits(8) res;
main(){
if(b-a>0){
int tmp1 = 0,tmp2 = 0;
for(int i = 0; i<a ; i++){
tmp1 +=a+b;
}
for(int i = 0; i<b ; i++){
tmp2 +=b-a;
}
res = x*tmp1 + y*tmp2;
}
else{
res = x(a+b) + y*(a-b);
}
}
Индивидуальные задания
http://dl.gsu.by/task.jsp?nid=1243227&cid=905
Текс ошибки : [Ошибка] src.mpc(14): Перменная уже определена i.
Хотя обе переменные определены внутри FOR и конфликта не должно было возникакать
У нас переменная объявленная в заголовке for считается объявленной до конца блока содержащего for, а не только внутри тела цикла.
|
|