Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 23:12   #1
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию asm в delphi

Вот есть задание
Цитата:
в одномерном массиве, состоящем из n элементов, вычислить:
1) максимальный по модулю элемент массива;
2) сумму элементов массива, расположенных между первым и вторым положительными элементами.
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных.
Массив нужно задавать через среду разработки, в моем случае делфи =>
Код:
array [1..n] of word; //integer, byte, не суть важно
Именно так, я этот момент уточнил.
Поясню ситуацию, я эту задачу решу за 15 минут, из которых 12 пойдет на набор кода. Но я на четвертом курсе, предмет предполагает asm вставки. Так вот, что тут с ассемблером делать? Он тут не к селу, не к городу вроде бы :\. При таком объявлении массива поиск максимума, суммы элементов и преобразование массива рационально (изящно, если хотите) делать не залезая в дебри.
Все тривиальное просто

Последний раз редактировалось whatever; 20.04.2013 в 23:22.
whatever вне форума Ответить с цитированием
Старый 20.04.2013, 23:45   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
я эту задачу решу за 15 минут, из которых 12 пойдет на набор кода
а оставшиеся 3 ?
Цитата:
предмет предполагает asm вставки
так и рассказывали про них конечноже, вот и применяйте то что изучали
eval вне форума Ответить с цитированием
Старый 21.04.2013, 00:05   #3
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
а оставшиеся 3 ?
Которые?

Цитата:
Сообщение от eval Посмотреть сообщение
вот и применяйте то что изучали
Леволинейные (праволинейные) автоматные грамматики G(VT,VN, P, S), V = VN U VT применять? Может что-нибудь еще эдокое из лекций? Или в той России, в которой Вы живете на лекциях дают материал, который нужно\можно применять на семинарах? Завидую Вам.

А вообще, не надо путать меня со студентом-неучем, которому в лом учиться и который хочет, чтобы ему дали решение на блюдечке. Заметьте, что я не просил код. Мне реально непонятно, куда тут припилить асм чтобы это не противоречило здравому смыслу.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 21.04.2013, 00:29   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,427
По умолчанию

Цитата:
делать не залезая в дебри
Ну так это учебное задание, которое предполагает засунуть Вас в дебри асма
Так как задача разбивается на подзадачи-функции, то эти-то функции можете написать на асме.
Тот же поиск максимума с использованием цикла на асме.
У меня на первом курсе была задача, связанная с асм. Многофайловый проект, в котором функция сравнения 2 элементов и функция, меняющая 2 элемента местами, были написаны на NASM. Сам проект предполагал наглядное сравнение 2 алгоритмов сортировки - время выполнения, количество сравнений, количество обменов.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 21.04.2013, 00:58   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Которые?
с арифметикой тоже как и с асмом в делфи не лады?15-12=3

я ваще не в россии живу (на минуточку), при чем тут это мне не понятно

а здравый смысл в том что это процесс обучения, тут надо учится применять полученные знания (закреплять пройденный метериал),
а то у вас получается что в начальной школе когда учатся палочки и галочки выводить, занимаеются полным неадекватом.. а то как-же где здравый смысл в этих палкогалках...ну или когда столбиком складывают, тоже придурки, есть же калькуляторы, компы, в телефонах вон калькулятор

Последний раз редактировалось eval; 21.04.2013 в 01:11.
eval вне форума Ответить с цитированием
Старый 21.04.2013, 01:35   #6
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
с арифметикой тоже как и с асмом в делфи не лады?15-12=3
3 минуты на обдумку, 12 на написание, окда?
Цитата:
а здравый смысл в том что это процесс обучения, тут надо учится применять полученные знания (закреплять пройденный метериал),
а то у вас получается что в начальной школе когда учатся палочки и галочки выводить, занимаеются полным неадекватом.. а то как-же где здравый смысл в этих палкогалках...ну или когда столбиком складывают, тоже придурки, есть же калькуляторы, компы, в телефонах вон калькулятор
Просто иди мимо. Вот если так хочется вы**нуться, может стоит сначала подумать, о чем я спрашивал? Объясняю популярно. Сумма двух чисел, разность, деление\умножение, сравнение, организация условных переходов не логично делать на асм. Но "для закрепления" вполне нормально.

Теперь то, что мне я называю не логично. Возьмем первую часть задания (разжовываю уже, окда?):
1) записываем в ax (регистр общего назначения, в asm) значение a[1].
2) делаем цикл for i:=2 to n do , на каждом шаге в bx пишем a[i] и сравниваем ax и bx по модулю, если bx>ax, то записываем bx в ax
3) в конце цикла пишем значение регистра ax в переменную MAX и выводим как результат.

Если до сих пор не понятно (ну, мало ли) повторяю вопрос - смысл тыркаться с асм? И это только первая часть задания. А вторая? Перегонять переменные из массива в регистры и обратно чисто так, по приколу? У меня уже аналогии кончаются, в этой задаче асм нужен так же как в автомобиле весла. Воткнуть можно, но пользоваться не получится.

BDA, спасибо за ответ. Пожалуй так и сделаю, напишу пару дибильных функций, пусть тыркаются.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 21.04.2013, 01:46   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
смысл тыркаться с асм?
я про него в предыдущем посте написал, если не понятно, то ой
собственно, чего волнуетесь? идите к предподавателю и так ему и расскажите о вашем понимании смысла. потом тут расскажите итог разговора, ну так, чиста поржать.
eval вне форума Ответить с цитированием
Старый 21.04.2013, 08:25   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от whatever Посмотреть сообщение
А вообще, не надо путать меня со студентом-неучем, которому в лом учиться и который хочет, чтобы ему дали решение на блюдечке. Заметьте, что я не просил код. Мне реально непонятно, куда тут припилить асм чтобы это не противоречило здравому смыслу.
Честно говоря, не совсем понимаю, что Вас возмущает.
Это чисто учебная (и, заметьте, - логичная с точки зрения обучения) задача - написать одну и ту же программу, используя различные языки программирования.
Пишите на Ассемблере то, что в другое время Вы бы написали на Паскале в той же самой среде Delphi.
Чего здесь непонятного или нелогичного?
s-andriano вне форума Ответить с цитированием
Старый 21.04.2013, 09:41   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что тут с ассемблером делать?
Писать на нем то что можно было на Делфи написать, и получить свою пятерку. Что же еще?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
asm в delphi arxlex Помощь студентам 1 04.04.2012 18:58
Использование asm процедуры в Delphi Alex1991 Общие вопросы Delphi 4 08.02.2011 12:50
Delphi + asm (Работа со строками) Pawa_16_let Общие вопросы Delphi 2 12.11.2009 08:43
Delphi и ASM benjaminfran Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 17.02.2008 15:46