Главная » Статьи для тега "integer"

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

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

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

Читать »

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

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

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

Читать »

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

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

В данном разделе мы прокомментируем различные приемы передачи и обра- ботки параметров, являющихся одномерными массивами. В пределах одной про- граммы arg_array1 реализованы несколько функций, определяющих максималь- ный элемент в одномерном целочисленном массиве (листинг 9.4).

Читать »

Выделение памяти локальным и глобальным массивам Free Pascal

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

Программа matrix_4 демонстрирует тактику выделения памяти для глобальных массивов — статического sa1 и динамического ds1 (листинг 6.8). Массиву sa1 па- мять выделяется сразу и всем его элементам присваиваются нулевые значения. Для массива ds1 сначала выделяется 4-байтовый указатель, в который заносится Nil. После первого обращения к процедуре SetLength массиву ds1 выделяется чистая память. При повторном обращении к процедуре SetLength массиву ds1 выделяет- ся новая память, в которую копируются накопленные ранее данные, а хвост — чистится. Функция SizeOf для статического массива выдает объем занятой памяти в байтах, для динамического — только объем памяти, занятой указателем. Функция Length выдает длину любого массива в количестве элементов.

Читать »

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

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

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

Читать »

Вычисление наибольшего общего делителя Free Pascal

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

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

± НОД( n1 , n2 ) = НОД( n2 , n1 ). Этот факт сомнения не вызывает;

Читать »

Модуль Math Free Pascal

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

Дополнительный набор подпрограмм вычисления элементарных (табл. 13.3) и специальных (табл. 13.4) функций сосредоточен в модуле Math.

Таблица 13.3. Элементарные функции и процедуры модуля Math

Читать »

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

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

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

Процедура mat_add1 выполняет сложение двух квадратных матриц в традици- онном стиле ранних версий Паскаля (листинг 9.5).

   Листинг 9 .5 .  Процедура  mat_add1                                             

Читать »

Вычисление факториала Free Pascal

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

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

function fact(n:integer):extended; begin

if n=0 then Result:=1 else Result:=n*fact(n-1);

Читать »

Оформление функций Free Pascal

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

Функция представляет собой частный вид процедуры, результатом работы ко- торой является единственное значение. Его принято называть значением, которое возвращает функция. Такой результат позволяет использовать функцию в качестве операнда любой формулы соответствующего типа:

Читать »

Быстрая сортировка Free Pascal

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

В 1962 г. известный математик Хоар (C. A. R. Hoare) опубликовал алгоритм сортировки, за которым закрепилось название quicksort. Идея этого алгоритма удивительно проста. Сначала выбирается "средний" элемент в сортируемом масси- ве. Все, что больше этого элемента, переносится в правую часть массива, а все, что меньше, — в левую. После первого шага "средний" элемент оказывается на своем месте. Затем аналогичная процедура повторяется для каждой половины массива. На каждом последующем шаге размер обрабатываемого фрагмента массива уменьшается вдвое. Количество операций, которое требуется, в среднем, для реа-

Читать »

Простая база данных для видео в Android приложении

Добавлено Дата: 22 July, 2013 категория: Разработка для Android

Для сохранения данных, которые вы вводите в это приложение, класс SimpleFinchVideoContentProvider создает собственную базу данных при помощи следующего предложения на языке SQL:

CREATE TABLE video (Jd INTEGER PRIMARY KEY, title TEXT, decription TEXT, uri TEXT):

Читать »

Виды Системы координат КОМПАС в DELPHI

Добавлено Дата: 20 June, 2013 категория: Delphi, OLE, САПР

В среде КОМПАС существует две разновидности систем координат (далее сокращенно СК): СК листа и СК вида. В чем между ними разница? Прежде чем ответить на этот вопрос сделаем небольшое замечание по поводу направления координатных осей.

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

Читать »

Графические примитивы Стили линий – КОМПАС в DELPHI

Добавлено Дата: 13 June, 2013 категория: Delphi, OLE, САПР

Прежде чем начать строить графические объекты предлагаю обсудить то, какими линиями они могут быть начерчены. Система КОМПАС предлагает несколько системных стилей линий, каждый из которых определяется целым положительным числом. В таблице ниже представлены основные стили линий (полный их перечень найдете в документации):

Читать »

Ломаная – КОМПАС в DELPHI

Добавлено Дата: 9 June, 2013 категория: Delphi, OLE, САПР

Прежде чем приступить к построению ломаной линии нам нужно познакомиться с двумя методами интерфейса ksDocument2D ksPolyline и ksEndObj. Начнем с первого. Вот его прототип:

ksPolyline(

style: Integer //стиль линии ломаной

): Integer;

Читать »