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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 226
от 16.10.2006, 22:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 210, Экспертов: 53
В номере:Вопросов: 3, Ответов: 5


Вопрос № 58452: Здравствуйте уважаемые эксперты . На компе с процем PENTIUM 2 установлена DOS. Можно ли в Паскале или както еще задать разрещение больше чем 640Х480 (например 1280Х1024) и с этим разрешением работать с графикой в Паскале?....
Вопрос № 58513: есть массив k из N записей. Запись имеет следующие переменные: имя студента, день рождения, месяц рождения, год рождения. Мне нужно вывести список студентов упорядоченный по дате рождения. Я не знаю, как организовать алгоритм сортировки п...
Вопрос № 58546: Уважаемые эксперты, у меня такой вопрос: мне нужно реализовать добавление и удалени записей до и после заданной записи. Я прописал следующие процедуры, но они работают некорректно. С удалением такая же тема. Обычный массив такие процедуры обрабат...

Вопрос № 58.452
Здравствуйте уважаемые эксперты . На компе с процем PENTIUM 2
установлена DOS. Можно ли в Паскале или както еще задать разрещение больше чем 640Х480 (например 1280Х1024) и с этим разрешением работать с графикой в Паскале?.
Отправлен: 10.10.2006, 22:19
Вопрос задал: VOTIK (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: NiGHT
Здравствуйте, VOTIK!

Есть несколько режимов:
HercMonoHi
PC3270Hi
IBM8514LO
IBM8514HI
, но чаще всего они зваливаются (не включаются).
=======================================================
Для работы с большими разрешениями надо работать через DOS`овские прерывания, а точнее через INT10h. Там полно видеорежимов до 1024 и часть работает, но в справочнике значений порядка 1280Х1024 я не нашел.
Ответ отправил: NiGHT (статус: Студент)
Ответ отправлен: 11.10.2006, 04:43

Отвечает: sir henry
Здравствуйте, VOTIK!
Во-первых, Ваша видео карточка должна безусловно поддерживать большие разрешения. От типа процессора это не зависит.
В-вторых, каким Паскалем Вы пользуетесь? Если анахронизмом типа Turbo(Borland) Pascal, то нужно искать в инете дополнительные BGI драйвера для таких разрешений. Однако не факт, что они будут работать.
Можно не использовать стандартный BGI драйвер, а например скачать VESA-модуль, но тогда пропадает возможность пользоваться стандартными графическими процедурамифункциями. Вам нужны такие сложности? :)
Лучше всего скачать современный Паскаль - FreePascal (http://www.freepascal.org). Он поддерживает все стандартные разрешения VESA - от 320 х 200 до 2048 х 1536 и цветность от черно-белой до 16-ти битной.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 11.10.2006, 10:19


Вопрос № 58.513
есть массив k из N записей.
Запись имеет следующие переменные: имя студента, день рождения, месяц рождения, год рождения.
Мне нужно вывести список студентов упорядоченный по дате рождения.
Я не знаю, как организовать алгоритм сортировки по дате в TPascal-е
Отправлен: 11.10.2006, 13:27
Вопрос задал: Терсков Алексей Николаевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 12)

Отвечает: dianacode
Доброе время суток, Терсков Алексей Николаевич

для сортировки по числам можно использовать самое тривиальное - пузырьковый метод (метод пузырька)

реализацию его для паскале же можно найти в интернет http://pasc.al.ru/www/exampl24.htm

если вас пугает то, что в поле ДАТА у вас хранится строка вида "YYYY-MM-DD" то такую строку можно и нужно разобрать методом вытягивания подстроки из строки определённой длины, разделённой символом "-"
вот и всё

с уважением, удачи

---------
There is more than one way to do it
Ответ отправила: dianacode (статус: 7-ой класс)
Ответ отправлен: 11.10.2006, 13:55

Отвечает: Verena
Здравствуйте!
Если дата представлена числами - любой метод сортировки, можно найти в любой книжке.
Если в дате каждая часть представлена строкой (в записи 3 поля), то с помощью вложенных циклов - сначала по году, потом по месяцу, потом по дате. Вывод в самом внутреннем.
Если дата - одна строка, то сначала строка разбивается в зависимости от её построения (учитывая разделители), а далее алгоритм как в предыдущем варианте.
---------
Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 1-ый класс)
Ответ отправлен: 11.10.2006, 14:33
Оценка за ответ: 5


Вопрос № 58.546
Уважаемые эксперты, у меня такой вопрос: мне нужно реализовать добавление и удалени записей до и после заданной записи. Я прописал следующие процедуры,
но они работают некорректно. С удалением такая же тема. Обычный массив такие процедуры обрабатывают хорошо, а вот массив записей никак. Подскажите, что нужно изменить в проге.

Приложение:

Отправлен: 11.10.2006, 18:41
Вопрос задал: hairbaton (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Strory
Здравствуйте, hairbaton!

Вставка записи: чтобы добавить новую запись перед записью X, нужно сместить записи от X до Max вправо, а на место X записать новую запись.

Ваши ошибки:
1) n:=n-2;
Зачем это? Выкидываем сразу.
2)
for i:=max downto n+1 do
  with student[i] do begin
    student[i]:=student[i-1];
    student[n+1]:=buf;
end;
Что-то перемудрили... Меняем на:
  for i:=max downto n+1 do
    student[i]:=student[i-1];
  student[n] := buf;

Удаление записи:

for i:=n+1 to max-1 do
with student[i] do begin
student[i]:=student[i+1];
student[max]:=buf;
max:=max-1;
end;

Опять перемудрили :) Меняем на:

  for i:=n to max-1 do
    student[i]:=student[i+1];
  student[max]:=buf;
  max:=max-1;

PS Ваш код очень трудно читать, используйте отстпупы.

В приложении Ваш код с вышеуказанными изменениями.

Удачи!
  Strory.

Приложение:

Ответ отправил: Strory (статус: Практикант)
Ответ отправлен: 11.10.2006, 20:51


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное