Вопрос по Симплетрону

 
0
 
C++
ava
Niakita | 20.02.2013, 20:28
Используя управляемый счётчиком цикл, выведите семь чисел, положительных и отрицательных, а затем вычислите и выведите их среднее значение.

Как реализовать счётчик?
В книге Харви Дейтел, Пол Дейтел "Как программировать на С++" только 12 команд - среди них нет ничего про счётчик (стр. 356, задание 7.18)

Кто решил эту задачу напишите что делали - как описали счётчик?
Ответы (5)
ava
korian | 20.02.2013, 19:37 #
вот это он, на сколько я понимаю:

for (int i = 0; i < 7; ++i) {
}
ava
Niakita | 21.02.2013, 20:11 #
вот 12 команд которые можно по заданию использовать.
Нужен в принципе алгоритм.
Как сделать цикл - разобрался, а вот как посчитать количество выполнений цикла - с этим проблемы, никакие мысли в голову не приходят.

код операции                                                Значение
Операции ввода/вывода:
#define  READ 10    Считать слово с терминала в указанную ячейку памяти
#define WRITE 11    Напечатать слово из указанной ячейки памяти на  терминале
Операции загрузки/хранения:
#define  LOAD 20    Загрузить,слово из указанной ячейки памяти в аккумулятор
#define  STORE 21    Сохранить слово из аккумулятора в указанной ячейке памяти
Арифметические операции:
#define ADD 30    Сложить слово из указанной ячейки памяти со словом в аккумуляторе (результат оставить в аккумуляторе)
#define SUBTRACT 31    Вычесть слово в указанной ячейке памяти из слова в аккумуляторе (результат оставить в аккумуляторе)
#define DIVIDE 32    Разделить слово в указанной ячейке памяти на слово в аккумуляторе (результат оставить в аккумуляторе)
#define MULTIPLY 33    Умножить слово в указанной ячейке памяти на слово в аккумуляторе (результат оставить в аккумуляторе)
Операции передачи управления:
#define  BRANCH 40    Передать управление указанной ячейке памяти
#define  BRANCHNEG 41    Передать управление указанной ячейке памяти, если значение в аккумуляторе отрицательное
#define  BRANCHZERO 42    Передать управление указанной ячейке памяти, если значение в аккумуляторе равно нулю
#define HALT 43    Останов, т.е. программа заканчивает выполнение задания

Добавлено позднее:
Цитата (korian @  20.2.2013,  19:37 findReferencedText)
вот это он, на сколько я понимаю:


Немножко не правильно вопрос сформулировал - выше дополнил.

ava
Niakita | 21.02.2013, 20:27 #
Пример программы которая считывает два числа с клавиатуры, складывает их и печатает их сумму


Ячейка    Номер       Команда
00            +1007    (Прочитать А)
01            +1008    (Прочитать В)
02            +2007    (Загрузить А)
03            +3008    (Прибавить В)
04            +2109    (Сохранить С)
05            +1109    (Печать С)
06           + 4300    (Останов)
07            +0000    (Переменная А)
08            +0000    (Переменная В)
09            +0000    (Результат С)

(данные заносятся в память, в данном случае в одномерный массив типа int -  это просто пояснение, на решение задачи ни как не влияет)

Пример цикла повторяющегося ввода:
+1002         
+4000
ava
NoviceF | 21.02.2013, 21:12 #
может немного в тему статья http://we.easyelectronics.ru/Soft/preprocessor-c.html сегодня на глаза попалась и там про организацию "циклов" препроцессором вроде тоже что-то есть. Я не вникал.
ava
Niakita | 25.02.2013, 07:43 #
Воспользовался командой #define  LOAD 20    Загрузить,слово из указанной ячейки памяти в аккумулятор

Добавлено позднее:
Вопрос решён
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить