Вопрос № 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-е
Отвечает: 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