Интеллектуальная система формирования индивидуальных траекторий подготовки летного состава
Основные аспекты конструирования интеллектуальных систем. Создание модели интеллектуальной системы подготовки летного состава. Интеллектуальная система по подготовке летного состава по индивидуальным траекториям. Апробация и внедрение ИС на предприятия.
Рубрика | Военное дело и гражданская оборона |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 06.05.2013 |
Размер файла | 2,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
частичной утраты профессиональных навыков, повышения качества взаимодействия в экипаже, нарушений воздушных правил выполнения полетов, выполнения полетов при погоде хуже установленного минимума,
нарушений правил предполетного осмотра авиационной техники, превышения допустимой полетной массы ВС, недостаточной предполетной и (или) предпосадочной подготовки и, как следствие этого, принятия необоснованных решений при планировании и осуществлении полета,
ошибочные действия при попадании в условия, существенно ограничивающие видимость в полете (снежный вихрь, погодные условия хуже прогнозируемых).
Разработанная система предлагает молодым курсантам общую программу подготовки. Где после прохождения каждого раздела происходит проверка знаний на пройденный материал, в случаи утраты каких либо знаний по программе, система предлагает индивидуальную траекторию подготовки для каждого курсанта, для освоения упущенного раздела (см. рис. 1).
Рис 1.
Во избежание утраты знаний у действующего летного состава с помощью разработанной интеллектуальной системы можно проводит полугодовую аттестацию в виде общего тестирования по всем разделам одновременно, где система по прохождению теста, покажет и запишет в общую базу данных результат аттестуемого. Разработанная система укажет на те разделы в которых существует утрата знаний (см. рис. 2).
Рис 2.
На представленном примере представлена часть интеллектуальной системы где проверялись знания по дисциплине «Воздушные правила полета», система представила в каких разделах были утрачены знания. После чего аттестуемый должен в обязательном порядке повторить эти разделы.
Во избегания человеческого фактора в авиапроисшествиях связанные с погодными условиями, разрабатываемая система позволяет проверить знания в области метеорологии. Обязательное условие в предполетном брифинге выучить метео-карты и ветра. А так как перед полетом проходит обязательный метео-брифинг и незнания, является грубым нарушением , метео-карт по маршруту, а так как в метео-картах существует огромное количество обозначений и прогнозов, что экипаж может забыть или не обратить внимания некоторые предупреждения, и какие могут быть последствия (см. рис. 3).
Рис 3.
Существует обязательное правило предполетного и послеполетного осмотра ВС. Разработанная система позволит летному составу выучит наизусть обязательные процедуры проверки такие как знания «ЧЕК ЛИСТА». Где описана определенная последовательность действий (см.рис.4).
Рис 4.
При организации работы по повышению уровня безопасности полётов, предотвращению авиационных происшествий и инцидентов обеспечить реализацию следующих мероприятий: на всех уровнях активизировать работу инспекторских органов контролю за соблюдением авиакомпаниями и аэропортами установленных требований при организации, обеспечении и производстве полётов. Разрабатываемая система осуществляет запись результатов в общую базу данных, где инспектор может проконтролировать готовность летного состава (см.рис.5)
Рис 5.
на постоянной основе осуществлять мероприятия по выявлению и пресечению фактов незаконной деятельности в области авиации общего назначения;
повысить требовательность к качеству расследований авиационных событий, при этом обратить внимание на правильность их классификации, обязательность отправки оперативной информации об инцидентах КБ - разработчикам ВС и авиадвигателей, практиковать проведение исследований отказавших изделий в научных организациях, ремонтных предприятиях и других организациях, имеющих соответствующие возможности;
принимать исчерпывающие меры по устранению и профилактике причин нарушений правил организации, обеспечения и выполнения полетов, выявленных как при расследовании авиационных событий, так и при проведении инспекторских проверок;
обеспечить контроль за соответствием уровня профессиональной подготовки лётного состава допуску к выполнению полётов в ожидаемых районах и условиях. Система позволяет осуществлять контроль за подготовкой летного состава, а также система выводить и записывает результат в базу данных о готовности, в любое время государственная инспекция может войти в БД и посмотреть результаты по каждому аттестуемому.
Из-за появления у российских компания много иностранных воздушных судов, авиационные власти РФ повышают требования, предъявляемых к личному составу. И в связи с этим авиационные компании (работодатель) проводят с личным составом занятия по изучению особенностей эксплуатации воздушных судов, выполнения полетов в особых условиях, при внесения изменений и уточнений в эксплуатационную документацию и проведение доработок изделий авиационной техники.
3. Заключение
В данном разделе было выявлено, что основной процент (до 70%) авиапросшествий связана с человеческим фактором. Во избежание подобной статистики в дальнейшем и повышения уровня безопасности полетов, была представлена разработанная интеллектуальная система, которая в дальнейшем поможет повысить безопасность полетов. И снизит авиационные происшествия из-за человеческого фактора или ошибки экипажа.
VIII. Экономическое обоснование проекта
1. Постановка задачи
В этой части дипломного проекта описывается обоснование экономической целесообразности разработки интеллектуальной системы и отказоустойчивости информационной структуры. Так же будет определение коэффициента технического уровня разработки, определение ее стоимость, составление календарного графика работы и определение экономического эффекта.
2. Определение технического уровня разработки
Определим коэффициент технического уровня разработки:
Таблица 3.1 Характеристики качества
Характеристики качества |
Единица измерения |
Значение характеристик качества |
Значимость характеристик |
||
аналог |
новый вариант |
||||
Эффективность |
1 |
10 |
0,2 |
||
Защищенность |
1 |
1 |
0,35 |
||
Надежность |
1 |
10 |
0,35 |
||
Сопровождаемость |
1 |
1 |
0,1 |
||
ИТОГО: |
1 |
Индекс технического уровня.
,
где , - уровень i-той функционально-технической характеристики соответственно нового (проектируемого) и базового изделий, - значимость i-й функционально-технической характеристики качества изделия, n - количество рассматриваемых функционально-технических характеристик. Сумма равна 1.
Если повышение технического уровня изделия связано со снижением абсолютной величины функционально-технического уровня необходимо поменять местами. В случае отсутствия данных об абсолютном значении изменения характеристик при проектировании новых изделий используется их относительные изменения. При использовании для оценки качественных функциональных характеристик их соотношение по новому и базовому вариантам может иметь следующие значения: «1» - при наличии данного признака у описываемого и базового варианта, «10» при отсутствии данного признака у базового варианта и наличии его у оцениваемого варианта.
>1 , т.е. разработка целесообразна.
3. Определение трудоемкости и затрат на разработку
Трудоемкость разработки будем рассчитывать по формуле:
tПР Т = tи+ tа+ tк+ tот+ tд, где
-затраты труда на подготовку описания задачи,
- затраты труда на постановку задачи,
- затраты труда на разработку алгоритма решения задачи,
- затраты труда на программирование по блок-схемам,
- затраты труда на отладку программы,
- затраты труда на подготовку документации,
Q = q**(1++…+)
- условное количество строк кода в описании программы
q = 312 - количество этапов и элементарных процедур преобразования информации
- коэффициент сложности программного обеспечения.
-коэффициенты корректировки программного обеспечения в процессе отладки,
- Количество коррекций,
- увеличение затрат труда на изучение и постановку задачи вследствие их сложности и новизны.
-коэффициент квалификации разработчика программного обеспечения.
Таким образом
Q = q**(1++…+) = 822,68
Примем затраты труда на подготовку описания задачи равными одной рабочей неделе разработчика, т.е.
Итого, затраты труда на разработку составили:
tПР Т = tи+ tа+ tк+ tот+ tд = 40+22,43+29,91+45,7+186,9+261,7 = 586,6 чел.-час.
tпр т=586,6 чел.-час.
Также требуется составить таблицу основных этапов разработки с указанием доли трудоемкости каждого из этапов.
Таблица 3.2 Трудоемкость этапов разработки
Наименование стадии (этапа) работ |
Доля этапа в общем объеме работ, % |
|
1.Анализ исходных данных, составление ТЗ |
6 |
|
2. Анализ методов и средств решения задачи |
5 |
|
3 .Разработка ПАК |
15 |
|
4. Испытания на тестовом стенде |
18 |
|
5. Отладка |
29 |
|
6. Испытания в реальных условиях |
22 |
|
7. Составление технической документации |
5 |
|
ИТОГО: |
100 |
4. Календарное планирование работ
Календарное планирование работ осуществляется по календарному плану. Разработка календарного плана производится на основе данных о трудоемкости работ, связанных с выполнением дипломной работы. Окончательно структуру трудоемкости работ отдельных этапов определяют, использую данные о видах работ, подлежащих выполнению на каждом этапе работ.
Производственный цикл каждого этапа:
, где
Тэi- трудоемкость этапа, чел-ч.,
tрд - продолжительность рабочего дня,
q - количество работников, одновременно участвующих в выполнении работ.
5. Определение себестоимости и цены разработки
Определение затрат на разработку проекта начитается с определения завтрат на оплату труда персонала. При этом зарплата персонала на стадии работы рассчитывается по формуле:
, где
- трудоемкость j-ой стадии работы
- средняя дневная ставка оплаты работ j-ой стадии работы
Таблица 3.4 Перечень исполнителей:
Категории исполнителей |
Число исполнителей |
Зарплата (руб./месяц) |
|
Руководитель проекта |
1 |
55200 |
|
Ведущий программист |
1 |
45160 |
|
Программист |
1 |
31120 |
Таблица 3.5 Расчет заработной платы персонала при оценке затрат на проектирование
№ стадии |
Трудоемкость стадии (чел-дн) |
Исполнители |
Дневная ставка, руб |
Среднаяя дневная ставка, руб |
Заработная плата, руб |
||
Должность |
Численность |
||||||
1 |
9 |
Руководитель проекта Ведущий программист |
1 1 |
2579,43 2110,28 |
2047,97 |
18431,73 |
|
2 |
27,5 |
Ведущий программист программист |
1 1 |
2110,28 1454,21 |
1782,24 |
49011,6 |
|
3 |
22 |
Ведущий программист Программист |
1 1 |
2110,28 2908,42 |
1672,90 |
36803,8 |
|
4 |
38,5 |
Ведущий программист |
1 |
2110,28 |
2110,28 |
81245,6 |
|
5 |
11 |
Ведущий программист Программист |
1 1 |
2110,28 2908,42 |
1672,90 |
18401,9 |
|
6 |
2 |
Ведущий программист Программист |
1 1 |
2110,28 2908,42 |
1672,90 |
3345,8 |
|
ИТОГО: |
207240,4 248688,4 (с учетом премиальных 20%) |
Для обеспечения разработки требуется закупка следующего оборудования и материалов:
Таблица 3.6 Приобретаемое программное обеспечение:
№ п/п |
Наименование материала или оборудования |
Стоимость за 1 единицу, руб |
Расход (шт) |
Общая стоимость, руб |
|
1 |
Microsoft Windows XP |
5237,70 |
1 |
5237,70 |
|
2 |
Aigeneral 1.0gen |
3155,00 |
1 |
3155,00 |
|
3 |
Borland-Delphi 5.0 |
7344,65 |
1 |
7344,65 |
|
ИТОГО: |
15737,3 |
Таблица 3.7 Приобретаемое оборудование:
№ п/п |
Наименование материала или оборудования |
Стоимость за 1 единицу, руб |
Расход (шт) |
Общая стоимость, руб |
|
ПК для программиста |
22000,00 |
1 |
22000,00 |
||
Бумага для лазерной печати |
200,00 |
2 |
400,00 |
||
Тонер-картридж для лазерного принтера |
2000,00 |
1 |
2000,00 |
||
ИТОГО: |
24400,00 |
Норматив отчислений на социальные нужды составляет 26,2% от зарабтной платы сновных исполнителей и равен 65156,2 руб.
Величина накладных расходов определяется по формуле:
Рнакл= ЗППП * Кнакл, где
ЗППП - заработная плата основных исполнителей
Кнакл, - коэффициент накладных расходов, 1.0? Кнакл ?2.0
Рнакл= ЗППП * Кнакл = 248688,4 * 1.5 = 373032,6
Таблица 3.8 Затраты на создание
№ п/п |
Наименование статей затрат |
Затраты (руб.) |
Удельный вес (%) |
|
1 |
Материалы |
15737,3 |
31,75 |
|
2 |
Оборудование |
2440,00 |
24,15 |
|
3 |
Заработная плата основных исполнителей |
248688,4 |
16,00 |
|
4 |
Отчисление на социальные нужды |
65156,20 |
4,1 |
|
5 |
Накладные расходы |
373032,6 |
24,00 |
|
ИТОГО: |
727014,5 |
100 |
Затраты на создание и исследование:
727014,5/0,5 = 1454029 руб
Тогда цена предложения (при =250%):
1454029 + 248688,4 *250/100 = 4256793,5 руб
6. Оценка экономической эффективности
Затраты на эксплуатацию данной системы аналогичны затратам на эксплуатацию базовой, т.е.
.
Годовые эксплуатационные затраты включают следующие затраты:
- затраты на оплату труда персонала, обслуживающего интеллектуальную систему (ИС);
- отчисления на единый социальный налог (26%) обслуживающего персонала;
- страховые социальные расходы на производственный травматизм исполнителей (3%);
- амортизационные отчисления (АВТ Г);
- затраты на электроэнергию для решения комплекса задач (ЭЭЛ);
- затраты на текущий ремонт и обслуживание (ЗР ВТ);
- затраты на технические носители информации ИС (ЗНОСис);
- накладные расходы на эксплуатации ИС (ЗН ИС).
Коэффициент использования мощности интеллектуальной системы системы для решения данной задачи.
dИС=/= 1600/1600=1, где
- количество машинного времени, затрачиваемого для решения задачи в год.
- эффективное время работы вычислительной техники в процессе решения задачи.
Среднегодовая численность персонала:
начальник отдела Ч1=1
инженер Ч2=1
техник Ч3=1
Месячный оклад персонала:
начальник отдела 45000 руб.;
инженера 30000 руб.;
техника 20000 руб.;
Коэффициент дополнительной заработной платы Кдоп=0,1
Коэффициент премиальных выплат Кпр=0,25
Затраты на оплату труда персонала вычисляются по формуле:
(4.10)
Таким образом по формуле 4.6:
ЗП эис=2857500руб.
Отчисления на единый социальный налог обслуживающего персонала составляют: 285750*0,26=74282руб.
Страховые социальные расходы на травматизм исполнителей:
285750*0,03=85720,5руб.
Стоимость вычислительной техники составляет Свт=30000 руб.
Амортизационные отчисления (годовые) по вычислительной технике:
Автг=Свт*Наэт*dис=30000*25*1/100=7500руб, где
=25%- годовая норма амортизации.
Суммарная мощность вычислительной техники W=2,3 КВт.
Стоимость одного КВт/ч электроэнергии: руб.
Затраты на электроэнергию в год:
руб.
Затраты на текущий ремонт и обслуживание техники.
Зрвт=Свт*Кр*dис/100=30000*5*1/100=1500руб., где
% -норматив затрат средств на ремонт.
Затраты на технические носители информации:
Знос=Свт*Кнос*dис/100=30000/100=300руб., где
-коэффициент расходов на носители информации.
Накладные расходы по эксплуатации ИС:
Знакл=ЗПэис*Кнакл*dис/100=285750/100=28575руб, где
- коэффициент накладных расходов
Суммарные годовые эксплуатационные затраты составляют:
Зэис=Збэис=Знэис=74282+85720+7500+9200+1500+300+28575=205677 руб.
Оценка показателя среднего годового экономического эффекта:
Эппг=Збэис*Jнту-Знэис=Зэис*Jнту-1=205677*2,35-1=277633,9
Экономическая эффективность определяется по формуле:
Епп=Эппг/Зрпп=277633,9/248688,0=1,11
Срок окупаемости затрат на создание продукта:
Ток пп= 1/Е пп = 1/1,11=0,9года.
7. Выводы по разделу
В данной части дипломного проекта был проведен анализ экономической эффективности разработки Интеллектуальной системы по формированию индивидуальной траектории подготовки летного состава. В ходе анализа были достигнуты следующие цели : Определена целесообразность разработки, т.к. вычисленный коэффициент технического уровня превосходит 1;Оценена трудоемкость каждого из этапов проектирования, а также время, потребное для их выполнения; Определена структура и количественный состав затрат на проведение разработки; Определена себестоимость и цена продажи продукта; Оценена экономическая эффективность и срок окупаемости продукта.
Заключение
Процессе выполнения дипломного проекта были решены следующие задачи:
- проведён обзор литературных источников по множеству дисциплин в авиационной сфере по подготовке летного состава, что позволило разработать содержательную компоненту интеллектуальных систем;
- рассмотрены теоретические и практические аспекты конструирования интеллектуальных систем. Результатом данного этапа исследования является создание модели интеллектуальной системы подготовки летного состава;
- разработана интеллектуальная система по подготовке летного состава по индивидуальным траекториям;
- осуществлена апробация и внедрение ИС на предприятия;
- разработанная интеллектуальная система позволяет существенно повысить качество и производительность работы летного состава.
Список литературы
интеллектуальная система подготовка летный состав
Балясников В.В., Никулин Н.Ф. и др. Обеспечение безопасности полетов в ГА: Методические указания по изучению курса. Л,; ОЛАГА, 1991г.
В.И. Жулев, В.С. Иванов. Безопасность полетов летательных аппаратов: (Теория и анализ).- М. Транспорт, 1986г.
Интернет-издание, 32 урока: Borland Delphi или о том, что лучше один раз увидеть, чем сто раз услышать
Карчевская М.П., Рамбургер О.Л., Тархов С.В., Хамзина Е.А., Разработка приложений в среде Borland Delphi: лабораторный практикум по дисциплине "Информатика",- Уфа: УГАТУ, 2005.
Кузнецов В.А., Чугунов В.И. Альбом методических материалов к изучению основных АП в транспортной ГА СССР в 1982-1988г. / С-Пб,; Академия ГА, 1998г.
Методические рекомендации и уточненные критерии оперативной оценки величины перегрузок при приземлении самолетов.-М.: Гос- НИИГА, 1984.
Программа Оксфорд подготовка пилотов
Статистика авиапроисшествий
Экономическое обоснование дипломных проектов по пробо- и радиоприборостроению. Панагушена В.П ,МАИ ,2008г.
Приложение
Текст программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Button1: TButton;
Memo2: TMemo;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure fillq; //объявление процедуры
function check:boolean; //объявление функции
end;
const
fn1='_questns.txt'; //имя файла с заданиями теста
fn2='_reslts.txt'; //имя файла с данными о неверных ответах
nmax=20; //максимальное количество вопросов теста
var
Form1: TForm1;
d1:string; //ФИО
d2:integer; //год рождения
d3:string; //город
qcnt:integer; //количество вопросов в тесте
rcnt:integer; //количество записей данных о неверных ответах
tcnt:integer; //количество вопросов для прохождения
qst:array[1..nmax] of integer; //массив номеров вопросов для прохождения
tnumber:integer; //номер текущего вопроса
dmark:integer; //оценка верного ответа
mark:integer; //оценка прохождения теста
error:string; //список номеров вопросов с неверными ответами
error2:string; //список вопросов с неверными ответами
implementation
uses Unit2, Unit3;
{$R *.dfm}
procedure tform1.fillq; //Процедура заполнения формы задания
begin
//отображаем номер задания
form3.Label1.Caption:='Задание N'+inttostr(qst[tnumber]);
//отображаем вопрос
form3.Memo1.Text:=Memo1.Lines[(qst[tnumber]-1)*6];
form3.RadioButton1.Checked:=false; //деактивируем выбор варианта ответа
form3.RadioButton2.Checked:=false;
form3.RadioButton3.Checked:=false;
form3.RadioButton4.Checked:=false;
//отображаем варианты ответов
form3.RadioButton1.Caption:=Memo1.Lines[(qst[tnumber]-1)*6+1];
form3.RadioButton2.Caption:=Memo1.Lines[(qst[tnumber]-1)*6+2];
form3.RadioButton3.Caption:=Memo1.Lines[(qst[tnumber]-1)*6+3];
form3.RadioButton4.Caption:=Memo1.Lines[(qst[tnumber]-1)*6+4];
end;
function tform1.check:boolean; //Функция проверки ответа
begin
if (form3.RadioButton1.Checked=false) and //если ни один вариант ответа не выбран, то
(form3.RadioButton2.Checked=false) and
(form3.RadioButton3.Checked=false) and
(form3.RadioButton4.Checked=false) then
begin
check:=false; //формируем неудачное значение выполнения функции
//выводим сообщение
showmessage('Необходимо выбрать вариант ответа!');
exit; //выходим из функции
end;
//если выбран правильный вариант ответа, то
if ((form3.RadioButton1.Checked=true) and (Memo1.Lines[(qst[tnumber]-1)*6+5]='1')) or
((form3.RadioButton2.Checked=true) and (Memo1.Lines[(qst[tnumber]-1)*6+5]='2')) or
((form3.RadioButton3.Checked=true) and (Memo1.Lines[(qst[tnumber]-1)*6+5]='3')) or
((form3.RadioButton4.Checked=true) and (Memo1.Lines[(qst[tnumber]-1)*6+5]='4')) then
mark:=mark+dmark //увеличиваем результат на величину оценки
else //иначе
begin
//формируем список номеров вопросов с неверными ответами
error:=error+inttostr(qst[tnumber])+';';
//формируем список вопросов с неверными ответами
error2:=error2+inttostr(qst[tnumber])+'. '+(Memo1.Lines[(qst[tnumber]-1)*6])+'; ';
end;
check:=true; //формируем успешное значение выполнения функции
end;
procedure TForm1.FormShow(Sender: TObject); //Процедура, вызываемая при показе формы
begin
try //пытаемся
//загрузить файл с заданиями теста
Memo1.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+fn1);
except //если возникли ошибки, то
//выводим сообщение
showmessage('ОШИБКА! Невозможно загрузить файл с заданиями!');
Application.Terminate; //выходим из программы
end;
//если файл с заданиями пустой или количество строк не пропорционально 6, то
if (Memo1.Lines.Count=0) or (Memo1.Lines.Count mod 6<>0) then
begin
//выводим сообщение
showmessage('ОШИБКА! Файл с заданиями поврежден!');
Application.Terminate; //выходим из программы
end;
qcnt:=Memo1.Lines.Count div 6; //вычисляем количество вопросов в тесте
if qcnt>nmax then //если полученное количество превышаем максимальное значение, то
qcnt:=nmax; //корректируем количество вопросов в тесте
dmark:=trunc(100/qcnt); //вычисляем оценку за один вопрос по 100 бальной системе
end;
procedure TForm1.Button1Click(Sender: TObject); //Процедура, вызываемая при нажатии кнопки 'ОК'
var a:integer; //счетчик
s:string; //строка
begin
try //пытаемся
Memo2.Lines.LoadFromFile(fn2); //загрузить файл с данными о неверных ответах
except
end;
//если имеются данные о неверных ответах и количество строк не пропорционально 5, то
if (Memo2.Lines.Count<>0) and (Memo2.Lines.Count mod 5<>0) then
begin
//выводим сообщение
showmessage('ОШИБКА! Файл результатов поврежден!');
Application.Terminate; //выходим из программы
end;
rcnt:=Memo2.Lines.Count div 5; //вычисляем количество записей о неверных ответах
//если любое поле ввода незаполнено, то
if (Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') then
begin
//выводим сообщение
showmessage('Необходимо заполнить все поля!');
exit; //выходим из процедуры
end;
try //пытаемся
d2:=strtoint(Edit2.Text); //преобразовать 'год рождения' в число
except //если возникли ошибки, то
//выводим сообщение
Showmessage ('ОШИБКА! Поле "Год рождения" заполнено неправильно!');
Edit2.SetFocus; //фокусируемся на данном поле
exit; //выходим из процедуры
end;
if (d2<0) or (d2>9999) then //если значение года рождения задано неверно, то
begin
//выводим сообщение
Showmessage ('ОШИБКА! Поле "Год рождения" заполнено неправильно!');
Edit2.SetFocus; //фокусируемся на данном поле
exit; //выходим из процедуры
end;
d1:=Edit1.Text; //сохраняем ФИО
d3:=Edit3.Text; //сохраняем город
form2.ListBox1.Items.Clear; //очищаем список для выбора записи о неверных ответах
if rcnt<>0 then //если количесво записей о неверных ответах в файле не нулевое, то
for a:=0 to rcnt-1 do //цикл по всем записям
//если введенные данные пользователя совпадают с данными из записи, то
if d1+inttostr(d2)+d3=Memo2.Lines[a*5]+Memo2.Lines[a*5+1]+Memo2.Lines[a*5+2] then
//переносим данные текущей записи в список
form2.ListBox1.Items.Add(Memo2.Lines[a*5+3]);
if form2.ListBox1.Items.Count<>0 then //если список для выбора записи о неверных ответах не нулевой, то
Form2.showmodal //вызываем форму для выбора варианта прохождения теста
else //иначе
begin
//задаем прохождение всего теста целиком
tcnt:=qcnt; //задаем количество заданий = количеству вопросов в тесте
for a:=1 to qcnt do //цикл по всем вопросам
qst[a]:=a; //формируем массив массив номеров вопросов для прохождения
end;
mark:=0; //обнуляем результат теста
error:=''; //очищаем список номеров вопросов с неверными ответами
error2:=''; //очищаем список вопросов с неверными ответами
tnumber:=1; //задаем начальный номер вопроса
fillq; //вызываем процедуру заполнения формы задания
Form3.showmodal; //вызываем форму ответа на задания
if error='' then //если список номеров вопросов с неверными ответами пуст, то
s:='нет' //формируем строку
else //иначе
s:=error; //формируем строку
//выводим результаты теста на экран
showmessage('Результат прохождения теста: '+inttostr(mark)+#13#10#13#10+
'Неверные ответы на задания: '+s);
if error<>'' then //если список номеров вопросов с неверными ответами не пуст, то
begin
Memo2.Lines.Add(d1); ормируем новую запись в списке номеров вопросов с неверными ответами
Memo2.Lines.Add(inttostr(d2));
Memo2.Lines.Add(d3);
Memo2.Lines.Add(error);
Memo2.Lines.Add(error2);
try //пытаемся
//сохранить данные в файл
Memo2.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+fn2);
except //если возникли ошибки, то
//выводим сообщение
showmessage('ОШИБКА! Файл результатов не удалось сохранить!');
end;
end;
end;
end.
ТЕКСТЫ ПРОГРАММ СОЗДАНИЯ ГРАФИКИ:
1) object Form1: TForm1
Left = 195
Top = 549
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = #1042#1093#1086#1076
ClientHeight = 153
ClientWidth = 249
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 8
Top = 8
Width = 233
Height = 105
Caption = ' '#1042#1074#1077#1076#1080#1090#1077' '#1076#1072#1085#1085#1099#1077' '#1087#1086#1083#1100#1079#1086#1074#1072#1090#1077#1083#1103' '
TabOrder = 0
object Label1: TLabel
Left = 16
Top = 24
Width = 27
Height = 13
Caption = #1060#1048#1054
end
object Label2: TLabel
Left = 16
Top = 48
Width = 71
Height = 13
Caption = #1043#1086#1076' '#1088#1086#1078#1076#1077#1085#1080#1103
end
object Label3: TLabel
Left = 16
Top = 72
Width = 30
Height = 13
Caption = #1043#1086#1088#1086#1076
end
object Edit1: TEdit
Left = 93
Top = 21
Width = 121
Height = 21
TabOrder = 0
end
object Edit2: TEdit
Left = 93
Top = 45
Width = 121
Height = 21
TabOrder = 1
end
object Edit3: TEdit
Left = 93
Top = 69
Width = 121
Height = 21
TabOrder = 2
end
end
object Button1: TButton
Left = 88
Top = 122
Width = 75
Height = 25
Caption = 'OK'
Default = True
TabOrder = 1
OnClick = Button1Click
end
object Memo2: TMemo
Left = 48
Top = 104
Width = 41
Height = 41
TabOrder = 2
Visible = False
WordWrap = False
end
object Memo1: TMemo
Left = 0
Top = 104
Width = 41
Height = 41
TabOrder = 3
Visible = False
WordWrap = False
end
end
2) object Form2: TForm2
Left = 458
Top = 370
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = #1042#1099#1073#1086#1088' '#1090#1077#1089#1090#1072
ClientHeight = 335
ClientWidth = 742
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 283
Top = 16
Width = 177
Height = 25
Caption = #1055#1088#1086#1081#1090#1080' '#1090#1077#1089#1090' '#1089' '#1085#1072#1095#1072#1083#1072
TabOrder = 0
OnClick = Button1Click
end
object GroupBox1: TGroupBox
Left = 8
Top = 56
Width = 729
Height = 273
Caption = ' '#1042#1099#1073#1086#1088' '#1074#1072#1088#1080#1072#1085#1090#1072' '#1090#1077#1089#1090#1072' '
TabOrder = 1
object ListBox1: TListBox
Left = 8
Top = 16
Width = 713
Height = 213
ItemHeight = 13
TabOrder = 0
end
object Button2: TButton
Left = 328
Top = 240
Width = 75
Height = 25
Caption = #1042#1099#1073#1086#1088
TabOrder = 1
OnClick = Button2Click
end
end
end
3) object Form3: TForm3
Left = 801
Top = 434
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = #1058#1077#1089#1090
ClientHeight = 271
ClientWidth = 543
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 54
Height = 13
Caption = #1047#1072#1076#1072#1085#1080#1077' N'
end
object Label2: TLabel
Left = 8
Top = 128
Width = 96
Height = 13
Caption = #1042#1072#1088#1080#1072#1085#1090#1099' '#1086#1090#1074#1077#1090#1086#1074':'
end
object Memo1: TMemo
Left = 8
Top = 24
Width = 529
Height = 84
ScrollBars = ssVertical
TabOrder = 0
end
object RadioButton1: TRadioButton
Left = 8
Top = 152
Width = 529
Height = 17
Caption = #1042#1072#1088#1080#1072#1085#1090' 1'
TabOrder = 1
end
object RadioButton2: TRadioButton
Left = 8
Top = 168
Width = 529
Height = 17
Caption = #1042#1072#1088#1080#1072#1085#1090' 2'
TabOrder = 2
end
object RadioButton3: TRadioButton
Left = 8
Top = 184
Width = 529
Height = 17
Caption = #1042#1072#1088#1080#1072#1085#1090' 3'
TabOrder = 3
end
object RadioButton4: TRadioButton
Left = 8
Top = 200
Width = 529
Height = 17
Caption = #1042#1072#1088#1080#1072#1085#1090' 4'
TabOrder = 4
end
object Button1: TButton
Left = 232
Top = 240
Width = 75
Height = 25
Caption = 'OK'
TabOrder = 5
OnClick = Button1Click
end
end
Размещено на Allbest.ru
Подобные документы
Педагогическое мастерство как уровень профессиональной подготовки офицера. Роль заместителя в процессе формирования педагогического состава роты. Особенности работы по повышению образовательного уровня среди офицерского и командного состава подразделения.
курсовая работа [29,9 K], добавлен 19.04.2012Опыт организации и проведения специальных операций в Чеченской республике. Анализ архивных материалов. Тактико-строевые занятия личного состава. Боевая служба войсковых нарядов. Блокирование района операции. Особенности подготовки специальной операции.
курсовая работа [33,6 K], добавлен 05.08.2008Виды учебных занятий. Задачи обучения личного состава практической работе на технике. Порядок подготовки и методика проведения занятий. Документы, разрабатываемые руководителем. Материально-техническое обеспечение занятий. Учет боевой подготовки.
презентация [1,5 M], добавлен 09.02.2014Содержание морально-психологического обеспечения повседневной деятельности личного состава и в ходе подготовки и ведения боевых действий. Боевой устав по подготовке и ведению общевойскового боя. Защита войск от информационно-психологического воздействия.
дипломная работа [85,5 K], добавлен 01.04.2012Выработка рекомендаций по реализации проблем обеспечения безопасности полетов, повышения резервных возможностей экипажа воздушного судна, их летного долголетия на основе анализа статистических данных об авиационных происшествиях и типовых ошибок экипажей.
дипломная работа [644,8 K], добавлен 21.01.2012Анализ практической работы офицерского состава, как фактора по обеспечению законности и правопорядка в Вооруженных Силах Республики Беларусью. Изучение сущности, значения и видов деятельности офицерского состава. Правовая тактика офицерского состава.
курсовая работа [93,1 K], добавлен 15.06.2010Противоречие между индивидуальной педагогической деятельностью офицера и функционированием социальной дидактической системы. Сущность и условия успешного использования различных форм, методов, приемов и средств подготовки личного состава подразделения.
реферат [25,2 K], добавлен 13.11.2019Нештатные службы гарнизона: задачи, права, подчиненность, роль в обеспечении гарнизонной службы. Основные документы планирования боевой и гуманитарной подготовки рядового состава государственной противопожарной службы МЧС России. Расписание занятий.
контрольная работа [30,3 K], добавлен 05.08.2013Преобразования в Вооруженных Силах Российской Федерации. Информационно-пропагандисткая работа. Формирование у личного состава осознанной готовности к защите Отечества. Системы обучения и подготовки руководителей информационно-пропагандисткой работы.
дипломная работа [72,3 K], добавлен 27.04.2011Задачи начальной военной подготовки молодёжи для защиты суверенитета Казахстана. Начальная военная подготовка как часть системы подготовки призовников к службе в Вооружённых Силах. Требования к профессиональным качествам учителя военной подготовки.
курсовая работа [117,3 K], добавлен 12.11.2014