SKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNET

28 259 5
SKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNET

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNETSKKN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNET

SỞ GIÁO DỤC & ĐÀO TẠO NAM ĐỊNH TRƯỜNG THPT CHUYÊN LÊ HỒNG PHONG SÁNG KIẾN DỰ THI CẤP TỈNH BÁO CÁO SÁNG KIẾN TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNET Tác giả: Phạm Hồng Thanh Trình độ chuyên mơn: Cử nhân Chức vụ: Tổ phó tổ Tốn Tin Nơi công tác: Trường THPT chuyên Lê Hồng Phong Nam Định, ngày 19 tháng 05 năm 2016 TÊN SÁNG KIẾN: TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNET LĨNH VỰC ÁP DỤNG SÁNG KIẾN: Tổ chức tự học kiểm tra đánh giá cho học sinh THỜI GIAN ÁP DỤNG SÁNG KIẾN: Từ ngày 25 tháng năm 2015 đến ngày 09 tháng năm 2016 TÁC GIẢ: Họ tên: Phạm Hồng Thanh Năm sinh: 1975 Nơi thường trú: 8/237 Hàn Thuyên, phường Vị Xuyên, TP Nam Định Trình độ chun mơn: Cử nhân Chức vụ cơng tác: Tổ phó tổ Tốn Tin Nơi làm việc: Trường THPT chuyên Lê Hồng Phong Điện thoại: 0915590781 Tỷ lệ đóng góp tạo sáng kiến: 100% ĐỒNG TÁC GIẢ: Không ĐƠN VỊ ÁP DỤNG SÁNG KIẾN: Tên đơn vị: Trường THPT chuyên Lê Hồng Phong Địa chỉ: 76 Vị Xuyên, phường Vị Xuyên, TP Nam Định Điện thoại: 350 3640297 BÁO CÁO SÁNG KIẾN I ĐIỀU KIỆN HOÀN CẢNH TẠO RA SÁNG KIẾN: Trải qua năm dạy Tin học cho học sinh đội tuyển Tin học thi học sinh giỏi chấm thi học sinh giỏi Đặc thù môn học làm máy, chấm máy theo test Khi chấm cho nhiều học sinh, học sinh có số nộp, chấm nhiều test Trước tơi viết chương trình chấm cho học sinh có số hạn chế, bổ sung mở rộng phạm vi ứng dụng Điều thứ hai là: công nghệ điện toán đám mây áp dụng rộng rãi, việc tận dụng khả công nghệ cần thiết; sử dụng tốt chia sẻ cho đồng nghiệp môn nhà trường áp dụng II MƠ TẢ GIẢI PHÁP: Mơ tả giải pháp trước tạo sáng kiến: Trước nghiên cứu viết chương trình chấm Chương trình chấm cần nhập tên học sinh, thay đổi nhiều thông tin theo cần chấm chưa phù hợp với cách lựa chọn ngôn ngữ lập trình học sinh Khi chấm cho học sinh cần giáo viên có mặt trực tiếp phải hướng dẫn cho học sinh cách sử dụng chương trình giải thích lỗi khó khăn Tơi tham khảo chương trình chấm THEMIS thầy giáo viết dùng chấm thi học sinh giỏi Quốc gia, thường dùng cho kì thi phù hợp Nhưng để giúp phát lỗi học sinh học phải viết thêm vào chương trình chấm, mà viết thêm phải chỉnh sửa theo yêu cầu chương trình, khơng biết thống kê lỗi test để rút kinh nghiệm Trong trình giảng dạy đối tượng học sinh, giáo viên thường phải in hay gửi qua thư cho học sinh,học sinh lại làm ngược lại muốn báo cáo kết Việc trao đổi giáo viên học sinh bị động, bất tiện việc cập nhật thơng tin, khơng theo dõi tình hình học sinh làm bài, học sinh làm bị phụ thuộc vào giáo viên chấm, nhận xét thông báo cho học sinh Mơ tả giải pháp sau có sáng kiến: * Tạo nơi học làm việc online: Học sinh tham gia vào lớp học nhận đề yêu cầu từ phía giáo viên nào, đâu miễn có kết nối internet Học sinh trao đổi, đóng góp ý kiến mình, nộp làm chuyên đề giao Cách làm việc áp dụng cho môn học khác Cơng việc có phân quyền cho học sinh, nơi nhận bài, nơi nộp làm để tránh học sinh khác nộp hộ hay nhầm lẫn Tạo nơi làm việc internet dùng dịch vụ miễn phí chia sẻ Google (drive.google.com), Microsoft (onedrive.live.com), Dropbox (Dropbox.com), Box (Box.com), Youtube (Youtube.com), Mediafire, … Các dịch vụ có chung đặc điểm: Dịch vụ lưu trữ trực tuyến dựa tảng điện toán đám mây Cung cấp gói miễn phí trả phí Cho phép tăng dung lượng lưu trữ miễn phí Cho phép chia sẻ cộng tác file Hỗ trợ chế độ chia sẻ file công cộng riêng tư Cho phép lưu trữ nhiều loại file gồm file ảnh video Cho phép mở file trực tuyến Hỗ trợ siêu liên kết trực tiếp (direct/hot link) Cho phép đồng hoá lưu file 10.Mã hoá file dịch vụ 11.Lưu file trực tiếp vào tài khoản người dùng 12.Có phần mềm hỗ trợ đa tảng Ở lựa chọn dịch vụ Box, Onedrive thấy có hiệu quả, phù hợp, đơn giản; qua giới thiệu cho người sử dụng Hai dịch vụ (có thể dịch vụ khác có tất cả) chia sẻ, phân công việc cho người tham gia đơn giản, giao diện thân thiện Onedrive có giao diện tiếng Việt Phần hướng dẫn sử dụng phụ lục A * Bổ sung vào chương trình chấm trước đây: - Để đáp ứng với nhu cầu học tập, học sinh học tập địa điểm nào, vào thời điểm miễn có kết nối internet Học sinh nhận yêu cầu làm việc, nộp kết làm vào nơi phép giáo viên (ở phần tạo nơi học làm việc online) Với máy tính kết nối internet bật (hay bật theo thời gian theo nhu cầu), hệ thống máy tính đồng liệu với nơi lưu trữ mạng (các dịch vụ đám mây) Có chương trình chấm tự động ln chạy sẵn máy tính; tìm học sinh nộp; gọi đến chương trình chấm tương ứng thực chấm; ghi nhận kết học sinh trả kết cho học sinh nộp bài; hệ thống lại đồng lên internet học sinh nhận ln kết - Trong chương trình chấm cho học sinh trước đây, tơi tổ chức lại chương trình chấm cũ để dễ bổ sung, sửa chữa trước, đơn giản gộp tệp cấu hình chấm _sys.txt Giáo viên xem kết chấm tệp _ten_bai.txt tương ứng với làm yêu cầu học sinh nhận phản hồi tình hình làm Trong tệp cấu hình cho phép lựa chọn: + Chọn ngơn ngữ lập trình Pascal hay C++ + Thay đổi chấm chuẩn (thường yêu cầu cho biết kết quả, không cần phương án giải quyết) + Lựa chọn nơi nộp học sinh linh động nơi lưu học sinh sau chấm + Lựa chọn test cần chấm riêng lẻ hay bỏ test tạm thời có lỗi + Lựa chọn test cần phân biệt thời gian thực sử dụng nhớ phù hợp (đặt thời gian thực theo phần nghìn giây, giới hạn sử dụng nhớ đến Kb để ngắt chương trình học sinh viết bị lặp vô hạn hay chưa tối ưu thời gian, nhớ) - Trong chương trình nguồn chấm thay đổi cách thức thơng báo lỗi linh động hay thay đổi cách thức chấm (người sử dụng cần biết cách thức sửa chương trình nguồn – mơ tả thơng qua ngơn ngữ lập trình Pascal) Hoặc khơng cần sửa chữa u cầu đơn giản Phần bổ sung vào hệ thống chương trình cũ tơi nêu cụ thể phụ lục B III HIỆU QUẢ DO SÁNG KIẾN ĐEM LẠI: Hiệu kinh tế: (Không đánh giá được) Hiệu mặt xã hội: Giảm bớt thời gian chấm giáo viên muốn kiểm tra trình độ lập trình học sinh, đánh giá đúng, cơng ghi lại lỗi test mà học sinh mắc phải Trong năm áp dụng cập nhật, bổ sung chức + Có phần ghi biên chấm thi: kết điểm theo test, số test lỗi + Ghi số lỗi theo test: để biết tình hình làm + Chạy test ngắt qng bất kì, lỗi + Thông báo kết làm học sinh học, làm nộp qua mạng LAN, WAN Tạo hứng thú học tập cho học sinh Điều quan trọng chấm cần tạo test “Tốt” cho kiểm tra đánh giá cách làm, trình độ học sinh Nếu cần tham khảo liên hệ trao đổi với tơi để hồn thiện Đây điều rút từ thực tế giảng dạy cho học sinh lớp chuyên Tin học, bồi dưỡng thi học sinh giỏi Quốc gia môn Tin học, qua kì thi tỉnh Cách chấm áp dụng cho nhiều đối tượng học sử dụng ngơn ngữ lập trình Pascal, C++; sử dụng kỳ thi, kiểm tra, đánh giá học sinh Kinh nghiệm cần đem cho đồng nghiệp sử dụng đợt bồi dưỡng học sinh giỏi: cấp trung học phổ thông, trung học sở, thi học sinh giỏi chọn đội tuyển tỉnh tham dự kì thi học sinh giỏi Quốc gia IV CAM KẾT KHÔNG SAO CHÉP HOẶC VI PHẠM BẢN QUYỀN Tôi xin cam đoan điều nêu báo cáo sáng kiến kinh nghiệm độc lập nghĩ áp dụng Tôi không chép vi phạm quyền cá nhân hay tổ chức Nếu cá nhân hay tổ chức phát tơi có hành vi sai trái tơi xin chịu trách nhiệm hoàn toàn trước quan pháp luật CƠ QUAN ĐƠN VỊ ÁP DỤNG SÁNG KIẾN TÁC GIẢ SÁNG KIẾN Phạm Hồng Thanh SỞ GIÁO DỤC VÀ ĐÀO TẠO NAM ĐỊNH (Xác nhận, đánh giá, xếp loại) CÁC PHỤ LỤC - Phụ lục A: Cách tạo, sử dụng nơi học làm việc online - Phụ lục B: Nâng cấp chương trình chấm Phụ lục A: Cách tạo, sử dụng nơi học làm việc online Tơi sử dụng dịch vụ lưu trữ BOX miễn phí với người dùng cá nhân, địa https://www.box.com Môi trường làm việc sử dụng ngôn ngữ tiếng Anh (Một số dịch vụ khác có cho lựa chọn tiếng Việt) Đăng kí tài khoản - Chọn Sign Up -> Personal Plans -> Free Sign Up (được 10Gb miễn phí) - Nhập thông tin: tên truy cập thông qua tên hòm thư; mật tự chọn; chọn Submit Kiểm tra hòm thư để tiến hành kích hoạt tài khoản Đăng nhập: - Nhập địa thư mật đăng kí Tạo tổ chức liệu: Giao diện làm việc minh họa Có nút lựa chọn cho công việc - Tạo thư mục: Chọn nút New – Folder, nhập tên - Tải liệu lên để lưu trữ: chọn nút Upload, tiến hành lựa chọn liệu máy cá nhân (Trợ giúp thao tác kéo – thả trực tiếp) - Tải liệu máy: chọn chuột phải vào đối tượng cần, chọn download Về thư muc Nút chọn Thư muc Tệp Tạo đồng liệu máy tính: - Tải cài đặt đồng bộ: Chọn danh sách nút thơng tin cá nhân (góc bên phải), chọn get box sync, chọn loại tệp chương trình cài đặt phù hợp (kích thước cài đặt khoảng 30 Mb) - Chạy chương trình cài đặt tải Lựa chọn thơng số phù hợp cho chương trình cài đặt - Tiến hành đăng nhập vào chương trình, thay đổi thông tin nơi để liệu đồng máy cá nhân (có tên thư mục là: Box sync ổ đĩa hệ thống) Từ có thay đổi liệu thư mục Box sync, cập nhật mạng ngược lại - Lựa chọn thư mục đồng bộ/ tắt đồng bộ: Chọn chuột phải, properties, sync to computer/unsync Và nhiều chức khác, người sử dụng tự khám phá tiếp để sử dụng Mời cộng tác làm việc/ chia sẻ liệu: - Mời cộng tác: mời, thành viên BOX (qua thư chia sẻ) sử dụng Chọn chuột phải vào đối tượng, sharing, Invite Collaborator Nhập danh sách người cộng tác Cho phép người cộng tác sửa /chỉ xem - Hủy cộng tác: chọn tên phía bên phải cửa sổ, chọn hủy - Chia sẻ: có địa liên kết có thể: Chọn chuột phải vào đối tượng, sharing, share link Tại ta lựa chọn chép link, chuyển chia sẻ cho người, hay hủy bỏ chia sẻ Tôi sử dụng tổ chức BOX để giao công việc, chuyển tài liệu cho học sinh học sinh gửi làm online Tổ chức: tạo theo đối tượng học sinh: lớp 10, 11, 12, đội tuyển Trong đối tượng có mục tài liệu, nộp Các tài liệu đối tượng đưa vào phù hợp Các mục tài liệu, dùng chia sẻ để lấy link (chỉ xem thông tin hay tải về, tránh sai sót xóa nhầm, làm liệu) chuyển cho học sinh (rút gọn đường dẫn dùng thêm trang tinyurl.com để thuận tiện) Mục nộp phải mời cộng tác cho phép quyền sửa chữa để học sinh nộp đươc) 10 begin readln(fn,st); writeln(fd,st); end; close(fn); close(fd); end; { } Procedure xoa_tep(tep:string); var f:text; begin assign(f,tep); erase(f); end; { } BEGIN hscu:=''; baicu:=''; LAY_DSHS; assign(f1,'chamthem.txt'); {$I-} reset(f1); {$I+} If ioresult0 then rewrite(f1) else append(f1); writeln(f1,' CHAM THEM '); close(f1); ngon_ngu:='pas'; repeat For i:=1 to sohs_ Begin hs:=dshs_[i]; lay_dsbai(hs); If sobai_>0 then For j:=1 to sobai_ Begin bai:=copy(dsbai_[j],1,length(dsbai_[j])-4); {lay ten tep} cham1:=true; cham2:=true; assign(f,bai+'\_tudong.exe'); 14 {$I-} reset(f); {$I+} If ioresult0 then cham1:=false; If cham1=false then begin assign(f,'_lam_xong\'+bai+'\_tudong.exe'); {$I-} reset(f); {$I+} If ioresult0 then cham2:=false; end; {Khi cho học sinh làm bài, giáo viên chưa có test hay học sinh nộp sai theo tên u cầu cần xử lí } If (cham1=false) and (cham2=false) then begin assign(f,'loichamtudong.txt'); {$I-} reset(f); {$I+} If ioresult0 then rewrite(f) else append(f); Writeln(f,hs:10,' nop bai: ',bai:10,' khong dung'); close(f); chep_tep(DC_+hs+'\'+bai+'.'+ngon_ngu,DC_+hs+'\'+bai+'.'+copy(ngon_ngu,1,2 )); xoa_tep(DC_+hs+'\'+bai+'.'+ngon_ngu); assign(f,dc_+hs+'\nopsai.txt'); {$I-} reset(f); {$I+} If ioresult0 then rewrite(f) else append(f); writeln(f,' nop sai bai: close(f); end Else Begin close(f); If cham1 then chdir(bai) 15 '+bai); else chdir('_lam_xong\'+bai); If ngon_ngu='pas' then champas:='auto ' else champas:='autoc '; SwapVectors; Exec('_tudong.exe',champas+hs); SwapVectors; If cham1 then chdir(' ') else begin chdir(' '); chdir(' '); end; {$I-} reset(f1); {$I+} append(f1); writeln(f1,hs:10,bai:15); close(f1); {ghi nhận thêm chấm } end; End; End; If ngon_ngu='cpp' then ngon_ngu:='pas' else ngon_ngu:='cpp'; { đưa thêm làm ngơn ngữ lập trình khác, cần điều chỉnh phần dịch chương trình phần chương trình chấm cho phù hợp } until keypressed; END Bổ sung, chỉnh sửa chương trình chấm cũ - Phần khai báo chung cho chương trình - Phần chấm test - Phần dịch học sinh - Phần điều khiển cho chạy test, chấm điểm ghi biên - Phần điểu khiển chấm tự động hay bán tự động 2.1 Phần khai báo chung: * Tệp cấu hình chấm: _sys.txt 16 Cải tiến lần dùng chấm ngôn ngữ lập trình Pascal, hay C++: cần có tệp FPC.EXE G++.EXE cần cấu hình cho dịch để nhận thư viện có sẵn (đối với dịch C++ cần sửa phần biến môi trường PATH thêm nơi chứa tệp G++, thường đặt thêm “d:\cpp\bin\G+ +.exe” bai =ten { sửa thành tên cần chấm } ngon_ngu =pas { cpp ngôn ngữ C++ } dc_ =z:\ { nơi để học sinh cần chấm } dcluu_ = \hsluu\ { chấm xong học sinh, lưu vào } _cactest =1234567890 { test, dùng kí tự cho test} _testngatTG =1234567890 { test cần ngắt thời gian chạy} tep_dich =\fpc\2.6.0\bin\i386-win32\fpc.exe {nơi để tệp dịch Pascal } tep_dich_CPP =d:\cpp\bin\G++.exe {nơi để tệp dịch C++ } thoigian_bonho = -T 1000 -M 500000000 { thời gian ngắt ngầm định 1s, nhớ 500Mb} cham_rieng =0 { /1 – chấm tự động/riêng theo tên học sinh } _tongdiem =10 { điểm bài, chia cho test } kieu_test =1 { 1-Kieu test: TEN_BAI ?.inp/ - TEN_BAI.in? chuong_trinh_ngat=' \ngat_tg.exe'; { nơi để chương trình ngắt } * Phần đầu chương trình _tudong.pas PROGRAM _tudong; Uses crt,dos; Const chuong_trinh_ngat=' \ngat_tg.exe'; Var dc_,bai,dcluu_,_cactest,_testngatTG :string; tep_dich,tep_dich_C,thoigian_bonho :string; cham_rieng,_tongdiem,kieu_test :integer; _diemtest,diem,muc :real; _loi_bai,hs_,f1,f2,tep,ss,ngon_ngu :string; 17 tep_,bb_,bbloi_ bai_co_dich,bai_dich_loi co_ngat_thoi_gian _test :text; :boolean; :byte; :char; 2.2 Phần chấm test + Bổ sung tình chương trình học sinh khơng ghi vào tệp kết PROCEDURE CHAM_BAI_CUA_GV(_test:char;var _loi_bai: string; var _diemtest:real); Var x,y,i,j,sl :integer; mm_,mm,n,n_ :longint; ss :string; _dung,ok :boolean; BEGIN _loi_bai:=''; _diemtest:=0; _dung:=true; { } {Đọc liệu vào file input, cần } If kieu_test=0 then assign(tep_,bai+'.in'+_test) else assign(tep_,bai+_test+'.inp'); reset(tep_); readln(tep_,n_); close(tep_); { Đọc kết chuẩn – mẫu } If kieu_test=0 then assign(tep_,bai+'.ou'+_test) else assign(tep_,bai+_test+'.out'); reset(tep_); readln(tep_,mm_); close(tep_); {Đọc kết học sinh – file output học sinh} assign(tep_,bai+'.out'); {$I-}reset(tep_); {$I+} If ioresult=0 then BEGIn _dung:=true; { Xử lí khơng có output } if seekeoln(tep_) or seekeof(tep_) then Begin _loi_bai:=_loi_bai+' tep 0'; _dung:=false; End else BEGin readln(tep_,mm); 18 If (mm>mm_) then Begin _loi_bai:=_loi_bai+' KQ >'; _dung:=false; End else If (mm8 } var fn,fd:text; st:string; Begin assign(fn,nguon); reset(fn); assign(fd,dich); rewrite(fd); while not seekeof(fn) begin readln(fn,st); writeln(fd,st); end; close(fn); close(fd); end; { } Procedure xoa_tep(tep:string); var f:text; begin assign(f,tep); erase(f); end; { -} Procedure chay_bai_hs; var ff:text;ct_ngat:integer; begin assign(tep_,BAI+'.out'); {xoa tep cu} {$I-} reset(tep_); {$I+} If ioresult=0 then begin close(tep_); erase(tep_); end; {chay bai lam da dich} 21 If co_ngat_thoi_gian=1 then Begin ct_ngat:=0; assign(ff,chuong_trinh_ngat); Repeat inc(ct_ngat); {$I-} reset(ff); {$I+} If ioresult0 then begin writeln('!!! CHEP TEP ngat_tg.exe vao thu muc cha '); readln; end else ct_ngat:=5; Until ct_ngat>1; If ct_ngat=5 then Begin close(ff); SwapVectors; Exec(chuong_trinh_ngat,thoigian_bonho+bai+'.exe'); SwapVectors; End End else Begin SwapVectors; Exec(bai+'.exe',''); SwapVectors; end; end; { -} Procedure ghibb(tepbb,s:string); var bb_:text; tongdiem_:string; d,m,y,hh,mm,ss,ms:word; begin assign(bb_,tepbb); {$I-} reset(bb_); {I+} If ioresult0 then begin str(_tongdiem,tongdiem_); rewrite(bb_); writeln(bb_,' Thoi gian cham Ten Diem/ ',tongdiem_:2,' Loi bai'); end; append(bb_); getdate(d,m,y,ss); gettime(hh,mm,ss,ms); writeln(bb_,y,'/',m:2,'/',d:2,hh:3,':',mm:2,':',ss:2, hs_:10,s); close(bb_); end; {=================} 22 { Điều hành chấm } Procedure MAIN; var ii:integer; tg1,tg2:real; function tgmay_:real; var h,m,s,ms:word; begin gettime(h,m,s,ms); tgmay_:=1.0*h*3600+m*60+s+ms/100; end; Begin For ii:=1 to length(_cactest) Begin {con can xay dung phan hs ghi vao tep inp nham } _test:=_cactest[ii]; co_ngat_thoi_gian:=0; If pos(_test,_testngatTG)>0 then co_ngat_thoi_gian:=1; write('Test ',_test,' :'); {doi ten tep vao} If kieu_test=0 then assign(tep_,bai+'.in'+_test) else assign(tep_,bai+_test+'.inp'); rename(tep_,bai+'.inp'); tg1:=tgmay_; chay_bai_hs; tg2:=tgmay_; assign(tep_,bai+'.inp'); If kieu_test=0 then rename(tep_,bai+'.in'+_test) else rename(tep_,bai+_test+'.inp'); { tùy theo có cách chấm this điểm riêng } Cham_bai_cua_gv(_test,_loi_bai,_diemtest); {xu ly cham bai } writeln(_diemtest:6:2,' ',_loi_bai,' TG chay: ',(tg2-tg1):0:2); ss:=ss+'//'+_test+':'+_loi_bai; diem:=diem+_diemtest; if _diemtestmuc then ghiloitest(_test); end; 23 End; { } Procedure chambaihs; var ss1:string; Begin diem:=0; muc:=_tongdiem/length(_cactest); bai_co_dich:=true; bai_dich_loi:=false; ss:=' '; dich_bai_hs; If not bai_co_dich then begin writeln(' Khong co bai '); ss:=ss+'KHONG CO BAI' end else If bai_dich_loi then begin writeln(' DICH LOI '); ss:=ss+'DICH LOI' end else main; writeln('Hoc sinh: ',hs_,' dat diem ',diem:0:2,' / ',_tongdiem,' ',bai); str(diem:12:2,ss1); ghibb('_'+bai+'.txt',ss1+ss); If bai_co_dich then ghibb(dc_+hs_+'\'+bai+'.txt',ss1+ss); writeln; end; 2.5 Phần điểu khiển chấm tự động hay bán tự động PROCEDURE chamtheoten; BEGIN repeat writeln('CHAM BAI: ',bai); write('Nhap ten HS : '); readln(hs_); if hs_='' then halt; chambaihs; until false; readln; END; { } 24 PROCEDURE CHAMTUDONG; Var dshs_:array[-2 300] of string[12]; dacham:array[1 300]of byte; sohs_, hsi_:integer; { -} Procedure lay_dshs; var dirinfo:searchRec; i,j:integer; tg:string[12]; Begin sohs_:=-2; fillchar(dacham,sizeof(dacham),0); Findfirst(DC_+'*',$10,dirinfo); while DosError=0 Begin Inc(sohs_); dshs_[sohs_]:=dirinfo.name; Findnext(dirinfo); End; for i:=sohs_ downto for j:=1 to i-1 If dshs_[i]8 then begin chep_tep(tep,dcluu_+hs_+'\'+bai+'.'+ngon_ngu); xoa_tep(tep); end else begin exec('COMMAND.COM','/C copy '+tep+' '+dcluu_+hs_); exec('COMMAND.COM','/C del '+tep); end; end; End; INC(hsi_); { Kiem tra hs ke tiep } If hsi_>sohs_ then hsi_:=1; until keypressed; END; { } PROCEDURE CHAMDONGLENH; BEGIN hs_:=paramstr(2); chambaihs; tep:=dc_+hs_+'\'+bai+'.'+ngon_ngu; If length(bai)>8 then begin chep_tep(tep,dcluu_+hs_+'\'+bai+'.'+ngon_ngu); xoa_tep(tep); end else begin exec('COMMAND.COM','/C copy '+tep+' '+dcluu_+hs_); exec('COMMAND.COM','/C del '+tep); end; END; { -Đọc tệp cấu hình cho chương trình chấm Procedure doc_cau_hinh_cham; var tepsys:text; sooo:integer; 26 } function docdl:string; var tg:string; begin readln(tepsys,tg); docdl:=copy(tg,pos('=',tg)+1,100); end; Begin assign(tepsys,'_sys.txt'); {$I-}Reset(tepsys) ; {$I+} If ioresult0 then begin writeln(' Chua co tep cau hinh cham _sys.txt '); readln; halt; end; bai:=docdl; ngon_ngu:=docdl; dc_:=docdl; dcluu_:=docdl; _cactest:=docdl; _testngatTG:=docdl; tep_dich:=docdl; tep_dich_C:=docdl; {doc lan cho CPP } thoigian_bonho:=docdl+' '; val(docdl,cham_rieng,sooo); val(docdl,_tongdiem,sooo); val(docdl,kieu_test,sooo); close(tepsys); end; BEGIN doc_cau_hinh_cham; If paramstr(1)='autoc' then ngon_ngu:='cpp'; If paramstr(1)='auto' then ngon_ngu:='pas'; If ngon_ngu='cpp' then tep_dich:=tep_dich_c; If (paramstr(1)='auto') or (paramstr(1)='autoc') then chamdonglenh Else If cham_rieng0 then chamtheoten else chamtudong; END 27 * Các nâng cấp chương trình chấm theo năm giảng dạy để phù hợp với đối tượng học sinh - VER 2015 - Dùng chấm theo ngôn ngữ Pascal C++ - VER 2014 - Chấm theo tệp cấu hình _sys.txt tên dài q kí tự - Kiểm soát tệp hệ thống chấm chưa có - Điều khiển việc chấm tự động (Tìm mới, chép chấm để xem lại, xóa chấm để học sinh nộp online, chấm cho học sinh trả kết chấm cho học sinh thông qua tệp Tên_bài.txt - VER 2013 - Đổi kiểu chuẩn tên tệp, lựa chọn test cần giới hạn thời gian thực nhớ Hết 28 ... Trải qua năm dạy Tin học cho học sinh đội tuyển Tin học thi học sinh giỏi chấm thi học sinh giỏi Đặc thù môn học làm máy, chấm máy theo test Khi chấm cho nhiều học sinh, học sinh có số nộp, chấm. ..1 TÊN SÁNG KIẾN: TỔ CHỨC HỌC VÀ CHẤM BÀI QUA INTERNET LĨNH VỰC ÁP DỤNG SÁNG KIẾN: Tổ chức tự học kiểm tra đánh giá cho học sinh THỜI GIAN ÁP DỤNG SÁNG KIẾN: Từ ngày... tệp hệ thống chấm chưa có - Điều khiển việc chấm tự động (Tìm mới, chép chấm để xem lại, xóa chấm để học sinh nộp online, chấm cho học sinh trả kết chấm cho học sinh thông qua tệp Tên _bài. txt -

Ngày đăng: 04/01/2018, 19:04

Từ khóa liên quan

Mục lục

  • Tác giả: Phạm Hồng Thanh

Tài liệu cùng người dùng

Tài liệu liên quan