Свойство наследования классами-потомками всех свойств родительского класса и обогащения их новыми возможностями является одним из фундаментальных принципов объектно-ориентированного программирования.
От наследника может быть порожден новый наследник, который внесет свою лепту в виде дополнительных программных заготовок и т. д.
В результате создается ветвящаяся иерархия классов, на вершине которой располагается самый простой класс TObject (все остальные классы в Delphi порождены от этого единственного прародителя), а на самой нижней ступени иерархии - мощные классы-потомки, которым по плечу решение любых проблем.
Объект fmExampie формально относится к элементам программы, которые называются переменными. Вот почему перед объявлением объекта стоит зарезервированное слово var (от англ. variables - переменные).
Текст модуля доступен как Delphi, так и программисту. Delphi автоматически вставляет в текст модуля описание любого добавленного к форме компонента, а также создает заготовки для обработчиков событии; программист может добавлять свои методы в ранее объявлённые классыйнаполвять обработчики событий конкретным содержанием, вставлять собственные переменные, типы, константы и т. д.
Совместное с Delphi владение текстом
модуля будет вполне успешным, если программист будет соблюдать простое правило
, он не должен удалять или изменять строки которые вставлены не им, а Delphi.
.5 Элементы программы
Элементы программы - это минимальные неделимые ее части, еще несущие в себе определенную значимость для компилятора. К элементам относятся [34]:
зарезервированные слова;
идентификаторы;
типы;
константы;
переменные;
метки;
подпрограммы;
комментарии.
Зарезервированные слова это английские слова, указывающие компилятору на необходимость выполнения определенных действий. Зарезервированные слова не могут использоваться в программе ни для каких иных целей кроме тех, для которых они предназначены.
Например, зарезервированное слово begin означает для компилятора начало составного оператора.
Программист не может создать в программе переменную с именем begin, константу begin, метку begin или вообще какой бы то ни было другой элемент программы с именем begin.
Идентификаторы - это слова, которыми программист обозначает любой другой элемент программы, кроме зарезервированного слова, идентификатора или комментария.
Идентификаторы в Object Pascal могут состоять из латинских букв, арабских цифр и знака подчеркивания. Никакие другие символы или специальные знаки не могут входить в идентификатор.
Из этого простого правила следует, что идентификаторы не могут состоять из нескольких слов (нельзя использовать пробел) или включать в себя символы кириллицы (русского алфавита).
Типы - это специальные конструкции языка, которые рассматриваются компилятором как образцы для создания других элементов программы, таких как переменные, константы и функции. Любой тип определяет две важные для компилятора вещи: объем памяти, выделяемый для размещения элемента (константы, переменной или результата, возвращаемого функцией), и набор допустимых действий, которые программист может совершать над элементами данного типа.
Любой определяемый программистом идентификатор должен быть описан в разделе описаний (перед началом исполняемых операторов). Это означает, что компилятор должен знать тот тип (образец), по которому создается определяемый идентификатором элемент.
Константы определяют области памяти, которые не могут изменять своего значения в ходе работы программы. Как и любые другие элементы программы, константы могут иметь свои собственные имена. Объявлению имен констант должно предшествовать зарезервированное слово const (от англ. constants - константы). Например, можно определить константы= 1024;= Kbyte*Kbyte;= 1024*Mbyte;
чтобы вместо длинных чисел
(1024*1024) и 1073741824
(1024*1024*1024)
писать, соответственно, Mbyte и Gbyte.
Тип константы определяется способом ее записи и легко распознается компилятором в тексте программы, поэтому программист может не использовать именованные константы (т. е. не объявлять их в программе явно) [33].
Переменные связаны с изменяемыми областями памяти, т. е. с такими ее участками, содержимое которых будет меняться в ходе работы программы. В отличие от констант переменные всегда объявляются в программе. Для этого после идентификатора переменной ставится двоеточие и имя типа, по образу которого должна строиться переменная. Разделу объявления переменной (переменных) должно предшествовать слово var. Например:: Integer;: Byte;
Здесь идентификатор inValue объявляется как переменная типа integer, а идентификатор byValue - как переменная типа Byte. Стандартный (т. е. заранее определенный в Object Pascal) тип integer определяет четырехбайтный участок памяти, содержимое которого рассматривается как целое число в диапазоне от -2 147 483 648 до+2 147 483 647, а стандартный тип Byte - участок памяти длиной 1 байт, в котором размещается беззнаковое целое число в диапазоне от 0 до 2554
Метки - это имена операторов программы. Метки используются очень редко и только для того, чтобы программист смог указать компилятору, какой оператор программы должен выполнятся следующим. Метки, как и переменные, всегда объявляются в программе. Разделу объявлений меток предшествует зарезервированное сло-во label (метка). Например:
label;Loop;
// Программист требует передать управление
// оператору, помеченному меткой Loop. .....
// Эти операторы будут пропущены ор:
// Оператору, идущему за этой меткой,
.....
// будет передано управление ;
Подпрограммы - это специальным образом оформленные фрагменты программы. Замечательной особенностью подпрограмм является их значительная независимость от остального текста программы. Говорят, что свойства подпрограммы локализуются в ее теле. Это означает, что, если программист что-либо изменит в подпрограмме, ему, как правило, не понадобится в связи с этим изменять что-либо вне подпрограммы.
Таким образом, подпрограммы являются средством структурирования программ, т. е. расчленения программ на ряд во многом независимых фрагментов. Структурирование неизбежно для крупных программных проектов, поэтому подпрограммы используются в Delphi-программах очень часто.
В Object Pascal есть два сорта подпрограмм: процедуры и функции. Функция отличается от процедуры только тем, что ее идентификатор можно наряду с константами и переменными использовать в выражениях, т. к. функция имеет выходной результат определенного типа. Если, например, определена функцияMyFunction: Integer;
и переменная var: Integer;
то возможен такой оператор присваивания:
Х := 2*MyFunction-l;
Имя процедуры нельзя использовать в выражении, т. к. процедура не имеет связанного с нею результата:
Procedure
MyProcedure;:= 2*MyProcedure-l; // Ошибка!
4.6 Сфера применения программы
Данная программа предназначена для изучения основ работы с программной средой Borland Developer Studio и может использоваться в средних и средне-специальных учебных заведениях как средство в содействии дополнительному обучению программированию.
Используя эту программу, обучающийся
получает легкий доступ к описанию интерфейса программного средства Borland
Developer Studio и перечислению его основных функциональных возможностей. Есть
возможность пополнения учебного материала, что делает этот электронный учебник
более гибким в использовании.
.7 Системные требования и установка
программы
Минимальные системные требования:
Тактовая частота процессора не ниже 1Ггц;
Операционная система Windows ’98 или выше;
Свободного пространства на жестком диске не менее 70МБ;
Объем оперативной памяти не менее 64 МБ;
Установка программы на компьютер
осуществляется путем запуска файла установки с именем ОИК setup.exe.
4.8 Логическая структура программы
Программа состоит из четырёх форм:
"Главное окно";
"Учебник" - текущая страница учебника;
"Тест"
"Архив"
При использовании документов в HTML формате для их отображения используется встроенный компонент Delphi WebBrowser.
if ListBox1.ItemIndex = 1 then.Navigate(GetCurrentDir + '\book\знакомство\1.htm');
Специальный компонент DirectoryListBox1 помогает определить текущий каталог для того, чтобы программа работала из любого каталога, куда ее запишут.
ЭУМК по своей сути разделен на три не зависимые модуля: непосредственно сам электронный учебник, программа итогового тестирования и архив результатов тестирования.
Листинг. Форма 1. Главное окноunMain;
interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, OleCtrls, SHDocVw, ExtCtrls, StdCtrls, Menus, jpeg, SkinManager;= class(TForm): TImage;: TImage;: TImage;: TImage;: TImage;: TsSkinManager;N1Click(Sender: TObject);Image2Click(Sender: TObject);Image3Click(Sender: TObject);Image5Click(Sender: TObject);Image6Click(Sender: TObject);Image4Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;unBook, unEditDB, unTest, TCV, unArh;
{$R *.dfm}TForm1.N1Click(Sender: TObject);.CreateForm(TForm2, Form2);.ShowModal;;TForm1.Image2Click(Sender: TObject);.CreateForm(TForm2, Form2);.ShowModal;;TForm1.Image3Click(Sender: TObject);l1, l2;::= InputBox(«Введите ФИО»);FIO = «Введите ФИО» Then GoTo l1;
l2::= InputBox(«Введите номер группы»);
if NGr = «Номер группы» Then GoTo l2;.CreateForm(TForm4, Form4);.ShowModal;;TForm1.Image6Click(Sender: TObject);.Terminate;;TForm1.Image4Click(Sender: TObject);.CreateForm(TForm5, Form5);.ShowModal;;.
Форма 2. Учебник сконструирован таким образом, что слева в оглавлении находится список тем для выбора, а справа отображается содержание темы.
Эта процедура работает следующим образом:
procedure TForm2.Image1Click(Sender: TObject);ListBox1.ItemIndex = 0 then.Navigate(GetCurrentDir + '\book\ved.htm');ListBox1.ItemIndex = 1 then.Navigate(GetCurrentDir + '\book\знакомство\1.htm');ListBox1.ItemIndex = 7 then.Navigate(GetCurrentDir + '\book\визуальное\1.htm');ListBox1.ItemIndex = 12 then.Navigate(GetCurrentDir + '\book\компоненты\1.htm');
end;
Форма 3. Основные процедуры, реализующие функцию тестирования. Процедура - регистрация учащегося на тестирования.
procedure TForm4.FormCreate(Sender: TObject);l1;i: Integer;: TextFile;i := 1 to 60 do(FindComponent('Memo' + IntToStr(i))).Lines.LoadFromFile(GetCurrentDir + '\db\' + IntToStr(i) + '.vo');;:(Arhiv, GetCurrentDir + '\db\arhFIO.ar');(Arhiv);i := 1 to 25 Do Readln(Arhiv, FileFIO[i]);(Arhiv);(Arhiv, GetCurrentDir + '\db\arhNGr.ar');(Arhiv);i := 1 to 25 Do Readln(Arhiv, FileNGr[i]);(Arhiv);(Arhiv, GetCurrentDir + '\db\arhOce.ar');(Arhiv);i := 1 to 25 Do Readln(Arhiv, FileOce[i]);(Arhiv);String(FileFIO[25]) <> '---' Then(Arhiv, GetCurrentDir + '\db\arhFIO.ar');(Arhiv);i := 1 to 25 do(Arhiv, NullRec);;(Arhiv);;String(FileNGr[25]) <> '---' Then(Arhiv, GetCurrentDir + '\db\arhNGr.ar');(Arhiv);i := 1 to 25 do
Writeln (Arhiv, NullRec);;(Arhiv);;String(FileOce[25]) <> '---' Then(Arhiv, GetCurrentDir + '\db\arhOce.ar');(Arhiv);i := 1 to 25 do(Arhiv, NullRec);;(Arhiv);;i := 1 to 25 doString(FileFIO[i]) = '---' Then:= i;;;;;
Процедура выставления оценокBall = 0 then Oc := 2;(Ball > 0) or (Ball = 4) Then Oc := 3;(Ball = 5) or ((Ball > 5) and (Ball < 10)) Then Oc := 4;(Ball = 10) or ((Ball > 10) and (Ball < 16)) then Oc := 5;
Тестовая база хранится в папке DB. Каждый тест разбивается по отдельным текстовым файлам, т.е. вопрос и варианты ответов сохраняются в отдельных файлах. Коды правильных ответов находятся в файле po.
Форма 4. Архив.TForm5.FormCreate(Sender: TObject);
var i : Integer;: textFile;.Cells[0, 0] := 'ФИО';.Cells[1, 0] := 'Номер группа';.Cells[2, 0] := 'Оценка';(Arhiv, GetCurrentDir + '\db\arhFIO.ar');(Arhiv);i := 1 to 25 Do(Arhiv, FileFIO[i]);;(Arhiv);(Arhiv, GetCurrentDir + '\db\arhNGr.ar');(Arhiv);i := 1 to 25 Do
Readln(Arhiv, FileNGr[i]);;(Arhiv);(Arhiv, GetCurrentDir + '\db\arhOce.ar');(Arhiv);i := 1 to 25 Do(Arhiv, FileOce[i]);;(Arhiv);i := 1 to 25 Do.Cells[0, i] := string(FileFIO[i]);.Cells[1, i] := string(FileNGr[i]);.Cells[2, i] := string(FileOce[i]);
end;;
5. Руководство пользователя
.1 Описание установки программного
продукта
Программа сконфигурирована таким образом, что она должна работать в любом каталоге. Т.е. для установки программы достаточно перенести рабочий каталог с лазерного диска в любое место вашего компьютера или запустить ее с лазерного диска.
Еще одно ограничение, каталог,
откуда запущена программа, должен быть открыт для записи (для сохранения
результатов работы). В противном случае при запуске программы обучение всегда
будет начинаться с первой страницы, а результаты текущей работы по окончании
будут сброшены.
.2 Описание интерфейса программы
При открытии электронного учебника
появляется главная форма (рисунок 7), на которой расположены основные кнопки:
Учебник - раскрывает содержание учебника, Тестирование - начинается
тестирование по предмету, Архив результатов - сохраняет результаты
тестирования, Выход - выход из программы.
Рисунок 7. Главная форма электронного учебника.
При нажатии кнопки Учебник
раскрывается окно (рисунок 8), в левой части окна расположено Оглавление. Для
изучения необходимо выбрать название темы и нажать кнопку Перейти.
Рисунок 8. Окно Учебник.
Появится следующее окно (рисунок 9).
Рисунок 9. Содержание темы учебника.
При нажатии кнопки Тестирование
появляется следующая форма регистрации обучаемого (рисунок 10):
Рисунок 10. Регистрация на
тестирование: Ввод ФИО
Сначала необходимо ввести ФИО, затем
в следующем окне (рисунок 11)- номер группы.
Рисунок 11. Ввод номера группы
В следующем окне появляется окно
Тест (рисунок 12). В верхней части окна расположен вопрос, а в нижней варианты
ответов
Рисунок 12. Окно Тест.
Для выбора варианта ответа в окне Ваш
вариант ответа выбирается Первый, Второй или Третий. Затем нажимается кнопка
Следующий вопрос. При ответе на последний вопрос появляется кнопка Проверить,
при её нажатии появляется оценка за тестирование (рисунок 13).
Рисунок 13. Оценка за тестирование.
Если выбрать в окне главной формы
кнопку Архив результатов, появится окно (рисунок 14), содержащее список всех
тестирующихся по данной программе.
Рисунок 14. Архив.
6. Техника безопасности при работе
за компьютером
Охрана труда - система законодательных актов, социально-экономических, организационных, технических, гигиенических и лечебно-профилактических мероприятий и средств, обеспечивающих безопасность, сохранение здоровья и работоспособности человека в процессе труда. Научно-технический прогресс внес серьезные изменения в условия производственной деятельности работников умственного труда. Их труд стал более интенсивным, напряженным, требующим значительных затрат умственной, эмоциональной и физической энергии. Это потребовало комплексного решения проблем эргономики, гигиены и организации труда, регламентации режимов труда и отдыха [35].
Охрана здоровья трудящихся,
обеспечение безопасности условий труда, ликвидация профессиональных заболеваний
и производственного травматизма составляет одну из главных забот человеческого
общества. Обращается внимание на необходимость широкого применения
прогрессивных форм научной организации труда, сведения к минимуму ручного,
малоквалифицированного труда, создания обстановки, исключающей профессиональные
заболевания и производственный травматизм.
.1 Типовая инструкция по охране
труда
. Общие требования безопасности[35].
В кабинетах вычислительной техники установлено сложное, повышенной опасности аппаратура - компьютеры, принтеры и другие технические средства, требующие бережного и осторожного обращения. При включении дисплея работает электронно-лучевая трубка, которая находится под высоким напряжением.