Главная » Free Pascal

Анимация на плоскости Free Pascal

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

Вращающийся квадрат — один из самых простых примеров анимации. При описании пакета OpenGL к подобной иллюстрации прибегают столь же часто, как и к программе "Общего привета" ("Hello, world!"). Больше других нам понравилась реализация вращения квадрата,  написанная  на  языке  C  и  приведенная  в  книге Э. Эйнджела "Интерактивная компьютерная графика" [36]. В этом примере, с од- ной стороны, демонстрируется управление вращением с помощью кнопок мыши (левая кнопка запускает вращение, правая — останавливает). С другой стороны, здесь появилась возможность разумного использования времени ожидания сооб- щения, адресованного какому-нибудь из обработчиков событий. Вместо пустого повторения главного цикла приложение может получить управление и использо- вать время "простоя" для выполнения каких-то вычислений или подготовки ин- формации для отображения следующей сцены. Адрес такой процедуры, преду- смотренной в приложении, регистрируется в GLUT с помощью подпрограммы glutIdleFunc. Объем нашей модификации примерно на 10% меньше по сравнению с программой Эйнджела.

Читать »

Окно вывода Free Pascal

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

По умолчанию программа может использовать для вывода результатов всю ра- бочую площадь окна консольного приложения — 25 строк по 80 символов в стро- ке. Чтобы убедиться в этом, можно воспользоваться программой из листинга 12.1.

   Листинг 12.1. Программа  MaxWindow                                           

Читать »

Внутренний формат числовых данных

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

Под внутренним форматом имеется в виду машинное представление числовой информации. Мы уже упоминали, что в оперативной памяти компьютера числовые данные представлены в двоичной системе. Для целых положительных чисел это представление может быть записано следующим образом:

Читать »

Настройка среды и системы (предварительные сведения) Free Pascal

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

В начальной стадии знакомства со средой Free Pascal мы ограничимся мини- мальным набором сведений, необходимых для эксплуатации системы. Более под- робная информация приведена в приложении 2.

Читать »

Операции над однотипными массивами Free Pascal

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

В Паскале выделяют массивы, совместимые по операции присваивания. К ним относятся массивы, объявленные с использованием одного и того же типа:

type

m10_b = array [1..10] of byte; var

a1 : m10_b; a2 : m10_b;

a3, a4 : m10_b;

Читать »

Краткая справка по операторам языка Free Pascal

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

Основные операторы представлены в табл. П1.7.

Таблица П1.7. Операторы языка Free Pascal

Читать »

Основные аффинные преобразования OpenGL Free Pascal

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

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

Читать »

Подпрограммы с параметрами процедурного типа Free Pascal

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

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

Читать »

Строки типа AnsiString Free Pascal

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

Стандарт строк, утвержденных американским национальным институтом стан- дартов (American National Institute Standards, ANSI), довольно широко распростра- нен в современных системах программирования. Его активно использует одна из лучших сред визуального программирования — Delphi. Этот тип данных включен и в состав языка Free Pascal. Главное преимущество строк типа AnsiString по сравнению

Читать »

Графические средства языка Free Pascal

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

В этой главе описывается набор процедур и функций, унаследованный языком Free Pascal от ранней графической библиотеки BGI (Borland Graphics Interface). Он практически повторяет набор графических подпрограмм, реализованных в систе- мах Turbo Pascal и Borland Pascal, с единственным расширением, позволяющим более полно использовать разрешение современных дисплеев. Дополнительной особенностью графики системы Free Pascal является выделение консольному при- ложению двух окон (рис. 15.1).

Читать »

Записи с вариантами Free Pascal

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

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

Читать »

Статические и динамические массивы языка Free Pascal

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

Free Pascal так же, как и Object Pascal, поддерживает массивы двух категорий. Первую из них составляют традиционные массивы Паскаля, при объявлении кото- рых в явном или косвенном виде указываются конкретные границы изменения ка- ждого индекса:

Читать »

Записи Free Pascal

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

Своим происхождением записи обязаны таблицам — одному из наиболее рас- пространенных документов представления данных, который возник задолго до по- явления ЭВМ. Одна из первых программных систем, взявших на вооружение запи- си — "Коммерческий Транслятор" (COMTRAN), разработанный в 1959 г. группой сотрудников IBM. Позднее данные типа запись составили основу алгоритмическо- го языка COBOL (COmmon Business Oriented Language), ориентированного на об- работку коммерческих документов.

Читать »

Нечисловые данные порядкового типа Free Pascal

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

Как уже отмечалось ранее, к данным порядкового типа относятся такие конеч- ные множества данных, которые можно тем или иным способом упорядочить, т. е. "выстроить" в очередь и приписать каждому элементу порядковый номер, выбрав для этого, например, натуральные числа. Кроме описанных ранее стандартных це- лочисленных типов и интервальных подмножеств целых чисел к порядковым дан- ным относятся:

Читать »

Управление точками и фрагментами графического экрана Free Pascal

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

Каждая точка на графическом экране (пиксел) характеризуется координатами (x, y) и кодом цветности. Программа имеет возможность узнать или изменить код цветности любого пиксела:

var

col: Word;

x, y: SmallInt;

Читать »