Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > структуры


Автор: 666lynx666 22.6.2007, 10:21
Знающие мира сего,помогите пожалуйста!оооооочень надо,задача простая,но я ничего не смыслю в ассемблере,помогите!!!Вот условие задачки:"Вычислить средний балл студентов группы, если известны оценки каждого ученика по математике, русскому языку и физике. Вывести список студентов, имеющих средний балл выше среднего." smile 



Автор: Mikl__ 22.6.2007, 11:03
Пусть в группе 30 студентов, успеваемость группы заложена в следующую структуру (я не знаю под какой ассемблер тебе написать TASM, MASM, FASM или A-86? ну пусть будет TASM)
Код

USPEV STRUC
 IndxFam db ?;индекс студента для поиска фамилии
 Math       db ?;оценка по мат*10 (чтобы не связываться с дробями)
 Rus         db ?;оценка по русс*10
 Fiz           db ?;оценка по физ*10
 mediana  db ?;ср.балл студента*10
USPEV ENDS
1) Считаем средний балл по группе и средний балл каждого студента
mov di,0;для среднего балла группы
mov bx,3
mov si,offset table;данные по успеваемости
mov cx,30
a1: mov ax,0;очищаем ax
      mov al,[si.Math]
      add al,[si.Rus]
      add al,[si.Fiz]
      add di,ax;для среднего балла группы
      div bl
      mov [si.mediana],al;средний балл студента
add si,5;переходим к следующему студенту
loop a1;повторяем для всей группы
mov dx,0
mov bx,3*30
mov ax,di
div bx;расчитали средний балл группы
;в ax средний балл группы
2) вычисляем студентов с высоким средним баллом
mov cx,30
mov si,offset table;данные по успеваемости
a2: cmp al,[si.media]
      jna a3
;по si.IndxFam выводи фамилию на экран или на печать или в файл
a3: add si,5 ;переходим к следующему студенту
      loop a2;повторяем для всей группы
 остальное доделывай сама/сам

Автор: 666lynx666 24.6.2007, 10:31
Выдает ошибку:переполнение деления.Почему?

Добавлено через 1 минуту и 19 секунд
И как всё это вывести?не понимаю..... smile 

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