ВВЕДЕНИЕ
Компьютеры, изначально созданные для узкоспециализированных военных задач, были восприняты как платформы с поистине безграничными возможностями. В то далёкое время математики занимались исключительно гипотетическими машинами, которые имели очень отдалённое отношение к действительности. Воплощенные в металле, инженерные идеи обогнали на десятилетия вперёд даже знаменитых математиков. Предложенная дискретная архитектура была совершенна и существует до сих пор, приведя к развитию соответствующей дискретной математики, большей частью описывающей то, что инженеры давно воплотили в жизнь. Так изначально практические компьютерные технологии оставили позади математические модели.
Чудовищное отставание нашей страны, в то время мы входили в СССР, в области вычислительной техники, жёсткая дисциплина, постоянные репрессии привели к тому, что субкультура программистов, возникла в стенах лабораторий США и уже оттуда распространилась на весь мир. Как следствие, эта сфера большей частью американизирована, особенно у нас, на фоне массового использования американской, а не "родной" программно-аппаратной базы.
Современное информационное изобилие приводит к атрофированию навыка самостоятельного получения необходимых знаний. Парадоксально на первый взгляд, но недостаток литературы развивает и тренирует мозги куда лучше, чем её избыток.
Существует два типа программистов, кардинально отличающихся друг от друга. Первый тип это как раз "творцы", которые создают новое, им интересно решать сложнейшие задачи, порой тратя на это огромное количество времени. Второй тип – коммерческие программисты. Коммерческий программист, какими бы не были его наклонности, имеет очень мало шансов стать гением своего дела, даже являясь профессионалом. Работая по заказу, ограниченному жесткими временными рамками, он просто не в состоянии углубляться в дебри кода или ценой трех бессонных ночей сокращать уже до предела оптимизированную программу на один байт.
В 60-х годах темпы развития вычислительной техники существенно отличались от сегодняшних и на разработку ПО отводилось достаточно много времени, так что познавательные эксперименты не были недостижимой роскошью. Оптимизация тогда была не только показателем "крутости" программиста, но и необходимостью. При существовавших ограничениях памяти, скорости и возможностей периферии на той технике могли программировать лишь гении.
Язык определяет стиль мышления, поэтому мышление программиста постепенно преображается под воздействием используемой архитектуры в образ мышления её создателя.
До конца шестидесятых годов программистов можно было сопоставить с античными мастерами. Программирование ассоциировалось с высшим профессионализмом и вытекающей из него культурой поведения. Картина до конца шестидесятых годов была следующая — в условиях полной замкнутости и отсутствия какой-либо связи между компьютерными центрами страны каждый программист должен был получить необходимые ему знания САМ. Это был долгий и тернистый путь. Информатика тогда лишь зарождалась, и даже эффективные алгоритмы и приемы ещё не были канонизированы и широко известны. Как бы ни был очевиден древовидный поиск или линейная сортировка, но до них нужно было додуматься самому и, — увы, — далеко не один раз. Как следствие, все алгоритмы десятки раз открывались заново, прежде чем информация о них успевала дойти до адресатов "естественным" путём — через книги и университеты.
Конец 60-х – начало 70-х годов - годы непрерывного совершенствования технологий программирования и аппаратного обеспечения. Росла вычислительная мощь ЭВМ, ёмкость периферийных накопителей и быстродействие центрального процессора.
Си (язык программирования) стал первым кирпичом в фундаменте быстрых средств проектирования, на котором сегодня построены такие чисто визуальные системы как Visual Basic и Delphi.
На данный момент за окном век информационных технологий, революций в вычислительной технике и программном обеспечении. Компьютер быстро вошёл в жизнь практически каждого человека. Сейчас компьютер это не роскошь, а необходимая вещь почти в каждом учреждении и доме, для некоторых это даже средство существования. Сегодня можно творить и создавать новое, хотя это и кажется очень сложным, ведь всё уже изобретено, но стоит только попробовать и тогда понимаешь, что вся суть в процессе творчества, создания новых программ.
Понятно, что профессионалами не рождаются, ими становятся.
1. Общая часть
1.1 Цель и анализ использования разработки
Потребности, интересы и идеалы, вообще установки и тенденции личности определяют, что хочет человек; его способности – что он может. Но остается еще вопрос о том, что же он есть – каковы основные, стержневые, наиболее существенные свойства человека, которые определяют его общий облик и его поведение. Это вопрос о характере. Тесно связанный с направленностью личности, характер человека вместе с тем имеет своей предпосылкой его темперамент. Темперамент и характер отличны и вместе с тем тесно связаны друг с другом. Их научное изучение шло не совпадающими, но неоднократно скрещивающимися путями. Когда говорят о темпераменте, то имеют в виду многие психические различия между людьми - различия по глубине, интенсивности, устойчивости эмоций, эмоциональной впечатлительности, темпу, энергичности действий и другие динамические, индивидуально-устойчивые особенности психической жизни, поведения и деятельности. Тем не менее, темперамент и сегодня остается во многом спорной и нерешенной проблемой. Однако при всем многообразии подходов к проблеме, ученые и практики признают, что темперамент - биологический фундамент, природная основа, на котором формируется личность как социальное существо. То есть темперамент отражает динамические аспекты поведения, преимущественно врожденного характера, поэтому свойства темперамента наиболее устойчивы и постоянны по сравнению с другими психическими особенностями человека, и одинаково проявляясь в разнообразной деятельности независимо от ее содержания, целей, мотивов, остаются постоянными и в зрелом возрасте и во взаимосвязи характеризуют тип темперамента. Нельзя найти двух людей, одинаковых по своим психическим свойствам. Каждый человек отличается от других многими особенностями, единство которых образует его индивидуальность.
В психологических различиях между людьми существенное место занимают так называемые динамические особенности психики. Как известно, люди заметно отличаются друг от друга по силе отклика на окружающие воздействия, по проявляемой ими энергии, по темпу, быстроте психических процессов. Такого рода особенности существенным образом характеризуют психическую активность индивида, его моторику, эмоциональные проявления. Так, для одного человека более характерна пассивность, для другого - неустанная инициативность, одному присуща легкость пробуждения чувств, а другому - хладнокровие, одного отличают резкие жесты, выразительная мимика, другого - сдержанность движений, очень малая подвижность лица. Темпераментом называют совокупность свойств, характеризующих динамические особенности протекания психических процессов и поведения человека, их силу, скорость, возникновение, прекращение и изменение. Свойства темперамента к числу собственно личностных качеств человека можно отнести только условно, они скорее составляют индивидные его особенности, так как в основном биологически обусловлены и являются врожденными. Тем не менее, темперамент оказывает существенное влияние на формирование характера и поведения человека, иногда определяет его поступки, его индивидуальность, поэтому полностью отделить темперамент от личности нельзя. Он выступает как бы связующим звеном между организмом, личностью и познавательными процессами.
И.Кант разделял темпераменты человека (проявления темперамента можно заметить и у высших животных) на два типа:
темпераменты чувства и темпераменты деятельности.
В целом же можно установить только четыре простых темперамента:
- Сангвинический
- Меланхолический
- Холерический
- Флегматический
Из этих четырех типов темперамента к темпераментам чувства относятся сангвинический и его противоположность — меланхолический. Первый характеризуется тем, что при нем ощущения возникают в нервной системе и в сознании человека довольно быстро и внешне проявляются сильно, но внутренне бывают недостаточно глубокими и продолжительными. При меланхолическом темпераменте внешние проявления ощущений бывают менее яркими, но зато внутренне достаточно глубокими и длительными.
Сангвинический темперамент деятельности характеризует человека весьма веселого нрава. Он представляется оптимистом, полным надежд, юмористом, шутником, балагуром. Он быстро воспламеняется, но столь же быстро остывает, теряет интерес к тому, что совсем еще недавно его очень волновало и притягивало к себе. Сангвиник много обещает, но не всегда сдерживает свои обещания. Он легко и с удовольствием вступает в контакты с незнакомыми людьми, является хорошим собеседником, все люди ему друзья. Его отличает доброта, готовность прийти на помощь. Напряженная умственная или физическая работа его быстро утомляет.
Меланхолический темперамент деятельности, по Канту, свойствен человеку противоположного, в основном мрачного настроя. Такой человек обычно живет сложной и напряженной внутренней жизнью, придает большое значение всему, что его касается, обладает повышенной тревожностью и ранимой душой. Такой человек нередко бывает сдержанным и особенно контролирует себя при выдаче обещаний. Он никогда не обещает того, что не в состоянии сделать, весьма страдает от того, что не может выполнить данное обещание, даже в том случае, если его выполнение непосредственно от него самого мало зависит.
Холерический темперамент деятельности характеризует вспыльчивого человека. О таком человеке говорят, что он слишком горяч, несдержан. Вместе с тем такой индивид быстро остывает и успокаивается, если ему уступают, идут навстречу. Его движения порывисты, но непродолжительны.
Флегматический темперамент деятельности относится к хладнокровному человеку. Он выражает собой скорее склонность к бездеятельности, чем к напряженной, активной работе. Такой человек медленно приходит в состояние возбуждения, но зато надолго. Это заменяет ему медлительность вхождения в работу.
Целью данного курсового проекта является создание программы психологического диагностирования на выявление типа темперамента.
1.2 Характеристика используемой ОС
Программа данного курсового проекта разрабатывалась в операционной системе Windows XP, на языке Delphi версии 7.0.История Windows берет свое начало в 1986 году, когда появилась первая версия системы. Она представляла собой набор программ, расширяющих возможности существующих операционных систем для большего удобства в работе. Через несколько лет вышла вторая версия, но особой популярности система Windows не завоевала. Однако в 1990 году вышла новая версия - Windows 3.0, которая стала использоваться на многих персональных компьютерах. Популярность новой версии Windows объяснялась несколькими причинами. Графический интерфейс позволяет работать с объектами вашего компьютера не с помощью команд, а с помощью наглядных и понятных действий над значками, обозначающими эти объекты. Возможность одновременной работы с несколькими программами значительно повысила удобство и эффективность работы. Кроме того, удобство и легкость написания программ для Windows привели к появлению все больше разнообразных программ, работающих под управлением Windows. Наконец, лучше была организована работа с разнообразным компьютерным оборудованием, что также определило популярность системы. Последующие версии Windows были направлены на повышение надежности, а также поддержку средств мультимедиа (версия 3.1) и работу в компьютерных сетях (версия 3.11).
Параллельно с разработкой Windows компания Microsoft в 1988 году начала работу над новой операционной системой, названной Windows NT. Перед новой системой были поставлены задачи существенного повышения надежности и эффективной поддержки сетевой работы. При этом интерфейс системы не должен был отличаться от интерфейса Windows 3.0. Интересно, что самой распространенной версией Windows NT также стала третья версия. В 1992 году появилась версия Windows NT 3.0,а в 1994 году - Windows NT 3.5.
Процесс развития операционных систем не стоит на месте, и в 1995 появилась система Windows 95, ставшая новым этапом в истории Windows. По сравнению с Windows 3.1 значительно изменился интерфейс, выросла скорость работы программ. Одной из новых возможностей Windows 95 была возможность автоматической настройки дополнительного оборудования компьютера для работы без конфликтов друг с другом. Другой важной особенностью системы стала возможность работы с Интернетом без использования дополнительных программ.
Интерфейс Windows 95 стал основным для всего семейства Windows, и в 1996 появляется переработанная версия Windows NT 4.0, имеющая такой же интерфейс, как и Windows 95. Продолжением развития Windows 95 стала операционная система, появившаяся в 1998 году. При сохранившемся интерфейсе внутренняя структура была значительно переработана. Много внимания было уделено работе с Интернетом, а также поддержке современных протоколов передачи информации - стандартов, обеспечивающих обмен информацией между различными устройствами. Кроме того, особенностью Windows 98 является возможность работы с несколькими мониторами.
Следующим этапом в развитии Windows стало появление Windows 2000 и Windows Me (Millennium Edition - редакция тысячелетия). Система Windows 2000 разработана на основе Windows NT и унаследовала от нее высокую надежность и защищенность информации от постороннего вмешательства. Операционная система Windows Me стала наследницей Windows 98, но приобрела многие новые возможности. Прежде всего, это улучшенная работа со средствами мультимедиа, возможность записывать не только аудио, но и видеоинформацию, мощные средства восстановления информации после сбоев и многое другое. Постепенно разница между разными системами Windows стирается, и новая операционная система Windows XP предназначена для замены как Windows 2000, так и Windows Me.
Операционная система Microsoft Windows XP, создана на основе технологии NT и является прямой наследницей системы Windows 2000. Вместе с тем, все лучшие нововведения, включенные в Windows Me, можно обнаружить и в Windows XP. При сохранении высоких показателей надежности, безопасности и быстродействия, система стала более простой в освоении, в ней появилось множество средств, предназначенных для индивидуальных домашних пользователей.
Система поставляется в нескольких вариантах, ориентированных на разные особенности применения. Версия Microsoft Windows XP Home Edition предназначена для индивидуальных пользователей, чаще всего работающих на домашнем компьютере. В этой версии особый упор сделан на работу с рисунками, аудио и видео. Версия Microsoft Windows XP Professional предназначена, как ясно из названия, для профессионалов. Эта версия наиболее часто используется в организациях. Если же дома выполняnm сложные работы по созданию и редактированию изображений, моделированию и конструированию, или любые другие сложные работы, то эта версия подойдет и для домашнего компьютера. Версия Microsoft Windows XP Server предназначена для установки на сервере - мощном компьютере, обеспечивающем работу множества пользователей в компьютерной сети.
В версии Windows XP сильно изменился внешний вид системы. Кнопки, значки, панели теперь выглядят немного иначе. Даже главное меню Windows изменилось. Изменения интерфейса самые значительные после перехода с Windows 3.1 на Windows 95. Особо следует отметить работу программ в режиме совместимости с предыдущими версиями Windows. Можно работать с программой, которая написана для Windows 95, и не работает в Windows 2000. Все версии Windows XP имеют множество нововведений. Поддерживается значительно больше разнообразных устройств. Система позволяет легко и удобно обрабатывать видеофильмы, фотографии, рисунки, музыку и песни. Теперь с помощью Windows XP любой сможет построить домашнюю сеть на основе двух-трех компьютеров, обеспечив совместное использование файлов, папок, принтера, факса и доступа в Интернет.
При работе с Windows XP для записи информации на записываемые и перезаписываемые компакт-диски не потребуется устанавливать дополнительные программы. Записать компакт-диск можно прямо из проводника Windows.
Полезным компонентом системы является редактор видеофильмов. Теперь можно выполнить профессиональный нелинейный монтаж своих любительских фильмов. Существенно легче стало работать с цифровыми фотокамерами и сканерами.Не требуется никакой дополнительной программы, чтобы ввести фотографию в компьютер, незначительно преобразовать ее и распечатать на принтере. Универсальный проигрыватель аудио и видео теперь поддерживает больше форматов и позволяет сменить свой внешний вид. Также можно создавать звуковые файлы в популярном формате МРЗ. Универсальный проигрыватель поддерживает также воспроизведение цифровых видеодисков (DVD-дисков), что позволит насладиться высочайшим качеством изображения и звука при просмотре современных фильмов. Для развлечений в Windows XP включено несколько новых игр, часть из которых позволяют играть в Интернете.
Существенно улучшена и защита системы. Теперь при случайном удалении важных системных файлов, они будут автоматически восстановлены. Имеется возможность восстановления системы к более раннему состоянию, после установки новых программ и оборудования. Улучшенная поддержка технологии Plug & Play позволяет подключить к компьютеру многие современные бытовые приборы.
Дальнейшее развитие получили и средства для работы с Интернетом. Существенно переработана справочная система, улучшена система безопасности. Многочисленные изменения коснулись средств администрирования и управления работой множества пользователей в локальной вычислительной сети.
1.3 Характеристика языка программирования
Для разработки программы по теме данного курсового проекта была выбрана система визуального проектирования – Delphi.
Дельфы — это древнегреческий город на берегу Коринфского залива. В отличие от памятника древнего зодчества, о котором сейчас напоминают только развалины, Delphi — одна из популярных современных систем для разработки программ. Неплохое название придумали создатели этой системы, правда? Город Дельфы связан с именем бога мудрости и покровителя искусств Аполлона. Согласно мифу, главное святилище Аполлона находилось в Дельфах. Его жрицы–сивиллы изрекали тем, кто к ним обращался, пророчества — оракулы. Руководитель исследовательской группы по разработке системы Delphi Чак Язджевски вспоминает: "Имя Delphi было предложено Дэнни Торпом во время одной мозговой атаки. Мы хотели, чтобы в имени отразились уникальные способности продукта к работе с базами данных, и Delphi как нельзя лучше перекликалось с таким заслуженным именем в этой области, как Oracle, по крайней мере, для тех, кому сочетание "дельфийский оракул" о чем-то говорит…".
Система Delphi воплощает в себе лучшие достижения современной теории программирования. Иногда говорят, что Delphi — это интегрированная среда для разработки программ. Действительно, она объединяет в себе множество полезных инструментов и готовых компонентов, из которых, как дом из кирпичиков, собираются проекты — пользовательские программы. Delphi — визуальная среда разработки программ. Это означает, что внешний вид каждой программы (ее "лицо", или интерфейс) создается простым перемещением составных элементов из некоторого набора. Такое проектирование по силам даже тем, кто умеет лишь собирать впечатляющие сооружения из деталей детского конструктора. Конечно, чтобы такая конструкция "ожила" и заработала, необходимо продумать и кое-что еще — написать программу ее поведения.
Базовым языком программирования в 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
Первая версия полноценной среды разработки 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 Схема алгоритма основной программы
2.3 Схема алгоритма программы по обработке результатов
2.4 Текст программы с комментариями
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Panel1: TPanel;
Label1: TLabel;
Button4: TButton;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
tip=record
vop:string[100];
ot1:string[20];
ot2:string[20];
end;
var
f1:file of tip;
a:tip;
Form1: TForm1;
j1,i1,k1,t,g,m,min,min1,en:integer;
ms1:array [1..100] of integer;
s:integer;
m1: array [1..4] of integer;
implementation
uses Unit2;
{$R *.dfm}
procedure sozdanie(s:string); {процедура по созданию файла с вопросами}
begin
if k1<>5 then
begin
g:=1;
t:=0;
i1:=0;
end;
assign(f1,'input.dat');
reset(f1);
j1:=filesize(f1);
if not eof(f1) then
begin
if i1<j1 then
begin
seek(f1,i1);
read(f1,a);
form1.memo1.Lines.Text:=a.vop;
form1.RadioButton1.Caption:=a.ot1;
form1.RadioButton2.Caption:=a.ot2;
i1:=i1+1;
end;
if form1.radiobutton1.Checked then ms1[g]:=ms1[g]+1;
{обработка результатов}
if (t=14) or (t=28) or (t=42)then g:=g+1;
end;
if eof(f1) then en:=5;
k1:=5;
close(f1);
t:=t+1;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
form2.visible:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin if fileexists('input.dat')=true then begin
RadioGroup1.Visible:=true;
RadioButton1.Visible:=true;
RadioButton2.Visible:=true;
sozdanie('input.dat');
if en=5 then
panel1.Visible:=true;
begin
min:=ms1[1];
min1:=1;
form1.Label1.Caption:=InttoStr(min);
for m:=2 to 4 do
if ms1[m]>min then
begin
min1:=m;
min:=ms1[g];
end;
case min1 of
1:form1.Label1.Caption:='Холерик';
2:form1.Label1.Caption:='Сангвиник';
3:form1.Label1.Caption:='Флегматик';
4:form1.Label1.Caption:='Меланхолик';
end;
end;
end
else showmessage('создайте файл') ;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
case min1 of
1:showmessage('Вы холерик'+#13+'Отличается повышенной возбудимостью, действия прерывисты. Ему свойственны резкость и стремительность движений, сила, импульсивность, яркая выраженность эмоциональных переживаний. Темперамент проявляет в инициативнсти, энергичности, принципиальности');
2:showmessage('Вы сангвиник'+#13+'Быстро приспосабливается к новым условиям, быстро сходится с людьми, общителен. Чувства легко возникают и сменяются, эмоциональные переживания, как правило неглубоки. Мимика богатая, подвижная, выразительная. Несколько непоседлив, нуждается в новых впечатлениях');
3:showmessage('Вы флегматик'+#13+'Характеризуется сравнительно низким уровнем активности поведения. Обладает медлительностью и спокойствием в действиях, мимике и речи, ровностью ,постоянством, глубиной чувств. Настойчивый и упорный, он редко выходит из себя. Экономит силы, попусту их не тратит');
4:showmessage('Вы меланхолик'+#13+'Реакция часто не соответствует силе раздражителя, присутствует глубина и устойчивость чувств при слабом их выражении. Ему трудно долго на чем-нибудь сосредоточиться. Ему свойственна сдержанность и речи и движений, застенчивость, робость, нерешительность');
end;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls;
type
TForm2 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Panel1: TPanel;
Button4: TButton;
UpDown1: TUpDown;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
tip=record
vop:string[100];
ot1:string[20];
ot2:string[20];
end;
var
f2:file of tip;
a2:tip;
del:Boolean;
Form2: TForm2;
j2:integer;
implementation
uses Unit1;
{$R *.dfm}
procedure sozdanie(s:string);
begin
assign(f2,'input.dat');
rewrite(f2);
close(f2);
end;
procedure sozdanie2(s:string);
begin
assign(f2,'input.dat');
reset(f2);
j2:=filesize(f2);
seek(f2,j2);
a2.vop:=form2.Memo1.Lines.Text;
a2.ot1:='Да';
a2.ot2:='Нет';
write(f2,a2);
close(f2);
unit1.k1:=1;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
if fileexists('input.dat')=false
then
begin
sozdanie('input.dat');
showmessage('file create');
end
else showmessage('file exist');
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
if fileexists('input.dat')=true
then
begin
del:=deletefile('input.dat');
showmessage('file delete');
end
else showmessage('file not found');
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
if fileexists('input.dat')=true
then
begin
sozdanie2('input.dat');
showmessage('Данные успешно добавлены');
end
else showmessage('file not found');
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
close;
end;
end.
2.4 Описание процесса отладки
При разработке программы данного курсового проекта большее время занял процесс отладки. Он свелся к установлению причины возникновения ошибок и их устранению.
Большинство ошибок возникает на этапе программирования. Ошибки такого класса бывают синтаксическими, семантическими и логическими.
1) Синтаксические ошибки. Они появляются на этапе компиляции и возникают в связи с нарушением синтаксических правил языка Паскаль(пропущенные знаки пунктуации, ссылки на неописанные переменные, присваивание переменой значений неверного типа и т.д.).
Если компилятор встречает в тексте программы оператор или команду, которую он не может интерпретировать, он выводит сообщение об ошибке.
2) Семантические ошибки. К их возникновению приводит нарушение семантических правил написания программ на языке Турбо Паскаль (например, попытка программы выполнить деление на ноль).
3) Логические ошибки. Это ошибки, связанные с неправильным применением тех или иных алгоритмических конструкций. Такие ошибки не обнаруживаются на этапе компиляции и не приводят к аварийному завершению программы. На их наличие указывает неправильная работа программы и выдача ею некорректных результатов.
Для работы со встроенным отладчиком Delphi 4 его интегрированная среда разработки (IDE) предлагает целую серию установок, большинство из которых лучше не трогать, а оставить, как есть (по умолчанию). Однако если изменять установки, то выберать команду Tools/Options и в появившемся диалоговом окне Environment Options щелкнуть на вкладке Preferences.
Интегрированная среда Delphi предоставляет пользователю несколько команд пошаговой отладки доступных в меню Run. Run. Выбор этой команды запускает приложение на выполнение в обычном режиме. Можно использовать ее как для запуска приложения, так и для продолжения его работы после какого-либо прерывания выполнения (например, по точке останова). Если включена опция Break on Exception, то использовать команду для продолжения работы после получения сообщения об исключительной ситуации. Step Over. Когда точка выполнения находится на строке содержащей вызов процедуры или функции, использовать эту команду для выполнения строки, включая вызовы в один шаг, без прохождения отдельных строк вызываемых функций. Точка выполнения перемещается при выполнении на следующую строку. Trace Into. В отличие от предыдущей команды, эта опция отработает пошаговую отладку вызываемых процедур и функций. Другими словами, если, например, в строке вызывается некая процедура, то при выполнении этой команды точка выполнения перейдет на первую строку процедуры. Однако если в строке нет таких вызовов, значит, последние две команды идентичны. Внимательность нужна при пошаговой трассировке обработчика события OnPaint. Поскольку при пошаговой отладке окно редактора размещается поверх других окон, требуется перерисовка окна приложения, для чего вызывается обработчик события OnPaint. Можно попасть в замкнутый круг, точнее в бесконечный цикл вызовов одного и того же обработчика. Тем не менее, стоит лишь проследить, чтобы окна приложения и редактора не перекрывались, и проблема разрешится сама собой.
Trace to Next Source Line. Иногда один код вызывает другой код косвенно, например, при вызове функции, которая запускает обработчик события, или при вызове функции Windows API, которая, в свою очередь, запускает функцию косвенного вызова. Поскольку такие вызовы косвенные, отладчик не видит вызова и не отслеживает пошагового выполнения таких вызовов. Однако использование описываемой команды приводит к отслеживанию таких вызовов и останову отладчика на первой строке вызываемой таким образом функции или процедуры. Run to Cursor. Зачастую вовсе не хочется тратить время в поисках ошибки, местоположение которой с какой-то точностью известно, пошагово добираться до нужного места через сотни, а то и тысячи строк кода. В таком случае достаточно поместить курсор на нужную строку программы в окне редактирования и использовать команду Run to Cursor. Эти действия эквивалентны временному помещению точки останова в необходимой вам строки программы, и после выполнения предшествующего строке кода работа программы приостанавливается. Если пытаться выполнить программу до позиции курсора, который находится в строке, не содержащей отладочной информации, то появится сообщение об ошибке.
2.5 Результат работы программы
Результат работы программы удовлетворяет всем требованиям, поставленным перед разработчиком данной программы. Итогом работы программы является выведенный на экран тип темперамента и подробное описание к нему.
(Рис.1)
2.6 Инструкция по выполнению программы
Программа данного курсового проекта воспроизводит на экран дисплея результаты теста.
Программа запускается двойным щелчком левой кнопки мыши по файлу Progect.exe,
От пользователя требуется: отвечать на вопросы да или нет.
На экран дисплея выведется тип темперамента. При нажатии кнопки "Подробнее" идет развернутое описание темперемента.
Для выхода из программы нажать кнопку "Выход".
ЗАКЛЮЧЕНИЕ
На современном этапе развития образовательной системы немалая роль отводится компьютерной технике, которая призвана сделать процесс обучения более интересным и занимательным.
Программный продукт, созданный в результате работы над данным курсовым проектом является перспективным, интересным.
Разработка данного курсового проекта оказалась достаточно не простой. Но благодаря этой работе, я закрепила полученные теоретические и практические знания, научилась самостоятельно анализировать поставленную задачу и разбивать ее на подзадачи, закрепила навыки работы в Delphi.
Работа над данным курсовым проектом помогла разработчику почувствовать уверенность в своих силах как будущему специалисту.
СПИСОК ЛИТЕРАТУРЫ
1. Ресурсы сайта ww.wikipedia.ru
2. "Основы алгоритмизации и программирования", О. Л. Голицына, И. И. Попов, Москва, 2002 год, изд-во "Форум – Инфа - М"
3. "Windows XP", 2е издание, самоучитель, В. Холмогоров, изд-во "Питер", 2003 год
4. Учебник "Психология" под ред. А.А.Крылова - М: ПРОСПЕКТ, 2000
5. Мерлин В.С. Очерк теории темперамента. - М,1964.
6. "Программирование в Delphi 7" Архангельский А. Я.– М.: ООО "Бином-Пресс", 2004.
ПРИЛОЖЕНИЕ А
Вопросы к тесту
1. Неусидчивы, суетливы.
2. Невыдержанны, вспыльчивы.
3. Нетерпеливы.
4. Решительны и инициативны.
5. Упрямы.
6. Находчивы в споре.
7. Работаете рывками.
8. Склонны к риску.
9. Незлопамятны и необидчивы.
10. Обладаете быстрой, страстной речью.
11. Неуравновешенны, склонны к горячности.
12. Нетерпимы к недостаткам.
13. Неустанно стремитесь к новому.
14. Склонны к резким сменам настроения.
15. Веселы, жизнерадостны.
16. Энергичны, деловиты.
17. Часто не доводите дело до конца.
18. Склонны переоценивать себя.
19. Неустойчивы в интересах и склонностях.
20. Легко приспосабливаетесь к различным обстоятельствам.
21. Быстро включаетесь в новую работу и быстро переключаетесь.
22. Вам не нравится однообразие, буднично-кропотливая работа.
23. Вы общительны и отзывчивы.
24. Обладаете громкой, быстрой, отчётливой речью.
25. Сохраняете самообладание в неожиданных, сложных ситуациях.
26. Быстро засыпаете и просыпаетесь.
27. Часто несобранны, проявляете поспешность в решениях.
28. Склонны часто отвлекаться.
29. Спокойны и хладнокровны.
30. Последовательны и обстоятельны в делах.
31. Осторожны и рассудительны.
32. Умеете ждать.
33. Молчаливы, не любите попусту болтать.
34. Обладаете спокойной речью без резко выраженных эмоций.
35. Не растрачиваете попросту сил.
36. Придерживаетесь распорядка в жизни, системы в работе.
37. Маловосприимчивы к одобрению и порицанию.
38. Медленно включаетесь в новую работу и переключаетесь с одной на другую.
39. Ровны в отношениях со всеми.
40. Любите аккуратность и порядок.
41. С трудом приспосабливаетесь к новой обстановке.
42. Инертны, малоподвижны.
43. Стеснительны, застенчивы.
44. Теряетесь в новой обстановке.
45. Не верите в свои силы.
46. Легко переносите одиночество.
47. Чувствуете подавленность и растерянность при неудачах.
48. Склонны уходить в себя, замыкаться.
49. Быстро утомляетесь.
50. Обладаете слабой тихой речью, иногда снижающейся до шепота.
51. Невольно приспосабливаетесь к характеру собеседника.
52. Впечатлительны до слезливости.
53. Предъявляете высокие требования к себе и окружающим.
54. Склонны к подозрительности.
55. Болезненно чувствительны и легко ранимы.
56. Стремитесь вызвать сочувствие и помощь у окружающих