Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Delphida Test dasturini tuzishda yordam

+4 ovoz
546 marta ko‘rilgan
so‘radi 02 aprel, 17 DelphiGuru (823 bal)
tahrirlandi 02 aprel, 17 Saidolim
Assalomu alaykum. Menga bitta narsada yordam kerak...

Men bitta o'quv dasturga test qiluvchi dastur tuzishim kerak. Xozircha savollar va javoblar tayyor. Shunga ba'zani qanday tashkil qilaman? qanday qilib savollarni har safar test boshlaganda har xil savollarni tashlaydigan qilaman?

Sodda qilib aytadigan bo'lsam, Delphida Test dasturini no'ldan yozish kerak. ILTIMOS Yordam beringlar!!!

Menda Test dasturini tuzish bo'yicha to'g'risi XP yo'q. Nimadan boshlashni ham bilmayabman...

Shunga, yordam.uz axlidan yordam kutib qolaman... Iltimos!

Kerak bo'lsa rozi ham qilaman.

Javoblaringizni kutib qolaman!

2 Javoblar

+3 ovoz
javob berdi 02 aprel, 17 Saidolim (3,566 bal)
tanlangan 04 aprel, 17 DelphiGuru
 
Eng yaxshi javob

Savol juda umumiy berilgan, shunga bitta end yaxshi javobni topish juda qiyin bo`ladi.

men 15 yil oldin ishlatgan bitta metodimni tavsiya qilmoqchi edim. Delphida qilingan edi o`shanda ham.

Savollar alohida jadvalda bo`ladi. Kenjabaev aytganlaridek. Javoblar esa biroz boshqacha bo`lsa yaxshi edi.

Javob IDSavol IDjavob matniball
11javob A0
21javob B1
31javob C0
41javob D0.5

Bu usulning samaradorligi shundaki. 

  1. Sizda agar faqat bitta to`g`ri javobli test bo`lsa, unda faqat bitta javobga ball berasiz.
  2. Javoblar uchun faqat 1 ball shart emas, masalan 25 ta savol 100 ball bo`lishi kerak bo`lsa, har bir javobga 4 balldan bersangiz bo`ladi.
  3. Savollar qiyinlik darajasi bo`yicha ajratilgan bo`lsa, har bir qiyinlik darajasiga qarab, har xil ball bersa bo`ladi. Oson savolga 1 ball, o`rtachasiga 2 ball, murakkabiga 4 ball.
  4. Savollar soni aniq bo`lmasdan, 100 ball to`plaguncha savol berishni tashkillashtirish mumkin.
  5. Medilarda ko`p uchraydigan, bitta savolning 3 ta javobini belgilash kerak bo`ladigan testlar uchun ham oson. Har bir to`g`ri javobga 0.33 balldan bersangiz, hamma javobni to`g`ri belsilasa, 1 ball oladi. (yoki har biriga 1 balldan bersangiz, 3 ball maximal oladi)
  6. "4 ta xato javob, bitta to`g`rini yeb qo`yadi" degan usun uchun esa, to`g`ri javobga 4 ball, xato javobga -1 ball berish orqali amalga ochirish mumkin.
Yana ko`p xolatlar uchun ishlatish mumkin albatta. Qolgani sizga tajribada ko`rinadi.
Test olish javaroniha Javoblarning o`rnini almashtirish va savollarning o`rnini almashtirish muammo emas. Bu usul uni ham ko`tara oladi :) 
izoh qoldirdi 04 aprel, 17 DelphiGuru (823 bal)
Fikrlar va maslahatlar uchun Kattakon rahmat!
izoh qoldirdi 03 mart, 18 Kodirjonov (104 bal)
Manam delphi da test dasturini tuzodim. Lekin u dastur internet siz ishlidi (offline)
+2 ovoz
javob berdi 02 aprel, 17 Kenjebaev (1,092 bal)

Eng oddiy usullardan biri quyidagi

Har xil savollarni olish uchun SQLning RAND dan foydalanamiz. Masalan:

SELECT *
FROM questions AS q
ORDER BY q.id RAND()
LIMIT 10

tepadagi SQL so'rov natijasida sizga har xil 10 ta savolni olib beradi. Delphi adashmasam SQL bilan ishlasha oladi

izoh qoldirdi 08 aprel, 17 mavlonovAzamat (1 ball)
Accesda baza yaratib olib ishlagan maqulday
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled:=false;Timer2.Enabled:=false;
Form1.Height:=600;   Form1.Width:=860;
Form1.Position:=poScreenCenter;
Form1.BorderStyle:=bsNone; //Image3.Stretch:=True;
//image3.Align:=alClient;
boshlash.Hide; nazorat.hide; javoboy.Hide; natija.Hide;sozlash.Hide; admin.Hide;
boshlash.Align:=alClient;  Image12.Align:=alClient;
nazorat.Align:=alClient; Image4.Align:=alClient;
natija.Align:=alClient; Image5.Align:=alClient;
javoboy.Align:=alClient; Image15.Align:=alClient;
DBText6.Hide;DBText7.Hide;DBText8.Hide;

//Timer1.Enabled:=False;
//buy:=0;
Form1.DoubleBuffered:=true;
admin.DoubleBuffered:=true;
sozlash.DoubleBuffered:=true;
nazorat.DoubleBuffered:=true;

end;

procedure TForm1.Image7Click(Sender: TObject);
begin   DBEdit8.Hide;
boshlash.Align:=alClient;  Image12.Align:=alClient;
boshlash.Show; DBNavigator2.Hide;
nazorat.Align:=alClient; Image4.Align:=alClient;
 nazorat.Hide;sozlash.Hide;natija.Hide; admin.Hide; javoboy.Hide;
DBNavigator2.BtnClick(nbInsert);
DBNavigator1.BtnClick(nbFirst);
DBComboBox1.ItemIndex:=2;
end;

procedure TForm1.Image8Click(Sender: TObject);
begin
natija.Show;boshlash.Hide; nazorat.Hide;sozlash.Hide;admin.Hide;javoboy.Hide;
end;

procedure TForm1.Image9Click(Sender: TObject);
begin admin.Align:=alClient;
adminfon.Align:=alClient;
admin.Show; sozlash.hide; natija.Hide; nazorat.Hide;boshlash.Hide; javoboy.Hide;
//admin.Align:=alClient;
//adminfon.Align:=alClient;
admin.DoubleBuffered:=true;
sozlash.DoubleBuffered:=true;
Label15.Caption:='';login.Text:='';parol.Text:='';

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
If  login.Text='' then begin Label15.Caption:='Loginni kiriting!'; exit; end;
If  parol.Text='' then begin Label15.Caption:='Parolni kiriting!'; exit; end;
If (login.Text='admin') and (parol.Text='admin') then begin login.Text:='';parol.Text:=''; admin.Hide;sozlash.Show; Label15.Caption:='';
                                                             sozlash.Align:=alClient; Image6.Align:=alClient;   end
                                                 else Label15.Caption:='Login yoki parol xato!';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if  DBEdit7.Text='' then begin Label19.Caption:='O''quvchini kiriting!'; exit end;
 DBComboBox1.ItemIndex:=1;
DBEdit8.Text:='';
nazorat.Show;boshlash.Hide;
//ProgressBar1.Position:=100;
Timer1.Enabled:=true;
 end;

procedure TForm1.Button2Click(Sender: TObject);
begin
dbmemo1.Lines.Clear;
DBNavigator1.BtnClick(nbNext);
//Memo1.Lines.Add(DBEdit1.Text);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
nazorat.Show;
Timer1.Enabled:=true;
nazorat.DoubleBuffered:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Shape6.Width:=Shape6.Width-10;
IF Shape6.Width<=10 then begin javob:='0';Timer2.Enabled:=true; end;
//ProgressBar1.Position:=ProgressBar1.Position-1;
end;

procedure TForm1.JAVOBAClick(Sender: TObject);
begin
javob:='1'; Timer2.Enabled:=true; Shape1.Brush.Color:=clLime;
end;

procedure TForm1.JAVOBBClick(Sender: TObject);
begin
javob:='3'; Timer2.Enabled:=true; Shape2.Brush.Color:=clLime;
end;

procedure TForm1.JAVOBCClick(Sender: TObject);
begin
javob:='2';  Timer2.Enabled:=true; Shape3.Brush.Color:=clLime;
end;

procedure TForm1.JAVOBDClick(Sender: TObject);
begin
javob:='4';  Timer2.Enabled:=true; Shape4.Brush.Color:=clLime;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if javob=DBEdit9.Text then begin s:=s+1; DBNavigator1.BtnClick(nbNext); Shape6.Width:=820;
                           end
                      else begin DBEdit8.Text:=inttostr(s); Timer1.Enabled:=false;
                                 DBNavigator2.BtnClick(nbPost);
                                 nazorat.Hide;

                                 Label25.Caption:='';Label25.Caption:='Sinf: '+DBText6.Caption;
                                 Label26.Caption:='';Label26.Caption:='O''quvchi: '+DBText7.Caption;
                                 Label27.Caption:='';Label27.Caption:='Natija: '+DBText8.Caption;
                                 javoboy.Show;


                           end;

Shape1.Brush.Color:=clWhite;
Shape2.Brush.Color:=clWhite;
Shape3.Brush.Color:=clWhite;
Shape4.Brush.Color:=clWhite;
Timer2.Enabled:=false;
end;

procedure TForm1.Image10Click(Sender: TObject);
begin
javoboy.Hide;
end;

end.

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...