Разработка подсистемы генерации учебно-тренировочных заданий

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.08.2012
Размер файла 576,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

this.параметр[this.числоПараметров].тип=0;

this.числоПараметров++;

}

if(ds1.Tables[0].Rows[i][1].ToString()=="1")

{

ds.Tables.Clear();

команда.CommandText="SELECT minimum, maximum, shag FROM ParamChislo WHERE id="+ds1.Tables[0].Rows[i][0].ToString();

adapter.SelectCommand=команда;

adapter.Fill(ds);

this.параметр[this.числоПараметров].min=Convert.ToDouble(ds.Tables[0].Rows[0][0]);

this.параметр[this.числоПараметров].max=Convert.ToDouble(ds.Tables[0].Rows[0][1]);

this.параметр[this.числоПараметров].шаг=Convert.ToDouble(ds.Tables[0].Rows[0][2]);

this.параметр[this.числоПараметров].тип=1;

this.числоПараметров++;

}

if(ds1.Tables[0].Rows[i][1].ToString()=="2")

{

ds.Tables.Clear();

команда.CommandText="SELECT wordvariant FROM ParamWord WHERE id="+ds1.Tables[0].Rows[i][0].ToString();

adapter.SelectCommand=команда;

adapter.Fill(ds);

this.параметр[this.числоПараметров].варианты=new string[100];

for(int k=0;k<ds.Tables[0].Rows.Count;k++)

{

this.параметр[this.числоПараметров].варианты[k]=ds.Tables[0].Rows[k][0].ToString();

this.параметр[this.числоПараметров].тип=2;

}

this.числоПараметров++;

}

}

aCon.Close();

Построение();

}

catch(Exception err)

{

MessageBox.Show(err.Message);

}

}

private void Построение()

{

this.textBox1.Text="";

for(int i=0;i<числоПараметров;i++)

{

if(параметр[i].тип==0)

this.textBox1.Text+=параметр[i].неизменяемыйТекст+" ";

if(параметр[i].тип==1)

this.textBox1.Text+=параметр[i].min.ToString()+" ";

if(параметр[i].тип==2)

{

if(параметр[i].варианты[0]!=null)

this.textBox1.Text+=параметр[i].варианты[0]+" ";

else

this.textBox1.Text+="НЕТ_ЗНАЧЕНИЯ ";

}

}

}

private void FormGen_Load(object sender, System.EventArgs e)

{

System.Data.DataSet ds=new System.Data.DataSet();

System.Data.OleDb.OleDbConnection aCon=new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=GeneratorDB.mdb");

System.Data.OleDb.OleDbCommand команда=new System.Data.OleDb.OleDbCommand("",aCon);

System.Data.OleDb.OleDbDataAdapter adapter=new System.Data.OleDb.OleDbDataAdapter(команда);

try

{

aCon.Open();

ds.Tables.Clear();

команда.CommandText="SELECT DISTINCT id_shablon FROM Shablon";

adapter.SelectCommand=команда;

adapter.Fill(ds);

aCon.Close();

for(int i=0;i<ds.Tables[0].Rows.Count;i++)

{

this.listBox1.Items.Add(ds.Tables[0].Rows[i][0].ToString());

}

}

catch(Exception err)

{

MessageBox.Show(err.Message);

}

}

private void saveFileDialog1_FileOk(object sender, System.ComponentModel.CancelEventArgs e)

{

}

private void button1_Click(object sender, System.EventArgs e)// //обработчик событий который при нажатие на элемент button1 сохраняет в фаил генерируемый текст.

{

this.saveFileDialog1.ShowDialog();

try

{

System.IO.FileStream fs=new System.IO.FileStream(this.saveFileDialog1.FileName,System.IO.FileMode.Create);

System.IO.StreamWriter writer=new System.IO.StreamWriter(fs,System.Text.Encoding.UTF8);

for(int t=0;t<this.numericUpDown1.Value;t++)

{

writer.WriteLine("Задача №"+Convert.ToString(t+1));

writer.WriteLine();

for(int i=0;i<числоПараметров;i++)

{

if(параметр[i].тип==0)

writer.Write(параметр[i].неизменяемыйТекст+" ");

if(параметр[i].тип==1)

{

double d=параметр[i].min+ran.Next(Convert.ToInt32(Math.Round((параметр[i].max-параметр[i].min)/параметр[i].шаг+1,0)))*параметр[i].шаг;

writer.Write(d.ToString()+" ");

}

if(параметр[i].тип==2)

{

int count=0;

for(int k=0;k<this.параметр[i].варианты.Length;k++)

if(this.параметр[i].варианты[k]!=null)

count=k+1;

writer.Write(this.параметр[i].варианты[ran.Next(count)]+" ");

}

}

writer.WriteLine();

writer.WriteLine();

}

writer.Close();

fs.Close();

MessageBox.Show("Генерирование успешно завершено!");

}

catch(Exception err)

{

MessageBox.Show(err.Message);

}

}

}

}

Приложение В

1. Размещено на www.allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.