Главная » Free Pascal

Световые характеристики материала Free Pascal

Добавлено Дата: 27 June, 2014 категория: Free Pascal

Если предполагается использование источника света с определенными харак- теристиками, то мы должны спланировать и взаимодействие всех компонентов из- лучения с освещаемым объектом. Это означает, что следует должным образом по- добрать светоотражательные характеристики материалов, представляющих грани объекта. Задача эта довольно сложная, и хотя в литературе можно обнаружить до- вольно много практических советов, в большинстве случаев хорошие результаты достигаются после многочисленных проб и ошибок.

Читать »

Числовые данные интервального типа

Добавлено Дата: 26 June, 2014 категория: Free Pascal

Подмножество целочисленных данных, принадлежащее заданному диапазону [min, max], относят к числовым данным интервального типа. При объявлении та- ких данных в Паскале принята следующая форма записи:

Type

qq = 1..10;  // min=1, max=10

Читать »

Календари, даты, время Free Pascal

Добавлено Дата: 25 June, 2014 категория: Free Pascal
Немного истории

Термин "календарь" обязан своим происхождением латинским словам calendae (первый день месяца) и calendarium (долговая книга). В Древнем Риме на первое число каждого месяца приходилось время уплаты процентов по долгам.

Читать »

Растеризация векторных изображений Free Pascal

Добавлено Дата: 24 June, 2014 категория: Free Pascal

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

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

Читать »

Создание нестандартного модуля Free Pascal

Добавлено Дата: 23 June, 2014 категория: Free Pascal

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

Читать »

Определение длины и размеров массивов Free Pascal

Добавлено Дата: 21 June, 2014 категория: Free Pascal

Под термином "длина одномерного статического массива" обычно понимают объем оперативной памяти в байтах, занятых элементами массива.

var

Для определения этой характеристики обычно прибегают к функции SizeOf:

sa1: array [3..15] of double; begin

Читать »

Дополнительный код для целых отрицательных чисел

Добавлено Дата: 19 June, 2014 категория: Free Pascal

Отрицательные целые числа в компьютере представляются в дополнительном коде. Это означает следующее. Если для хранения чисел отводится n двоичных разрядов, то числа N и –N дополняют друг друга до 2. Предположим, что для хра- нения числа 57 в памяти отведен один байт. Тогда двоичное представление этого

Читать »

Настройка системы в среде FP IDE

Добавлено Дата: 19 June, 2014 категория: Free Pascal

Основные характеристики, влияющие на процесс создания программы, уста- навливаются на различных вкладках диалоговых окон меню Options (см. рис. 3.15).

К команде Mode (Режим) приходится прибегать довольно часто, т. к. в процессе разработки программы надо пользоваться отладочным режимом работы компилятора (Mode=Debug). Именно в этом режиме компилятор формирует вспомогательные таблицы и делает различные вставки в программу, позволяющие использовать отла- дочные средства. После завершения отладки следует перейти в режим Mode=Release, обеспечивающий изготовление программы без лишних вставок.

Читать »

Числа Фибоначчи Free Pascal

Добавлено Дата: 18 June, 2014 категория: Free Pascal

Более поздний рекурсивный алгоритм связывают с именем итальянского мате- матика Фибоначчи (XII—XIII вв.). Он занимался оценкой потомства кроликов при следующих предположениях: все начинается с разнополой пары, ежегодно прино- сящей приплод в виде новой пары — самца и самки. Дети начинают пополнять по- пуляцию по такой же схеме через два года после своего рождения. Считая, что смертность отсутствует, получаем:

Читать »

Тексты на графическом экране Free Pascal

Добавлено Дата: 18 June, 2014 категория: Free Pascal

Сопровождение изображения пояснительными подписями на графическом экране расширяет возможности программы по представлению результатов работы. В BGI-графике для этой цели используются две процедуры:

OutText(msg); OutTextXY(x, y, msg);

В первом случае положение строкового сообщения msg зависит от позиции те- кущей точки (графического курсора). Во втором случае точка привязки текста за- висит от координат указанной точки (x, y). Любой шрифт, который можно исполь- зовать при формировании подписей, обладает такими характеристиками как высота и ширина заглавных символов. Если они одинаковы для любых символов алфавита, то шрифт принято называть моноширинным. Например, тексты программ в поле редактора FP набираются моноширинным шрифтом. Если ширины разных букв отличаются друг от друга, то такой шрифт называют пропорциональным. Приме- ром такого шрифта является Times New Roman, которым набрана эта книга. Высота строчных букв составляет примерно 2/3 от высоты прописных букв.

Читать »

Сравнение календарных дат и показаний часов Free Pascal

Добавлено Дата: 16 June, 2014 категория: Free Pascal

Сравнение календарных и/или временных компонентов может быть выполнено двумя способами. Функции, чьи имена начинаются со слова Compare (сравнить), возвращают целочисленный результат. Он может быть положительным, если пер- вый аргумент (или его часть) больше второго аргумента (или соответствующей его части), равен нулю в случае равенства сравниваемых значений, и отрицательным, если первое значение меньше второго. Функции, имена которых начинаются со слова Same (такой же), возвращают логическое значение, равное True в случае сов- падения сравниваемых значений и False — в случае их несовпадения. Такой спо- соб сравнения на равенство выполняется быстрее, чем вычитание арифметических значений и последующая проверка на нулевой результат. В табл. 14.11 приводится перечень описанных функций.

Читать »

Отладка программ Free Pascal

Добавлено Дата: 16 June, 2014 категория: Free Pascal

Основные средства отладки достаточно консервативны. Еще на ЭВМ первого поколения программисты набирали на пульте адрес команды, на которой автома- тическое выполнение программы прекращалось, и появлялась возможность про- смотреть содержимое машинных регистров и ячеек оперативной памяти. Вторым магическим средством был перевод компьютера в пошаговый режим работы, в ко- тором очередное нажатие кнопки <ПУСК> приводило к выполнению следующей команды программы. На некоторых ЭВМ была предусмотрена возможность оста- нова работы программы в момент записи данных в ячейку с указанным адресом. Сегодня кодами машинных команд пользуются очень редкие профессионалы, да и те предпочитают более продвинутые средства вроде услуг ассемблера. Большинст- во пользователей работает с алгоритмическими языками высокого уровня. Однако старинные средства отладки сохранились в несколько модернизированном виде.

Читать »

Использование точек останова Free Pascal

Добавлено Дата: 15 June, 2014 категория: Free Pascal

Точки останова прерывают выполнение программы, когда достигается одна из установленных точек останова. В этот момент управление передается IDE, после чего выполнение программы может быть продолжено.

Для набора точки останова в текущей строке исходной программы можно вы- полнить команду Debug ® Breakpoint или нажать комбинацию клавиш <Ctrl>+

Читать »

Списки изображений Free Pascal

Добавлено Дата: 15 June, 2014 категория: Free Pascal

Представьте себе, что нам потребовалось бы изобразить несколько "черных квадратов", отличающихся по размерам, расположенных в разных местах и даже повернутых относительно линии горизонта. Конечно, можно было бы растиражи- ровать несколько экземпляров тела процедуры Redraw, помещая перед каждой ко- пией несколько строк с формированием очередной текущей матрицы преобразова- ний. А если бы исходное изображение содержало описание не 8 вершин (как в нашем примере), а нескольких сотен точек? Объем исходной программы сразу бы распух до необозримых размеров.

Читать »

Анимация в пространстве Free Pascal

Добавлено Дата: 14 June, 2014 категория: Free Pascal

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

Читать »