Ошибка: Failed to parse the Currency Converter XML document.
$2 491.33


Ошибка: Failed to parse the Currency Converter XML document.
$15 305.74


Ошибка: Failed to parse the Currency Converter XML document.
$1 233.59


Объектное программирование

Тип объект содержит:
— поля: вектор, его размер и его идентификатор в символьном виде
— методы: введение вектора, вывод вектора, сортировка за ростом элементов вектора.

Реализовать экземпляр этого типа и выполнить над ним все возможные действия

Текст программы
program Prg13;
uses crt;
type TMas=array[1..10] of real;
TVector=object
Mas:TMas;
n:byte;
id:char;
procedure inp;
procedure out;
procedure sort;
end;
var vect:tvector;
procedure TVector.inp;
var i:byte;
begin
Writeln(«Enter identificator of vector (One symbol) :»);

Write(«id=»);
Readln(id);
Writeln(«Enter number of elements of vector »,id,« :»);
Write(«n=»);readln(n);
writeln(«Enter elements of vector »,id,« :»);
for i:=1 to n do
begin Write(id,«[»,i,«]=»);readln(mas[i]); end;
end;
procedure TVector.out;
var i:byte;
begin
Writeln(«Vector »,id,« :»);
for i:=1 to n do
writeln(id,«[»,i,«]=»,mas[i]:0:3)

end;
procedure TVector.sort;
var i,j:byte;
b:real;
begin
for i:=n — 1 downto 1 do
for j:=1 to i do
begin
if mas[j]>mas[j+1] then
begin
b:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=b;
end;
end;
end;
begin
clrscr;
vect.inp;
vect.sort;
vect.out;
readkey;
end.

Результат работы программы
1)
Enter identificator of vector (One symbol) :
id=a
Enter number of elements of vector a :
n=5
Enter elements of vector a :
a[1]=1
a[2]=4
a[3]=2
a[4]=7
a[5]=8
Vector a :
a[1]=1.000
a[2]=2.000
a[3]=4.000
a[4]=7.000
a[5]=8.000
2)
Enter identificator of vector (One symbol) :
id=q
Enter number of elements of vector q :
n=3
Enter elements of vector q :
q[1]=2.1
q[2]=5.9
q[3]=2.1
Vector q :
q[1]=2.100
q[2]=2.100
q[3]=5.900

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

Объект определяется типом «объект», или классом объекта, который описывается в разделе описи типов программы и имеет вид:
Type =object
;

end;
— содержат объявление наборов логически связанных данных разного типа
— содержат объявление процедур и функций работы с этими данными.

Такое объединение в единой структуре данных и методов называется инкапсуляцией.

Объект-переменная или экземпляр — переменная объектного типа, описание:
var : ;
— описание типа «объект» может быть выполнено только в блоке TYPE главной программы или в разделах модулей (т.е. невозможно описывать локальные объекты)
— при описании типа «объект» все поля данных должны предшествовать описаниям методов
— компонентами объектов не могут быть файлы (файловые переменные). Данные типа объект не могут быть записаны в файл.

Наследование — это возможности создавать новые классы объектов на базе уже существующих и таким образом предоставлять новым классам — «наследникам» право наследования свойств (полей) и методов существующих классов — «прародителей». «Наследники» рассматриваются как подчиненные (зависимые от) «прародителей». «Наследник» иногда называется производным типом. Такая структура реализуется с помощью следующей конструкции:
type =object()

end;
В операциях предоставления прародитель всегда должен находиться слева, так как количество его полей всегда меньша или равняется количеству полей наследника
:=;
Полиморфизм — это существование нескольких одинаковых по именем но разных по смыслу методов (процедур или функций) для разных классов объектов. Благодаря этому становится возможным выполнить одну и ту же самую операцию с объектами разных классов с учетом их специфики.

Обработка статических методов похожая на обработку статических переменных, т.е. ссылка на эти методы формируются на стадии компиляции (раннее связывание).

Для реализации полиморфизма в полной мере используются виртуальные методы.

Виртуальным метод становится после того, если после его заголовка указывается служебное слово VIRTUAL:
procedure (); virtual;
function ():; virtual;
При «виртуализации» — объявлении метода виртуальным — следует придерживаться правил:
1. Если порождаемый тип объекта описывал метод как виртуальный, то и все производные типы, которые переопределяют метод с тем самым именем, должны описывать его как виртуальный.
2. Если переозначается виртуальный метод, то его заголовок в новой реализации в произвольном типе не может быть изменен.
3. В описи объекта должен обязательно присутствовать присутствующим метод, который инициализирует объект (как правило с именем init) — Заголовок в объявлении и реализации вместо procedure употребляется служебное слово constructor.

Конструктор — это специальный вид процедуры, которая выполняет установочную работу по виртуализации метода (обеспечение так называемого позднего связывания). Все типы объектов, которые имеют виртуальные методы, должны содержать конструктор. Конструктор всегда вызывается к первому вызову виртуального метода.

Объекты могут быть размещены в динамической области памяти, для этого они должны быть объявлены как и все другие динамические структуры.

Var :^;
Создание динамических объектов происходит
с помощью процедуры NEW
а) NEW();
-при этом выделяется место для сохранения базового типа. Если есть виртуальные методы, то динамический объект должен быть инициализован:
^.();
б) расширенный вариант с выполнением инициализации объекта:
NEW(,());
в) реализация NEW в виде функции:
:=new();
или: :=new(,());
Освобождение объектов происходит
а) с помощью процедуры dispose:
dispose();
б) или расширенный вариант процедуры:
dispose(,);
Деструктор — специальная процедура, объявляется в описании типа объект среди других методов. Вместо procedure употребляется зарезервированное слово destructor, как правило эта процедура носит имя done («выполнено»). Назначение — заключительные действия перед освобождением объекта (например, действия по освобождению динамично распределенных полей). Деструктор может наследоваться.
destructor .done;
begin . . . end;

 

Интересное

Создать офис
Для создания деловой атмосферы в офисе и повышения работоспособности служащих необходимы определенные благоприятные условия, напрямую связанные не только с рациональной расстановкой мебели и...
Подробнее...
10 способов заставить...
Операционная система Windows Vista отличается повышенной функциональностью и безопасностью, а также имеет красивый стиль оформления пользовательского интерфейса Aero transparency, функцию...
Подробнее...
Поисковый маркетинг губит...
Что такое «маркетинг веб-сайта»? В 99% случаев первое, что приходит на ум — это SEM, то есть поисковый маркетинг, во многом из-за сходства терминов. Однако подобная логика часто приводит к...
Подробнее...
Эволюция 3D-графики в...
Воспроизведение видео и трехмерные игры — очень ресурсоемкие задачи для мобильного телефона, поэтому до недавнего времени они были трудно реализуемы. Но прогресс не стоит на месте, и в портативных...
Подробнее...
SQL injection
Что побудило меня написать эту статью? Желание поделиться навыками, с другими начинающими хакерами.Статья эта написана только в целях повышения уровня знаний и за любое другое применение автор не...
Подробнее...
Особенности Windows XP...
XP Service Pack 2 и беспроводные сетиВпервые выпустив XP в октябре 2001 года, Microsoft включила в его состав средства работы с беспроводными сетями, предоставив клиентам сравнительно простой...
Подробнее...
Чистка Windows
Рано или поздно практически каждый пользователь Windows замечает, как установленная когда-то «с нуля» система начинает неуклонно сдавать позиции, теряя остатки молодецкого задора: загружается с...
Подробнее...
Serv-U: Установка FTP-сервера
Хочу установить на своей машине в локальной сети FTP-сервер, но не выбрал программу. Какую именно вы посоветуете и каким образом ее нужно настроить?Выбор программы Спрос рождает предложение,...
Подробнее...
Обучение компьютерным...
Сегодня новые компьютерные технологии появляются так стремительно, что надо быть хорошим специалистом, чтобы уследить за рождением всех новшеств. Каждый человек хочет считать себя образованным,...
Подробнее...
Ваш сайт
Словом юзабилити обозначается удобство использования какой-либо вещи и ее полезность. Корень слова лежит в английском языке, в котором он обозначает полезность, комфорт. 
Подробнее...