Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
qwer12345
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 19
1

Определить среднее арифметическое четных чисел, находящихся после максимального значения массива

18.01.2016, 17:09. Просмотров 364. Ответов 1
Метки нет (Все метки)

добрый день, помогите пожалуйста друзья , перевести в ассемблер
Определить среднее арифметическое четных чисел находящихся после максимального значения в массиве D[1...N]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const n=10;
var
  d:array[1..n] of real;
  s:real;
  i,j:integer;
begin
  write('Введите ',n,' элементов массива:');
  s:=0.0;
  for i:=1 to n do begin
    read(d[i]);
    if (i=1) or (d[i]>d[j]) then begin s:=0.0;j:=i;end else s:=s+d[i];
  end;
  if i-j=0 then writeln('Максимальный элемент последний!') else
  writeln('<S>=',s/(i-j):0:4);
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2016, 17:09
Ответы с готовыми решениями:

Определить, сколько нулей находиться до минимального значения в массиве E[1.N] и среднее арифметическое положительных чисел, находящихся после минима
Определить, сколько нулей находиться до минимального значения в массиве E и среднее арифметическое...

В матрице A[1..N,1..M] определить среднее арифметическое значение чисел в столбцах, находящихся до среднего столбца (SR1) и среднее арифметическое зна
Написать прогу на паскале со вставкой ассемблера, т.е. создание и вывод матрицы и средних сделать в...

Среднее арифметическое чисел, находящихся в массиве и представленных в формате с фиксированной точкой
Всем привет, ребят. Помогите пожалуйста написать программку. В ассемблере полный нубяра. Вот сама...

Вычислить среднее арифметическое четных чисел последовательности
Дана последовательность из 10 целых чисел от 250 до 269. Вычислить среднее арифметическое четных...

Найти среднее арифметическое квадратов четных элементов массива
Помогите, пожалуйста, с задачей, нужно составить программу для Ассемблера: 1)Дан массив из 20...

1
R71MT
8554 / 1616 / 326
Регистрация: 29.07.2014
Сообщений: 2,660
Записей в блоге: 5
18.01.2016, 21:10 2
..на асме (без API и сопроцессора) всё приходится делать ручками.
Один из вариантов приведён ниже:

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
ORG 100h
JMP start
 
mass   DB   5,19,200,31,50,64,159,11,7,80
size   =    $ - mass     ; длина массива
max    DW   0            ; буфер максимального
pos    DW   0            ; буфер его позиции в массиве
 
start:
;================ ПОИСК МАКСИМАЛЬНОГО ================//
;================ ..И ЕГО ПОЗИЦИИ В МАССИВЕ ==========//
   MOV   SI,mass         ; адрес массива
   MOV   CX,size         ; его размер
   XOR   AH,AH           ; обнуляем старший байт АХ
@@:                      ;
   LODSB                 ; берём байт с массива
   CMP   AX,[max]        ; сравниваем его с переменной
   JB    next            ; меньше? пропускаем его
   MOV   [max],AX        ; сохраняем текущее число
   MOV   [pos],SI        ;     ..и его позицию в массиве
next:                    ;
   LOOP  @b              ; сл.байт...
 
;================ ПОИСК ЧЁТНЫХ ЧИСЕЛ =================//
;================ ..И ИХ СРЕДНЕ/АРИФМЕТИЧЕСКОГО ======//
   MOV   SI,[pos]        ; SI = адрес сл., после макс.
   MOV   CX,SI           ; расчитаем, сколько эл.осталось
   SUB   CX,mass         ;
   SUB   CX,size         ; получили отрицательное число
   NEG   CX              ; СХ = кол-во оставшихся элементов
   PUSH  0   0   0       ;
   POP   AX  BX  DX      ; очищаем нужные регистры
@@:                      ;
   LODSB                 ; берём байт из SI
   TEST  AL,1            ; число чётное?
   JNZ   miss            ; нет - едем дальше..
   ADD   BX,AX           ; да - суммируем его с BX
   INC   DX              ;    ..и увеличиваем счётчик.
miss:                    ;
   LOOP  @b              ; сл.байт..
 
   PUSH  DX              ; DX = кол-во чётных чисел в массиве
   MOV   AX,BX           ; AX = их сумма
   XOR   DX,DX           ;
   POP   BX              ; разделим сумму на количество
   DIV   BX              ; АХ = средне/арифметическое!
 
exit:                    ;
   XOR   AX,AX           ;
   INT   16h             ;
   INT   20h             ;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2016, 21:10

В массиве определить среднее арифметическое положительных чисел, все отрицательные элементы увеличить на это среднее
Добрый день. Нужно написать программу которая создаёт массив А . Которая определяет среднее...

Определить среднее арифметическое четных чисел находящихся после максимального значения в массиве
Добрый вечер дорогой форум, прошу помочь в решение задачи на турбо паскале + перевод в ассемблер......

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru