Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Вопрос по Симплетрону


Автор: Niakita 20.2.2013, 19:28
Используя управляемый счётчиком цикл, выведите семь чисел, положительных и отрицательных, а затем вычислите и выведите их среднее значение. 

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

Кто решил эту задачу напишите что делали - как описали счётчик?

Автор: korian 20.2.2013, 19:37
вот это он, на сколько я понимаю:
Код

for (int i = 0; i < 7; ++i) {
}

Автор: Niakita 21.2.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    Останов, т.е. программа заканчивает выполнение задания

Добавлено через 3 минуты и 37 секунд
Цитата(korian @  20.2.2013,  19:37 Найти цитируемый пост)
вот это он, на сколько я понимаю:


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


Автор: Niakita 21.2.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

Автор: NoviceF 21.2.2013, 21:12
может немного в тему статья http://we.easyelectronics.ru/Soft/preprocessor-c.html сегодня на глаза попалась и там про организацию "циклов" препроцессором вроде тоже что-то есть. Я не вникал.

Автор: Niakita 25.2.2013, 07:43
Воспользовался командой #define  LOAD 20    Загрузить,слово из указанной ячейки памяти в аккумулятор

Добавлено через 42 секунды
Вопрос решён

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)