![]() |
|
Модераторы: bsa |
![]()
|
|
| Quotter |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.9.2010 Репутация: нет Всего: нет |
Разработать библиотеку mySimpleComputer, включающую функции по декодированию
команд, управлению регистрами и взаимодействию с оперативной памятью. Разработайте функции по взаимодействию с оперативной памятью, управлению регистром флагов и кодированию/декодированию команд: a. int sc_memoryInit () – инициализирует оперативную память Simple Computer, за- давая всем еѐ ячейкам нулевые значения. В качестве «оперативной памяти» использ у- ется массив целых чисел, определенный статически в рамках библиотеки. Размер мас- сива равен 100 элементам. b. int sc_memorySet (int address, int value) – задает значение указанной ячейки памяти как value. Если адрес выходит за допустимые границы, то устанавлива- ется флаг «выход за границы памяти» и работа функции прекращается с ошибкой; c. int sc_memoryGet (int address, int * value) – возвращает значение указан- ной ячейки памяти в value. Если адрес выходит за допустимые границы, то устанавли- вается флаг «выход за границы памяти» и работа функции прекращается с ошибкой. Значение value в этом случае не изменяется. d. int sc_memorySave (char * filename) – сохраняет содержимое памяти в файл в бинарном виде (используя функцию write или fwrite); e. int sc_memoryLoad (char * filename) – загружает из указанного файла содер- жимое оперативной памяти (используя функцию read или fread); f. int sc_regInit (void) – инициализирует регистр флагов нулевым значением; g. int sc_regSet (int register, int value) – устанавливает значение указанно- го регистра флагов. Для номеров регистров флагов должны использоваться маски, з а- даваемые макросами (#define). Если указан недопустимый номер регистра или некор- ректное значение, то функция завершается с ошибкой. h. int sc_regGet (int register, int * value) – возвращает значение указанного флага. Если указан недопустимый номер регистра, то функция завершается с ошибкой. i. int sc_commandEncode (int command, int operand, int * value) – кодиру- ет команду с указанным номером и операндом и помещает результат в value. Если ука- заны неправильные значения для команды или операнда, то функция завершается с ошибкой. В этом случае значение value не изменяется. j. int sc_commandDecode (int value, int * command, int * operand) – декодирует значение как команду Simple Computer. Если декодирование невозможно, то устанавливается флаг «ошибочная команда» и функция завершается с оши бкой. Оформитm разработанную функцию как статическую библиотеку. Вопрос: 1. Как получить алгебраическую булеву функцию из таблицы истинности? И наоборот? 2. Как перевести числа из двоичной системы счисления в десятичную? Восьмеричную? Шес тнадцатеричную? И наоборот? |
|||
|
||||
| Estranged |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: нет Всего: 3 |
1. Как получить алгебраическую булеву функцию из таблицы истинности? И наоборот?
ДНФ, КНФ построить по таблице, построить таблицу из функции сложнее. Нужно вычислить значение функции для всех наборов 0 и 1 2. Как перевести числа из двоичной системы счисления в десятичную? Восьмеричную? Шес тнадцатеричную? И наоборот? http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%...%BD%D0%B8%D1%8F
Есть еще стандартная функция С, но не помню названия уже. Добавлено @ 12:32 Вспомнил, это itoa. Модератор: Не забываем пользоваться кнопочкой "Код" Это сообщение отредактировал(а) bsa - 15.9.2010, 12:52 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
| Estranged |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: нет Всего: 3 |
М... Да. Она не включена в стандарт библиотеки.
|
|||
|
||||
| Quotter |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.9.2010 Репутация: нет Всего: нет |
Программа выдает ошибку expected ')' befor 'I'
Вот только не могу понять в каком месте. Видать плохо вижу. Буду рад если покажут где она.
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
| Quotter |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.9.2010 Репутация: нет Всего: нет |
В таком случае появляются следующие ошибки в этой же строке
expected ')' befor 'I' expected ')' befor '{' |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Quotter, проверяй количество скобок. И НИКОГДА НЕ ДЕЛАЙ ТАКИХ БОЛЬШИХ УСЛОВИЙ. Лучше разбей их на несколько маленьких. В твоем случае можно использовать еще и switch/case.
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
можно воспользоваться sprintf
ещё есть sscanf, strtol, strtoul, strtod Это сообщение отредактировал(а) Леопольд - 8.10.2010, 14:22 -------------------- вопросов больше чем ответов |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |