Смекни!
smekni.com

Автоматизированная система распределения мест и оценок качества олимпиадных заданий (стр. 9 из 12)

Интерес представляют выявленные свойства идеализированного ансамбля как «механического» объединения школьников, на уровне которого реализуется наи­более простая, но в то же время и самая фундаментальная форма взаимоотноше­ния личности и коллектива, выражающаяся в элементарном сложении. Подобное объединение школьников, лишенное выраженных межличностных взаимоотно­шений, хорошо соотносится с ансамблем участников олимпиады. Идеализиро­ванный ансамбль отличается заведомой аддитивностью своих свойств. Исследо­вание подобных систем в научном плане имеет большой интерес. История науки дает основания надеяться, что они могут составить простейшую базу для постро­ения количественных шкал, необходимых для измерения педагогических харак­теристик. Объединение школьников, лишенное выраженных межличностных и групповых взаимоотношений, интересно и по отношению к проблемам учебно-воспитательного коллектива. Оно может сыграть роль первичной матрицы, на фоне которой влияние на коллектив межличностных и групповых взаимоотно­шений должно прослеживаться наиболее рельефно.

Практическую значимость имеют разработанные в рамках модели 2-блочные и 3-блочные макеты олимпиадных заданий, характеризуемые оптимальным соответствием педагогической модели. Макеты были отрабо­таны в условиях реального эксперимента. Итоги этого эксперимента показа­ли, что педагогическая модель подтверждается опытом и имеет хорошие пер­спективы для практического использования. Она решает большинство нако­пившихся на уровне региональных олимпиад проблем, способствуя переводу этих олимпиад в режим «талантосбережения».

Отмечая положительные моменты проведенного исследования, можно остановиться в заключение на перспективах его практического и теоретичес­кого использования. Полученные результаты интересны тем, что являются, строго говоря, лишь первым шагом на пути построения полномасштабной педагогической модели интеллектуального испытания. Характеризуя этот шаг в теоретическом плане, можно сказать, что он был сделан в правильном на­правлении, поскольку вывел нас на исходные позиции теории вероятности, способной дать вероятностное истолкование различия репродуктивного и продуктивного видов деятельности школьников и процесса их соединения. Полученные данные важны тем, что делают контуры вероятностной модели интеллектуального испытания просматриваемыми. Залогом этого является математический аппарат модели, сформированный в процессе настоящего исследования.

Что касается перспектив практического использования системы, то они достаточно понятны. Разработанная система и модель интеллектуального испытания в ее сегодняшнем виде пригодна для определения формата не только олимпи­ад, но и большинства способов оценки и контроля уровня знаний учащихся (контрольных и самостоятельных работ, экзаменов, тестов). В рамках моде­ли, например, можно определить возможный формат единого экзамена школь­ников, к которому должна перейти отечественная система образования. Дос­таточно лишь задать его выходные параметры (разрешение, уровень интел­лектуальной нагрузки школьников и т.д.).

Модель может быть использована и для решения ряда других задач. Она позволяет исследовать структуру ансамбля испытуемых школьников, что мо­жет быть интересным, скажем, для оценки влияния дифференциации систе­мы образования на уровень подготовки школьников. С помощью модели, на­пример, можно оценивать не только уровень сложности задач, но и уровень профессиональной подготовки учителя, через его знание класса и его способ­ность подготовить разноуровневое контрольное задание, сбалансированное по видам учебной деятельности.

Приложение. Исходный код системы (по модулям).

Модуль 1.

Код данного модуля отвечает за формирование главного окна программы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, ToolWin, ComCtrls, Grids, DBGrids, ExtCtrls, StdCtrls,

Buttons, DB, DBTables, INIFiles, ShellAPI;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N10: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N20: TMenuItem;

ToolBar1: TToolBar;

DBGrid1: TDBGrid;

Panel1: TPanel;

GroupBox1: TGroupBox;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

GroupBox2: TGroupBox;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

GroupBox3: TGroupBox;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

dbOlymp: TDatabase;

dsOlymp: TDataSource;

Table1: TTable;

OpenDialog1: TOpenDialog;

Label1: TLabel;

procedure N5Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure N16Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Config:TIniFile;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;

{$R *.dfm}

procedure TForm1.N5Click(Sender: TObject);

begin

if Application.MessageBox('Закончитьработу?','Выход',mb_YesNo+mb_IconAsterisk)=idYes

then Application.Terminate

else Exit;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if Application.MessageBox('Закончитьработу?','Выход',mb_YesNo+mb_IconAsterisk)=idYes

then Action:=caFree

else Action:=caNone;

end;

procedure TForm1.N16Click(Sender: TObject);

begin

ShellAbout(Form1.Handle,'FoxSoft Olymps v1.0 (beta)','Programm by Chernetckiy Kirill aka Fox',Application.Icon.Handle);

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Form6.ShowModal;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

try

with dbOlymp do

begin

Connected:=False;

Params.Clear;

Params.Add('PATH='+GetCurrentDir+'\Bases');

Params.Add('DEFAULT DRIVER=PARADOX');

Params.Add('ENABLE BCD=FALSE');

Connected:=True;

end;

except

Application.MessageBox('Ошибкаинициализациибазданных. Возможно не установлен BDE.','Ошибка',mb_Ok+mb_IconHand);

Application.Terminate;

end;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

Form2.ShowModal;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Form3.ShowModal;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

try

if Application.MessageBox('Хотитесохранитьтекущийвидтаблицы?','Подтвердите',mb_YesNo+mb_IconAsterisk)=idNo

then Exit

else

begin

Config:=TIniFile.Create(GetCurrentDir+'\Config.ini');

with Config do

begin

WriteString('GRID_CONFIG','FIO',IntToStr(DBGrid1.Columns[0].Width));

WriteString('GRID_CONFIG','MARK1',IntToStr(DBGrid1.Columns[1].Width));

WriteString('GRID_CONFIG','MARK2',IntToStr(DBGrid1.Columns[2].Width));

WriteString('GRID_CONFIG','MARK3',IntToStr(DBGrid1.Columns[3].Width));

WriteString('GRID_CONFIG','MARK4',IntToStr(DBGrid1.Columns[4].Width));

WriteString('GRID_CONFIG','MARK5',IntToStr(DBGrid1.Columns[5].Width));

WriteString('GRID_CONFIG','MARK6',IntToStr(DBGrid1.Columns[6].Width));

WriteString('GRID_CONFIG','SUMMARK',IntToStr(DBGrid1.Columns[7].Width));

WriteString('GRID_CONFIG','SCHOOL',IntToStr(DBGrid1.Columns[8].Width));

UpdateFile;

end;

Config.Free;

Application.MessageBox('Настройки успешно сохранены!','Сообщение',mb_Ok+mb_IconAsterisk);

end;

except

Application.MessageBox('Ошибка сохранения настроек!','Ошибка',mb_Ok+mb_IconHand);

Exit;

end;

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

Form5.ShowModal;

end;

procedure TForm1.N3Click(Sender: TObject);

var

i:integer;

begin

OpenDialog1.InitialDir:=GetCurrentDir+'\Bases';

if OpenDialog1.Execute then

begin

try

with Table1 do

begin

Active := False;

DatabaseName := 'Olymp';

TableType := ttParadox;

TableName := ExtractFileName(OpenDialog1.FileName);

Active:=True;

end;

dsOlymp.DataSet:=Table1;

DBGrid1.DataSource:=dsOlymp;

Application.MessageBox('Базауспешнооткрыта.','Сообщение',mb_Ok+MB_ICONASTERISK);

except

Application.MessageBox('Ошибкаоткрытиябазы. Возможно она не существует.','Ошибка',mb_Ok+MB_ICONHAND);

Exit;

end;

end;

end;

procedure TForm1.BitBtn4Click(Sender: TObject);

begin

Form7.ShowModal;

end;

end.

Модуль 2.

Код этого модуля отвечает за формирование баз данных, то есть за запись участника.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, Buttons;

type

TForm2 = class(TForm)

Panel1: TPanel;

GroupBox1: TGroupBox;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1, DB, DBTables;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

ModalResult:=mrCancel;

end;

procedure TForm2.BitBtn2Click(Sender: TObject);

var

Fio,Sch:string;

n1,n2,n3,n4,n5,n6,snum:double;

begin

Fio:=Edit1.Text;

Sch:=Edit2.Text;

if (Fio='') or (Sch='') then

begin

Application.MessageBox('НевведеноФИОилиШкола!','Ошибка',mb_Ok+mb_IconHand);

Edit1.SetFocus;

Exit;

end;

try

n1:=StrToFloat(Edit3.Text);

n2:=StrToFloat(Edit4.Text);

n3:=StrToFloat(Edit5.Text);

n4:=StrToFloat(Edit6.Text);

n5:=StrToFloat(Edit7.Text);

n6:=StrToFloat(Edit8.Text);

except

Application.MessageBox('Одноилинесколькотекстовыхполейзаполненыневерно!','Ошибка',mb_Ok+mb_IconHand);

Edit1.SetFocus;

Exit;

end;

snum:=n1+n2+n3+n4+n5+n6;

try

with Form1.Table1 do

begin

Active:=True;

Append;

FieldValues['COUNTER']:=RecordCount+1;;

FieldValues['FIO']:=Fio;

FieldValues['MARK1']:=n1;

FieldValues['MARK2']:=n2;

FieldValues['MARK3']:=n3;

FieldValues['MARK4']:=n4;

FieldValues['MARK5']:=n5;

FieldValues['MARK6']:=n6;

FieldValues['SUMMARK']:=snum;

FieldValues['SCHOOL']:=Sch;

Post;

end;

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Edit4.Text:='';

Edit5.Text:='';