Форум программистов, компьютерный форум, киберфорум
Assembler: i8080/8085/KP580
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/50: Рейтинг темы: голосов - 50, средняя оценка - 4.64
2 / 2 / 0
Регистрация: 25.09.2011
Сообщений: 7
1

Определение номера минимального числа последовательности чисел

09.11.2011, 18:32. Показов 9233. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста написать программу на COMPMODEL.

Условие задачи: Написать программу определения номера минимального числа последовательности чисел С1, С2, ..... Сn.

Буду очень благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2011, 18:32
Ответы с готовыми решениями:

Определение минимального числа из введенной последовательности положительных чисел
Помогите пожалуйста составить программу в С++. Написать программу, которая определяет минимальное...

Определение минимального введенного числа из 9 чисел
Как с помощью do while написать программу определения минимального введенного числа из 9 чисел в...

Определение минимального числа из N введенных вещественных чисел
Составить сценарий тестирования разработанных программ Оформить процедуры 1)ввода массива из N...

Определение максимального числа в последовательности положительных чисел
Пользователь вводит число элементов в последовательности, а затем её элементы. Последовательность...

22
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
09.11.2011, 20:34 2
1) вводи цифры не более 999.
2) разделяй запятыми.
3) точка - конец массива.

Результат:
в R5 минимальный элемент.
в R6, его индекс.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
RDI #101
OUT 1
RDI #102
OUT 1
RDI #10
OUT 1
 
;по заданию
RD #999
WR R5
 
KEY:
     RD #0
     WR R1
WAIT:
     IN 0
     JZ WAIT
     WR R0
     SUB #44               ;если запятая, то на проверку
     JZ EX
     SUB #2                ;если точка то на выход
     JZ EXT
     
     RD R0
     SUB #48    
     ADD R1      
     MUL #10
     WR R1     
     JMP WAIT
     
EX:
          RD R4            ;индекс текущий
          ADD #1
          WR R4
    
     RD R1
     DIV #10
     WR R1
     
     SUB R5
     JNS KEY   
     RD R1
     
     WR R5                 ;индекс минимального
     RD R4
     WR R6
     JMP KEY
     
EXT:
     HLT
     
     NOP
     NOP
     NOP
0
2 / 2 / 0
Регистрация: 25.09.2011
Сообщений: 7
09.11.2011, 21:08  [ТС] 3
Цитата Сообщение от zzzyyyxxx Посмотреть сообщение
1) вводи цифры не более 999.
2) разделяй запятыми.
3) точка - конец массива.

Результат:
в R5 минимальный элемент.
в R6, его индекс.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
RDI #101
OUT 1
RDI #102
OUT 1
RDI #10
OUT 1
 
;по заданию
RD #999
WR R5
 
KEY:
     RD #0
     WR R1
WAIT:
     IN 0
     JZ WAIT
     WR R0
     SUB #44               ;если запятая, то на проверку
     JZ EX
     SUB #2                ;если точка то на выход
     JZ EXT
     
     RD R0
     SUB #48    
     ADD R1      
     MUL #10
     WR R1     
     JMP WAIT
     
EX:
          RD R4            ;индекс текущий
          ADD #1
          WR R4
    
     RD R1
     DIV #10
     WR R1
     
     SUB R5
     JNS KEY   
     RD R1
     
     WR R5                 ;индекс минимального
     RD R4
     WR R6
     JMP KEY
     
EXT:
     HLT
     
     NOP
     NOP
     NOP
Спасибо конечно. Но мне нужно что бы я вводил в ячейки цифри например в 51 52 53-ю и он мне выводил в OR номер ячейки в которой находится минимальное число.
0
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
09.11.2011, 21:16 4
ну так и в чём проблема, перенаправь запись введённых данных в ячейки, а потом замути поиск.
покажи, что ты сам сделал на данный момент, чем смогу помогу.

P.S.:да и потом, в задании не было указано, что и куда надо выводить, это как у GoodWin98:
Какой вопрос - такой ответ.
0
2 / 2 / 0
Регистрация: 25.09.2011
Сообщений: 7
09.11.2011, 21:19  [ТС] 5
Скажи а куда нужно в твоей программе вводить цифры?
0
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
09.11.2011, 22:52 6
хм...., а ты этот COMPMODEL запускал?, там же при подкл клавы, окошко, туды пишешь и всё.

Добавлено через 1 час 19 минут
как занести в OR минимальное значение я не знаю, там сам у кого нибудь спросишь.
по этой проге:
.вводишь значения ч/з запятую, напр так - 25,26,24,25,48,15,. и в конце запятую и точку как в примере, а то последнее число не будет учтено
.результат как и в предыдущей ч/з R5 и R6.

69-73 запись результатов в регистры.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
RDI #101
OUT 1
RDI #102
OUT 1
RDI #10
OUT 1
 
;по заданию
 
RD #100
WR R3
 
 
KEY:
     RD #0
     WR R1
WAIT:
     IN 0
     JZ WAIT
     WR R0
     SUB #44          ;если запятая, то на проверку
     JZ EX
     SUB #2           ;если точка то на выход
     JZ EXT
     
     RD R0
     SUB #48    
     ADD R1      
     MUL #10
     WR R1     
     JMP WAIT
     
EX:
    
     RD R1
     DIV #10
     WR @R3
     RD R3
     ADD #1
     WR R3
     JMP KEY
     
     
EXT:
 
      RD R3
      SUB #1
      WR R3
      SUB #100
      WR R0
 
      WR R6
      RD @R3
      WR R5
CICL:      
      RD R3          ;берём индекс
      SUB #1         ;-1
      
      WR R3          ;записываем в R3
      RD @R3         ;выбираем значение ячейки
      SUB R5
      JS MIN
NEXT:
      RD R0
      SUB #1
      WR R0
      JNZ CICL
      JMP EXXIT 
MIN:
      RD @R3
      WR R5
      RD R0
      WR R6                
      JMP NEXT            
 
EXXIT:
     HLT
     
     NOP
     NOP
     NOP
начало массива - с 100-го адреса.
0
2 / 2 / 0
Регистрация: 17.05.2011
Сообщений: 24
03.05.2012, 08:06 7
Помогите написать цикл, считающий количество четных чисел, та же последовательность! Я ща на самостоялке...
Начало написала:
RD #40
WR 30
RD #10
WR 31
Q1: RD @30
DIV #2
MUL #2
SUB @30
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
04.05.2015, 19:38 8
zzzyyyxxx, здравствуйте.что делать,если не хочет работать программа,написанная вами выше???
0
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
04.05.2015, 19:43 9
ну как бы логично: если вы считаете, что она не работает, то искать причину.
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
04.05.2015, 20:01 10
zzzyyyxxx, знаю.только понять не могу,что не так...уже все команды пересмотрела.может запись массиа не с 100-ой начинается???

Добавлено через 7 минут
zzzyyyxxx,
0
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
04.05.2015, 20:42 11
с кодом все норм, только что перепроверил, ищите ошибку себя..
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
04.05.2015, 20:53 12
zzzyyyxxx, мммм...а если элементы массива вводятся в ячейки 040-049,адреса элементов в ячейке 030 (прибавляя единицу получаем следующий) и эту же задачу необходимо решить с помощью счетчика k=10 (т.е. количество элементов в массиве),находящегося в ячейке 031,а сам минимальный элемент должен выводиться в ячейку 050 и его индекс (номер ячейки) должен выводиться в ячейку 051...можете сделать для этого случая,пожалуйста
0
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
04.05.2015, 20:59 13
хм, антибой, ну а в чём же дело, код перед Вами - рабочий, не знаю правда какое у Вас там задание.
в общем у Вас все карты на руках - переписывайте под свои нужды..
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
04.05.2015, 21:03 14
zzzyyyxxx, спасибо
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
15.05.2015, 19:31 15
zzzyyyxxx, здравствуйте ещё раз.можете помочь в этот раз (я так и не поняла, почему программа у меня не работает...поэтому составила сама, но в ней есть недостатки-она не останавливатся сама, когда количество элементов (у меня их 10) становится равным нулю при нахождении минимального и тем самым идет к бесконечно маленькому числу (т.е. и минимальное меняется в той ячейке, куда надо было вывести, и сам адрес ячейки, где находится минимальное, тоже меняется)...ПОМОГИТЕ ПОЖАЛУЙСТА)))
вот моя программа:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
RD #100
WR 070
RD #10
WR 071
RD 100
WR 072
 
M1: RD 71
SUB #1
WR 71
 
M2: RD 70
ADD #1
WR 70
 
RD 72
SUB @70
JS M2
 
RD 70
WR 82
 
RD @70
WR 72
 
JNZ M1
RD 72
OUT
HLT
Добавлено через 5 минут
zzzyyyxxx, у меня так же элементы вводятся в ячейки 100-109, в 070 хранится адрес "работающего" элемента массива,в 071 - производится отсчет элементов от 10 до 0,в 072 - минимальный элемент и в 082 - адрес минимального элемента...Помогите пожалуйста
0
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
15.05.2015, 20:00 16
Цитата Сообщение от антибой Посмотреть сообщение
есть недостатки-она не останавливатся сама
ну логично, она(программа) выполняется ровно так, как Вы её написали..

короче вот:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
RD #100
WR 070
RD #10
WR 071
RD 100
WR 072
 
M1: RD 71
SUB #1
WR 71
JNZ M2
  out
  hlt
M2: RD 70
ADD #1
WR 70
 
RD 72
SUB @70
JS M1
 
RD 70
WR 82
 
RD @70
WR 72
jmp M1
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
16.05.2015, 18:33 17
zzzyyyxxx, ой...да.спасибо)))
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
30.05.2015, 08:00 18
zzzyyyxxx, простите,что снова обращаюсь к вам.но можете помочь с этой же задачей...просто, если первое число самое минимальное, то он выводит неверно его адрес(точнее, адрес следующего за ним (второго) числа, но в качестве минимального выдает первое число)...Помогите пожалуйста
0
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
30.05.2015, 21:37 19
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
RD #100
WR 70
WR 82        <
RD #10
WR 71
RD 100
WR 72
 
M1: RD 71
SUB #1
WR 71
JNZ M2
  out
  hlt
M2: RD 70
ADD #1
WR 70
 
RD 72
SUB @70
JS M1
 
RD 70
WR 82
 
RD @70
WR 72
jmp M1
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 28
01.06.2015, 15:45 20
zzzyyyxxx, спасибо большое!))
0
01.06.2015, 15:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2015, 15:45
Помогаю со студенческими работами здесь

Определение максимального числа последовательности положительных чисел
Не могу понять, в чём проблема? using System; namespace ConsoleApp { class Program {...

Определение максимального числа в произвольной последовательности чисел
1) Определение максимального числа в произвольной последовательности чисел.(последовательность...

Определение числа положительных чисел во введённой с клавиатуры последовательности
Написать программу, которая определяет число положительных чисел во введёной с клавиатуры...

Определение максимального числа из введенной клавиатуры последовательности отрицательных чисел
Написать программу, которая определяет максимальное число из введенной с клавиатуры...

Найти сумму чисел из последовательности, порядковые номера которых, числа фиббоначи
Помогите пожалуйста, просто подкиньте хотя-бы идею, я уже совсем запуталась, Задача: Вводится...

Определение номера минимального значения элемента массива
Составить программу создания функции определения номера минимального значения элемента массива А и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru