Смекни!
smekni.com

Программа психологического диагностирования на выявление типа темперамента (стр. 3 из 5)

Базовым языком программирования в Delphi служит язык Object Pascal — объектно–ориентированный Паскаль. Продуктивным ядрышком, из которого буйно разрослось ветвистое дерево Delphi, был старый и добрый (20 лет — это уже история!) язык программирования Turbo Pascal. Принципиальное различие систем программирования Delphi и Turbo Pascal (Turbo — торговая марка разработчика системы фирмы Borland International, Inc. (США)) состоит в использовании экранного режима монитора: Turbo Pascal ориентирован на текстовый режим операционной системы DOS, a Delphi, как и Windows, — на графический. Тем не менее программы, написанные на языке Turbo Pascal и не использующие графические средства, после небольшой настройки могут исполняться в среде Delphi. Изобразительные возможности Delphi позволяют увидеть на экране монитора, как в буквальном смысле "оживают" те или иные конструкции языка, а это немаловажно для его быстрого и эффективного усвоения (поистине: "лучше один раз увидеть, чем сто раз услышать").

Delphi — мощная современная система программирования, имеющая многочисленные приложения везде, где сегодня применяются компьютеры — от инженерных и научных расчетов до автоматизации управленческой деятельности. Прежде всего — это инструмент, инструмент довольно тонкий и универсальный, способный на многое в руках опытного мастера. Сегодня разнообразие приложений Delphi таково, что изучить все возможности этой системы, даже в рамках школьного факультатива, не представляется возможным. В этом смысле Delphi можно сравнить с горой, путь к вершине которой далек и долог. Но разве созерцание прекрасных цветов и порхающих диковинных бабочек на склонах этой горы не столь же увлекательное занятие, как и обозрение с недоступной пока вершины убегающего вдаль горизонта? Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль начиная с версии 5.5 добавил в Паскаль объектно-ориентированные свойства, а Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, и воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Дельфи от С++ является отсутствие возможности располагать объекты в стеке (объекты, унаследованные из Турбо Паскаля, располагаться в стеке могут) — все объекты попадают в динамически выделяемую область (кучу).

Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 — 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++Builder).

Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.

Версия 1 была предназначена для разработки под 16-ти разрядную платформу Win16;

Версии со второй компилируют программы под 32-х разрядную платформу Win32;

Вместе с 6-й версией Delphi вышла совместимая с ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ под операционную систему Linux;

Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET);

Последующие версии (обозначаемые годами выхода, а не порядковыми номерами, как это было ранее) могут создавать как приложения Win32, так и байт-код для платформы .NET;

Delphi for .NET — среда разработки Delphi, а так же язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.

Первая версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET. В настоящее время, в Delphi 2006, можно писать приложения для .NET используя стандартную библиотеку классов .NET, VCL для .NET. Среда также позволяет писать .NET-приложения на C# и Win32-приложения на C++. Delphi 2006 содержит функции для написания обычных приложений с использованием билиотек VCL и CLX. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.

Файлы, составляющие приложение Delphi:

DPR — файл проекта. Содержит он основной код программы, ссылки на все окна (формы) проекта и относящиеся к ним модули. В нем также содержится код инициализации. Имеет одноименное название с проектом.

PAS — pascal файл. Он содержит текст, который вы видите в окне редактора кода так называемого модуля программы.

DFM — delphi form. Представляет собой файл с полными данными о проектировщике формы. Позиция, размер, расположенные компоненты и пр. Форма приложения является неотъемлемой частью модуля PAS и имеет то же название.

DCU — двоичный файл модуля. Имеет одноименное название с модулем.

RES — ресурсный файл. Содержит в себе иконки, значки указателя мыши, картинки, звуки.

DOF, DSK — содержат настройки проекта.

CFG — содержит настройки конфигурации проекта.

EXE — откомпилированная программа. Сохраняется автоматически при запуске проекта на выполнение. Обновляется в момент компиляции. Имеет одноименное название проекта. Полностью самостоятельное приложение.

По ходу работы в среде Delphi могут автоматически создаваться файлы, имеющие расширение, начинающееся символом ~ (тильда). Это резервные копии файлов, которые создаются при их повторном сохранении.

Рассмотрим, как выглядят тексты модулей. Ниже приведен текст модуля с пустой формой. Подробные комментарии в этом тексте поясняют, куда и что в этот код можно добавлять.

unit Unitl;

interface // Открытый интерфейс модуля

(Список подключаемых модулей)

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

{Объявление класса формы}

type

TForml = class(TForm)

private // Закрытый раздел класса

{ Private declarations }

{Сюда могут помещаться объявления переменных, функций и процедур, включаемых в класс формы, но не доступных для других модулей}

public // Открытый раздел класса

{ Public declarations }

{Сюда могут помещаться объявления переменных, функций и процедур, включаемых в класс формы и доступных для других модулей}

end;

var

Forml: TForml;

{Сюда могут помещаться объявления типов, констант, переменных, функций и процедур, к которым будет доступ из других модулей, но которые не включаются в класс формы}

implementation // Реализация модуля

($R * .DFM}

{Сюда могут помещаться предложения uses, объявления типов, констант, переменных, к которым не будет доступа из других модулей. Тут же должны быть реализации всех объявленных в разделе interface функций и процедур, а также могут быть реализации любых дополнительных, не объявленных ранее функций и процедур.}

end.

Модуль начинается с ключевого слова unit, после которого пишется имя модуля. Оно совпадает с именем файла, в которым вы сохранили свой модуль. По умолчанию для первого модуля имя равно Unitl, для второго Unit2 — и т.д.

Текст модуля состоит из двух основных разделов: interface — открытый интерфейс модуля, и implementation — реализация модуля. Все, что помещается непосредственно в раздел interface (типы, переменные, константы, функции, процедуры), может быть использовано другими модулями программы. Все, что помещается в раздел implementation — внутреннее дело модуля. Внешние модули не могут видеть типы, переменные, константы, функции и процедуры, размещенные в разделе реализации.

В разделе interface после предложения uses, содержащего список подключаемых модулей, вы можете видеть заготовку объявления класса вашей формы, подготовленную Delphi. Имя класса вашей формы — TForml. Класс содержит два раздела: private — закрытый раздел класса, и public — открытый раздел класса. То, что вы или Delphi объявите в разделе public, будет доступно для других классов и модулей. То, что объявлено в разделе private, доступно только в пределах данного модуля.

После завершения объявления класса формы можно увидеть строки

var

Forml: TForml;

Это объявляется переменная Forml класса TForml, т.е. объявляется форма как объекта класса TForml.

Затем следует пока пустой раздел реализации implementation, в котором содержится только директива компилятора.

В модуль можно ввести еще два раздела, кроме interface и implementation: разделы initialization и finalization


2 Специальная часть

2.1 Постановка задачи

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

Обработка результатов производится следующим образом: имеется типизированный файл, с общим количеством утверждений, равным 56(см. Приложение А) и вариантами ответов "Да" или "Нет". Эти утверждения делятся на группы: от 1 до 14 – первая группа, описывающая холерика, от 15 до 28 - вторая группа, описывающая сангвиника, от 29 до 42 – третья группа, описывающая флегматика, от 43 до 56 - четвертая группа, описывающая меланхолика. Пользователю предоставляется возможность отвечать на них либо "Да", либо "Нет". Далее подсчитывается количество положительных ("Да") и количество отрицательных ("Нет") ответов в каждой группе утверждений. В той группе, где количество положительных ("Да") ответов больше всего, тот тип темперамента и преобладает, т.е. является ярко выраженным, он выводится в отдельное окно (см. рис.1).

В случае, если количество положительных ответов в группах утверждений окажется равным, то при прохождении первой группы утверждений, второй и последующих, выведется тот темперамент, который соответствует первой группе утверждений.


2.2 Схема алгоритма основной программы