- •1.Тип данных “класс”. Объекты и классы.
- •Классы и объекты, понятие экземпляра класса, понятие членов класса
- •Виды классов
- •Классы в языке Object Pascal (среда Delphi)
- •2.Методы класса
- •3.Свойства класса и поля. Отличие свойства класса от полей записи.
- •4. Конструктор и деструктор класса.
- •Назначение конструктора
- •Виды конструкторов
- •Конструктор по умолчанию
- •Конструктор копирования
- •Конструктор преобразования
- •Виртуальный конструктор
- •Деструктор в Delphi
- •5.Использование разделов класса public, protected, published.
- •6. Использование наследования при создании класса.
- •Простое наследование
- •Множественное наследование
- •Delphi (Object Pascal)
- •7. Определение инкапсуляции.
- •8. Определение полиморфизма.
- •Примеры
- •В объектно-ориентированных языках
- •9. Динамическое создание объектов на форме с помощью классов.
- •10-13. Классы
- •14-16 StringGrid.
- •17. Процедуры работы с памятью. Приведите примеры.
- •18. Особенности работы процедур GetMem, BlockRead, функция FileSize .
- •19. Особенности работы процедуры new
- •20. Особенности работы процедуры FreeMem.
- •21. Стек. Локальные переменные и стек. Параметры процедуры и стек.
- •22. Списки. Динамическое создание очереди. Приведите примеры.
- •23. Компоненты работы с базами данных Table, Query, dbGrid, DataSource.
- •25. Занесение информации из базы данных в StringGrid.
- •Interface
- •Implementation
- •Implementation
- •26. Иерархические структуры. Деревья.
- •27. Использование компоненты TeeView для построения деревьев.
- •28. Рекурсия. Рекурсивные функции и процедуры. Рекурсия в программировании Функции
- •29. Выдача сообщений и отладка
- •Место отладки в цикле разработки программы
- •Инструменты
- •Инструменты, снижающие потребность в отладке
- •Оператор try...OnException..._try
- •31. Типы файлов. Операторы последовательного метода доступа.
- •32. Особенности обработки текстовых файлов.
- •33. Особенности работы с файлами с помощью прямого метода доступа.(!хз!)
- •34. Организуется диалогового поиска файлов. Компонента OpenDialog.
Implementation
{$R *.dfm}
procedure TForm1.ButtonlClick(Sender: TObject);
var
a : array[1..5] of real; // массив
suram: real; // сумма элементов
sr: real; // среднее арифметическое
i: integer; // индекс
begin
// ввод массива
// считаем, что если ячейка пустая, то соответствующий
// ей элемент массива равен нулю
for i:= 1 to 5 do
if Length(StringGridl.Cells[i-l,0])<>0
then a[i] := StrToFloat(StringGridl.Cells[i-1, 0])else a[i] := 0;
// обработка массива
summ := 0;
for i :=1 to 5 do
summ := summ + a[i]; sr := summ / 5;
// вывод результата
Label2.Caption :=
'Сумма элементов: ' + FloatToStr(summ)
+ #13+ 'Среднее арифметическое: ' + FloatToStr(sr); end;
'/ Функция обеспечивает ввод в ячейку только допустимых символов
procedure TForm1.StringGridlKeyPress(Sender: TObject; var Key: Char);
begin
case Key of
#8,'0'..'9' : ; // цифры и <Backspace>
#13: // клавиша <Enter>
if StringGridl.Col < StringGridl.ColCount - 1
then StringGridl.Col := StringGridl.Col + 1; '.',',':
// разделитель целой и дробной частей числа
begin
if Key <> DecimalSeparator then
Key := DecimalSeparator; // заменим разделитель
// на допустимый
if Pos(StringGridl.Cells[StringGridl.Col,0],
DecimalSeparator) <> 0
then Key := Chr(O); // запрет ввода второго
// разделителя end;
' -' : // минус можно ввести только первым символом,
// т. е. когда ячейка пустая
if Length(StringGrid1.Cells[StringGrid1.Col, 0]) <>0then
Key := Chr(0) ;
else // остальные символы запрещены
key := Chr(0);
end;
end;
end.
26. Иерархические структуры. Деревья.
Иерархия — это расположение элементов системы в порядке подчиненности (от высшего к низшему). Системы, элементы которых находятся в отношениях «является разновидностью», «входит в состав» и других отношениях подчиненности, называются иерархическими системами (системами с иерархической структурой).
Например, иерархическую структуру имеет школа, потому что в ней установлены следующие отношения подчиненности: директор — заместители директора — учителя — ученики.
Иерархическую структуру имеют системы, элементы которых связаны отношением «входит в состав».
На рис. 2.32 изображен граф иерархической системы, представляющий состав прикладного программного обеспечения (ПО) компьютера.
Рис. 2.32
Граф иерархической системы называется деревом. Между любыми двумя вершинами этого графа существует единственный путь. Дерево не содержит циклов и петель.
Главный (основной) элемент иерархической системы называется корнем дерева. Каждая вершина дерева (кроме корня) имеет только одного предка— обозначенный ею объект входит в один класс верхнего уровня. Любая вершина дерева может порождать несколько потомков — вершин, соответствующих классам нижнего уровня. Такой принцип связи называется «один ко многим». Вершины, не имеющие порожденных вершин, называются листьями.
Рис. 2.34
По иерархическому принципу организована система хранения файлов во внешней памяти.
Вы знаете, что по определенному признаку (принадлежность, назначение, содержимое, время создания и т. д.) файлы целесообразно объединять в папки. Папки, в свою очередь, могут вкладываться в другие папки и т. д.(рис. 2.35). Главная (корневая) вершина этой иерархии соответствует определенному устройству внешней памяти:
Съемный диск (Е:)
Для того чтобы найти файл в иерархической файловой структуре, можно указать путь к файлу. В путь к файлу входят записываемые через разделитель «\» логическое имя диска и последовательность имен вложенных друг в друга папок, в последней из которых находится нужный файл.
Рис. 2.35
Например, пути к файлам на рис. 2.35 можно записать так:
С:\Проекты\История\
С:\Проекты\Информатика\
С:\Рисунки\
Путь к файлу вместе с именем файла называют полным именем файла.
Примеры полных имен файлов:
С:\Проекты\История\Эпоха Возрождения.doc
С:\Проекгы\Информатика\Интернет.dос
С:\Проекты\Информатика\Компьютерные вирусы.dос
С:\Рисунки\Закат.jpg
С:\Рисунки\ Зимa.jpg
Операционная система позволяет получить на экране компьютера изображение файловой системы в виде дерева (рис. 2.36).
Рис. 2.36