КУРСОВАЯ РАБОТА
по дисциплине «Языки программирования»
на тему:
«Интеллектуальные Системы»
Выполнил:
Пэдру Хелк Ж. да Гама
студент группы БИК1901
Руководитель:
Доцент .К.п.н Гуриков С.Р.
Москва 2020г
Пэдру Хелк Жоау да Гама
ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ
Москва 2020г
2
СОДЕРЖАНИЕ
3
ОБЩАЯ ХАРАКТЕРИСТИКИ РАБОТЫ
4
привлечена группа голландских психологов под руководством А. де
Гроота, изучавших стили игры выдающихся шахматистов. В 1956 году
этим коллективом был создан язык программирования ИПЛ1 -
практически первый символьный язык обработки списков и написана
первая программа "Логик-Теоретик", предназначенная для
автоматического доказательства теорем в исчислении высказываний.
Эту программу можно отнести к первым достижениям в области
искусственного интеллекта.
В 1960 году этой же группой написана программа GPS (General
Problem Solver) - универсальный решатель задач. Она могла решать ряд
головоломок, вычислять неопределенные интегралы, решать некоторые
другие задачи. Эти результаты привлекли внимание специалистов в
области вычислений и появились программы автоматического
доказательства теорем из планиметрии и решения алгебраических задач.
С 1952 года А. Самюэл написал ряд программ для игры в шашки,
которые играли на уровне хорошо подготовленного любителя, причем
одна из его игр научилась играть лучше, чем ее создатель.
В 1958 году Д. Маккарти определил новый язык высокого уровня
Lisp, который стал доминирующим для искусственного интеллекта.
Первые нейросети появились в конце 50-х годов. В 1957 году Ф.
Розенблаттом была предпринята попытка создать систему,
моделирующую человеческий глаз и его взаимодействие с мозгом -
перцептрон.
Первая международная конференция по искусственному
интеллекту (IJCAI) состоялась в 1969 году в Вашингтоне.
В 1963 г. Д. Робинсон реализовал метод автоматического
доказательства теорем, получивший название «принцип резолюции», в
основе этого метода в 1973 году создается язык логического
программирования Prolog.
5
В США появились первые коммерческие системы, основанные на
знаниях, - экспертные системы. Происходит коммерциализация
искусственного интеллекта. Растут ежегодные капиталовложения и
интерес к самообучающимся системам, создаются промышленные
экспертные системы. Разрабатываются методы представления знаний.
Первая экспертная система была создана Э. Фейгенбаумом в 1965
году. Но до коммерческой прибыли было еще далеко. Лишь в 1986 году
первая коммерческая система R1 компании DEC позволила сэкономить
примерно 40 миллионов долларов в год. К 1988 году компанией DEC
было развернуто 40 экспертных систем. В компании Du Pont
применялось 100 систем и экономия составляла примерно 10 миллионов
в год.
В 1981 году Япония приступила к разработке компьютера 5-го
поколения, основанного на знаниях – 10-летнего плана по разработке
интеллектуальных компьютеров на базе Prolog. 1986 год стал годом
возрождения интереса к нейронным сетям.
В 1991 году Япония прекращает финансирование проекта
компьютера 5-го поколения и начинает проект создания компьютера 6-
го поколения – нейрокомпьютера.
В 1997 году компьютер «Дип Блю» победил в игре в шахматы
чемпиона мира Г. Каспарова, доказав возможность того, что
искусственный интеллект может сравняться или превзойти человека в
ряде интеллектуальных задач (пусть и в ограниченных условиях).
Огромную роль в борьбе за признание искусственного интеллекта
в нашей стране сыграли академики А. И. Берг и Г. С. Поспелов.
В 1954-1964 гг. создаются отдельные программы и проводятся
исследования в области поиска решения логических задач. Создается
программа АЛПЕВ ЛОМИ, автоматически доказывающая теоремы. Она
основана на оригинальном обратном выводе Маслова, аналогичном
методу резолюций Робинсона. Среди наиболее значимых результатов,
6
полученных отечественными учеными в 60-е годы, следует отметить
алгоритм «Кора» М. М. Бонгарда, моделирующий деятельность
человеческого мозга при распознавании образов. Большой вклад в
становление российской школы искусственного интеллекта внесли
выдающиеся ученые М. Л. Цетлин, В. Н. Пушкин, М. А. Гаврилов, чьи
ученики и явились пионерами этой науки в России.
В 1964 г. предлагался метод автоматического поиска
доказательства теорем в исчислении предикатов, получивший название
«обратный метод Маслова».
В 1965-1980 гг. происходит рождение нового направления —
ситуационного управления (соответствует представлению знаний, в
западной терминологии). Основателем этой научной школы стал проф.
Д. А. Поспелов.
В Московском государственном университете был создан язык
символьной обработки данных РЕФАЛ В.Ф. Турчиным в 1968.В
последнее время ясно обозначились следующие важные направления
развития интеллектуальных систем.
1) Системы имитирующие творческие процессы - создание
музыкальных произведений, решение игровых задач (шахматы, шашки,
домино), автоматический перевод, доказательство теорем,
распознавание образов, имитация мышления и т. п.
2) Информационные системы, основанные на знаниях
(экспертные системы), т. е. консультирование малоопытных
пользователей, настройка оборудования, обучение и др.
3) Интеллектуальные информационные системы - большие и
очень большие программы, предназначенные для решения задач в
предметной области на основе математических и алгоритмических
моделей и обладающие способностью вести осмысленный диалог с
пользователем с целью упростить управление, сократить объем работы
человека, повысить качество и т. п.
7
4) Робототехника.
Среди множества направлений искусственного интеллекта есть
несколько ведущих, которые в настоящее время вызывают наибольший
интерес у исследователей.
Одной из основных целей разработки в ИТ состоит в разрешении
проблемы на основе инновационных решений.
Поэтому задачами данной работы являются следующие:
9
ГЛАВА 1-ТЕХНОЛОГИИ ПОСТРОЕНИЯ
ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ
1.1 Методология создания интеллектуальных систем
1. 1. 1 Определение искусственного интеллекта
10
1.2 Классификация интеллектуальных
12
Самообучающиеся системы. В основе самообучающихся систем
лежат методы автоматической классификации примеров ситуаций
реальной практики (обучения на примерах).
Индуктивные системы. Обобщение примеров происходит по
принципу от частного к общему и сводится к выявлению подмножеств
примеров, относящихся к одним и тем же подклассам, и определению
для них значимых признаков.
Нейронные сети являются технологией обработки информации,
вдохновленной изучением мозга и нервной системы человека.
Нейронные сети позволяют решать задачи прогнозирования,
классификации, поиска оптимальных вариантов, и совершенно
незаменимы в тех случаях, когда в обычных условиях решение задачи
основано на интуиции или опыте, а не на строгом (в математическом
смысле) ее описании.
Даптивные системы. Адаптивная информационная система- это
информационная система, которая изменяет свою структуру в
соответствии с изменением модели проблемной области.
13
Рисунок 2. Классификация интеллектуальных систем по методам
14
Эффективность системы обеспечивается оптимизацией данных и
методов их обработки, применением оригинальных разработок, идей,
методов проектирования.
Интерфейс ИС должен быть интуитивно понятен. В свою очередь,
разработчик - программист должен понимать характер выполняемых
конечным пользователем операций.
Безопасность. Под безопасностью, прежде всего,
подразумевается свойство системы, в силу которого посторонние лица
не имеют доступа к информационным ресурсам организации, кроме тех,
которые для них предназначены. Защита информации от постороннего
доступа обеспечивается управлением доступом к ресурсам системы,
использованием современных программных средств защиты
информации.
16
Методическими материалами, инструкциями, нормативами и
стандартами;
Программными и техническими средствами;
Исполнителями.
Результаты выполнения операции должны представляться в
некотором стандартном виде, обеспечивающем их адекватное
восприятие при выполнении следующей технологической операции (на
которой они будут использоваться в качестве исходных данных). Можно
сформулировать ряд общих требований, которым должна удовлетворять
технология проектирования, разработки и сопровождения ИС:
Поддерживать полный жизненный цикл информационной
системы;
Обеспечивать гарантированное достижение целей разработки
системы с заданным качеством и в установленное время;
Обеспечивать возможность разделения (декомпозиции) крупных
проектов на ряд подсистем - составных частей, разрабатываемых
группами исполнителей ограниченной численности, с последующей
интеграцией этих частей;
17
Рисунок 3 – Структура ООО «Оренбургская КТК»
18
На первом этапе определили входные и выходные документы.
Входными документами являются: приказы и распоряжения
руководства, распоряжения главного бухгалтера
На втором этапе анализируются информационные потоки на
предприятии и документооборот. В результате анализа разработана
схема информационных потоков в ООО «оренбургская КТК»,
представленная на рисунке 4.
20
1. 5 Выбор и обоснование математического аппарата
В разрабатываемой ИС оценка качества обслуживания населения и
прогнозирование доходов осуществляется на основе системы нечеткого
вывода. Процесс нечеткого вывода представляет собой некоторую
процедуру или алгоритм получения нечетких заключений на основе
нечетких предпосылок или условий. Наиболее общим для систем
нечёткого вывода является алгоритм Мамдани. В нем используется
минимаксная композиция нечетких множеств.
Пусть в базе правил имеется m правил вида:
R1: ЕСЛИ x1 это A11 … И … xn это A1n, ТО y это B1…
Ri: ЕСЛИ x1 это Ai1 … И … xn это Ain, ТО y это Bi…
Rm: ЕСЛИ x1 это Ai1 … И … xn это Amn, ТО y это Bm,
где xk , k=1..n – входные переменные; y – выходная переменная;
Aik – заданные нечеткие множества с функциями принадлежности.
Результатом нечеткого вывода является четкое значение
переменной y* на основе заданных четких значений xk , k=1..n. В общем
случае механизм логического вывода включает четыре этапа: введение
21
нечеткости (фаззификация), нечеткий вывод, композиция и приведение к
четкости, или дефаззификация.
Нечеткость - определяются степени истинности, т.е. значения
функций принадлежности для левых частей каждого правила
(предпосылок). Для базы правил с m правилами обозначим степени
истинности как Aik(xk), i=1..m, k=1..n.
Нечеткий вывод - находятся уровни «отсечения» для предпосылок
каждого из правил (с использованием операции минимум).
Композиция, или объединение полученных усеченных функций,
для чего используется максимальная композиция нечетких множеств.
Дефаззификация, или приведение к четкости. Существует
несколько методов дефаззификации. Например, метод среднего центра,
или центроидный метод.
На рисунке 4 дается графическая интерпретация процесса
нечеткого вывода по Мамдани для двух входных переменных и двух
нечетких правил R1 и R2.
22
1. 6 Архитектур и функциональная схема ИС
23
ГЛАВА 2- ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1. Архитектур и функциональная схема ИС
24
представлены скриншоты формы. На Рисунке 6 представлено сообщение
об ограничении времени на изучение теоретических материалов,
которое появляется при открытии формы с теорией. Все сообщения в
реализованы с помощью элемента MessageBox, все диалоговые окна – с
помощью InputBox.
25
Рисунок 1 - Окно, уточняющее намерение выйти
По истечении 25 минут предполагаемого изучения теоретических
материалов или после преждевременного выхода из формы повторно
открывается форма с выбором пути использования приложения
(Рисунок 5).
2.2. Тестовая программа
26
Рисунок 3 - Сообщение об ошибке прохождения теста
После нажатия на кнопку «Next» происходит проверка ответа и по
результатам проверки открывается сообщение либо о правильном ответе
или о неправильном (Рисунки 12 и 13), также вносятся изменения в
массив, состоящий из нулевых элементов: элемент, соответствующий
номеру вопроса, изменяется на единицу. Также осуществляется переход
к форме со следующим вопросом.
Пользователь имеет возможность завершить прохождение теста
преждевременно, нажав на кнопку «Finish». После нажатия открывается
окно, уточняющее намерение пользователя завершить прохождение, оно
представлено на Рисунке 14. Если пользователь подтверждает
завершение теста, то закрывается текущая форма и открывается форма с
результатами (Рисунок 32).
27
Рисунок 5 - Сообщение о неправильном ответе на вопрос
28
Рисунок 8 - Элемент textBox в вопросе №2
С помощью программного кода пользователю предоставлена
возможность вводить ответ не только с заглавной буквы, но и со
строчной.
Перейдем к описанию элемента управления checkBox на примере
третьего и четвёртого вопроса (Рисунки 17 и 18). Этот элемент
позволяет пользователю выбрать более одного варианта ответа. Код
данного элемента управления представлен в Приложении B.
29
Рисунок 9 - Элемент checkBox в вопросе №3
30
Перейдём к описанию элемента управления radioButton на
примере пятого и шестого вопросов (Рисунки 19 и 20). У пользователя
есть четыре варианта ответа, верным является только один. Код данного
элемента управления представлен в Приложении B.
31
Рассмотрим элемент управления listBox на примере седьмого и
восьмого вопросов (Рисунки 21 и 22). Этот элемент управления,
используя элемент button, изменяет своё содержимое, заполняясь той
или иной строчкой, удаляя её из «родительского» элемента, в котором
хранилась эта строчка. Для перехода к следующему вопросу необходимо
заполнить все listBox’ы, иначе откроется окно с сообщением «Вы не
ответили» (Рисунок 11). Код данного элемента управления представлен
в Приложении B.
32
Рисунок 14 - Элемент listBox в вопросе №8 (заполненный)
34
Рисунок 18 - Элемент comboBox в вопросе №12
35
Рисунок 19 - Элемент checkedListBox в вопросе №13
36
вопрос15. Текущее значение передаётся на элемент управления label.
Код данного элемента управления представлен в Приложении B.
37
Рисунок 23 - Элемент checkedListBox в вопросе №16
38
Рисунок 24 - Окно с результатами прохождения теста
39
Рисунок 33 - Стартовое окно с регистрацией пользователя
40
Рисунок 27 - сообщение о создании структуры базы данных
42
Рисунок 30 - Сообщение об ошибке
Приложение А
44
Вопрос 1 Вставьте определение. (TextBox)
Искусственный интеллект-это направление науки и техники,
ориентированное на создание программно-аппаратных средств решения
интеллектуальных задач.
Вопрос 2 Вставьте определение. (TextBox)
В Московском государственном университете был создан язык
символьной обработки данных "РЕФАЛ"
Вопрос3 Выберите важные направления в развитии
интеллектуальных систем появились в последнее время? (ChekBox)
Экспертные системы
Информационные системы +
Интеллектуальные базы данных
Информационные потоки
Системы имитирующие творческие процессы +
46
Вопрос10 Выберите из схемы какой номер указан "Инструкция о
порядке обслуживания граждан. (TrackBar)
(8)+
Приложение Б
49
{
count::result[0] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest2^ f = gcnew quest2;
f->Show();
this->Close();
textBox1->Enabled = false;
}
}
В вопросе №2:
#pragma once
#include "quest3.h"
#include "counter.h"
#include "final_result.h"
namespace coursework {
50
}
namespace coursework {
---
51
#pragma endregion
private: System::Void cmdSTART_Click(System::Object^ sender,
System::EventArgs^ e) {
if ((!checkBox1->Checked) && (!checkBox2->Checked) && (!
checkBox3->Checked) && (!checkBox4->Checked) && (!checkBox5->Checked))
{
MessageBox::Show("Вы не ответили", "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Information);
}
else if ((!checkBox1->Checked) && (checkBox2->Checked) && (!
checkBox3->Checked) && (!checkBox4->Checked) && (checkBox5->Checked))
{
count::n++;
count::result[2] = 1;
MessageBox::Show("Вы ответили правильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest4^ f = gcnew quest4;
f->Show();
this->Close();
}
else
{
count::result[2] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest4^ f = gcnew quest4;
f->Show();
this->Close();
}
}
В вопросе №4:
#pragma once
#include "quest5.h"
#include "counter.h"
#include "final_result.h"
namespace coursework {
52
using namespace System::Drawing;
---
#pragma endregion
private: System::Void groupBox1_Enter(System::Object^ sender,
System::EventArgs^ e) {
}
private: System::Void backgroundWorker1_DoWork(System::Object^ sender,
System::ComponentModel::DoWorkEventArgs^ e) {
}
private: System::Void label1_Click(System::Object^ sender, System::EventArgs^
e) {
}
private: System::Void cmdSTART_Click_1(System::Object^ sender,
System::EventArgs^ e) {
if ((!checkBox1->Checked) && (!checkBox2->Checked) && (!checkBox3-
>Checked) && (!checkBox4->Checked))
{
MessageBox::Show("Вы не ответили", "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Information);
}
else if ((checkBox1->Checked) && (!checkBox2->Checked) && (checkBox3-
>Checked) && (checkBox4->Checked))
{
count::n++;
count::result[3] = 1;
MessageBox::Show("Вы ответили правильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest5^ f = gcnew quest5;
f->Show();
this->Close();
}
else
{
count::result[3] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest5^ f = gcnew quest5;
f->Show();
this->Close();
}
}
private: System::Void cmdFinish_Click(System::Object^ sender,
System::EventArgs^ e) {
if (MessageBox::Show("Вы уверены, что хотите выйти?", "Сообщение.",
MessageBoxButtons::YesNo) == System::Windows::Forms::DialogResult::Yes) {
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
};
}
В вопросе №6:
#pragma once
#include "quest7.h"
#include "counter.h"
#include "final_result.h"
namespace coursework {
54
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
---
#pragma endregion
private: System::Void cmdSTART_Click(System::Object^ sender,
System::EventArgs^ e) {
if ((!radiocmdSTART->Checked) && (!radiocmdFinish->Checked) &&
(!radioButton3->Checked) && (!radioButton4->Checked))
{
MessageBox::Show("Вы не ответили", "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Information);
}
else if ((!radiocmdSTART->Checked) && (!radiocmdFinish-
>Checked) && (!radioButton3->Checked) && (radioButton4->Checked))
{
count::n++;
count::result[5] = 1;
MessageBox::Show("Вы ответили правильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest7^ f = gcnew quest7;
f->Show();
this->Close();
}
else
{
count::result[5] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest7^ f = gcnew quest7;
f->Show();
this->Close();
}
}
private: System::Void cmdFinish_Click(System::Object^ sender,
System::EventArgs^ e) {
if (MessageBox::Show("Вы уверены, что хотите выйти?", "Сообщение.",
MessageBoxButtons::YesNo) == System::Windows::Forms::DialogResult::Yes) {
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
};
}
55
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
---
#pragma endregion
private: System::Void quest7_Load(System::Object^ sender,
System::EventArgs^ e)
{
array <System::Object^>^ mas = gcnew array
<System::Object^>(3);
mas[0] = ("Равномерное движение лодки было нарушено,
направление утеряно.");
mas[1] = ("В чёрной туче отдыхающей на хребте западных гор
спряталось уставшее за день солнце.");
mas[2] = ("Все события обдуманные и пережитые облекались
Тютчевым в художественные образы поднимавшиеся на высоту философского обобщения.");
57
MessageBox::Show("Вы ответили правильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest8^ f = gcnew quest8;
f->Show();
this->Close();
}
else
{
count::result[6] = 0;
MessageBox::Show("Вы ответили неправильно",
"Тест", MessageBoxButtons::OK, MessageBoxIcon::Information);
quest8^ f = gcnew quest8;
f->Show();
this->Close();
}
}
};
}
В вопросе №8:
#pragma once
#include "quest9.h"
#include "counter.h"
#include "final_result.h"
namespace coursework {
59
{
count::n++;
count::result[7] = 1;
MessageBox::Show("Вы ответили правильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest9^ f = gcnew quest9;
f->Show();
this->Close();
}
else
{
count::result[7] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest9^ f = gcnew quest9;
f->Show();
this->Close();
}
else
{
count::result[8] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest10^ f = gcnew quest10;
f->Show();
this->Close();
}
}
};
}
В вопросе №10:
#pragma once
#include "quest11.h"
#include "counter.h"
#include "final_result.h"
namespace coursework {
62
quest12^ f = gcnew quest12;
f->Show();
this->Close();
}
else
{
count::result[10] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest12^ f = gcnew quest12;
f->Show();
this->Close();
}
}
private: System::Void cmdFinish_Click(System::Object^ sender,
System::EventArgs^ e)
{
if (MessageBox::Show("Вы уверены, что хотите выйти?",
"Сообщение.", MessageBoxButtons::YesNo) ==
System::Windows::Forms::DialogResult::Yes) {
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
};
}
В вопросе №12:
#pragma once
#include "quest13.h"
#include "counter.h"
#include "final_result.h"
namespace coursework {
}
else
{
count::result[11] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest13^ f = gcnew quest13;
f->Show();
this->Close();
}
}
private: System::Void cmdFinish_Click(System::Object^ sender,
System::EventArgs^ e)
{
if (MessageBox::Show("Вы уверены, что хотите выйти?",
"Сообщение.", MessageBoxButtons::YesNo) ==
System::Windows::Forms::DialogResult::Yes) {
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
};
}
В вопросе №14:
#pragma once
#include "quest15.h"
#include "counter.h"
#include "final_result.h"
namespace coursework {
{
count::n++;
count::result[13] = 1;
65
MessageBox::Show("Вы ответили правильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest15^ f = gcnew quest15;
f->Show();
this->Close();
}
else
{
count::result[13] = 0;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest15^ f = gcnew quest15;
f->Show();
this->Close();
}
}
private: System::Void cmdFinish_Click(System::Object^ sender,
System::EventArgs^ e)
{
if (MessageBox::Show("Вы уверены, что хотите выйти?",
"Сообщение.", MessageBoxButtons::YesNo) ==
System::Windows::Forms::DialogResult::Yes) {
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
private: System::Void label1_Click(System::Object^ sender, System::EventArgs^
e) {
}
private: System::Void checkedListBox1_SelectedIndexChanged(System::Object^
sender, System::EventArgs^ e) {
}
};
}
66
MessageBox::Show("В этом вопросе обратите внимание, что данный диапазон
года - 1953-1956 гг.", "Тест", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
}
else
{
count::result[14] = 1953;
MessageBox::Show("Вы ответили неправильно", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
quest16^ f = gcnew quest16;
f->Show();
this->Close();
}
}
private: System::Void cmdFinish_Click(System::Object^ sender, System::EventArgs^
e)
{
if (MessageBox::Show("Вы уверены, что хотите выйти?", "Сообщение.",
MessageBoxButtons::YesNo) == System::Windows::Forms::DialogResult::Yes) {
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
В вопросе №16:
#pragma once
#include "counter.h"
#include "final_result.h"
namespace coursework {
67
{
}
private: System::Void hScrollBar1_ValueChanged(System::Object^ sender,
System::EventArgs^ e)
{
int a = hScrollBar1->Value;
if (a < 6)
label1->Text = ("------>>");
if (a == 6)
label1->Text = ("Это информационная система, которая изменяет свою
структуру в соответствии с изменением модели проблемной области.");
if (a > 6 && a < 12)
label1->Text = (" ------>>");
if (a == 12)
label1->Text = ("Принцип «трансформации — детрансформации» можно
использовать только при работе с индивидуумом.");
if (a > 12 && a < 18)
label1->Text = (" ------>>");
if (a == 18)
label1->Text = ("Это пути передачи информации, обеспечивающие
существование отдела на предприятии, внутри которой они функционируют.");
if (a > 18 && a < 24)
label1->Text = (" ------>>");
if (a == 24)
label1->Text = ("Это набор очень мощных инструментальных средств и
методов, которые используются в качестве инструментальных средств, предназначенных для
решения практических проблем.");
if (a > 24 && a < 30)
label1->Text = (" ------>>");
if (a == 30)
label1->Text = ("Сведения о количестве зарегистрированных обращений,
выданных консультаций по телефону и т.д.");
}
private: System::Void cmdSTART_Click(System::Object^ sender, System::EventArgs^ e)
{
int a = hScrollBar1->Value;
if ((a < 6) || (a > 6 && a < 12) || (a > 12 && a < 18) || (a > 18 && a <
24) || (a > 24 && a < 30))
MessageBox::Show("Вы не ответили на вопрос.", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Warning);
else
{
if (hScrollBar1->Value == 18)
{
count::p++;
count::result[15] = 1;
MessageBox::Show("Вы ответили правильно.", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
else
{
MessageBox::Show("Вы ответили неправильно.", "Тест",
MessageBoxButtons::OK, MessageBoxIcon::Information);
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
}
68
private: System::Void cmdFinish_Click(System::Object^ sender, System::EventArgs^
e)
{
if (MessageBox::Show("Вы уверены, что хотите выйти?", "Сообщение.",
MessageBoxButtons::YesNo) == System::Windows::Forms::DialogResult::Yes) {
final_result^ f = gcnew final_result;
f->Show();
this->Close();
}
}
};
}
69
70