Информационная технология формирования компетенций в области использования геометрических эффектов в изобретательской деятельности
Технология, которая позволяет эксперту индексировать патентную информацию по геометрическим эффектам, добавляя их в связи к патентам, а с другой стороны, помогает студенту повышать компетенции по использованию геометрических эффектов в патентах.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.10.2018 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
int count=(int)query.ExecuteScalar();
string gE = count.ToString();
query = new SqlCommand("SELECT COUNT (Id) FROM Патенты", connection);
count = (int)query.ExecuteScalar();
string patent=count.ToString();
query = new SqlCommand("SELECT count(distinct(p.id)) FROM Патенты p inner join Патенты_Геометрических_эффектов pg on p.Id = pg.Патенты_Id", connection);
string countLinkPattern = query.ExecuteScalar().ToString();
query = new SqlCommand(@"select count(distinct(t.id))
from(SELECT p.id
FROM Патенты p
inner join Патенты_Геометрических_эффектов pg on p.Id = pg.Патенты_Id
group by p.id
having count(pg.Id) = 1)t", connection);
string countPatternOneLink = query.ExecuteScalar().ToString();
query = new SqlCommand(@"select count(distinct(t.id))
from(SELECT p.id
FROM Патенты p
inner join Патенты_Геометрических_эффектов pg on p.Id = pg.Патенты_Id
group by p.id
having count(pg.Id) = 2)t", connection);
string countPatternTwoLink = query.ExecuteScalar().ToString();
query = new SqlCommand("SELECT COUNT (Id) FROM Патенты_Геометрических_Эффектов", connection);
count = (int)query.ExecuteScalar();
string pGE = count.ToString();
SqlDataReader myReader = sendQuery(@"SELECT top 3
max(ge.Название) Название,
count(pge.Id) Количество_связей
FROM Геометрические_эффекты ge
inner join Патенты_Геометрических_эффектов pge on ge.Id = pge.Геометрические_эффекты_Id
group by ge.Id
order by Количество_связей desc", connection);
string topLink = "";
while (myReader.Read())
{
topLink += myReader["Название"] + " всего связей " + myReader["Количество_связей"].ToString() + "\r\n";
}
myReader.Close();
MessageBox.Show("Паттерны"+
"\r\nВсего патентов в базе: " + patent +
"\r\nПатернов, связанных с геометрическими эффектами: " + countLinkPattern +
"\r\nПатернов, не связанных с геометрическими эффектами: " + (int.Parse(patent)-int.Parse(countLinkPattern)).ToString()+
"\r\nПатернов связанных:\r\nС одним геометрическим эффектом: " + countPatternOneLink +
"\r\nС двумя геометрическим эффектом: " + countPatternTwoLink +
"\r\nС тремя и более геометрическими эффектами: " + (int.Parse(countLinkPattern) - int.Parse(countPatternOneLink) -int.Parse(countPatternTwoLink)).ToString() +
"\r\n\r\nЭффекты:\r\nВсего геометрических эффектов в базе: " + gE + "\r\n"+topLink
,"Статистика наполнения базы");
query = new SqlCommand();
connection.Close();
}
private void button9_Click(object sender, EventArgs e)
{
TestForm test = new TestForm();
test.ShowDialog();
}
private void button10_Click(object sender, EventArgs e)
{
string query = "Select Id, Название from Действия";
SqlConnection connection = openConnection();
SqlDataReader myReader = sendQuery(query, connection);
while (myReader.Read())
{
int c = _actionsDataGridView.RowCount;
_actionsDataGridView.Rows.Add(1);
_actionsDataGridView.Rows[c].Cells[0].Value = myReader["Id"];
_actionsDataGridView.Rows[c].Cells[1].Value = myReader["Название"].ToString();
}
myReader.Close();
}
private void _actionsDataGridView_SelectionChanged(object sender, EventArgs e)
{
}
}
}
Форма обучаемого
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void Form2_Closing(object sender, EventArgs e)
{
Form1 f1 = new Form1();
f1.Show();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
public int i = 0;
private void button2_Click(object sender, EventArgs e)
{
//string where = " where Коэффициент >= " + comboBox1.SelectedItem.ToString() + "-1 and Коэффициент<= " + comboBox1.SelectedItem.ToString() + "+1";
string where = "";
GetEffect(where);
}
private List<string> ExecuteQueryGetEffect(string lineWhere , ref List<string> effect, ref List<string> effectId)
{
dataGridView1.Rows.Clear();
string query = "SELECT Id, Название FROM Геометрические_эффекты" + lineWhere;
SqlConnection connection = openConnection();
SqlDataReader myReader = sendQuery(query, connection);
//List<string> effect = new List<string>();
//List<string> effectId = new List<string>();
while (myReader.Read())
{
effectId.Add(myReader["Id"].ToString());
effect.Add(myReader["Название"].ToString());
}
myReader.Close();
return effect;
}
private void GetEffect(string lineWhere)
{
SqlConnection connection = openConnection();
List<string> effect = new List<string>();
List<string> effectId = new List<string>();
effect.AddRange(ExecuteQueryGetEffect(lineWhere,ref effect, ref effectId));
if (effect.Count == 0)
{
effect.AddRange(ExecuteQueryGetEffect("", ref effect, ref effectId));
}
if (effect.Count - 1 <= i)
{
i = 0;
}
label1.Text = effect[i];
//запрос на описание текущего эффекта
string query = "SELECT Описание FROM Геометрические_эффекты WHERE Id = " + effectId[i];
SqlDataReader myReader = sendQuery(query, connection);
myReader.Read();
textBox1.Text = myReader["Описание"].ToString();
myReader.Close();
//выборка патентов к текущему эффекту
query = "SELECT Патенты.Название " +
"FROM Патенты, Патенты_Геометрических_эффектов, Геометрические_эффекты " +
"WHERE Патенты.Id = Патенты_Геометрических_эффектов.Патенты_Id " +
"AND Патенты_Геометрических_эффектов.Геометрические_эффекты_Id = Геометрические_эффекты.Id " +
"AND Геометрические_эффекты.Id = " + effectId[i];
myReader = sendQuery(query, connection);
while (myReader.Read())
{
int c = dataGridView1.RowCount;
dataGridView1.Rows.Add(1);
dataGridView1.Rows[c].Cells[0].Value = myReader["Название"].ToString();
}
myReader.Close();
i++;
}
SqlDataReader sendQuery(string query, SqlConnection connection)
{
SqlDataReader myReader;
SqlCommand myCommand = new SqlCommand(query, connection);
//выполняем запрос
myReader = myCommand.ExecuteReader();
return myReader;
}
SqlConnection openConnection()
{
SqlConnection connection = new SqlConnection("Data Source=localhost;Initial Catalog=PECHDB;Integrated Security=True");
connection.Open();
//this.Text = "Я открыт";
return connection;
}
void closeConnection(SqlConnection connection)
{
connection.Close();
//this.Text = "Я закрыт";
}
private void label1_Click(object sender, EventArgs e)
{
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button5_Click(object sender, EventArgs e)
{
string where = " where Коэффициент >= " + comboBox2.SelectedItem.ToString() + " and Коэффициент<= " + comboBox3.SelectedItem.ToString();
GetEffect(where);
}
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
_actionInfoTextBox.Text = File.ReadAllText(ofd.FileName,Encoding.Default);
_headActionTextBox.Text = ofd.SafeFileName.Substring(0,ofd.SafeFileName.Length-4);
}
}
private void button4_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.FileName = _headActionTextBox.Text + ".txt";
if (sfd.ShowDialog() == DialogResult.OK)
{
File.WriteAllText(sfd.FileName, _actionInfoTextBox.Text);
}
}
private void GetEffectReport(string whereLine)
{
SqlConnection connection = openConnection();
_effectdDataGridView.Rows.Clear();
string query = "SELECT Id, Название FROM Геометрические_эффекты "+whereLine;
SqlDataReader myReader = sendQuery(query, connection);
//List<string> effect = new List<string>();
//List<string> effectId = new List<string>();
while (myReader.Read())
{
int c = _effectdDataGridView.RowCount;
_effectdDataGridView.Rows.Add(1);
_effectdDataGridView.Rows[c].Cells[0].Value = myReader["Название"].ToString();
}
myReader.Close();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
GetEffectReport("where коэффициент >= " + comboBox1.SelectedItem
+ " -0.5 and коэффициент <= 0.5+" + comboBox1.SelectedItem);
//SqlConnection connection = openConnection();
//_effectdDataGridView.Rows.Clear();
//string query = "SELECT Id, Название FROM Геометрические_эффекты where коэффициент >= " + comboBox1.SelectedItem
// + " -0.5 and коэффициент <= 0.5+" + comboBox1.SelectedItem;
//SqlDataReader myReader = sendQuery(query, connection);
////List<string> effect = new List<string>();
////List<string> effectId = new List<string>();
//while (myReader.Read())
//{
// int c = _effectdDataGridView.RowCount;
// _effectdDataGridView.Rows.Add(1);
// _effectdDataGridView.Rows[c - 1].Cells[0].Value = myReader["Название"].ToString();
//}
//myReader.Close();
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
GetEffectReport(" where коэффициент <= " + comboBox2.SelectedItem);
}
private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
{
GetEffectReport(" where коэффициент >= " + comboBox3.SelectedItem);
}
private void testButton_Click(object sender, EventArgs e)
{
TestForm testForm = new TestForm();
testForm.ShowDialog();
}
}
}
Форма теста
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class TestForm : Form
{
private List<Question> questions;
private List<Ansver> ansvers;
private int counter = 0;
public TestForm()
{
InitializeComponent();
questions = ExecuteQuestins();
ansvers = new List<Ansver>();
UpdateForm();
}
SqlConnection openConnection()
{
SqlConnection connection = new SqlConnection("Data Source=localhost;Initial Catalog=PECHDB;Integrated Security=True");
connection.Open();
//this.Text = "Я открыт";
return connection;
}
SqlDataReader sendQuery(string query, SqlConnection connection)
{
SqlDataReader myReader;
SqlCommand myCommand = new SqlCommand(query, connection);
//выполняем запрос
myReader = myCommand.ExecuteReader();
return myReader;
}
void closeConnection(SqlConnection connection)
{
connection.Close();
//this.Text = "Я закрыт";
}
private class Question
{
public int Id { get; set; }
public string Text {get;set;}
}
private class Ansver
{
public int Id { get; set; }
public int Value {get;set;}
}
private List<Question> ExecuteQuestins()
{
string query = "SELECT * FROM Вопросы";
SqlConnection connection = openConnection();
SqlDataReader myReader = sendQuery(query, connection);
List<Question> rezult = new List<Question>();
while (myReader.Read())
{
Question q = new Question();
q.Id = int.Parse(myReader["Id"].ToString());
q.Text = myReader["Текст"].ToString();
rezult.Add(q);
}
myReader.Close();
return rezult;
}
private void UpdateForm()
{
textBox2.Text = questions[counter].Text;
checkBox3.Checked = checkBox1.Checked = checkBox2.Checked = false;
if (ansvers.Count > counter)
{
if (ansvers[counter].Value == 0)
{
checkBox1.Checked = true;
}
else
if (ansvers[counter].Value == 2)
{
checkBox2.Checked = true;
}
else
if (ansvers[counter].Value == 5)
{
checkBox3.Checked = true;
}
}
if (counter == 0)
{
_prevButton.Enabled = false;
}
else
{
_prevButton.Enabled = true; ;
}
if (counter == questions.Count-1)
{
_nextButton.Text = "Завершить";
}
else
{
_nextButton.Text = "Далее";
}
}
private void _prevButton_Click(object sender, EventArgs e)
{
counter--;
UpdateForm();
}
private void _nextButton_Click(object sender, EventArgs e)
{
counter++;
if (counter > questions.Count-1)
{
EndTest();
return;
}
UpdateForm();
}
private void EndTest()
{
int tt = 0;
foreach (Ansver a in ansvers)
{
tt += a.Value;
}
label2.Text = string.Format(@"Тест завершен, средний бал {0}", tt/questions.Count);
panelRezult.Visible = true;
}
private void checkedListBox_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void fixedAnsver(int value)
{
if (ansvers.Count > counter )
{
ansvers[counter].Value = value;
}
else
{
Ansver ansver = new Ansver();
ansver.Id = questions[counter].Id;
ansver.Value = value;
ansvers.Add(ansver);
}
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
fixedAnsver(0);
checkBox2.Checked = checkBox3.Checked = false;
}
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked)
{
fixedAnsver(2);
checkBox1.Checked = checkBox3.Checked = false;
}
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
if (checkBox3.Checked)
{
fixedAnsver(5);
checkBox1.Checked = checkBox2.Checked = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
DateTime date = DateTime.Now;
foreach(var rr in ansvers)
{
string request = string.Format(@"INSERT INTO [dbo].[РезультатыТеста]
([имя]
,[дата]
,[id_вопроса]
,[ответ])
VALUES
('{0}'
,'{1}.{4}.{5} {6}:{7}:{8}'
,{2}
,{3})",textBox1.Text,date.Year,rr.Id,rr.Value,date.Month,date.Day, date.Hour, date.Minute, date.Second);
SqlConnection connection = openConnection();
sendQuery(request, connection);
connection.Close();
}
Close();
}
private void showRezultButton_Click(object sender, EventArgs e)
{
showRezultsPanel.Visible = true;
string query = @"select [имя], [дата], AVG([ответ]) [ответ]
from [dbo].[РезультатыТеста]
group by [имя], [дата]";
SqlConnection connection = openConnection();
SqlDataReader myReader = sendQuery(query, connection);
while (myReader.Read())
{
int c = dataGridView.RowCount;
dataGridView.Rows.Add(1);
dataGridView.Rows[c].Cells[0].Value = myReader["имя"];
dataGridView.Rows[c].Cells[1].Value = myReader["дата"].ToString();
dataGridView.Rows[c].Cells[2].Value = myReader["ответ"].ToString();
}
myReader.Close();
}
}
Размещено на Allbest.ru
Подобные документы
Объектно-ориентированные возможности языка C++. Моделирование системы геометрических фигур, методика проектирования программных комплексов. Анализ предметной области, технология создания объектной модели. Упрощение классов при использовании наследования.
курсовая работа [668,8 K], добавлен 22.09.2011Создание, настройка камер, настройки основанных параметров визуализации и использования различных специальных эффектов в графическом пакете 3ds Max 2008. Особенности интерфейса программы. Типы специальных эффектов и их применение. Добавление заднего фона.
курсовая работа [2,1 M], добавлен 03.06.2013Создание файла со списком студентов. Реализация программы для работы с "базой данных", которая позволяет добавить, удалить, редактировать, сохранять информацию о студентах. Упорядочивание списка студентов методом прямого слияния и поиск по базе.
курсовая работа [299,8 K], добавлен 27.06.2014Обзор существующих систем и методов реализации звуковых эффектов. Методы решения поставленной задачи. Эффекты, основанные на задержке сигнала. Простые и сложные звуковые эффекты. Разработка программной модели и текст программ на Maltab и языке Cи.
курсовая работа [428,6 K], добавлен 12.03.2009Разработка информационной базы данных для поликлиники, которая поможет пользователю найти информацию о любом сотруднике или пациенте. Функциональная структура предметной области. Диаграмма потоков данных (DFD-диаграмма). Поддержка целостности данных.
курсовая работа [6,7 M], добавлен 17.09.2014Изучение основных задач применения информационных технологий в производственном и маркетинговом процессе, что позволяет предприятиям конкурировать одновременно по качеству продукции, скорости реакции на изменения потребительских вкусов и по издержкам.
контрольная работа [24,4 K], добавлен 14.10.2010Редактирование аналоговых и цифровых изображений. Описание графических форматов файла. Алгоритм отображения файла и реализации эффектов. Программа для работы с графическими форматами. Назначение и взаимодействие модулей. Перечень процедур и функций.
курсовая работа [516,8 K], добавлен 28.05.2013Создание информационной технологии для фирмы для упрощения и повышения эффективности ведения бизнеса. Профиль деятельности, управленческая структура. Вычислительная техника и сетевые средства. Информационные технологии в работе с клиентами и персоналом.
курсовая работа [2,2 M], добавлен 23.12.2011Разработка информационной системы для предметной области с использованием заданных структур данных. Создание и проверка базы данных, которая позволяет вводить информацию, хранить её в файле, осуществлять поиск, модификацию, сортировку и удаление данных.
курсовая работа [240,0 K], добавлен 29.03.2016Способы моделирования типовых геометрических объектов. Методы решения инженерно-геометрических задач в системах автоматизированного проектирования. Правила выполнения чертежей деталей, сборочных единиц, электрических схем по современным стандартам.
методичка [44,6 K], добавлен 29.11.2010