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





Название1 обзор и анализ современного состояния создания систем компьютерного обучения
страница6/6
Дата публикации20.08.2013
Размер0.76 Mb.
ТипДокументы
100-bal.ru > Информатика > Документы
1   2   3   4   5   6

AppendParameter(command, "Answer", new TString(answer, 1000));

AppendParameter(command, "Id", new TInt(id), ParameterDirection.Output);
Execute(command);
return (int)command.Parameters["@Id"].Value;

}

}
public bool EditTest(int id, int? documentId, string question, int? method, string answer)

{

TestsDataSet tests = new TestsDataSet();

int result = 0;

using (SqlCommand command = new SqlCommand())

{

command.CommandType = CommandType.StoredProcedure;

command.CommandText = "dbo.ui_EditTest";

AppendParameter(command, "DocumentId", new TInt(documentId));

AppendParameter(command, "Question", new TString(question, 250));

AppendParameter(command, "Method", new TInt(method));

AppendParameter(command, "Answer", new TString(answer, 1000));

AppendParameter(command, "Id", new TInt(id));

AppendParameter(command, "Result", new TInt(result), ParameterDirection.ReturnValue);
Execute(command);
return ((int)command.Parameters["@Result"].Value) == 1;

}

}
public int AddAnswerZone(int testId, string word, int location, int? leftZoneId, int? rightZoneId, int price, bool charCase)

{

int id = -1;

using (SqlCommand command = new SqlCommand())

{

command.CommandType = CommandType.StoredProcedure;

command.CommandText = "dbo.ui_AddAnswerZone";

AppendParameter(command, "TestId", new TInt(testId));

AppendParameter(command, "Word", new TString(word, 250));

AppendParameter(command, "Location", new TInt(location));

AppendParameter(command, "LeftZoneId", new TInt(leftZoneId));

AppendParameter(command, "RightZoneId", new TInt(rightZoneId));

AppendParameter(command, "Price", new TInt(price));

AppendParameter(command, "CharCase", new TBool(charCase));
AppendParameter(command, "Id", new TInt(id), ParameterDirection.Output);
Execute(command);
return (int)command.Parameters["@Id"].Value;

}

}
public bool DropTest(int id)

{

int result = 0;

using (SqlCommand command = new SqlCommand())

{

command.CommandType = CommandType.StoredProcedure;

command.CommandText = "dbo.ui_DropTest";
AppendParameter(command, "Id", new TInt(id));

AppendParameter(command, "Result", new TInt(result), ParameterDirection.ReturnValue);
Execute(command);
return ((int)command.Parameters["@Result"].Value) == 1;

}

}
public bool DropTestFull(int documentId)

{

int result = 0;

using (SqlCommand command = new SqlCommand())

{

command.CommandType = CommandType.StoredProcedure;

command.CommandText = "dbo.ui_DropTestFull";
AppendParameter(command, "DocumentId", new TInt(documentId));

AppendParameter(command, "Result", new TInt(result), ParameterDirection.ReturnValue);
Execute(command);
return ((int)command.Parameters["@Result"].Value) == 1;

}

}
public bool DropJournal(DateTime? testDate, string userName, string testName)

{

int result = 0;

using (SqlCommand command = new SqlCommand())

{

command.CommandType = CommandType.StoredProcedure;

command.CommandText = "dbo.ui_DropJournal";
AppendParameter(command, "TestDate", new TDateTime(testDate));

AppendParameter(command, "UserName", new TString(userName, 300));

AppendParameter(command, "TestName", new TString(testName, 500));

AppendParameter(command, "Result", new TInt(result), ParameterDirection.ReturnValue);
Execute(command);
return ((int)command.Parameters["@Result"].Value) == 1;

}

}
}
public class TDateTime : TParamBase

{

public TDateTime(DateTime? value)

{

if (value == null) this.__value = DBNull.Value;

else this.__value = value;
this.precision = 0;

this.type = DbType.DateTime;

}

}
public class TBool : TParamBase

{

public TBool(bool? value)

{

if (value == null) this.__value = DBNull.Value;

else this.__value = value;
this.precision = 0;

this.type = DbType.Boolean;

}

}
public class TString : TParamBase

{

public TString(string value, int precision)

{

if (value == null) this.__value = DBNull.Value;

else this.__value = value.Substring(0, Math.Min(value.Length, precision));
this.precision = precision;

this.type = DbType.StringFixedLength;

}

}
public class TInt : TParamBase

{

public TInt(int? value)

{

if (value == null) this.__value = DBNull.Value;

else this.__value = value;
this.precision = 0;

this.type = DbType.Int32;

}

}
public class TBinary : TParamBase

{

public TBinary(byte[] value)

{

this.__value = value;

this.precision = 0;

this.type = DbType.Binary;

}

}
public abstract class TParamBase

{

protected object __value;

public object Value

{

get { return __value; }

set { __value = value; }

}
protected int precision;

public int Precision

{

get { return precision; }

set { precision = value; }

}
protected DbType type;

public DbType Type

{

get { return type; }

set { type = value; }

}

}

}


  1. Листинг файла Distance.cs


using System;

using System.Collections.Generic;

using System.Text;
namespace TestSystem

{

public class Distance

{

///

/// Compute Levenshtein distance

///


///
String 1


///
String 2


/// Distance between the two strings.

/// The larger the number, the bigger the difference.

///


public int LD(string s, string t)

{

int n = s.Length; //length of s

int m = t.Length; //length of t
int[,] d = new int[n + 1, m + 1]; // matrix
int cost; // cost
// Step 1

if (n == 0) return m;

if (m == 0) return n;
// Step 2

for (int i = 0; i <= n; d[i, 0] = i++) ;

for (int j = 0; j <= m; d[0, j] = j++) ;
// Step 3

for (int i = 1; i <= n; i++)

{

//Step 4

for (int j = 1; j <= m; j++)

{

// Step 5

cost = (t.Substring(j - 1, 1) == s.Substring(i - 1, 1) ? 0 : 1);
// Step 6

d[i, j] = System.Math.Min(System.Math.Min(d[i - 1, j] + 1, d[i, j - 1] + 1),

d[i - 1, j - 1] + cost);
}

}
// Step 7

return d[n, m];

}
public static int Percent(string s, string t)

{

Distance distance = new Distance();

double points = 1.0 / (1.0 + distance.LD(s, t));
return Convert.ToInt32(points * 100);

}

}

}


  1. Листинг файла ZoneChecking.cs


using System;

using System.Collections.Generic;

using System.Text;

using TestSystem.Data;
namespace TestSystem

{

class ZoneChecking

{

DataAccess access = new DataAccess(Properties.Settings.Default.ConnectionString);
public static int Percent(int questionId, string answer)

{

ZoneChecking checking = new ZoneChecking();

return checking.CalcPercent(questionId, answer);

}
private int CalcPercent(int questionId, string answer)

{

// вычитываем перечень допустимых смысловых зон

AnswerZonesDataSet zones = access.LoadAnswerZones(questionId);
// анализируем ответ и выделяем из него допустимые зоны

AnswerZonesDataSet.AnswerZonesRow[] answerZones = AnswerAnalyzer(answer, zones);
int result = 0;
// определяем балл

for (int i = 0; i < answerZones.Length; i++)

{

int indexZone = i+1;

if (answerZones[i].Location == 0)

{ // эта зона должна иметь фиксированный индекс в ответе

if (zones.AnswerZones.Rows.IndexOf(answerZones[i]) + 1 == indexZone)

{

result += answerZones[i].Price;

}

}

else if (answerZones[i].Location == 1)

{ // зона должна находится в пределах

if (indexZone > answerZones[i].LeftZoneId && indexZone < answerZones[i].RightZoneId)

{

result += answerZones[i].Price;

}

}

}

return result;

}
///

/// Находит вхождение зоны в строке отчета

///


///
строка ответа пользователя


///
смысловые зоны ответа


///
индекс с которого начинать поиск зон в строке ответа


///
найденая зона


/// индекс в котором найдена зона

private int IndexOfAny(string s, AnswerZonesDataSet zones, int startIndex, out AnswerZonesDataSet.AnswerZonesRow findedZone)

{

int minIndex = int.MaxValue;

AnswerZonesDataSet.AnswerZonesRow minZone = null;

foreach (AnswerZonesDataSet.AnswerZonesRow zone in zones.AnswerZones)

{

int index = s.IndexOf(zone.Word, startIndex);

if (index >= 0 && index < minIndex)

{

minIndex = index;

minZone = zone;

}

}
findedZone = minZone;

return minIndex == int.MaxValue ? -1 : minIndex;

}
///

/// Представляет ответ пользователя ввиде массива допустимых для этого вопроса зон

///


///
ответ пользователя


///
допустимые для этого ответа зоны


/// массив зон ответа пользователя, в порядке следования

private AnswerZonesDataSet.AnswerZonesRow[] AnswerAnalyzer(string answer, AnswerZonesDataSet zones)

{

List answerZones = new List();

AnswerZonesDataSet.AnswerZonesRow findedZone;

int index = IndexOfAny(answer, zones, 0, out findedZone);

while (index >= 0)

{

index += findedZone.Word.Length + 1;

answerZones.Add(findedZone);

index = IndexOfAny(answer, zones, index, out findedZone);

}
return answerZones.ToArray();

}

}

}
1   2   3   4   5   6

Похожие:

1 обзор и анализ современного состояния создания систем компьютерного обучения iconУчебно-методический комплекс дисциплины сд. Ф. 18 Методика обучения изобразительной деятельности
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconАнализ современного состояния Единой Энергетической Системы России,...
В работе представлен анализ современного состояния Единой Энергетической Системы России, основных проблем в энергетике России, а...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconРусский народный костюм как источник вдохновения для создания современного костюма
Образовательная: научить методам создания эскиза современного костюма на основе русского костюма
1 обзор и анализ современного состояния создания систем компьютерного обучения iconАнализ деяельности педагогического коллектива, направленой на обеспечение...
Анализ деяельности педагогического коллектива, направленой на обеспечение базового образования, анализ состояния преподавания и процесса...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconСтруктура архитектуры ивс "атмосферные аэрозоли"
Широкий класс задач, связанных с обеспечением контроля состояния атмосферы крупного промышленного центра требуют создания специализированных...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconЗнакомство с чудесной дымкой
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconОбзор систем дистанционного обучения (сдо)
Персональный менеджмент: Учеб методический комплекс / Авт и сост.: М. Б. Дюжева. – Омск: Типография «с-принт», 2011. – 85 с
1 обзор и анализ современного состояния создания систем компьютерного обучения iconРабота представляет собой краткий обзор состояния дел в области разработки...
Изложены базовые принципы построения ситемы управления на базе поведенческих реакций и архитектуры системы управления группой летательных...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconКонспект нод по образовательной деятельности
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconИсследование современного состояния производства специальной одежды из огнезащитных тканей
В статье представлены результаты исследования современного состояния производства специальной одежды из огнезащитных тканей
1 обзор и анализ современного состояния создания систем компьютерного обучения iconКонспект занятия по развитию речи на тему
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconКонспект занятия в старшей группе мбдоу д/с №8
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения icon«Зима» Цель: способствовать развитию экспрессивной речи
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconЗанятие по лепке в младшей группе на тему: «Цыплята» Цель
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconКонспект открытого занятия по изобразительной деятельности в средней группе
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...
1 обзор и анализ современного состояния создания систем компьютерного обучения iconКонспект занятия по лепке (предметной) в средней группе Тема: "Кукла"
Целью его является изучение современного состояния эстетического образования дошкольников на основе озна­комления с искусствоведческими...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск