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

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

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

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

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

Читать »

РАЗРАБОТКА ПРИЛОЖЕНИЙ ANDROID С ПЕРЕДАЧЕЙ СОСТОЯНИЯ ПРЕДСТАВЛЕНИЯ (RESTFUL) в Android приложении

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

 

Не только мы считаем данный подход перспективным. На конференции Google I/O, состоявшейся в мае 2010 года, сотрудник Google Вирджил Добжански прочитал доклад, в рамках которого обрисовал следующие три принципа использования поставщиков содержимого в тех случаях, когда веб-службы с передачей состояения представления требуется интегрировать в приложения Android.

Читать »

Несколько слов об ActiveX CBuilder

Добавлено Дата: 10 June, 2013 категория: C++, C++ Builder

Теперь настало время сказать пару слов об управляющих элементах Active и их структуре. Как и компоненты VCL, управляющие элементы ActiveX содержат свойства, методы и события. Однако в отличие от них управляющие элементы ActiveX содержат словарь, который позволяет внешним приложениям (которые называются несущими объектами , container objects) узнавать, какие свойства, события и методы поддерживает данный управляющий элемент. По правде говоря, это не совсем верно. Объекты VCL также можно опрашивать об информации, содержащейся в них. Однако такая возможность существует только в системах, построенных на VCL, например Delphi и CBuilder.

Читать »

Модуль Array (выделение памяти, маршализация)

Добавлено Дата: 24 June, 2012 категория: Haskell

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

Модуль C

Добавлено Дата: 23 June, 2012 категория: Haskell

Модуль, который включает в себя при помощи реимпорта функциональность трёх нижеследующих модулей, описывающих  специфические функции для работы в рамках подхода FFI (Foreign Function Interface — интерфейс  к внешним функциям) с внешними  программами, написанными на языке  программирования C. Использование:

Читать »

Модуль Error необходимый для проверки возвращаемых при маршализации значений и генерации исключений типа userError в случаях наличия ошибок в значениях

Добавлено Дата: 12 June, 2012 категория: Haskell

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

Модуль IntMap

Добавлено Дата: 20 May, 2012 категория: Haskell

В модуле IntMap содержится описание такой важной идиомы в программировании, как отображения. Реализация отображений достаточно эффективна и ос-

нована на использовании специального вида деревьев (вместо обычных сбалансированных деревьев), описанных в работах [19, 16]. В этом модуле используются имена функций, которые конфликтуют со многими функциями из стандартного модуля Prelude, поэтому использование его выглядит следующим образом:

Читать »

Варианты и массивы

Добавлено Дата: 27 January, 2012 категория: Delphi

Как отмечалось ранее, варианты способны представлять неоднородные (nonhomogene

ous) массивы, поэтому следующий код синтаксически абсолютно корректен:

var

V: Variant;

I, J: Integer;

begin

I := V[J];

end;

Читать »

Преобразование типов для вариантов

Добавлено Дата: 20 January, 2012 категория: Delphi

Приведение к типу  Variant можно  осуществлять явно.  Так,  выражение Vari- ant(X) дает в результате вариант, тип которого соответствует результату  выражения X. Последнее должно  быть целым, вещественным, строкой, символом, денежным или булевым типом.

Читать »

Варианты  — объекты  с управляемым временем жизни

Добавлено Дата: 17 January, 2012 категория: Delphi

Delphi  автоматически выделяет и освобождает память  для данных  типа  Variant. Рассмотрим приведенный ниже пример, в котором варианту присваивается строка.

procedure ShowVariant(S: string);

var

V: Variant

begin

V := S;

Читать »

Тип Variant

Добавлено Дата: 15 January, 2012 категория: Delphi

В Delphi 2.0 был введен новый мощный тип данных — Variant. В основном его на значение заключалось в поддержке автоматизации OLE  (OLE  Automation), где  тип данных  Variant используется очень  широко. Фактически тип Variant языка  Object Pascal является инкапсуляцией вариантов OLE. Как мы вскоре  убедились, реализация в Delphi  вариантов оказалась полезной и с точки  зрения других аспектов программиро вания.  Object  Pascal является единственным компилируемым языком, в котором для работы с вариантами OLE введен  специализированный тип данных, представляемый как динамический во время  выполнения программы и как статический во время  ее компиляции.

Читать »

Форсированные варианты

Добавлено Дата: 1 January, 2011 категория: Игры, Теория

По окончании полного перебора поиск может быть продолжен в форсиро­ванном варианте, который, в сущности, является конечной стадией выбо­рочного поиска. Основное его назначение — дать примерную оценку пози­ции горизонта. Какие ходы являются форсированными? В самом простей­шем случае это взятия. Взятия в шахматах дают самый большой прирост оценки (существенно больше, чем стратегическая оценка), и поэтому рас­смотрение взятий в глубине поиска сглаживает до некоторой степени эф­фект горизонта. Взятия являются также ходами, требующими немедленной реакции. В шахматах бывают очень длинные размены, которые программа должна рассматривать до конца. Если программа считает на 8 полуходов и рассматривает все размены в конце, уровень ее игры будет значительно вы­ше. Кроме взятий, и другие ходы могут являться форсированными. Напри­мер, шахи. Шах является, в сущности, видом атаки. Атака может быть на пешку, на ферзя, а в случае шаха — на короля. Шах является особым ходом в шахматах. Игра при шахе как бы замирает, и сама ситуация требует более глубокого просчета. Шахи в очень сильной степени влияют на эффект гори­зонта. Если форсированные варианты не рассматривают шахи, их оценка является уж очень приблизительной. В некоторых случаях и этого бывает достаточно. Если программа считает глубоко и имеет развитую систему вы­борочных продлений полного перебора, то на некоторой глубине ей может оказаться достаточно самой приблизительной оценки горизонта. Существу­ют два основных подхода к этой проблеме:

Читать »