Разработка обучающей программы по русскому языку

 

Введение


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

Русский язык относится к восточной группе славянских языков, принадлежащих индоевропейской семье языков. Он является официальным языком России, Беларуси, Казахстана и Кыргызстана, а также региональным в некоторых регионах Украины. В том числе является восьмым языком в мире по численности владеющих им как родным и пятым языком в мире по общей численности говорящих. Это национальный язык русского народа, основной язык международного общения в центральной Евразии, в Восточной Европе, в странах бывшего Советского Союза, один из рабочих языков ООН. Он является наиболее распространённым славянским языком и самым распространённым языком в Европе - географически и по числу носителей языка как родного. Занимает четвёртое место среди самых переводимых языков, а также - седьмое место среди языков, на которые переводится большинство книг. В 2013 году русский язык вышел на второе место среди самых популярных языков Интернета.

Русский язык является одним из шести языков Организации Объединенных Наций (ООН), напомнил Президент РК. «На каком языке я выступал бы с трибуны ООН, если бы не русский язык? Нельзя терять богатство, которое ты имеешь. А чем больше человек языков знает, тем культурнее он становится», - добавил Н. Назарбаев.

Он подчеркнул, что «русский язык - это великий язык, язык великих писателей».

Изучение любых лингвистических наук - это долгий и упорный труд.

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

Многие желающие изучать лингвистические науки по той или иной причине не могут посещать учебные заведения. Для этого существуют дистанционное обучение. Но многие люди занимаются самообучением, прибегая к различным книгам, статьям и обучающим программам. Такая программа как, например «Русский для всех. 1000 заданий» достойный пример приложений для изучения русского языка. Курс ориентирован на формирование базового уровня владения русским языком в соответствии с концепцией владения иностранным языком, разработанной комиссией по языкам Совета Европы.

Была поставлена цель, создать такое программное обеспечение, которое бы частично или полностью удовлетворяло требованиям по изучению такой лингвистической науки, как - русский язык. Разработать такую программу, которая бы являлась не просто теоритическим пособием, а полноценным приложением, содержащим в себе набор упражнений и заданий к ним. В результате такая программа помогла бы изучить русский язык, а также закрепить уже имеющиеся знания. Дабы сделать изучение языковой науки более интересным, а также глобально разнообразить выполняемые пользователем упражнения.


1. Исследовательская часть


.1 Описание и анализ предметной области


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

учебный материал излагается из определенной области знаний;

учебный материал освещается на современном уровне достижений науки, техники и технологии;

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

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

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

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

электронный учебник обеспечивает разнообразие проверочных заданий, тестов. Электронный учебник позволяет все задания и тесты давать в интерактивном и обучающем режиме;

при создании электронного учебника и распространении выпадают стадии типографской работы. Электронные учебники являются по своей структуре открытыми системами. Их можно дополнять, корректировать, модифицировать, в процессе эксплуатации;

доступность электронного учебника выше, чем у печатных. При спросе на электронный учебник легко можно увеличить его тираж, можно переслать по сети.

Необходимо отметить, что в любом учебнике (электронном или печатном) выделяются две основные части: содержательная и процессуальная. В электронном учебнике к ним добавляются еще две части: управляющая и диагностическая. Содержательная часть учебника включает следующие компоненты: познавательный, демонстрационный; процессуальная часть включает компоненты: моделирующий, контрольный, закрепляющий. Познавательный компонент направлен на передачу знаний обучаемому. Это, как правило, текстовая информация. Демонстрационный компонент поддерживает и раскрывает содержательный; моделирующий компонент позволяет применять знания к решению практических задач, моделировать изучаемые явления, процессы. Контрольной-закрепляющий компонент определяет степень усвоения учащимися изучаемого материала. Управляющая часть представляет собой программную оболочку электронного учебника, способную обеспечить взаимосвязь между его частями и компонентами. Диагностическая часть хранить статическую информацию о работе с конкретными программами.

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

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

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

уметь использовать теоретические знания в профессиональной и социальной деятельности;

знать общие законы, владеть культурой мышления;

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

иметь целостное представление о технологических процессах в производствах, а также явлениях происходящих в природе;

уметь приобретать новые знания, используя современные информационные технологии;

быть психологически готовым к изменению вида и характера своей профессиональной деятельности.

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

автоматизация таких видов учебной деятельности как поиск, сбор, хранение, анализ, обработка и передача соответствующей информации;

автоматизация обработки результатов лабораторного эксперимента;

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

оперативное взаимодействие между участниками учебного процесса;

имитация и моделирование работы сложных объектов, протекания различных явлений и технологических процессов в реальном, ускоренном или замедленном масштабах времени;

подготовка к будущей профессиональной деятельности с помощью тренинга в предметной виртуальной среде;

автоматизация контроля результатов учебной деятельности.

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

В целом, для системы среднего специального и профессионального образования наиболее перспективна разработка таких электронных учебников, которые бы обеспечивали:

доступное изложение учебного материала повышенной сложности изучаемых объектов и явлений;

отражение большого объема теоретических понятий, используемых в

специальных дисциплинах, высокой степени их логической взаимосвязи;

сравнительно большой объем разнообразных контролируемых тренировочных действий.

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

Электронный учебник, применяемый на лабораторных занятиях, должен содержать средства автоматизации подготовки обучаемого к работе, допуска к работе, выполнения эксперимента, обработки экспериментальных данных, оформления результатов лабораторной работы, защиты работы. Такие электронные учебники должны содержать моделирующие компоненты, создающие виртуальные лаборатории, позволяющие изучать различные явления или процессы в ускоренном или замедленном масштабе времени. Электронный учебник, применяемый на лабораторных работах, должен также содержать встроенные средства автоматизации контроля знаний, умений и навыков обучаемых.

Электронный учебник, применяемый на практических занятиях, должен предоставлять обучаемому сведения о теме, цели и порядке проведения занятия; контролировать знания каждого обучаемого; выдавать обучаемому информацию о правильности ответа; предъявлять необходимый теоретический материал или методику решения задач; оценивать знания обучаемых; осуществлять обратную связь в режиме «педагог - Электронный учебник - обучаемый». Разрабатываемый в рамках данного дипломного проекта обучающая программа по русскому языку ориентирована на использование по практическим занятиям и позволяет облегчить начинающим долгий и упорный труд по изучению языка.

Была, поставлена задача, сделать такой проект, который бы охватывал частично или полностью все аспекты изучения такой лингвистической науки как - русский язык.


.2 Обзор используемых элементов языка и среды программирования


На данный момент, значительная часть программного обеспечения реализуется методами объектно-ориентированного программирования. Сейчас эта область программирования очень востребована. Поэтому освоение этого стиля программирования является очень актуальным.

Для изучения данного стиля программирования был выбран язык Delphi 7, с помощью которого изучена методика объектно-ориентированного проектирования программ по формализации и решению задачи, технологическими приемами разработки объектно-ориентированных программ. Причина выбора данного языка программирования также заключается в его графических средствах.- это средства разработки в программировании, которые имеют место быть в рамках приложений Microsoft Windows. Delphi представляет собой актуальную и легкую в использовании программу, которая необходима для генерации автономных программ графического интерфейса или 32-битовых консольных приложений -- программ, которые существуют вне рамок GUI, вместо этого, в соответствии с так называемым «DOS box».
Delphi является первым языком программирования, который обеспечивает уничтожение барьера между приложениями комплексного и упрощенного характера в использовании и низкоуровневыми битовыми программными средствами.
Строковые переменные. В Delphi строки обеспечивает тип string, который представляет строку с максимальной длиной около 2х символов. Символы строки кодируются в коде ANSI. Так как строки фактически являются массивами символов, то для обращения к отдельному символу строки можно указать название строковой переменной и номер (позицию) этого символа в квадратных скобках, например, strName [i].

Массивы в сравниваемых языках схожи. Элементами массива могут

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

Типы данных «множества» аналогичны перечислимым и интервальным типам данных, однако переменные множественных типов могут иметь несколько значений из описанного перечисления в каждый момент времени работы программы, причем каждое значение не может присутствовать в множестве дважды в одно и то же время. Описание переменной множественного типа на Delphi выглядит следующим образом:

<Переменная>: SetOf<Тип>;

Файлом называют способ хранения информации на физическом устройстве. Работа с файлами в Delphi состоит из трех шагов.

Файл открывается. Это означает, что программа "захватывает" заданный по имени файл, сообщает Windows, что далее она будет с ним работать. Данный шаг нужен, чтобы не возникало конфликтов, когда несколько программ одновременно хотят записывать информацию в один и тот же файл. Правда, считывать данные из файла, очевидно, допустимо одновременно множеством программ, поэтому в операции открытия файла обычно уточняется, что файл открывается "на чтение" (считывание информации, которая не меняется) либо "на запись" (данные в файле модифицируются).

Операция открытия файла возвращает некий идентификатор (как правило, целое число), которое идентифицирует в программе в дальнейшем нужный открытый файл. Этот идентификатор запоминается в переменной; обычно такая переменная называется файловой переменной.

Ведется работа с файлом. Из него данные либо считываются, либо в него записываются. Файл закрывается.

В Delphi описание классов разделено на две части - интерфейсную («заголовочную») и описательную. В интерфейсной части располагается заголовок класса, в котором указываются название класса, идентифицирующее его в программе, а также описания свойств и заголовков методов.

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

Туре

<Имя класса> = class {Заголовок описания}

<Имя свойства 1>: <Тип свойства 1>; {Описание свойства 1}

<Имя свойства М>: <Тип свойства N>; {Описание свойства N}

<Заголовок метода 1>; {Описание метода 1}

<Заголовок метода М>; {Описание метода М};

Описательная часть класса находится в разделе описания локальных подпрограмм. Методы, заявленные в интерфейсной части реализуются по обычным правилам описания процедур и функций. Для связи подпрограмм с классом, методами которого они являются, название класса указывается перед именем самой подпрограммы:<Имя класса>.<Имя метода>(<Список параметров>);

или для методов-функций:<Имя класса>.<Имя метода>(<Список параметров>):

<Тип значения>;

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

Атрибуты видимости.доступ открыт самому классу (т.е. функциям-членам данного класса);- доступ открыт классам, производным от данного;доступ открыт всем, кто видит определение данного класса;- Поля, свойства и методы, описанные в данном разделе, называются опубликованными. Их область видимости эквивалентна области видимости общедоступных описаний. Отличие состоит в том, что информация о них, за исключением ряда типов, например real, на этапе проектирования программы помещается в инспектор объектов. Описания, расположенные сразу после заголовка класса, при включенной директиве компилятора {$M+}, по умолчанию принимаются опубликованными.

Указатель (пойнтер, англ. pointer) - переменная, диапазон значений которой состоит из адресов ячеек памяти и специального значения - нулевого адреса. Значение нулевого адреса не является реальным адресом и используется только для обозначения того, что указатель в данный момент не может использоваться для обращения ни к какой ячейке памяти.

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

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

В Delphi существует 2 вида указателей: типизированные и не типизированные. Не типизированный указатель представляет собой переменную, в которой хранится адрес некоторой области памяти некоторого размера, и предназначен для хранения произвольных данных. Типизированные ссылки указывают на место в памяти, где хранятся данные определенного типа.

Переменные - не типизированные указатели описываются с указанием типа Pointer, а выделение и освобождение памяти под них осуществляется, соответственно, командами GetMem и FreeMem . Использование не типизированных указателей ограничено стандартными функциями, принимающими такие переменные в качестве параметров, а также низкоуровневым программированием.

Для описания типизированной ссылки не предусмотрен какой-либо специальный тип данных, в отличие от не типизированных указателей, имеющих тип Pointer. Поскольку ссылочная переменная такого рода всегда указывает на данные конкретного типа, то ее описание и строится на основе этого типа. Для указания на ссылочную природу переменных используется оператор «^», и описание выглядит следующим образом:<Переменная>:^<Название типа>;

Или в разделе описания типов данных:

Туре <Новый тип данных> =^<Тип данных>;

После описания переменной-указателя под нее выделяется память только для хранения адреса, а под сами данные, на которые переменная указывает, память не выделяется. Для инициализации переменной используется процедура New, отличием которой от аналогичной процедуры GetMem, используемой для работы с не типизированными указателями, является отсутствие второго параметра, определяющего размер выделяемой памяти. Это связано с тем, что типизированная ссылка указывает на данные известного типа, соответственно, размер этих данных также известен компилятору.

Среда языка программирования Delphi. Пользовательский интерфейс среды Delphi.

Для запуска среды Delphi выполните следующую команду:

Пуск ? Все программы ? BorlandDelphi 7 ? Delphi 7

После загрузки интерфейс Delphi 7 имеет вид, показанный на рисунке 1.1, и имеет 5 основных окон:

главное окно (Delphi 7 - Project 1);

окно редактора свойств объектов (ObjectInspector);

окно формы (Form 1);

окно редактора кода (Unit1.pas);

окно дерева объектов (Object Tree View).

Окно редактора кода почти полностью закрыто окном стартовой формы. Для переключения между окном формы и окном редактора кода нажмите клавишу F12.


Рисунок 1.1 - Окно редактора


Главное окно находится в верхней части экрана. В нём расположены:

строка заголовка;

строка меню;

панель инструментов;

панель палитры компонентов.

Вид главного окна представлен на рисунке 1.2.


Рисунок 1.2 - Вид главного окна

Inspector - окно редактора свойств объектов или инспектор объектов, как видно на рисунке 1.3.

Любой размещаемый на форме компонент характеризуется некоторым набором параметров: положением, размером, цветом и т. д. Часть этих параметров, например, положение и размеры компонента, можно изменять, манипулируя с компонентом в окне формы. Для изменения других параметров

предназначено окно редактора свойств объектов (или, что-то же самое, Инспектора объектов). Это окно содержит две вкладки - Properties (Свойства) и Events (События). Вкладка properties служит для установки нужных свойств компонента, вкладка Events позволяет определить реакцию компонента на то или иное событие. Совокупность cвойств отображает видимую сторону компонента: положение относительно левого верхнего угла рабочей области формы, его размеры и цвет, шрифт и текст надписи на нем и т. п.; совокупность событий - его поведенческую сторону: будет ли компонент реагировать на щелчок мыши или на нажатие клавиш, как он будет вести себя в момент появления на экране или в момент изменения размеров окна и т. п.

Рисунок 1.3 - Окно редактора свойств

Tree View - окно дерева объектов (рисунок 1.4) предназначено для наглядного отображения связей между отдельными компонентами, размещенными на активной форме или в активном модуле данных. Щелчок по любому компоненту в этом окне активизирует соответствующий компонент в окне формы и отображает свойства этого компонента в окне Инспектора объектов.


Рисунок 1.4 - Окно дерева объектов


Окно кода программы представлено на рисунке 1.5.

Окно редактора кода, можно увидеть, отодвинув в сторону окно формы либо, как уже говорилось выше, нажать клавишу F12. В него следует набирать текст программы. В начале работы над новым проектом это окно редактора кода содержит сформированный Delphi шаблон программы.


Рисунок 1.5 - Окно кода программы


Окно формы представляет собой проект Windows-окна будущей программы. Вначале это окно содержит стандартные для Windows интерфейсные элементы - кнопки вызова системного меню, максимизации, минимизации и закрытия окна, строку заголовка и очерчивающую рамку. Вся рабочая область окна заполнена точками координатной сетки, служащей для упорядочения размещаемых на форме компонентов.

Свойства формы определяют ее внешний вид: размер, положение на экране, текст заголовка, вид рамки.

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

Компоненты и палитра компонентовсодержит множество предопределенных типов компонентов, из которых пользователь может строить свою прикладную программу. Палитра компонентов расположена справа в полосе инструментальных панелей интегрированной среды разработки Delphi.

Палитра компонентов - это каталог, состоящий из визуальных и не визуальных компонентов. Компонент - это структурная единица Delphi. Основу ООП в Delphi составляет набор компонентов, который позволяет Delphi с помощью компонентов использовать множество возможностей, присущих Windows.

Окно формы - это окно Windows. Всё рабочее пространство окна - это рабочая область, размеченная сеткой для удобства расположения на ней компонентов из Палитры компонентов. Сама форма также является компонентом. Новая форма, которая создаётся при загрузке Delphi или при создании нового проекта, является главной формой приложения.

Палитра компонентов расположена в правой части главного окна и имеет вид многостраничного блокнота, где на каждой странице размещён набор пиктограмм её компонентов. Активизировать группу компонентов требуемой страницы надо щелчком мыши на её закладке.

Для добавления какого-либо компонента в Окно формы надо выбрать его пиктограмму на панели компонентов, щёлкнуть на нём левой кнопкой мыши, а затем возможны два варианта действий:

если надо точно позиционировать компонент, надо подвести курсор мыши в нужное место Окна формы и щёлкнуть левой кнопкой мыши один раз; левый верхний угол компонента совпадёт при этом с положением конца стрелки курсора мыши;

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

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

Чтобы перенести компонент на форму, надо открыть соответствующую страницу библиотеки и указать курсором мыши необходимый компонент. При этом кнопка-указатель, размещенная в левой части палитры компонентов, приобретет вид не нажатой кнопки. Это значит, что программист находится в состоянии, когда собирается поместить компонент на форму. Чтобы поместить выбранный компонент на форму надо сделать щелчок мышью в нужном месте формы.

Есть и другой способ поместить компонент на форму - достаточно сделать двойной щелчок на пиктограмме компонента, и он автоматически разместится в центре формы. Если компонент был выбран, но его не следует размещать на форме, то достаточно нажать кнопку указателя. Это прервет процесс размещения компонента, и программа вернется в нормальный режим, в котором можно выбрать другой компонент или выполнять какую-то команду.

Имена компонентов, соответствующих той или иной пиктограмме, можно узнать из всплывающей подсказки, появляющейся, если задержать над этой пиктограммой курсор мыши. Если выбрать в палитре компонент и нажать клавишу F1, то отобразится справка по типу данного компонента.

Имена на ярлычках выглядят, например, так:, Button и т.д. Однако в Delphi все имена классов в действительности начинаются с символа «Т», например: TMainMenu, TButton.

Палитра имеет ряд страниц, на которых скомпонованы пиктограммы всех компонентов, предопределенных в Delphi.

Некоторые страницы из палитры компонентов:

Таблица 1.1 - Палитры компонентов

SystemСистемная, содержащая такие компоненты, как таймеры, плееры и ряд другихBDEКомпоненты доступа к данным баз данныхDataAccessКомпоненты связи с даннымиDataControlsКомпоненты отображения данных баз данныхInternetКомпоненты для приложений, работающих с ИнтернетRave ReportsКомпоненты для быстрой подготовки отчётов с данными баз данныхWin3232-битные компоненты в стиле Windows 95/98 и NTНаименование страницыНазначение компонентов страницыStandardСтандартная, содержащая наиболее часто используемые компонентыAdditionalДополнительная.

Все компоненты системы Delphi можно разделить на:

визуальные, т.е. те, которые будут представлены на форме во время выполнения приложения в том же виде, что и при разработке приложения (например, кнопки, метки и пр.);

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

Кнопки являются элементами управления и используются, как правило, в окнах диалога. Наиболее часто используемые кнопки - Button (стандартная кнопка) и BitBtn (графическая кнопка).

Кнопку можно поместить на форму из палитры компонентов. Многие кнопки имеют одинаковые свойства.

Текст на поверхности кнопки определяется свойством Caption. Если в составе надписи есть символ амперсанта «&», то он не отображается, а следующий за ним символ будет подчёркнутым. Причём, нажатие комбинации клавиш Alt+<подчеркнутый символ> вызывает «нажатие» кнопки.

Компонент Button расположен на странице Standard.

Таблица 1.2 -Основные свойства компонента Button

СвойствоНазначениеCancelВозможность кнопки реагировать на нажатие клавиши EscCaptionТекст на поверхности кнопкиConstraintsОграничения допустимых изменений размеров компонентаEnabledДоступность компонента (Boolean)FontШрифт для представления текстаHeightВысота компонентаHintТекст оперативной подсказкиLeftКоордината X - левого верхнего угла на контейнереTopКоордината Y - левого верхнего угла компонента на контейнереСвойствоНазначениеNameИмя компонентаPopupMenuИмя всплывающего меню для компонентаShowHintПоказывать ли оперативную подсказку (Boolean)VisibleВидимость компонента (Boolean)WidthШирина компонента

Возможна реакция кнопки на события:

отмыши: OnClick, OnMouseDown, OnMouseMove, OnMouseUp;

отклавиатуры: Enter, Esc, KeyDown, KeyPress, KeyUp двойной щелчок на кнопке не предусмотрен;

отперетаскиваниякомпонента: OnDragDrop, OnDragOver, OnEndDrag.

Компонент BitBtn расположен на странице Additional.

Основные свойства компонента BitBtn такие же, как и у компонента Button. BitBtn отличается от Button тем, что на поверхности такой кнопки можно разместить вместе с текстом изображение.

Изображение на этой кнопке задается свойством Glyph. При нажатии кнопки с многоточием в строке свойства Glyph в Инспекторе Объектов вызывается диалоговое окно PictureEditor. Чтобы загрузить картинку, нужно нажать кнопку Load, тогда откроется диалоговое окно для открытия файла рисунка, и можно выбрать файл с расширением .bmp.

Файл изображения для кнопки может содержать до четырёх изображений пиктограмм размера 16 ? 16. В большинстве случаев используют 2 пиктограммы. Кнопка BitBtn реагирует на те же события, что и Button.

Метка Label

Компонент Label расположен на странице Standard.

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


Таблица 1.3 - Основные свойства компонента Label

СвойствоНазначениеCaptionТекст надписиColorЦвет фона меткиFontХарактеристики шрифта выводимого текстаWordWrapОтображение текста на метке в две или более строк (Boolean)AutoSizeОпределение размера метки размером шрифта (Boolean)

Компонент Edit расположен на странице Standard.Компонент Edit позволяет в процессе выполнения приложения вводить с клавиатуры и редактировать введённый или отображённый текст. При этом поддерживаются операции: перемещение курсора по строке с использованием клавиш управления курсором, удаление символов с помощью клавиш BackSpace и Delete. Однострочный редактор не реагирует на нажатие клавиш Enter и Esc.

Такие свойства компонента Edit как Constraints, Enabled, Font, , Left, Name, PopupMenu, ShowHint, Visible, Width аналогичны одноимённым свойствам компонента Button.


Таблица 1.4 - Основные свойства, специфичные для компонента Edit

СвойствоНазначениеAutoSizeПри true высота поля автоматически подстраивается под текстBorderStyleСтиль бордюраColorЦвет поляPasswordCharСимволы для вывода в окно вместо текста пароляReadOnlyТекст редактора - только для чтенияTextОтображаемый или вводимый текст

Компонент RadioButton расположен на странице Standard.Радио-кнопки, сгруппированные вместе, служат для демонстрации вариантов выбора, доступных пользователю. В группе радио-кнопок только одна кнопка может быть выбрана. При выборе одной из кнопок все остальные кнопки одной группы становятся невыбранными.

Свойство Checked определяет, выбрана ли данная кнопка пользователем, или нет. Изменение этого свойства с false на true производится при выборе радио-кнопки щелчком на невыбранной радио-кнопке; при этом генерируется событие OnClick.

Радио-кнопка может реагировать на все те же события, что и Button.У радио-кнопки есть свойство Caption, содержащее связанный с нею текст.

При решении поставленной задачи оптимально использовать для представления информационных материалов язык Delphi, который является языком высокого уровня и позволяет быстро и эффективно создавать приложения.Для реализации "такой-то программы" была выбрана система программирования Delphi версии 7 фирмы Enterprise (Borland), так как она предоставляет наиболее широкие возможности для программирования приложений ОС Windows.- это продукт Borland International для быстрого создания приложений. Высокопроизводительный инструмент визуального построения приложений включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в MicrosoftVisualBasic или в других инструментах визуального проектирования. В основе Delphi лежит язык ObjectPascal, который является расширением объектно-ориентированного языка Pascal. В Delphi также входят локальный SQL-сервер, генераторы отчетов, библиотеки визуальных компонентов, и прочее хозяйство, необходимое для того, чтобы чувствовать себя совершенно уверенным при профессиональной разработке информационных систем или просто программ для Windows-среды.

Прежде всего Delphi предназначен для профессиональныхразработчиков, желающих очень быстро разрабатывать приложения в архитектуре клиент-сервер. Delphi производит небольшие по размерам (до 15-30 Кбайт) высокоэффективные исполняемые модули (.exe и .dll), поэтому в Delphi должны быть прежде всего заинтересованы те, кто разрабатывает продукты на продажу. С другой стороны небольшие по размерам и быстро исполняемые модули означают, что требования к клиентским рабочим местам существенно снижаются - это имеет немаловажное значение и для конечных пользователей.

Преимущества Delphi по сравнению с аналогичными программными продуктами:

быстрота разработки приложения;

высокая производительность разработанного приложения;

низкие требования разработанного приложения к ресурсам компьютера;

наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi;

возможность разработки новых компонент и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходных кодах);

удачная проработка иерархии объектов.

Система программирования Delphi рассчитана на программирование различных приложений и предоставляет большое количество компонентов для этого.

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


2. Технологическая часть


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


Общей постановкой задачи данного дипломного проектирования является разработка обучающей программы по русскому языку. Содержание обучающей программы разделено на 30 уроков. В рамках настоящего проекта в задачу разработчика входит программная реализация 12 уроков и их интегрирование с уже выполненными ранее уроками.

Необходимо разработать приложение, в котором пользователь знакомится с теоретическим материалом, рассматривает уже готовые примеры и принимает прямое участие в практической части приложения. Следует реализовать:

повышение эффективности самостоятельной работы студентов Карагандинского политехнического колледжа;

применимость на различных платформах;

свободную навигацию по урокам;

просмотр теоретического материала;

автоматическую проверку заданий и подсчет баллов;

автоматическое формирование отчета по выполнению задания и его экспорт в Microsoft Word для последующей печати.

Кроме того, следует организовать простой и привлекательный интерфейс.


.2 Выбор архитектуры приложения


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

Различают несколько видов архитектур:

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

многопользовательскую архитектуру, которая рассчитана на работу в локальной или глобальной сети.

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

программы;

пакеты программ;

программные комплексы;

программные системы.

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

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

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

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

Приложение «Обучающая программа по русскому языку» - будет являться однопользовательским приложением.

2.3 Выбор и обоснование языка программирования


Платформы .NET и Mono имеют большое будущее, поэтому фирма Borland адаптировала для них язык и среду программирования Delphi. В итоге, разработчики получили уникальную возможность - применять один и тот же язык Delphi для создания профессиональных программ для любых операционных систем и платформ: Windows, Linux, .NET, Mono. Этим язык Delphi выгодно отличается от модного ныне языка C#, который применяется лишь для программирования на платформах .NET и Mono.

Система программирования Delphi версии 7 фирмы Enterprise (Borland) предоставляет наиболее широкие возможности для программирования приложений ОС Windows. Delphi - это продукт Borland International для быстрого создания приложений. Процесс создания интерфейса будущей программы напоминает забаву с игровым компьютерным конструктором. Поэтому RAD-среды еще называют визуальными средами разработки: какими мы видим рабочие и диалоговые окна программы при проектировании, такими они и будут, когда программа заработает.

Высокопроизводительный инструмент визуального построения приложений включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в Microsoft Visual Basic (она не является RAD-системой) или в других инструментах визуального проектирования. В основе Delphi лежит язык Object Pascal, который является расширением объектно-ориентированного языка Pascal. В Delphi также входят локальный SQL-сервер, генераторы отчетов, библиотеки визуальных компонентов, и прочее, необходимое для того, чтобы чувствовать себя совершенно уверенным при профессиональной разработке информационных систем или просто программ для Windows-среды.

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

для конечных пользователей.

Преимущества Delphi по сравнению с аналогичными программными продуктами:

быстрота разработки приложения (RAD);

высокая производительность разработанного приложения;

низкие требования разработанного приложения к ресурсам компьютера;

наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi;

возможность разработки новых компонентов и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходных кодах);

удачная проработка иерархии объектов.

Система программирования Delphi рассчитана на программирование различных приложений и предоставляет большое количество компонентов для этого. К тому же работодателей интересует, прежде всего, скорость и качество создания программ, а эти характеристики может обеспечить только среда визуального проектирования, способная взять на себя значительные объемы рутинной работы по подготовке приложений, а также согласовать деятельность группы постановщиков, кодировщиков, тестеров и технических писателей. Возможности Delphi полностью отвечают подобным требованиям и подходят для создания систем любой сложности.

Основным конкурентом Borland Delphi 7 является её родной брат - RAD-среда Borland C++ Builder, технология работы с которой полностью совпадает с технологией, принятой в Delphi 7. Только в Delphi программный код пишется на языке программирования Паскаль, точнее на его объектно-ориентированной версии ObjectPascal, а не на языке C++.

Для того чтобы обосновать, почему выбор остановился на Borland Delphi 7, достаточно просто перечислить некоторые недостатки языка С++ по сравнению с ObjectPascal:

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

Значительно большая, по сравнению с Object Pascal, сложность языка, даже, несмотря на компактность кода, возникают сложности в его восприятии.

Одна особенность, на мой взгляд, языка С++ очень портит этот язык - он чувствителен к регистру символов, т.е. переменная A и переменная a - это разные переменные.

В Delphi классы (объекты) могут располагаться только в динамической памяти, а в C++ в любой памяти (статическая, стек, динамическая). Это добавляет безопасности программирования в Delphi.


.4 Структурные и функциональные схемы


Структурная схема - системы автоматического регулирования, графическое изображение такой системы в виде совокупности частей, на которые её можно разделить по определённым признакам, и связей между частями с указанием направления передачи воздействий.

Рисунок 2.1 - Структурная схема


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


Рисунок 2.2 - Функциональная схема


2.5 Проектирование интерфейса пользователя


Не маловажную роль играет интерфейс приложения. Привлекательный дизайн - одна из важнейших целей, поставленной до разработки программы. Этот немаловажный нюанс предназначен для того, чтобы пользоваться программой было приятно и после завершения работы с программой, хотелось вновь ее открыть и продолжить изучение. Сделать свою программу настолько простой в использовании, чтобы не приходилось пренебрегать к каким-то дополнительным обучающим материалам - очередная важная цель, при разработке приложения.

Интерфейс пользователя - разновидность интерфейсов <#"372" src="doc_zip8.jpg" />

Рисунок 2.3 - Главное окно программы


Главное окно программы представляет собой диалоговое окно с кнопками, которые при наведении меняют цвет.

Рисунок 2.4 - Теоретический материал


Вкладка «Теоретический материал» представляет собой окно с текстом.


Рисунок 2.5 - Окно уроков


Окно уроков имеют редактируемые поля, поля с выпадающим списком, перетаскиваемые панели и переключатели. Также кнопку «Проверить» и в большинстве упражнений «Слова для справок».

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


.1 Описание разрабатываемых процедур и функций


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

Функции служат, прежде всего, для определения алгоритма вычисления некоторого значения (простого типа <#"justify">ИдентификаторТипОписаниеx0IntegerОтслеживает позицию курсора по оси х.y0IntegerОтслеживает позицию курсора по оси y.xStartIntegerОтслеживает позицию объекта по оси х.yStartIntegerОтслеживает позицию объекта по оси уEnabledMoveBooleanБлокировка/разблокировка перемещения объектаResultХZadXIntegerПодсчитывает количество баллов (где "Х" - цифра, которая меняется в зависимости от урока, уровня, упражнения и задания).iХIntegerПеременная для цикла (где "Х" - цифра, которая меняется в зависимости от урока, уровня, упражнения и задания).bХIntegerПроверочная переменная (где "Х" - цифра, которая меняется в зависимости от урока, уровня, упражнения и задания).

.3 Выбор стратегии тестирования и разработка тестов

обучающая программа приложение тест

Одной из основных целей, поставленных при разработке данного приложения, являлась - совместимость. С самого начала была цель сделать программу, которая безошибочно бы работала на операционной системе windows. Были выбраны версии данной операционной системы - WindowsXP (SP1,2,3) и 7 (x86,x64). Программа была разбита на модули, каждый из которых линейно проходил тестирование на разных версиях операционной системы. Для тестирования использовался как один компьютер с программой для виртуального запуска ОС различных версий, так и совершенно другие компьютеры с разными сериями Windows и совершенно различными аппаратными средствами. Для эмуляции операционных систем использовалось программное обеспечение под названием Oracle VM VirtualBox.

Другой несовместимостью версий WindowsXPи Windows 7 стала не стабильная работа некоторых компонентов входящих в состав AlphaControl. Проблема была решена полной заменой компонентов на идентичные.

Самым непредсказуемым и сложно решаемым фактором в совместимости сыграла системная библиотека MCI.(Media Control Interface) представляет собой системную библиотеку mmsystem.dll, предназначенную для управления устройствами мультимедиа. На разных версиях операционной системы Windows, библиотека MCI вела себя по разному. На некоторых версиях Windows звуковое сопровождение в приложении русский язык в формате EXE вело себя достаточно стабильно, но в некоторых версиях звук отсутствовал, и при любом его воспроизведении была системная ошибка. Решение было достаточно не простым, но эффективным. Изменение подхода к воспроизведению звука решило проблему.

4. Мероприятия по охране труда и техника безопасности


.1 Освещение


Производственное освещение. 90% информации человек получает через органы зрения. Свет оказывает положительное влияние на обмен веществ, сердечно-сосудистую систему, нервно-психическую сферу. Рациональное освещение способствует повышению производительности труда, его безопасности. При недостаточном освещении и плохом его качестве происходит быстрое утомление зрительных анализаторов, повышается травматичность. Слишком высокая яркость вызывает явление слепимости, нарушение функции глаза.

Параметры освещения.

Количественные характеристики:

Световой поток - Ф, лн (люмены). Поток лучистой энергии оцениваемый по зрительному ощущению. Характеризует мощность светового излучения. Основана на зрительном восприятии.

Сила света - J, кд (кандела). Так как световой поток распространяется в пространстве неравномерно, вводится понятие силы света. J - пространственная плотность светового потока; W - телесный угол.

Освещённость - Е, лк (люкс). Поверхностная плотность светового потока. S - освещаемая площадь.

Яркость - L, кд/м2. Поверхностная плотность силы света.

Коэффициент отражения - r. Блёскость - повышенная яркость.

Качественные характеристики.

Фон - поверхность, прилегающая к объекту различения. Объект различения - деталь минимальных размеров, знак, символ, буква, которые человек различает в результате деятельности.

Видимость, спектральный состав света, коэффициент пульсации светового потока.

Системы и виды освещения.

Производственное освещение бывает:

Естественным: обусловлено прямыми солнечными лучами и рассеянным светом небосвода. Меняется в зависимости от географической широты, времени суток, степени облачности, прозрачности атмосферы. По устройству различают: боковое, верхнее, комбинированное.

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

Чаще всего применяют газоразрядные лампы (галогеновые, ртутные…), так как велик срок службы (до 14 000 часов) и большая световая отдача. Недостатки: стробоскопический эффект (пульсация светового потока, которая приводит к утомлению зрения из-за постоянной переадаптации глаза). Лампы накаливания применяются, когда по условиям технологической среды или интерьера применение газоразрядных ламп нецелесообразно. Достоинства: тепловые источники света, простота и надёжность. Недостатки: малый срок службы (1000), световая отдача мала (КПД). Светильник: лампа с арматурой, основное назначение - перераспределение светового потока в требуемом направлении; защита лампы от воздействий внешней среды. По исполнению: открытые, закрытые, пыленепроницаемые, влагозащитные, взрывозащитные. По распределению светового потока: прямого света, отражённого света, рассеянного света.

Нормирование освещения.Естественное и искусственное освещение нормируется СНИП II 4-79 в зависимости от характеристики зрительной работы, наименьшего размера объекта, различия фона контраста объекта с фоном. Для естественного освещения нормируется коэффициент естественного освещения, причём для бокового освещения нормируется минимальное значение КЕО, а для верхнего и комбинированного - среднее значение.

Для каждого помещения строится кривая распределения КЕО и освещенности в характерном разрезе помещения - фронтальная плоскость, проходящая по середине помещения перпендикулярно плоскости остекления. Измерение Е внутреннего осуществляется на уровне 0.8 м от уровня пола. Нормированной характеристикой для искусственного освещения является минимальная освещённость на рабочем месте Еmin (люкс).

Основные требования к производственному освещению.

Освещённость на рабочем месте должна соответствовать характеру зрительной работы; равномерное распределение яркости на рабочей поверхности и отсутствие резких теней; величина освещения постоянна во времени (отсутствие пульсации светового потока); оптимальная направленность светового потока и оптимальный спектральный состав; все элементы осветительных установок должны быть долговечными.

Основы расчёта освещения.

Основной задачей является: определение требуемой площади световых проёмов - при естественном освещении. Определение мощности осветительных установок - для искусственного. Для расчёта искусственного существует 2 методики: метод коэффициентов использования светового потока; точечный метод (рассчитывает освещение определённой точки; местное освещение).

Вопросы для самоконтроля.

Что оказывает влияет На работоспособность человека? существенное влияние оказывает микроклимат рабочего помещения.

Какие Основные гигиенические требования являются для создания в рабочем помещении оптимального микроклимата и достаточная устойчивость внутренней температуры. Разница температуры в горизонтальном направлении от окон до противоположных стен не должна превышать 2 C, а в вертикальном - 1 C на каждый метр высоты помещения.

Дайте определение Света - сильный стимулятор работоспособности.

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

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

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


.2 Микроклимат


Микроклимат производственных помещений определяется действующими на организм человека сочетаниями температуры, влажности и скорости движения воздуха, а также температурой окружающих поверхностей (ГОСТ 12.1.005-88).

Если работа выполняется на открытых площадках, то метеорологические условия определяются климатическим поясом и сезоном года, но и в этом случае в рабочей зоне создается определенный микроклимат.

При благоприятных сочетаниях параметров микроклимата человек, условием жизнедеятельности которого является сохранение постоянства температуры тела, испытывает состояние теплового комфорта - важного условия высокой производительности труда и предупреждения заболеваний.

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

Перегрев. При температуре воздуха более 30 °С и значительном тепловом излучении от нагретых поверхностей наступает нарушение терморегуляции организма, что может привести к перегреву организма, особенно если потеря пота в смену приближается к 5 л. Наблюдается нарастающая слабость, головная боль, шум в ушах, искажение цветного восприятия, тошнота, рвота, повышается температура тела. Дыхание и пульс учащаются, артериальное давление вначале возрастает, затем падает. В тяжелых случаях наступает тепловой, а при работе на открытом воздухе - солнечный удар. Возможна судорожная болезнь, являющаяся следствием нарушения водно-солевого баланса и характеризующаяся слабостью, головной болью, резкими судорогами.

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

Влажность воздуха определяется содержанием в нем водяных паров, различают:

абсолютную (А) - это масса водяных паров, содержащихся в данный момент в определенном объеме воздуха;

максимальную (At) - максимально возможное содержание водяных паров в воздухе при данной температуре (состояние насыщения);

относительную (В) - определяется отношением абсолютной влажности А к максимальной М и выражается в процентах:


В = (А/М)100%.


Физиологически оптимальной является относительная влажность в пределах 40...60%. Повышенная влажность воздуха (более 75...85%) в сочетании с низкими температурами оказывает значительное охлаждающее действие, а в сочетании с высокими - способствует перегреванию организма. Относительная влажность менее 25% также неблагоприятна для человека, так как приводит к высыханию слизистых оболочек и снижению защитной деятельности мерцательного эпителия верхних дыхательных путей.

Подвижность воздуха. Человек начинает ощущать движение воздуха при его скорости примерно 0,1 м/с. Легкое движение воздуха при обычных температурах способствует хорошему самочувствию, сдувая обволакивающий человека насыщенный водяными парами и перегретый слой воздуха. В то же время большая скорость движения воздуха, особенно в условиях низких температур, вызывает увеличение тепло потерь конвекцией и испарением и ведет к сильному охлаждению организма. Особенно неблагоприятно действует сильное движение воздуха при работах на открытом воздухе в зимних условиях.

Тепловое излучение свойственно любым телам, температура которых выше абсолютного нуля. Тепловое воздействие облучения на организм человека зависит от длины волны и интенсивности потока излучения, величины облучаемого участка тела, длительности облучения, угла падения лучей, вида одежды человека. Наибольшей проникающей способностью обладают инфракрасные лучи с длиной волны 0,78... 1,4 мкм, они вызывают также в организме человека различные биохимические и функциональные изменения.

Источники теплового излучения - работающее технологическое оборудование, источники света, работающие люди. Интенсивность облучения рабочих горячих цехов меняется в широких пределах: от нескольких десятых долей до 5,0...7,0 кВт/м2. При интенсивности облучения более 5,0 кВт/м2 в течение 2...5 мин человек ощущает сильное тепловое воздействие. Интенсивность же теплового облучения на расстоянии 1 м от источника теплоты на горновых площадках доменных печей и у мартеновских печей при открытых заслонках достигает 11,6 кВт/м2.

Допустимый для человека уровень интенсивности теплового облучения на рабочих местах составляет 0,35 кВт/м2 (ГОСТ 12.4.123-83 ССБТ «Средства коллективной защиты от инфракрасных излучений. Общие технические требования»).

Нормализация микроклимата производственных помещений осуществляется проведением следующих мероприятий:

рациональным подходом к объемно-планировочным и конструктивным решениям проектирования производственных зданий. Горячие цехи размещают в одноэтажных одно- и двух пролетных зданиях;

производственные помещения оборудуют шлюзами, дверные проемы воздушными завесами для предотвращения проникновения холодного воздуха;

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

работой с дистанционным управлением и наблюдением;

внедрением рациональных технологических процессов и оборудования (замена горячего способа обработки металла холодным, пламенного нагрева - индукционным и т.п.);

использованием рациональной тепловой изоляции оборудования различными видами теплоизоляционных материалов;

устройством защиты работающих различными видами экранов и водяными завесами;

устройством рациональной вентиляции и отопления;

применением воздушных душей на рабочих местах;

применением лучистого обогрева постоянных рабочих мест и отдельных участков;

рациональным чередованием режимов труда и отдыха;

созданием комнат обогрева для работающих на открытом воздухе в зимних условиях;

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

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

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

В зависимости от способа перемещения воздуха различают естественную, искусственную (механическую) и смешанную вентиляции.

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

Искусственная вентиляция осуществляется за счет механических побудителей движения воздуха (вентиляторов), она обязательна в помещениях со значительными выделениями вредных веществ.

Смешанная вентиляция сочетает естественную и искусственную.

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

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

Кондиционирование воздуха. Создание и автоматическое поддержание в закрытых помещениях температуры, влажности, чистоты, скорости движения воздуха в заданных пределах называется кондиционированием.

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

Кондиционеры бывают центральные (на несколько помещений) и местные (на одно помещение), производственные и бытовые.

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

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

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

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


.3 Эргономичность


Охрана труда, работающих в условиях интенсивного перевооружения производства на базе комплексной автоматизации и механизации, может быть обеспечена лишь при всестороннем учете возможностей человека в трудовом процессе. В правильном решении этих задач существенную роль играет эргономика. Эргономика изучает проблемы оптимального распределения и согласования функций между человеком и машиной, обусловливает оптимальные требования к средствам и условиям деятельности, разрабатывает методы их учета при создании и эксплуатации техники. Рациональное сочетание возможностей человека и характеристик машины и соответствующее распределение функций внутри системы существенно повышают ее эффективность и обусловливают оптимальное использование человеком технических средств в соответствии с их назначением.

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

Следует подчеркнуть, что условия труда как система элементов и

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

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

Комплексный подход к охране труда предусматривает учет организационных, экономических, социальных, психологических, технических, правовых и других аспектов управления в их совокупности и взаимосвязи.

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

Системный подход к изучению основ охраны труда предусматривает применение различных методов исследования и, в частности, физиологических, психологических, статистических, математических, социологических и т.д.

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


.4 Техника безопасности


Настоящая инструкция распространяется на персонал, эксплуатирующий средства вычислительной техники и периферийное оборудование. Инструкция содержит общие указания по безопасному применению электрооборудования в учреждении. Требования настоящей инструкции являются обязательными, отступления от нее не допускаются. К самостоятельной эксплуатации электроаппаратуры допускается только специально обученный персонал не моложе 18 лет, пригодный по состоянию здоровья и квалификации к выполнению указанных работ.

Требования безопасности перед началом работы

Перед началом работы следует убедиться в исправности электропроводки, выключателей, штепсельных розеток, при помощи которых оборудование включается в сеть, наличии заземления компьютера, его работоспособности, Требования безопасности во время работы

Для снижения или предотвращения влияния опасных и вредных факторов необходимо соблюдать санитарные правила и нормы. Гигиенические требования к видео дисплейным терминалам, персональным электронно-вычислительным машинам и организации работы.

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

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

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

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

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

Во избежание поражения электрическим током, при пользовании электроприборами нельзя касаться одновременно каких-либо трубопроводов, батарей отопления, металлических конструкций, соединенных с землей.

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

Требования безопасности в аварийных ситуациях

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

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

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

Необходимо немедленно начать производить искусственное дыхание, наиболее эффективным из которых является метод рот в рот или рот в нос, а также наружный массаж сердца.

Искусственное дыхание пораженному электрическим током производится вплоть до прибытия врача.

На рабочем месте запрещается иметь огнеопасные вещества.

В помещениях запрещается:

зажигать огонь;

включать электрооборудование, если в помещении пахнет газом;

курить;

сушить что-либо на отопительных приборах;

закрывать вентиляционные отверстия в электроаппаратуре.

Источниками воспламенения являются:

искра при разряде статического электричества;

искры от электрооборудования;

искры от удара и трения;

открытое пламя.

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

Помещения с электрооборудованием должны быть оснащены огнетушителями типа ОУ-2 или ОУБ-3.

Требования безопасности по окончании работы

После окончания работы необходимо обесточить все средства вычислительной техники и периферийное оборудование. В случае непрерывного производственного процесса необходимо оставить включенными только необходимое оборудование.

5. Экономическая часть


.1 Расчет стоимости разработки


При изучении лингвистических наук, в обязательном порядке обучающийся сталкивается с выполнением различного рода упражнений и тестовых материалов. В связи с выполнением заданий в бумажных вариантах пользователю приходится тратить намного больше времени, ежели выполняя работы в электронном варианте. На проверку работы учителю требуется масса времени. Автоматизация обработки этих факторов позволяет сократить до минимума время их обработки.

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

На основе оценок трудовых затрат на обработку документов были получены исходные данные.


Таблица 5.1 - Трудоемкость работ

Стадия расчетаТрудоемкость, часВ ручном режимеВ автоматизированном режимеИсследования204Обработка документов152Распечатка отчетов--Итого:356

На основе данных таблицы 5.1 рассчитаем процент уменьшения трудоемкости и увеличения производительности труда.

Снижение трудоемкости определяется по формуле:


(5.2)

где Тр - трудоемкость при ручной обработке;

Тавт - трудоемкость при автоматизированной обработке.

Снижение трудоемкости при использовании данной программы:



Увеличение производительности труда


(5.3)


Результат вычислений показывает, что производительность труда увеличилась в пять раз, что свидетельствует о технической эффективности использования системы.

Затраты на создание программного продукта складываются из расходов по оплате труда разработчика программы и расходов по оплате машинного времени при отладке программы, общие затраты:


Зспп = Ззпр + Змв + Зобщ((5.4)

где Зспп - затраты на создание программного продукта;

Ззпр - затраты на оплату труда разработчика программы;

Змв - затраты на оплату машинного времени;

Зобщ - общие затраты.

Расходы на оплату труда разработчика программы определяются путем умножения трудоёмкости создания программного продукта на среднюю часовую оплату программиста (с учётом коэффициента отчислений на социальные нужды):


Ззпр = t * Тчас(5.5)

Трудоёмкость разработки программного продукта можно определить следующим образом:


t=to+ta+tб+tп+tд+tot(5.6)

где to - затраты труда на подготовку описания задачи;а - затраты труда на разработку алгоритма решения, задачи;б - затраты труда на разработку блок-схемы алгоритма решения задачи;п - затраты труда на составление программы по готовой блок-схеме;д - затраты труда на подготовку документации задачи;от - затраты труда на отладку программы на ПК при комплексной отладке задачи.

Составляющие затрат, в свою очередь можно вычислить через условное число операторов Q. В нашем случае число операторов в отлаженной программе Q=3500.

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


to = Q*В/(75...85*К)(5.7)где В - коэффициент увеличения затрат труда вследствие недостаточного описания задачи, уточнений и некоторой не доработки, В=1,2... 5;

К- коэффициент квалификации разработчика, для работающих до 2 лет К = 0,8.

В связи с тем, что при изучении описания данной задачи потребовалось много уточнений и доработок, в описании коэффициент В принимаем равным 1. Таким образом, получим:

= 3500 * 1/(80 * 0,8) = 54,7 (чел-час)


Затраты труда на разработку алгоритма решения задачи:


tа =Q/(60...75 * К)(5.8)tа = 3500/(65*0,8) = 67,31 (чел-час)


Затраты труда на разработку блок-схемы алгоритма решения задачи вычислим следующим образом:


tб = Q/(60...75 * К)(5.9)tб = 3500/(66*0,8) = 66,29 (чел-час)


Затраты труда на составление программы по готовой блок-схеме вычислим по формуле:


tп =Q/(60...75 * К)(5.9)tп = 3500/(68*0,8) = 64,34 (чел-час)


Затраты труда на отладку программы на ЭВМ при комплексной отладке задачи:


tот=1.5*tАот(5.10)Аот - затраты труда на отладку программы на ПК при автономной отладке одной задачи.


tАот=Q/(40...50*К)(5.11)tАот = 3500/(46*0,8) = 95,1 (чел-час)т=1,5* 95,1 = 142,65 (чел-час)


Затраты труда на подготовку документации по задаче определяются:


tд=tдр+tдо(5.11)

где tдр - затраты труда на подготовку материалов в рукописи;до - затраты на редактирование, печать и оформление документации.


tдр=Q/(150...200*К)(5.12)tдр = 3500/(155*0,8) = 28,2 (чел-час)

tдо=0,75*tдр(5.13)tдо = 0,75*28,2 = 21,15 (чел-час)д = 21,15 + 28,2 = 49,35 (чел-час)


Итак общую трудоёмкость программного продукта можем рассчитать:

= 54,7 + 67,31 + 66,29 + 64,34 + 49,35 + 142,65 = 444,71 (чел-час)


Средняя зарплата программиста в современных рыночных условиях может варьироваться в широком диапазоне. Для расчёта возьмём среднюю часовую оплату труда, которая составляет Тчас = 325 тенге/час (принимаем в интервале от 325 тенге/час), что составляет 67600 тенге/мес при 8-ми часовом рабочем дне и 6-ти дневной рабочей неделе (т.е 26 рабочих дня). Эта цифра близка к реальной заработной плате, программиста на предприятии, где проводилась работа.

Затраты на оплату труда программиста состоят из зарплаты программиста и отчислений от оплаты труда. Они включают: социальный налог и социальные отчисления от заработной платы.

Социальный налог рассчитывается с учетом фиксированной ставки социального налога в 11% .


ФЗПгод=Зпл*12(5.14)

ФЗПгод= 67600*12 = 811200 тенге

Используя таблицу ставок социального налога, определяем сумму годового социального налога: ставка налога составляет 11%. Определяем годовой социальный налог:


Соц налог=ФЗПгод*Н(5.15)Соц н=811200*11% = 89232


Итого отчисления от оплаты труда составляют 11 %. Отсюда затраты на оплату труда программиста составляют (по формуле 4):


Ззпр = 444,71 (общ.трудоемкость)*325(зп в час)*1,11=160429,13 тенге


Затраты на оплату машинного времени при отладке программы определяются путём умножения фактического времени отладки программы на цену машино-часа арендного времени:


Змв = Счас * tпк(5.15)

где Счас - цена машино-часа арендного времени, тенге/час;пк - фактическое время отладки программы на ЭВМ.

Фактическое время отладки вычислим по формуле:


tпк =tп + tдо +tот(5.16)tпк = 64,34 + 21,15 + 142,65 = 228,14 часа.


Цену машино-часа найдём по формуле:


Счас = 3пк/Тпк(5.17)

где Зпк - полные затраты на эксплуатацию ПК в течении года;

Тпк - действительный годовой фонд времени ПК, час/год.

Расчёт годового фонда времени работы ПК Inteli7. Общее количество дней в году Тгод= 365 дней. Число праздничных и выходных дней Тпр= 104+6=110 дней. Время простоя в профилактических работах определяется как еженедельная профилактика по 4 часа (52 недели), Тпроф=52*4=208ч.Итого годовой фонд рабочего времени ПК составляет:

Тпк = t*(Tгод-Tпр)-Тпроф(5.18)Тпк=8*(365-110) - 52*4 = 1832 час


Полные затраты на эксплуатацию ПК можно определить по формуле:


Зпк = (Ззп + Зам + Зэл + Звм + Зтр + Зпр)(5.19)

где Ззп - годовые издержки на заработную плату обслуживающего персонала, тенге/год;

Зам - годовые издержки на амортизацию, тенге/год;

Зэл - годовые издержки на электроэнергию, потребляемую ПК, тенге/год;

Звм - годовые издержки на вспомогательные материалы, тенге/год;

Зтр - затраты на текущий ремонт компьютера, тенге/год;

Зпр - годовые издержки на прочие и накладные расходы, тенге/год.

Сумма годовых амортизационных отчислений определяется по формуле:


Зам = Сбал * Нам(5.20)

где Сбал - балансовая стоимость компьютера, тенге/шт.;

Нам - норма амортизации в процентах;

Норму амортизации принимаем равной примерно 26%, т.е. Нам = 26 %.

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


Сбал = Срын + Зуст(5.21)где Срын - рыночная стоимость компьютера, тенге/шт.;

Зуст - затраты на доставку и установку компьютера, тенге/шт.

Компьютер, на котором велась работа, был приобретен по цене. Срын - 70000 тенге, затраты на установку и наладку составили примерно 10 процентов от стоимости компьютера.


Сбал = 70000 + 7000 = 77000 тенге/шт.

Зам = 77000* 0,26= 20020 тенге/год


Стоимость электроэнергии, потребляемой за год, определяется по формуле:


Зэл = Рпк * Тпк * Сэл * А(5.22)

где Рпк - суммарная мощность ПК,

Сэл - стоимость 1 кВт*ч электроэнергии,

А - коэффициент интенсивного использования мощности машины.

Согласно техническому паспорту ПК Рпк = 0,22 кВт, стоимость 1 кВт*ч электроэнергии для предприятий Сэл =10 тенге, интенсивность использования машины А = 0.98.

Тогда расчётное значение затрат на электроэнергию:


Зэл = 0.22* 1832*10*0.98 = 3949,8 тенге


Затраты на текущий и профилактический ремонт принимаются равными 5-10 процентов от стоимости ПК:


Зтр = 0,09 * Сбал(5.23)Зтр= 0,09*77000 = 6930тенге


Затраты на материалы, необходимые для обеспечения нормальной работы ПК составляют около 1-5 процент от стоимости ПК:


Звм = 0,05*Сбал(5.24)Звм=0,05 *77000 = 3850 тенге


Прочие косвенные затраты, связанные с эксплуатацией ПК, состоят из амортизационных отчислений на здания, стоимости услуг сторонних организаций и составляют 5 процентов от стоимости ПК:


Зпр =0,04*Сбал(5.25)Зпр=0,04*77000 = 3080 тенге


Издержки на заработную плату обслуживающего персонала складываются из основной заработной платы, дополнительной и отчислений на заработную плату:


Ззп = Зоснзп + 3допзп + Зотчзп(5.26)

Сумма основной заработной платы определяется исходя из общей численности работающих в штате:


Зоснзп =12*3ioкл(5.27)3ioкл - тарифная ставка i -го работника в месяц, тенге;

В штат обслуживающего персонала должны входить инженер электронщик с месячным окладом 65000 тенге и электрослесарь с окладом 30000 тенге.

Тогда, учитывая, что данный персонал обслуживает 15 машин, издержки на основную заработную плату обслуживающего персонала составят:


Зоснзп = 12*(65000 + 30000)/15 =76000 тенге


Сумма дополнительной заработной платы Кдзп составляет 20-30 процентов от основной заработной платы:


Здопзп=Зоснзп*Кдзп(5.28)Здопзп = 0,24*76000 = 18240 тенге


Сумма отчислений на социальные нужды составляет Н=11% от суммы дополнительной и основной заработных плат, т.е. ставка социального налога.


Зотчзп=(Зоснзп+Здопзп)*Н(5.29)Зотчзп = 0,11*(76000+18240)= 10366,4 тенге


Тогда годовые издержки на заработную плату обслуживающего персонала составят:


Ззп = 76000 + 18240 + 10366,4 = 104606,4 тенге


Полные затраты на эксплуатацию ПК в течение года составят:

Зпк=104606,4+20020+3949,8+3850+6930+3080=142436,2 тенге


Тогда цена машино-часа арендуемого времени составит:


Счас =142436,2/1832 = 77,7 тенге


А затраты на оплату машинного времени составят:


Змв =77,7 * 228,14 = 17726,5 тенге


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


Зобщ= Зоснзп/3(5.30)Зобщ= 76000/3=25333,3 тенге.


Тогда затраты на создание программного продукта составят:


Зспп =160429,13+17726,5+25333,3 =203488,93 тенге


.2 Расчет экономического эффекта от внедрения ПО


Для расчета показателей экономической эффективности программы необходимо определить следующие показатели:

срок окупаемости (Ток);

коэффициент экономической эффективности (Ер);

годовой экономический эффект (Э).

Ток = Зспп/Сбал(5.31)Ер = Сбал/Зспп(5.32)Э = Сбал-Ен *3спп(5.33)

где Ен - отраслевой нормативно экономический коэффициент месяца;

Ен = 0,36.

Автоматизированная система будет эффективна при условии, если Ер =>Ен.

Ток=203488,93/77000 = 2,6

Ер = 77000/203488,93= 0,37

Э = 77000 - 0,36*203488,93=3744 тенге

Данная АСОЭИ эффективна так как Ер больше Ен, т.е 0,37 >0,36

Срок окупаемости данного продукта составляет два года и шесть месяцев.

Расчеты затрат на разработку автоматизированного рабочего места.


Таблица 5.2 - Итоговая таблица

ЗатратыФормулаСумма.тенгеЗатраты на создание Программного продуктаЗспп = Ззпспп + Змв + Зобщ,Зспп=203488,93 тенгеЗатраты на оплату трударазработчикам программыЗзпр=t*ТчасЗзпр =160429,13 тенге Затраты на эксплуатацию ПКЗпк= Ззп+Зам+Зэл+ЗвмЗтр +3прЗпк= 142436,2 тенге Затраты на оплату машинного времениЗмв = Счас * tпкЗмв = 17726,5 тенге Срок окупаемостиТок = Зспп/СбалТок= 2,6 гГодовой экономический эффектЭ = Сбал-Ен *3спп Э=3744 тенге

Из таблицы 5.2 видно, что затраты на создание программного продукта составляют 203488,93 тенге. А затраты на оплату труда разработчикам программы составляют 78,8% от общей суммы затрат на создание программного продукта. Затраты на оплату машинного времени составляют 8,7% от общей суммы затрат. Срок окупаемости программы 2 года 6 месяцев, за это время программный продукт не устареет, а годовой экономический эффект составляет 3744 тенге.

Заключение


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

Программа имеет совместимость с Windiws 7 (x86/x64) и WindowsXP. При разработке программы использовались следующие ПОи модификации:

Delphi 2007 - интерпретатор.

AlphaControl - оболочка.

Adobe Photoshop - графический редактор.

CorelDraw - графический редактор.

Snagit - приложение для захвата экрана.

Microsoft Office - пакет офис приложений.

Notepad - блокнот.

Разрабатываемая программа полностью посвящена русскому языку. Она является не просто теоретическим пособием, а полноценным приложением, содержащим в себе набор упражнений и заданий к ним. Программа была разработана в соответствии с грамотно составленным специалистами учебным планом. Данное программное обеспечение поможет пользователям изучить русский язык, а также закрепить уже имеющиеся знания. Программа снабжена 30 уроками, каждый из которых разбит на уровни сложности. В свою очередь уровни содержат упражнения и задания к ним. Задания встречаются совершенно различные, но каждый из них отличаются своим не однообразием. Благодаря разумному построению алгоритма прохождения уроков, пользование программой совершенно не вызывает сложности в технических аспектах.

Основные модули программы:

В программе присутствует модуль «Отчет», который позволит пользователю ознакомиться с допущенными им ошибками. В отчете программа ведет детальный анализ выполненных пользователем заданий: сколько баллов он набрал, какие ошибки допустил, исправления ошибок, советы и некоторые правила. В любой момент пользователь может сохранить отчет в текстовый формат, а затем при необходимости откорректировать его или же отправить на печать.

Грамотно подобранные цветовые тона в программе не вызывают напряжения для глаз, а графика лишь вызывает приятные ощущения и мотивацию использования приложения. Интерфейс приложения был создан при помощи набора стандартных и некоторых уникальных компонентов Alpha Skin. Вся графика была обработана в Adobe Photoshop, а также стандартными средствами интерпретатора Delphi. В качестве основного стиля был выбран шаблон в стиле дерева, что напоминает парту для учащихся или классную доску.

Фактически за любое выполненное пользователем задание присуждается оценка по бальной системе.

Приложение было грамматически протестировано на наличие различного рода ошибок. Проблем при разработке данной программы было более чем достаточно и основная из них - это совместимость. Программа была поделена на этапы тестирования. Каждая часть тестировалась на двух операционных системах: Microsoft Windows XP Sp3 и MicrosoftWindows 7 x86,x64.


Cписок используемых источников


1) Статьи. Полезная информация. [#"justify">) Хостинг картинок. [#"justify">) Хостинг картинок. [http://www.google.kz/imghp?hl=ru&tab=wi]

)Официальный сайт Microsoft [#"justify">7)TDlgBalloonдля MS Agent [#"justify">)СкиндляDelphi - AlphaControls[#"justify">9) Форум программистов [#"justify">) Полезная информация о flash [#"justify">) Обучение. Автор: Владимир Любаев. [#"justify">) Климов А. MSAgent - Графические персонажи для интерфейсов, 2000, - 254 страницы.

) Д. Стефан. C++ для чайников - С++, 2003 год, - 308 страниц.

) Фленов М. Е.Delphi - Секреты программирования, 2005 год, - 272 страницы.

) Фленов М. Е. Delphi - Библия для программиста в среде Delphi, 2002 год, - 555 страниц.

) Девисилов В.А. - Охрана труда, 2009 год, 4 издание, -496 страниц

) Герасимов Б.И., Иода Ю.В. - Введение в экономику. Основы экономического анализа, ТГТУ, 2004, 140с.

) Клыкова О.А., Петухова Н.И. - Общие требования к текстовым документам и расчетно-графическим работам, 2008 год, 56 страниц.



Приложение А


ТЕХНИЧЕСКОЕ ЗАДАНИЕ

Введение

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

Электронные книги позволяют сэкономить время и получить актуальную информацию, и не нужно пренебрегать этим. Часто в электронных книгах можно найти более сконцентрированную и полезную информацию, в таком случае оправданной будет и цена.

Электронные книги издаются быстро, и легко обновляются. Еще одно хорошее свойство электронных книг - возможность получения обновлений. Многие авторы коммерческих книг рассылают покупателям обновления и дополнения по мере выхода новых версий.

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

Основание для разработки

Программа разрабатывается на основе учебного плана кафедры «Информационных технологий».

Назначение разработки

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

Требования к программе

Минимальные системные требования:

ОС: Microsoft Windows XP, 7 (x86/x64);

Тип процессора: PentiumIII ;

ОЗУ: 512мб;

ПЗУ: 500 мб.

Требования к программной документации

Разрабатываемые программные модули должны быть самодокументированны, то есть тексты программ должны содержать все необходимые комментарии.


ПРИЛОЖЕНИЕ Б


РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

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


Рисунок Б.1 - Запуск и установка


За запуск приложения отвечает основной ярлык с иконкой колокольчика с именем «Project1». Но перед запуском самого приложения необходимо произвести некоторые установки. Это необходимо для стабильной работы программы. В основной директории программы имеются 4 папки 3 из которых заслуживают основного внимания. В зависимости от операционной системы пользователя нужно открыть соответствующую папку.


Рисунок Б.2 - Патчи


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

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

При открытии приложения открывается окно-заставка с картинкой, который в последующем перетекает в Главное окно программы.

В главном окне программы находятся кнопки, при нажатии которых открываются соответствующие уроки. Также в Главном окне программы находится вкладка «О программе».

В данном окне описаны системные требования программы, а также разработчик.

При открытии определенной последовательности уроков появляется форма с вкладками(уроками). В каждой вкладке размещены по 3 уровня. При выборе уровня открывается диалоговое окно с определенным набором упражнений разной сложности, в зависимости от выборя уровня.

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

В упражнениях с редактируемыми полями студент должен вписать соответствующую букву или слово целиком. После вписания букв или слов нажать на кнопку «Проверить» и система выдаст результат.

В упражнениях с перетаскиванием студенту необходимо перетаскивать слова левой кнопкой мыши в соответствующие поля с надписями. Линейность выполнения упражнений - одна из поставленных целей при написании приложения.

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

Упражнения с переключателями довольно часто встречаются в программе. Для выполнения такого рода упражнений необходимо ознакомиться с текстом и исходя из него выполнять предложенные задания. Затем выбрать вариант который вы считаете правильным и нажать кнопку «Проверить».

Отчет позволит детально ознакомиться с выполненным упражнением. Проанализировать ошибки, посмотреть правильный результат, а также получить некоторые советы. Информацию, который содержит отчет, можно сохранить в текстовый формат, кликнув на кнопку «Сохранить отчет» расположенную в верхнем левом углу. Важно: сохранение отчета необходимо производить исключительно в папку с исходными файлами программы во избежание ошибок.


ПРИЛОЖЕНИЕ В


ЛИСТИНГ ПРОГРАММЫUnit13;

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, sPageControl, sStatusBar, ExtCtrls, sPanel, StdCtrls,

sButton, sEdit, sLabel, sGroupBox, sRichEdit, sComboBox, sDialogs;

TFormLess16Lvl3 = class(TForm)

sPageControl1: TsPageControl;

sTabSheet1: TsTabSheet;

sTabSheet2: TsTabSheet;

sTabSheet3: TsTabSheet;

sTabSheet4: TsTabSheet;

sLabel8: TsLabel;

sLabel1: TsLabel;

sEdit1: TsEdit;

sLabel2: TsLabel;

sEdit2: TsEdit;

sLabel3: TsLabel;

sLabel4: TsLabel;

sEdit3: TsEdit;

sLabel5: TsLabel;

sEdit4: TsEdit;

sLabel6: TsLabel;

sLabel7: TsLabel;

sEdit5: TsEdit;

sLabel9: TsLabel;

sLabel10: TsLabel;

sEdit6: TsEdit;

sEdit7: TsEdit;

sLabel11: TsLabel;

sLabel12: TsLabel;

sEdit8: TsEdit;

sLabel13: TsLabel;

sButton1: TsButton;

sLabel14: TsLabel;

sPageControl2: TsPageControl;

sTabSheet5: TsTabSheet;

sTabSheet6: TsTabSheet;

sPanel1: TsPanel;

sLabel15: TsLabel;

sLabel17: TsLabel;

Image1: TImage;

Image2: TImage;

sLabel18: TsLabel;

Image3: TImage;

Image4: TImage;

Image5: TImage;

Image6: TImage;

sLabel19: TsLabel;

sLabel20: TsLabel;

sLabel21: TsLabel;

sEdit9: TsEdit;

sButton2: TsButton;

sEdit10: TsEdit;

sButton3: TsButton;

sEdit11: TsEdit;

sEdit12: TsEdit;

sButton4: TsButton;

sButton5: TsButton;

sEdit13: TsEdit;

sEdit14: TsEdit;

sButton6: TsButton;

sButton7: TsButton;

sGroupBox1: TsGroupBox;

sLabel22: TsLabel;

sLabel16: TsLabel;

sPanel2: TsPanel;

sLabel23: TsLabel;

sEdit15: TsEdit;

sButton8: TsButton;

sLabel24: TsLabel;

sEdit16: TsEdit;

sButton9: TsButton;

sLabel25: TsLabel;

sEdit17: TsEdit;

sButton10: TsButton;

sGroupBox2: TsGroupBox;

sLabel27: TsLabel;

sLabel28: TsLabel;

sRichEdit1: TsRichEdit;

sEdit18: TsEdit;

sLabel29: TsLabel;

sLabel30: TsLabel;

sEdit19: TsEdit;

sLabel31: TsLabel;

sLabel32: TsLabel;

sEdit20: TsEdit;

sLabel33: TsLabel;

sLabel34: TsLabel;

sLabel35: TsLabel;

sEdit21: TsEdit;

sLabel36: TsLabel;

sLabel37: TsLabel;

sEdit22: TsEdit;

sLabel38: TsLabel;

sLabel39: TsLabel;

sEdit23: TsEdit;

sLabel40: TsLabel;

sLabel41: TsLabel;

sLabel42: TsLabel;

sLabel43: TsLabel;

sLabel44: TsLabel;

sLabel45: TsLabel;

sEdit24: TsEdit;

sLabel46: TsLabel;

Image7: TImage;

Image8: TImage;

Image9: TImage;

sLabel47: TsLabel;

sButton11: TsButton;

sLabel48: TsLabel;

sComboBox1: TsComboBox;

sLabel49: TsLabel;

sComboBox2: TsComboBox;

sComboBox3: TsComboBox;

sComboBox4: TsComboBox;

sComboBox5: TsComboBox;: TsComboBox;

sComboBox7: TsComboBox;

sComboBox8: TsComboBox;

sLabel50: TsLabel;

sLabel51: TsLabel;

sLabel52: TsLabel;

sLabel53: TsLabel;

sLabel54: TsLabel;

sLabel55: TsLabel;

sLabel56: TsLabel;

sLabel57: TsLabel;

sLabel58: TsLabel;

sLabel59: TsLabel;

sLabel60: TsLabel;

sLabel61: TsLabel;

sTabSheet7: TsTabSheet;

sGroupBox3: TsGroupBox;

sGroupBox4: TsGroupBox;

sGroupBox5: TsGroupBox;

sPanel3: TsPanel;

sPanel4: TsPanel;

sPanel5: TsPanel;

sPanel9: TsPanel;

sPanel10: TsPanel;

sPanel11: TsPanel;

sPanel6: TsPanel;

sPanel7: TsPanel;

sPanel8: TsPanel;

sLabel62: TsLabel;

sLabel63: TsLabel;

sLabel64: TsLabel;

sLabel65: TsLabel;

sTabSheet8: TsTabSheet;

sPanel12: TsPanel;

sLabel66: TsLabel;

sLabel67: TsLabel;

sLabel68: TsLabel;

sLabel69: TsLabel;

sLabel71: TsLabel;

sLabel72: TsLabel;

sLabel73: TsLabel;

sLabel74: TsLabel;

sLabel75: TsLabel;

sLabel76: TsLabel;

sComboBox9: TsComboBox;

sEdit25: TsEdit;

sComboBox10: TsComboBox;

sComboBox11: TsComboBox;

sComboBox12: TsComboBox;

sComboBox13: TsComboBox;

sComboBox14: TsComboBox;

sComboBox15: TsComboBox;

sComboBox16: TsComboBox;

sPanel13: TsPanel;

sLabel77: TsLabel;

sLabel78: TsLabel;

sLabel79: TsLabel;

sLabel80: TsLabel;

sLabel81: TsLabel;

sLabel82: TsLabel;

sLabel83: TsLabel;

sLabel84: TsLabel;

sLabel85: TsLabel;

sLabel86: TsLabel;

sComboBox17: TsComboBox;

sEdit26: TsEdit;

sComboBox18: TsComboBox;

sComboBox19: TsComboBox;

sComboBox20: TsComboBox;

sComboBox21: TsComboBox;

sComboBox22: TsComboBox;

sComboBox23: TsComboBox;

sComboBox24: TsComboBox;

sPanel14: TsPanel;

sLabel88: TsLabel;

sPanel15: TsPanel;

sLabel89: TsLabel;

sLabel90: TsLabel;

sEdit27: TsEdit;

sButton12: TsButton;

sLabel91: TsLabel;

sLabel26: TsLabel;

sLabel70: TsLabel;

sLabel87: TsLabel;

ssavedialog1: TsSaveDialog;

btn1: TsButton;

procedure sButton1Click(Sender: TObject);

procedure sButton2Click(Sender: TObject);

procedure sButton3Click(Sender: TObject);

procedure sButton4Click(Sender: TObject);

procedure sButton5Click(Sender: TObject);

procedure sButton6Click(Sender: TObject);

procedure sButton7Click(Sender: TObject);

procedure sButton8Click(Sender: TObject);

procedure sButton9Click(Sender: TObject);

procedure sButton10Click(Sender: TObject);

procedure sButton11Click(Sender: TObject);

procedure sPanel3MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel3MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure sPanel3MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel4MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel4MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure sPanel4MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel6MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel6MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure sPanel6MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel7MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure sPanel7MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure sPanel7MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure sPanel8MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure sPanel8MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure sPanel8MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel9MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel9MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure sPanel9MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel10MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel10MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure sPanel10MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel5MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel5MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure sPanel5MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel11MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sPanel11MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure sPanel11MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure sButton12Click(Sender: TObject);

procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

FormLess16Lvl3: TFormLess16Lvl3;

ResultZad1:integer;

{$R *.dfm}, y0: integer;: boolean = false;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;:boolean = true;gb1:integer = 0;gb2:integer = 0;gb3:integer = 0;gb4:integer = 0;gb5:integer = 0;gb6:integer = 0;gb7:integer = 0;gb8:integer = 0;gb9:integer = 0;gb10:integer = 0;gb11:integer = 0;gb12:integer = 0;, yStart: integer;TFormLess16Lvl3.sButton1Click(Sender: TObject);ResultZad1:integer;:=0;.lines.add('1 УПРАЖНЕНИЕ');.lines.add('');

begin(sEdit1.Text='пути') then:= ResultZad1+1;.lines.add('1 слово и падеж указан верно: ' + 'пути');.lines.add('');(sEdit1.Text='') then:= ResultZad1+0;.lines.add('1 слово и падеж не верно. '+ 'Правильный ответ: пути');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('1 слово и падеж не верно. ' + 'Правильный ответ: пути');.lines.add('Вы написали: ' + sEdit1.Text);

srichedit1.lines.add('');;(sEdit2.Text='путям') then:= ResultZad1+1;.lines.add('2 слово и падеж указан верно: ' + 'путям');.lines.add('');(sEdit2.Text='') then:= ResultZad1+0;.lines.add('2 слово и падеж не верно. '+ 'Правильный ответ: путям');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('2 слово и падеж не верно. ' + 'Правильный ответ: путям');.lines.add('Вы написали: ' + sEdit2.Text);

srichedit1.lines.add('');;(sEdit3.Text='племени') then:= ResultZad1+1;.lines.add('3 слово и падеж указан верно: ' + 'племени');.lines.add('');(sEdit3.Text='') then:= ResultZad1+0;.lines.add('3 слово и падеж не верно. '+ 'Правильный ответ: племени');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('3 слово и падеж не верно. ' + 'Правильный ответ: племени');.lines.add('Вы написали: ' + sEdit3.Text);

srichedit1.lines.add('');;(sEdit4.Text='семени') then:= ResultZad1+1;.lines.add('4 слово и падеж указан верно: ' + 'семени');.lines.add('');(sEdit4.Text='') then:= ResultZad1+0;.lines.add('4 слово и падеж не верно. '+ 'Правильный ответ: семени');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('4 слово и падеж не верно. ' + 'Правильный ответ: семени');.lines.add('Вы написали: ' + sEdit4.Text);

srichedit1.lines.add('');;(sEdit5.Text='времени') then:= ResultZad1+1;.lines.add('5 слово и падеж указан верно: ' + 'времени');.lines.add('');(sEdit5.Text='') then:= ResultZad1+0;.lines.add('5 слово и падеж не верно. '+ 'Правильный ответ: времени');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('5 слово и падеж не верно. ' + 'Правильный ответ: времени');.lines.add('Вы написали: ' + sEdit5.Text);

srichedit1.lines.add('');;(sEdit6.Text='семени') then:= ResultZad1+1;.lines.add('6 слово и падеж указан верно: ' + 'семени');.lines.add('');(sEdit6.Text='') then:= ResultZad1+0;.lines.add('6 слово и падеж не верно. '+ 'Правильный ответ: семени');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('6 слово и падеж не верно. ' + 'Правильный ответ: семени');.lines.add('Вы написали: ' + sEdit6.Text);

srichedit1.lines.add('');;(sEdit7.Text='семени') then:= ResultZad1+1;.lines.add('7 слово и падеж указан верно: ' + 'семени');.lines.add('');(sEdit7.Text='') then:= ResultZad1+0;.lines.add('7 слово и падеж не верно. '+ 'Правильный ответ: семени');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('7 слово и падеж не верно. ' + 'Правильный ответ: семени');.lines.add('Вы написали: ' + sEdit7.Text);

srichedit1.lines.add('');;(sEdit8.Text='Времени') then:= ResultZad1+1;.lines.add('8 слово и падеж указан верно: ' + 'Времени');.lines.add('');(sEdit8.Text='') then:= ResultZad1+0;.lines.add('8 слово и падеж не верно. '+ 'Правильный ответ: Времени');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('8 слово и падеж не верно. ' + 'Правильный ответ: Времени');.lines.add('Вы написали: ' + sEdit8.Text);

srichedit1.lines.add('');;(scombobox1.Text='Д.п.') then:= ResultZad1+1;.lines.add('1 падеж указан верно: ' + 'Д.п.');.lines.add('');(scombobox1.Text='') then:= ResultZad1+0;.lines.add('1 падеж не верно. '+ 'Правильный ответ: Д.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('1 падеж не верно. ' + 'Правильный ответ: Д.п.');

srichedit1.lines.add('Вы написали: ' + scombobox1.Text);.lines.add('');;(scombobox2.Text='Д.п.') then:= ResultZad1+1;.lines.add('2 падеж указан верно: ' + 'Д.п.');.lines.add('');(scombobox2.Text='') then:= ResultZad1+0;.lines.add('2 падеж не верно. '+ 'Правильный ответ: Д.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('2 падеж не верно. ' + 'Правильный ответ: Д.п.');

srichedit1.lines.add('Вы написали: ' + scombobox2.Text);.lines.add('');;(scombobox3.Text='Р.п.') then:= ResultZad1+1;.lines.add('3 падеж указан верно: ' + 'Р.п.');.lines.add('');(scombobox3.Text='') then:= ResultZad1+0;.lines.add('3 падеж не верно. '+ 'Правильный ответ: Р.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('3 падеж не верно. ' + 'Правильный ответ: Р.п.');

srichedit1.lines.add('Вы написали: ' + scombobox3.Text);.lines.add('');;(scombobox4.Text='В.п.') then:= ResultZad1+1;.lines.add('4 падеж указан верно: ' + 'В.п.');.lines.add('');(scombobox4.Text='') then:= ResultZad1+0;.lines.add('4 падеж не верно. '+ 'Правильный ответ: В.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('4 падеж не верно. ' + 'Правильный ответ: В.п.');

srichedit1.lines.add('Вы написали: ' + scombobox4.Text);.lines.add('');;(scombobox5.Text='Р.п.') then:= ResultZad1+1;.lines.add('5 падеж указан верно: ' + 'Р.п.');.lines.add('');(scombobox5.Text='') then:= ResultZad1+0;.lines.add('5 падеж не верно. '+ 'Правильный ответ: Р.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('5 падеж не верно. ' + 'Правильный ответ: Р.п.');

srichedit1.lines.add('Вы написали: ' + scombobox5.Text);.lines.add('');;(scombobox6.Text='В.п.') then:= ResultZad1+1;.lines.add('6 падеж указан верно: ' + 'В.п.');.lines.add('');(scombobox6.Text='') then:= ResultZad1+0;.lines.add('6 падеж не верно. '+ 'Правильный ответ: В.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('6 падеж не верно. ' + 'Правильный ответ: В.п.');

srichedit1.lines.add('Вы написали: ' + scombobox6.Text);.lines.add('');;(scombobox7.Text='Д.п.') then:= ResultZad1+1;.lines.add('7 падеж указан верно: ' + 'Д.п.');.lines.add('');(scombobox7.Text='') then:= ResultZad1+0;.lines.add('7 падеж не верно. '+ 'Правильный ответ: Д.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('7 падеж не верно. ' + 'Правильный ответ: Д.п.');

srichedit1.lines.add('Вы написали: ' + scombobox7.Text);.lines.add('');;(scombobox8.Text='Р.п.') then:= ResultZad1+1;.lines.add('8 падеж указан верно: ' + 'Р.п.');.lines.add('');(scombobox8.Text='') then:= ResultZad1+0;.lines.add('8 падеж не верно. '+ 'Правильный ответ: Р.п.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('8 падеж не верно. ' + 'Правильный ответ: Р.п.');

srichedit1.lines.add('Вы написали: ' + scombobox8.Text);.lines.add('');;.Caption:= 'Ваш балл: ' + IntToStr(ResultZad1) + ' из ' + '16';

srichedit1.Lines.Add('Общее колличество баллов за задание первого упражнения: ' + IntToStr(ResultZad1) + ' из ' + '16');

srichedit1.Lines.Add('');.Enabled:=false;;;TFormLess16Lvl3.sButton2Click(Sender: TObject);ResultZad1:integer;:=0;(sEdit9.Text='Жюри')or

(sEdit9.Text='жюри')or

(sEdit9.Text='Жюри.')or

(sEdit9.Text='жюри.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');.lines.add('1 слово верно: ' + 'Жюри');.lines.add('');(sEdit9.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('1 слово не верно. '+ 'Правильный ответ: Жюри');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('1 слово не верно. ' + 'Правильный ответ: Жюри');.lines.add('Вы написали: ' + sEdit9.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton3Click(Sender: TObject);(sEdit10.Text='Авеню')or

(sEdit10.Text='авеню')or

(sEdit10.Text='Авеню.')or

(sEdit10.Text='авеню.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');.lines.add('2 слово верно: ' + 'Авеню');.lines.add('');(sEdit10.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('2 слово не верно. '+ 'Правильный ответ: Авеню');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('2 слово не верно. ' + 'Правильный ответ: Авеню');.lines.add('Вы написали: ' + sEdit10.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton4Click(Sender: TObject);(sEdit11.Text='Кашне')or

(sEdit11.Text='кашне')or

(sEdit11.Text='Кашне.')or

(sEdit11.Text='кашне.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');.lines.add('3 слово верно: ' + 'Кашне');.lines.add('');(sEdit11.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('3 слово не верно. '+ 'Правильный ответ: Кашне');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('3 слово не верно. ' + 'Правильный ответ: Кашне');.lines.add('Вы написали: ' + sEdit11.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton5Click(Sender: TObject);(sEdit12.Text='Кредо')or

(sEdit12.Text='кредо')or

(sEdit12.Text='Кредо.')or

(sEdit12.Text='кредо.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');.lines.add('4 слово верно: ' + 'Кредо');.lines.add('');(sEdit12.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('4 слово не верно. '+ 'Правильный ответ: Кредо');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('4 слово не верно. ' + 'Правильный ответ: Кредо');.lines.add('Вы написали: ' + sEdit12.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton6Click(Sender: TObject);(sEdit13.Text='Колье')or

(sEdit13.Text='колье')or

(sEdit13.Text='Колье.')or

(sEdit13.Text='колье.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');

srichedit1.lines.add('5 слово верно: ' + 'Колье');

srichedit1.lines.add('');(sEdit13.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('5 слово не верно. '+ 'Правильный ответ: Колье');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('5 слово не верно. ' + 'Правильный ответ: Колье');.lines.add('Вы написали: ' + sEdit13.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton7Click(Sender: TObject);(sEdit14.Text='Пари')or

(sEdit14.Text='пари')or

(sEdit14.Text='Пари.')or

(sEdit14.Text='пари.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');

srichedit1.lines.add('6 слово верно: ' + 'Пари');

srichedit1.lines.add('');(sEdit14.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('6 слово не верно. '+ 'Правильный ответ: Пари');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('6 слово не верно. ' + 'Правильный ответ: Пари');.lines.add('Вы написали: ' + sEdit14.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton8Click(Sender: TObject);(sEdit15.Text='Крупье')or

(sEdit15.Text='крупье')or

(sEdit15.Text='Крупье.')or

(sEdit15.Text='крупье.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');.lines.add('7 слово верно: ' + 'Крупье');.lines.add('');(sEdit15.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('7 слово не верно. '+ 'Правильный ответ: Крупье');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('7 слово не верно. ' + 'Правильный ответ: Крупье');.lines.add('Вы написали: ' + sEdit15.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton9Click(Sender: TObject);(sEdit16.Text='Табу')or

(sEdit16.Text='табу')or

(sEdit16.Text='табу.')or

(sEdit16.Text='Табу.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');.lines.add('8 слово верно: ' + 'Табу');.lines.add('');(sEdit16.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('8 слово не верно. '+ 'Правильный ответ: Табу');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('8 слово не верно. ' + 'Правильный ответ: Табу');.lines.add('Вы написали: ' + sEdit16.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton10Click(Sender: TObject);(sEdit17.Text='Интервью')or

(sEdit17.Text='интервью')or

(sEdit17.Text='интервью.')or

(sEdit17.Text='Интервью.')then:= ResultZad1+1;.Picture.LoadFromFile('картинки/Done.bmp');

srichedit1.lines.add('9 слово верно: ' + 'Интервью');

srichedit1.lines.add('');(sEdit17.Text='') then:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('9 слово не верно. '+ 'Правильный ответ: Интервью');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.Picture.LoadFromFile('картинки/error.bmp');

srichedit1.lines.add('9 слово не верно. ' + 'Правильный ответ: Интервью');.lines.add('Вы написали: ' + sEdit17.Text);

srichedit1.lines.add('');;.Enabled:=false;;TFormLess16Lvl3.sButton11Click(Sender: TObject);ResultZad1:integer;:=0;.lines.add('3 УПРАЖНЕНИЕ');.lines.add('');

begin(sEdit18.Text='я') then:= ResultZad1+1;.lines.add('1 слово верно: ' + 'принято');.lines.add('');(sEdit18.Text='') then:= ResultZad1+0;.lines.add('1 слово не верно. '+ 'Правильный ответ: принято');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('1 слово не верно. ' + 'Правильный ответ: принято');.lines.add('Вы написали: ' + sEdit18.Text);

srichedit1.lines.add('');;(sEdit19.Text='е') then:= ResultZad1+1;.lines.add('2 слово верно: ' + 'претендентами');.lines.add('');(sEdit19.Text='') then:= ResultZad1+0;.lines.add('2 слово не верно. '+ 'Правильный ответ: претендентами');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('2 слово не верно. ' + 'Правильный ответ: претендентами');.lines.add('Вы написали: ' + sEdit19.Text);

srichedit1.lines.add('');;(sEdit20.Text='и') then:= ResultZad1+1;.lines.add('3 слово верно: ' + 'утрачивает');.lines.add('');(sEdit20.Text='') then:= ResultZad1+0;.lines.add('3 слово не верно. '+ 'Правильный ответ: утрачивает');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('3 слово не верно. ' + 'Правильный ответ: утрачивает');.lines.add('Вы написали: ' + sEdit20.Text);

srichedit1.lines.add('');;(sEdit21.Text='е') then:= ResultZad1+1;.lines.add('4 слово верно: ' + 'имени');.lines.add('');(sEdit21.Text='') then:= ResultZad1+0;.lines.add('4 слово не верно. '+ 'Правильный ответ: имени');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('4 слово не верно. ' + 'Правильный ответ: имени');.lines.add('Вы написали: ' + sEdit21.Text);

srichedit1.lines.add('');;(sEdit22.Text='и') then:= ResultZad1+1;.lines.add('5 слово верно: ' + 'жизни');.lines.add('');(sEdit22.Text='') then:= ResultZad1+0;.lines.add('5 слово не верно. '+ 'Правильный ответ: жизни');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('5 слово не верно. ' + 'Правильный ответ: жизни');.lines.add('Вы написали: ' + sEdit22.Text);

srichedit1.lines.add('');;(sEdit23.Text='а') then:= ResultZad1+1;.lines.add('6 слово верно: ' + 'означает');.lines.add('');(sEdit23.Text='') then:= ResultZad1+0;.lines.add('6 слово не верно. '+ 'Правильный ответ: означает');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('6 слово не верно. ' + 'Правильный ответ: означает');.lines.add('Вы написали: ' + sEdit23.Text);

srichedit1.lines.add('');;(sEdit24.Text='т') then:= ResultZad1+1;.lines.add('7 слово верно: ' + 'известность');.lines.add('');(sEdit24.Text='') then:= ResultZad1+0;.lines.add('7 слово не верно. '+ 'Правильный ответ: известность');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('7 слово не верно. ' + 'Правильный ответ: известность');.lines.add('Вы написали: ' + sEdit24.Text);

srichedit1.lines.add('');;.Caption:= 'Ваш балл: ' + IntToStr(ResultZad1) + ' из ' + '7';

srichedit1.Lines.Add('Общее колличество баллов за задание третьего упражнения: ' + IntToStr(ResultZad1) + ' из ' + '7');

srichedit1.Lines.Add('');.Enabled:=false;;;TFormLess16Lvl3.sPanel3MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove3 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel3.Left;:= sPanel3.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel3MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel3MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel3.BoundsRect, sGroupBox5.BoundsRect) then.Left:= sGroupBox5.Left+16;.Top:= sGroupBox5.Top+32;(ResultZad1gb5<=8) and (EnabledMove3=true)thengb5:= ResultZad1gb5+1;;(ResultZad1gb5>=7)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Слова среднего рода указаны верно: жюри, интервью, пари, кашне, табу, кредо, колье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel4MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove4 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel4.Left;:= sPanel4.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel4MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel4MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel4.BoundsRect, sGroupBox5.BoundsRect) then.Left:= sGroupBox5.Left+16;.Top:= sGroupBox5.Top+64;(ResultZad1gb5<=8) and (EnabledMove4=true)thengb5:= ResultZad1gb5+1;;(ResultZad1gb5>=7)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Слова среднего рода указаны верно: жюри, интервью, пари, кашне, табу, кредо, колье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel6MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);(EnabledMove6 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel6.Left;:= sPanel6.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel6MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;

procedure TFormLess16Lvl3.sPanel6MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel6.BoundsRect, sGroupBox5.BoundsRect) then.Left:= sGroupBox5.Left+16;.Top:= sGroupBox5.Top+96;(ResultZad1gb5<=8) and (EnabledMove6=true)thengb5:= ResultZad1gb5+1;;(ResultZad1gb5>=7)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Слова среднего рода указаны верно: жюри, интервью, пари, кашне, табу, кредо, колье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel7MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove7 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel7.Left;:= sPanel7.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel7MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel7MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel7.BoundsRect, sGroupBox5.BoundsRect) then.Left:= sGroupBox5.Left+16;.Top:= sGroupBox5.Top+128;(ResultZad1gb5<=8) and (EnabledMove7=true)thengb5:= ResultZad1gb5+1;;(ResultZad1gb5>=7)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Слова среднего рода указаны верно: жюри, интервью, пари, кашне, табу, кредо, колье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel8MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove8 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel8.Left;:= sPanel8.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel8MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel8MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel8.BoundsRect, sGroupBox5.BoundsRect) then.Left:= sGroupBox5.Left+16;.Top:= sGroupBox5.Top+160;(ResultZad1gb5<=8) and (EnabledMove8=true)thengb5:= ResultZad1gb5+1;;(ResultZad1gb5>=7)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Слова среднего рода указаны верно: жюри, интервью, пари, кашне, табу, кредо, колье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel9MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove9 =true)then

Button=mbLeftbegin:=x;:=y;:= sPanel9.Left;:= sPanel9.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel9MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel9MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel9.BoundsRect, sGroupBox5.BoundsRect) then.Left:= sGroupBox5.Left+16;.Top:= sGroupBox5.Top+192;(ResultZad1gb5<=8) and (EnabledMove9=true)thengb5:= ResultZad1gb5+1;;(ResultZad1gb5>=7)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Слова среднего рода указаны верно: жюри, интервью, пари, кашне, табу, кредо, колье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel10MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove10 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel10.Left;

:= sPanel10.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel10MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel10MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel10.BoundsRect, sGroupBox5.BoundsRect) then.Left:= sGroupBox5.Left+16;.Top:= sGroupBox5.Top+224;(ResultZad1gb5<=8) and (EnabledMove10=true)thengb5:= ResultZad1gb5+1;;(ResultZad1gb5>=7)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Слова среднего рода указаны верно: жюри, интервью, пари, кашне, табу, кредо, колье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel5MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove5 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel5.Left;:= sPanel5.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel5MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel5MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel5.BoundsRect, sGroupBox4.BoundsRect) then.Left:= sGroupBox4.Left+16;.Top:= sGroupBox4.Top+32;(ResultZad1gb4<=2) and (EnabledMove5=true)thengb4:= ResultZad1gb4+1;;(ResultZad1gb4>=1)then.Visible:=true;gb5:=0;

srichedit1.Lines.Add('Cлова женского рода указаны верно: авеню');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sPanel11MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

if(EnabledMove11 =true)thenButton=mbLeftbegin:=x;:=y;:= sPanel11.Left;:= sPanel11.top;:=true;

(Sender as TsPanel).BringToFront;:=false;;;TFormLess16Lvl3.sPanel11MouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

if dragTsPanel(Sender) do:=Left+x-x0;:=Top+y-y0;TFormLess16Lvl3.sPanel11MouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);Overlay:Trect;

beginInterSectRect(Overlay, sPanel11.BoundsRect, sGroupBox3.BoundsRect) then.Left:= sGroupBox3.Left+16;.Top:= sGroupBox3.Top+32;(ResultZad1gb3<=2) and (EnabledMove11=true)thengb3:= ResultZad1gb3+1;;(ResultZad1gb3>=1)then.Visible:=true;gb3:=0;

srichedit1.Lines.Add('Слова мужского рода указаны верно: крупье');

srichedit1.Lines.Add('');;:=false;.Left:= xStart;.Top:= yStart;;:=false;;TFormLess16Lvl3.sButton12Click(Sender: TObject);ResultZad1:integer;:=0;.lines.add('3 УПРАЖНЕНИЕ 2 ЗАДАНИЕ');.lines.add('');

begin(scombobox9.Text='Существительное') then:= ResultZad1+1;.lines.add('Часть речи слова имени указана верно: ' + 'Существительное');.lines.add('');(scombobox9.Text='') then:= ResultZad1+0;.lines.add('Часть речи слова имени указана не верно. '+ 'Правильный ответ: Существительное');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Часть речи слова имени указана не верно. ' + 'Правильный ответ: Существительное');.lines.add('Вы написали: ' + scombobox9.Text);

srichedit1.lines.add('');;(scombobox17.Text='Существительное') then:= ResultZad1+1;.lines.add('Часть речи слова Псевдонимом указана верно: ' + 'Существительное');.lines.add('');(scombobox17.Text='') then:= ResultZad1+0;.lines.add('Часть речи слова Псевдонимом указана не верно. '+ 'Правильный ответ: Существительное');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Часть речи слова Псевдонимом указана не верно. ' + 'Правильный ответ: Существительное');.lines.add('Вы написали: ' + scombobox17.Text);

srichedit1.lines.add('');;(scombobox10.Text='Нарицательное') then:= ResultZad1+1;.lines.add('Имя слова Имени указанo верно: ' + 'Нарицательное');.lines.add('');(scombobox10.Text='') then:= ResultZad1+0;.lines.add('Имя слова Имени указанo не верно. '+ 'Правильный ответ: Нарицательное');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Имя слова Имени указанo не верно. ' + 'Правильный ответ: Нарицательное');.lines.add('Вы написали: ' + scombobox10.Text);

srichedit1.lines.add('');;(scombobox18.Text='Нарицательное') then:= ResultZad1+1;.lines.add('Имя слова Псевдонимом указанo верно: ' + 'Нарицательное');.lines.add('');(scombobox18.Text='') then:= ResultZad1+0;.lines.add('Имя слова Псевдонимом указанo не верно. '+ 'Правильный ответ: Нарицательное');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Имя слова Псевдонимом указанo не верно. ' + 'Правильный ответ: Нарицательное');.lines.add('Вы написали: ' + scombobox18.Text);

srichedit1.lines.add('');;(scombobox11.Text='Неодушевленное') then:= ResultZad1+1;.lines.add('Предмет слова Имени указан верно: ' + 'Неодушевленное');.lines.add('');(scombobox11.Text='') then:= ResultZad1+0;.lines.add('Предмет слова Имени указан не верно. '+ 'Правильный ответ: Неодушевленное');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Предмет слова Имени указан не верно. ' + 'Правильный ответ: Неодушевленное');.lines.add('Вы написали: ' + scombobox11.Text);

srichedit1.lines.add('');;(scombobox19.Text='Неодушевленное') then:= ResultZad1+1;.lines.add('Предмет слова Псевдонимом указан верно: ' + 'Неодушевленное');.lines.add('');(scombobox19.Text='') then:= ResultZad1+0;.lines.add('Предмет слова Псевдонимом указан не верно. '+ 'Правильный ответ: Неодушевленное');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Предмет слова Псевдонимом указан не верно. ' + 'Правильный ответ: Неодушевленное');.lines.add('Вы написали: ' + scombobox19.Text);

srichedit1.lines.add('');;(scombobox12.Text='Средний') then:= ResultZad1+1;.lines.add('Род слова Имени указан верно: ' + 'Средний');.lines.add('');(scombobox12.Text='') then:= ResultZad1+0;.lines.add('Род слова Имени указан не верно. '+ 'Правильный ответ: Средний');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Род слова Имени указан не верно. ' + 'Правильный ответ: Средний');.lines.add('Вы написали: ' + scombobox12.Text);

srichedit1.lines.add('');;(scombobox20.Text='Мужской') then:= ResultZad1+1;.lines.add('Род слова Псевдонимом указан верно: ' + 'Мужской');.lines.add('');(scombobox20.Text='') then:= ResultZad1+0;.lines.add('Род слова Псевдонимом указан не верно. '+ 'Правильный ответ: Мужской');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Род слова Псевдонимом указан не верно. ' + 'Правильный ответ: Мужской');.lines.add('Вы написали: ' + scombobox20.Text);

srichedit1.lines.add('');;(scombobox13.Text='Разносклоняемое') then:= ResultZad1+1;.lines.add('Склонение слова Имени указано верно: ' + 'Разносклоняемое');.lines.add('');(scombobox13.Text='') then

ResultZad1:= ResultZad1+0;.lines.add('Склонение слова Имени указано не верно. '+ 'Правильный ответ: Разносклоняемое');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Склонение слова Имени указано не верно. ' + 'Правильный ответ: Разносклоняемое');.lines.add('Вы написали: ' + scombobox13.Text);

srichedit1.lines.add('');;(scombobox21.Text='2') then:= ResultZad1+1;.lines.add('Склонение слова Псевдонимом указано верно: ' + '2');.lines.add('');(scombobox21.Text='') then:= ResultZad1+0;.lines.add('Склонение слова Псевдонимом указано не верно. '+ 'Правильный ответ: 2');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Склонение слова Псевдонимом указано не верно. ' + 'Правильный ответ: 2');.lines.add('Вы написали: ' + scombobox21.Text);

srichedit1.lines.add('');;

(scombobox14.Text='Дательный') then:= ResultZad1+1;.lines.add('Падеж слова Имени указан верно: ' + 'Дательный');.lines.add('');(scombobox14.Text='') then:= ResultZad1+0;.lines.add('Падеж слова Имени указан не верно. '+ 'Правильный ответ: Дательный');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Падеж слова Имени указан не верно. ' + 'Правильный ответ: Дательный');.lines.add('Вы написали: ' + scombobox14.Text);

srichedit1.lines.add('');;(scombobox22.Text='Творительный') then:= ResultZad1+1;.lines.add('Падеж слова Псевдонимом указан верно: ' + 'Творительный');.lines.add('');(scombobox22.Text='') then:= ResultZad1+0;.lines.add('Падеж слова Псевдонимом указан не верно. '+ 'Правильный ответ: Творительный');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Падеж слова Псевдонимом указан не верно. ' + 'Правильный ответ: Творительный');.lines.add('Вы написали: ' + scombobox22.Text);

srichedit1.lines.add('');;(scombobox15.Text='Ед.') then:= ResultZad1+1;.lines.add('Число слова Имени указано верно: ' + 'Ед.');.lines.add('');(scombobox15.Text='') then:= ResultZad1+0;.lines.add('Число слова Имени указано не верно. '+ 'Правильный ответ: Ед.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Число слова Имени указано не верно. ' + 'Правильный ответ: Ед.');

srichedit1.lines.add('Вы написали: ' + scombobox15.Text);.lines.add('');; (scombobox23.Text='Ед.') then:= ResultZad1+1;.lines.add('Число слова Псевдонимом указано верно: ' + 'Ед.');.lines.add('');(scombobox23.Text='') then:= ResultZad1+0;.lines.add('Число слова Псевдонимом указано не верно. '+ 'Правильный ответ: Ед.');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Число слова Псевдонимом указано не верно. ' + 'Правильный ответ: Ед.');

srichedit1.lines.add('Вы написали: ' + scombobox23.Text);.lines.add('');;(scombobox16.Text='Обстоятельство') then

ResultZad1:= ResultZad1+1;.lines.add('Синтаксическая роль слова Имени указана верно: ' + 'Обстоятельство');

srichedit1.lines.add('');(scombobox16.Text='') then

ResultZad1:= ResultZad1+0;.lines.add('Синтаксическая роль слова Имени указана не верно. '+ 'Правильный ответ: Обстоятельство');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Синтаксическая роль слова Имени указана не верно. ' + 'Правильный ответ: Обстоятельство');.lines.add('Вы написали: ' + scombobox16.Text);

srichedit1.lines.add('');;(scombobox24.Text='Дополнение') then:= ResultZad1+1;.lines.add('Синтаксическая роль слова Псевдонимом указана верно: ' + 'Дополнение');.lines.add('');(scombobox24.Text='') then:= ResultZad1+0;.lines.add('Синтаксическая роль слова Псевдонимом указана не верно. '+ 'Правильный ответ: Дополнение');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Синтаксическая роль слова Псевдонимом указана не верно. ' + 'Правильный ответ: Дополнение');.lines.add('Вы написали: ' + scombobox24.Text);

srichedit1.lines.add('');;(sedit25.Text='Имя') or

(sedit25.Text='имя')then:= ResultZad1+1;.lines.add('Начальная форма слова Имени указана верно: ' + 'Имя');.lines.add('');(sedit25.Text='') then

ResultZad1:= ResultZad1+0;.lines.add('Начальная форма слова Имени указана не верно. '+ 'Правильный ответ: Имя');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Начальная форма слова Имени указана не верно. ' + 'Правильный ответ: Имя');.lines.add('Вы написали: ' + sedit25.Text);

srichedit1.lines.add('');;(sedit12.Text='Псевдоним') or

(sedit12.Text='псевдоним')then:= ResultZad1+1;.lines.add('Начальная форма слова Псевдоним указана верно: ' + 'Псевдоним');.lines.add('');(sedit12.Text='') then

ResultZad1:= ResultZad1+0;.lines.add('Начальная форма слова Псевдоним указана не верно. '+ 'Правильный ответ: Псевдоним');.lines.add('Вы ничего не написали');

srichedit1.lines.add('');:= ResultZad1+0;.lines.add('Начальная форма слова Псевдоним указана не верно. ' + 'Правильный ответ: Псевдоним');.lines.add('Вы написали: ' + sedit12.Text);

srichedit1.lines.add('');;.Caption:= 'Ваш балл: ' + IntToStr(ResultZad1) + ' из ' + '18';

srichedit1.Lines.Add('Общее колличество баллов за второе задание третьего упражнения: ' + IntToStr(ResultZad1) + '

из ' + '18');.Lines.Add('');.Enabled:=false;

end;;TFormLess16Lvl3.btn1Click(Sender: TObject);:string;.PlainText:=false;.Filter := 'RTF|*.rtf|Word file|*.doc';ssavedialog1.Execute then:=ssavedialog1.FileName;.Lines.SaveToFile(f);;

end.

ПРИЛОЖЕНИЕ Г


КОНТРОЛЬНЫЙ ПРИМЕР

Открываем директорию с программой и в зависимости от того, какая операционная система у вас установлена, открываем соответствующую папку.


Рисунок Г.1 - Основная директория


Запускаем в любом порядке расположенные в директории файлы.


Рисунок Г.2 - Файлы необходимые для стабильной работы приложения


Возвращаемся в основную директорию открываем папку «Программа» и дважды кликаем левой кнопкой мыши по значку «Project1».

Рисунок Г.3 - Окно - заставка


При открытии программы появляется окно - заставка, которое через несколько перетекает в Главное окно программы (смотреть рисунок Г.4)


Рисунок Г.4 - Главное окно программы


В данном окне выбираем последовательность уроков, например, с 13 по 18 уроки.

Рисунок Г.5 - Окно уроков


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


Рисунок Г.6 - Вкладка «Теоретический материал»


В данной вкладке ознакамливаемся с предоставленным материалом. Далее выполняем упражнения.

Рисунок Г.7 - Упражнения с редактируемыми полями


В упражнениях данного рода вписываем в поля слова или окончания. После того, как вписали все слова или окончания нажимаем кнопку «Проверить» и программа выдает нам результат.


Рисунок Г.8 - Упражнения на перетаскивание


В упражнениях данного типа предоставлены слова, а также поля, в которые их надо перетащить. После того как перетащим все слова на свои места появляется сообщение «Правильно!».

Рисунок Г.9 - Упражнения на переключатели


В упражнениях данного рода выбираем один из предоставленных вариантов, после чего нажимаем кнопку «Проверить».


Рисунок Г.10 - Упражнения с выпадающим списком

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


Рисунок Г.11 - Отчет


В данной вкладке просматриваем ошибки, сделанные во время выполнения заданий. Также в этой вкладке имеется функция «Сохранить отчет».

Рисунок Г.12 - Сохранить отчет


После нажатия кнопки «Сохранить отчет» появляется диалоговое окно, где нужно указать место для сохранения файла, а также имя файла. Затем нажимаем «Сохранить».


Введение Современные подходы и тенденции в развитии различных моделей образовательных систем показывают, что мы живем в мире, где наука и высокие техноло

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ