Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на языке Pascal

Выпуск № 181
от 09.10.2003, 13:50

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 317
Отправлено ответов: 1104
Активность: 348.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Cybernetic Creature
Статус: Профессиональный
Общий рейтинг: 125.55
URL: В разработке
[Подробней >>]
Jact M Anchorite
Статус: Доверительный
Общий рейтинг: 118.51
[Подробней >>]
Boriss
Статус: Доверительный
Общий рейтинг: 142.85
[Подробней >>]
 
_vt
Статус: Профессиональный
Общий рейтинг: 122.01
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 314. Доброе время суток. У меня к вам большая просьба, никак не могу решить эту задачу. Мы с другом поспо... (ответов: 1)
Вопрос № 316. Всем привет! Вот такая штука: у меня 2 процедуры(pr), обе полностью assembler, в обе приходят по 2 з... (ответов: 4)

Вопросов: 2, ответов: 5


 Вопрос № 314

Доброе время суток.
У меня к вам большая просьба, никак не могу решить эту задачу. Мы с другом поспорили, что я смогу решить эту задачу к среде. Помогите, пожалуйста, на вас последняя надежда. Вот эта задача:
Найти натуральное число из интервала от 1 до n с максимальной суммой делителей.Надо решить лиш с помощью циклов.
Если будут вопросы по задаче, пишите. marshal90@mail.ru



Вопрос отправлен: 04.10.2003, 12:08
Отправитель: Дмитрий

[Следующий вопрос >>] [Список вопросов]

Отвечает Cybernetic Creature

Доброе время суток, Дмитрий!
const n=100;
function KolDelitel(doN: Integer; var CH:Integer):Integer;
var i,j:Integer;max,chis:Integer;
a:array[1..n]of integer;
begin
for i:=1 to don do
for j:=1 to i do
if i mod j=0 then
inc(a[i]);
max:=a[1];
for i:=2 to don do
if a[i]>max then begin
max:=a[i];
chis:=i
end;
CH:=chis; {Chislo v intervale [1..n] u kotoroqo bolshe vseqo deliteley}
KolDelitel:=max; {Kolichestvo yevo eliteley}
end;
var Chislo,Kol:Integer;
begin
Kol:=Koldelitel(n,Chislo);
WriteLn(Chislo);
WriteLn(Kol);
readln
end.

Ответ отправлен: 05.10.2003, 14:29
Отправитель: Cybernetic Creature


 Вопрос № 316

Всем привет!
Вот такая штука:
у меня 2 процедуры(pr), обе полностью assembler, в обе приходят по 2 значения(x,y), но в первую(pr1) VARом, чтобы измениться и вернуться, а во вторую(pr2) простыми значениями. Т.к. я вызываю первую из второй при помощи CALL, надо в стек загонять поинтеры, а у меня чего то мозг сломался - не знаю как добыть в АСМ-вставке поитер от значения.
См. Приложение.


Приложение:


Вопрос отправлен: 06.10.2003, 13:47
Отправитель: KODer (koder@hotmail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Cybernetic Creature

Приветствую Вас, KODer!
НЕ надо слать один и тот же вопрос два раза.
У вас и первая процедура неправильно работает


Ответ отправлен: 07.10.2003, 09:35
Отправитель: Cybernetic Creature


Отвечает Jact M Anchorite

Приветствую Вас, KODer!
Поинтеры можно получить следующим образом:
mov di, offset x2
mov si, offset y2
(вместо les и lds в pr2)
Сегментные регистры перегружать не надо, так как все переменные хранятся в data segment.
А вообще, честно говоря, код бредовый :) Интересно, что же должна в целом делать программа...
Даже если ты запихаешь в стек параметры, то при выполнении call засунет в стек адрес возврата и ничего хорошего из этого не получится. :)
Вообще, такие процедуры пишутся в TASM-е (MASM-e, etc) и вызываются как extern.
P.S. Не мудри лишний раз с les и lds.
С уважением, Jact & ViRUS.


Ответ отправлен: 08.10.2003, 06:42
Отправитель: Jact M Anchorite


Отвечает Boriss

Приветствую Вас, KODer!
Это был вопрос 994! Повторяю:
ВОТ как нужнол делать, с учетом содержимого стека. Ессно, здесь учтено, что вызов NEAR
Убедись, что к x1 прибавлется содержимое y1.


Приложение:

Ответ отправлен: 08.10.2003, 12:56
Отправитель: Boriss


Отвечает _vt

Приветствую Вас, KODer!
Чем тебя не устроил мой ответ в рассылке по Дельфи???

*** E-Man - we are waiting for you ***


Ответ отправлен: 06.10.2003, 19:22
Отправитель: _vt



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (29)
C / C++ (27)
Perl (7)
Builder / Delphi (21)
Pascal (25)
Basic / VBA (9)
Java / JavaScript (9)
PHP (12)
Криптография (9)
WinAPI (16)
Пользователю
Windows 95/98/Me (59)
Windows NT/2000/XP (64)
"Железо" (43)
Поиск информации (29)
Администратору
Windows NT/2000/XP (37)
Linux / Unix (15)
Юристу
Гражданское право (11)
Семейное право (8)
Трудовое право (9)
КоАП (8)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное