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

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


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


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

Выпуск № 009
от 17.05.2002, 12:10

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


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

Топор
Статус: Опытный
Общий рейтинг: 141.13
URL: Хорошая Русская Металлическая команда
Телефон: (8462)160302, 162918
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 140.69
URL: Пристанище неодинокого программиста
[Подробней >>]


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

Вопрос № 15. Здраствуйте! У меня вот такой вопрос: в bP 7.0 под защищенным режимом можно максимум откусить 16 мб... (ответов: 2)
Вопрос № 16. Зравствуйте все! Послезавтра экзамен, помогите пожалуйста!!! Надо написать программу: "Перестав... (ответов: 1)

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


 Вопрос № 15

Здраствуйте! У меня вот такой вопрос:
в bP 7.0 под защищенным режимом можно максимум откусить 16 мб памяти. Есть ли какие-нибудь методы использовать
оставшуюся память?



Вопрос отправлен: 13.05.2002, 11:58
Отправитель: alexandr

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

Отвечает Топор

Здравствуйте, alexandr!
Компилер BP 7.0 заточен под защищённый режим для .286, отсюда и такое ограничение. Там, в отличие от реального режима, совсем по-другому организована адресация, и в дескриптор сегмента больше 16 Мб не забьёшь - защ. режим там тоже 16-разрядный. Выход - писать ассемблерную вставку, переводящую в защищённый 32разрядный режим, причём не на встроенном Ассемблере (он тоже под .286), а отдельно, в TASMе, например, и прилинковывать.
Удачи!


Ответ отправлен: 15.05.2002, 22:04
Отправитель: Топор


Отвечает Артём Шегеда

Здравствуйте, alexandr!
BP 7.0 использует сервис DPMI и никаким программам пользователя зарезервированной памяти не отдаст: ты ведь именно это хотел сделать - выделить для своих целей "немножко" от общего куска? Если тебе нужна память XMS - пиши свои функции для доступа к сервису XMS (или EMS). Это не сложно. Можешь поискать библиотеки, но я этого не делал - писал сам.

Ответ отправлен: 13.05.2002, 12:36
Отправитель: Артём Шегеда


 Вопрос № 16

Зравствуйте все!
Послезавтра экзамен, помогите пожалуйста!!!
Надо написать программу:
"Переставить строки матрицы таким образом, чтобы суммы положительных элементов строки возрастали"
Целую, Ириша...



Вопрос отправлен: 14.05.2002, 12:07
Отправитель: Ирина

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

Отвечает Артём Шегеда

Приветствую Вас, Ирина!
Секунд тридцать въезжал в формулировку, но потом понял, насколько тривиальна задача. Напоминаю, что здесь программы не пишут, а объясняют вопрошающим, как кратчайшим путём добится результата.
Матрица задаётся своим размером (MxN) и своим содержимым (вводится с клавиатуры).
1. Как найти сумму положительных элементов строки?
Считаем, что текущая строка имеет номер i.
Просто необходимо создать цикл, в котором параметром служит номер элемента (как правило j:integer). Номер элемента изменяется от 1 до N (N - количество элементов в строке). В теле цикла нужно проверять, больше ли нуля текущий элемент (A[i,j]). Если условие истинно, то прибавить к сумме (sum:integer) текущий элемент (до начала цикла сумма должна быть обнулена).
После завершения цикла переменная sum хранит искомое значение.
2. Как найти суммы положительных элементов строк матрицы?
Всё так же просто. Оформи действия в пункте 1 в виде функции, принимающей в качестве параметра i-номер строки и возвращающей сумму положительных элементов. Организуй цикл, в котором параметром служит номер строки (как правило i:integer). Номер элемента изменяется от 1 до M (M - количество строк). В теле цикла нужно вызывать функцию, а результат заносить в таблицу (тот же массив S: array [1..M] of integer).
3. Как отсортировать строки по возрастанию сумм?
Сортировку методом пустого стакана помнишь? Только не говори, что вас этому не учили - по глазам вижу, что врёшь ;). Только, кроме внесения значения в пустую ячейку, переставь строки исходной матрицы.
Будут вопросы - пиши.
Научу почти всему, что знаю...

Ответ отправлен: 14.05.2002, 12:44
Отправитель: Артём Шегеда



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

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (70)
C / C++ (37)
Perl (12)
Delphi (24)
Pascal (35)
Basic / VBA (19)
Java / JavaScript (14)
PHP (9)
MySQL / MSSQL (7)
Пользователю
Windows 95/98/Me (65)
Windows NT/2000/XP (50)
"Железо" (56)
Поиск информации (22)
Администратору
Windows NT/2000/XP (19)
Linux / Unix (11)
Юристу
Гражданское право (20)
Уголовное право (5)
Семейное право (8)
Трудовое право (10)
КоАП (6)

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




be number one SUPERTOP Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

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

В избранное