sang kien kinh nghiem ky nang trien khai giai thuat

39 63 0
sang kien kinh nghiem ky nang trien khai giai thuat

Đ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

ĐỀ TÀI: RÈN LUYỆN KỸ NĂNG TRIỂN KHAI GIẢI THUẬT CHO HỌC SINH CHUYÊN TIN PHẦN I ĐẶT VẤN ĐỀ Lý chọn đề tài Thời kỳ phát triển rực rỡ lý thuyết Lập trình cấu trúc (1970 – 1985) người ta thường nhắc đến công thức tiếng N Wirth: Chương trình = Cấu trúc liệu + giải thuật Nhưng thực tế cho thấy vai trò người lập trình lớn Nó liên quan tới phong cách, thói quen, tay nghề lập trình chí yếu tố tâm lý lúc làm việc Nó mang hàm lượng nghệ thuật nhiều quy tắc tiền định Vì vậy, người ta quan niệm: Chương trình = Cấu trúc liệu + giải thuật+ Nghệ thuật lập trình Một yếu tố quan trọng tác động lên nghệ thuật lập trình kỹ triển khai giải thuật Sai lầm phổ biến mà em học sinh hay mắc phải giải toán tin phần chuẩn bị em thường dừng lại bước đoán nhận giải thuật nơn nóng bắt tay vào việc viết chương trình Vì chương trình thường khơng hiệu quả, dễ mắc lỗi, mà việc tìm sửa lỗi nhiều khó khăn, thời gian, có phải thời gian ngang với thời gian lập trình Do kỳ thi HSG em đạt số kết định, không cao, không tương xứng với khả công sức bỏ Bởi vậy, để học sinh đạt kết cao kỳ thi HSG Quốc gia, Quốc tế cần phải rèn luyện cho em tuân thủ tốt bước thiết kế xây dựng chương trình, điều khơng dễ chút nào, đòi hỏi giáo viên phải kiên nhẫn, trì uốn nắn từ em bắt đầu với toán đơn giản suốt trình học em thi Với kinh nghiệm giáo viên dạy chuyên nhiều năm bồi dưỡng HSG, chọn đề tài “Rèn luyện kỹ triển khai giải thuật cho học sinh chuyên Tin” Rất mong nhận góp ý từ đồng nghiệp Phạm vi nghiên cứu - Kiến thức: Kỹ triển khai thuật tốn, tn thủ chặt chẽ ngun lý “Trì hỗn việc tác động đến liệu cụ thể” Việc trì hỗn trì lâu tốt nhiêu - Không gian: Đề tài thực trường THPT chuyên Phan Bội Châu đợt tập huấn môn chuyên - Thời gian thực hiện: năm học 2011- 2012 Mục tiêu đề tài - Đối với giáo viên: • Phục vụ giảng dạy • Phục vụ thi giáo viên giỏi • Bồi dưỡng HSG - Đối với học sinh • Rèn luyện phong cách, thói quen lập trình hiệu • Ơn thi HSG Phương pháp nghiên cứu - Kinh nghiệm thân, thảo luận, sưu tầm tài liệu, thử nghiệm thực tế, rút kinh nghiệm từ tiết dạy lớp PHẦN II NỘI DUNG A CƠ SỞ LÝ LUẬN Sau đọc đề bài, hai yêu cầu mà học sinh phải thực là: • Đốn nhận lớp giải thuật (quy hoạch động, tìm kiếm nhị phân, loang theo chiều rộng, ), • Trình bày sơ đồ triển khai giải thuật áp dụng với toán cụ thể nhận Đoán nhận lớp giải thuật khơng phải chuyện q khó Mỗi lớp giải thuật có số đặc trưng nhận dạng Các đặc trưng thể rõ cách phát biểu toán Sai lầm em học sinh thường dừng lại bước đoán nhận lớp giải thuật coi tồn phận chuẩn bị trước viết chương trình Việc trình bày sơ đồ triển khai giải thuật toán cụ thể nhận quan trọng nhiều Các phần lại (lập trình hiệu chỉnh), học sinh tự giải quyết, phải kiểm soát, uốn nắn để việc lập trình thực theo sơ đồ triển khai trình bày Nếu học sinh có thói quen kỹ triển khai giải thuật tốt em đạt kết cao kỳ thi HSG B GIẢI QUYẾT VẤN ĐỀ Sơ đồ triển khai giải thuật bao gồm hai phần: • Sơ đồ điều khiển, • Sơ đồ tính tốn Ở phần sơ đồ điều khiển, học sinh phải nêu công việc theo trình tự xử lý Mỗi cơng việc tương ứng với hàm thủ tục Với cơng việc, phức tạp, chưa thể hiển nhiên thấy cách tính lại tiếp tục triển khai thành dãy công việc Quá trình triển khai thực cơng việc trở nên đủ đơn giản, việc tính toán liên quan tới một vài liệu ban đầu dẫn xuất trung gian Như vậy, phần sơ đồ điều khiển chưa tác động đến liệu cụ thể, ngoại trừ dùng đến vài tham số kích thước để tổ chức quản lý chu trình Cần phải quán triệt ngun lý “Trì hỗn việc tác động đến liệu cụ thể” Việc trì hỗn trì lâu tốt nhiêu Như vậy, sơ đồ điều khiển tốt dẫn dắt người lập trình tới một vài phép đơn giản tác động lên giá trị vài liệu Phép phép xử lý gọi phép xử lý đơn vị (cho giải thuật triển khai) liệu mà tác động - liệu đơn vị Tồn việc mơ tả giải thuật phải xoay quanh đơn vị xử lý Ta có sơ đồ điều khiển linh hoạt, dễ dàng cải tiến, nâng cấp chương trình để có phiên làm việc hiệu Có hai tiêu chuẩn đánh giá chất lượng việc trình bày giải thuật: tiêu chuẩn định tính tiêu chuẩn định lượng Tiêu chuẩn định tính: học sinh lại, sau nghe trình bày giải thuật, phải tự tin có khả viết chương trình theo giải thuật thảo luận, theo bước nêu chưa hiểu rõ giải thuật, chưa tin tưởng giải thuật Tiêu chuẩn định lượng: giải thuật phải trình bày ngơn ngữ liệu phép xử lý nêu Mọi đại lượng phải đặt tên, rõ thuộc tính, giá trị đầu (nếu có) gì, việc tính tốn cập nhật lại giá trị biến thực nào, Tóm lại, trình bày giải thuật khơng xuất cụm từ “đại lượng bên trái”, “đại lượng bên phải”, “cứ hết”, v.v Thay vào phải “ai-1”, “ci,j+1”, “với i từ j đến n” v.v Khi nói tới mảng phải rõ mảng tên gì, số thay đổi từ đâu tới đâu, kiểu liệu nào, dùng để lưu trữ Tương tự chu trình: loại chu trình, điều kiện lặp hay khỏi chu trình tham số điều khiển chu trình biên tham số Kỹ trình bày giải thuật việc khó cơng tác đào tạo bồi dưỡng học sinh khiếu Việc rèn luyện kỹ phải sớm, toán đơn giản cần trì uốn nắn phút cuối trước thi C MỘT SỐ VÍ DỤ VỀ VIỆC RÈN LUYỆN KỸ NĂNG TRIỂN KHAI GIẢI THUẬT VÍ DỤ XẾP SÁCH Thư viện trường vừa bổ sung khối lượng lớn sách Người thủ thư phân loại sách xếp chúng thành chồng bàn cao Mặt bàn chia thành lưới n× n ô (1 ≤ n ≤ 500) Mỗi chồng sách chiếm vừa khít Có thể có trống bàn Các sách dán dấu hiệu phân loại gáy phía xung quanh Sinh viên trẻ trường giao nhiệm vụ ghi sách vào phiếu tra cứu thư viện Ngán ngẩm nhìn đống sách ngồn ngộn, vòng quanh bàn, nhìn đống sách theo hướng song song với cạnh bàn, đọc phiếu phân loại chồng nhìn thấy Một chồng sách nhìn thấy người sinh viên chồng sách khơng có chồng cao theo hướng nhìn Theo tình hình bên, người sinh viên không thấy chồng sách ô (2, 2) Các ô (2,3), (3, 3) (3, 4) ô trống Yêu cầu: Hãy xác định số chồng sách mà người sinh viên nhìn thấy Dữ liệu: Vào từ file văn BOOKS.INP: • • Dòng chứa số nguyên n, Dòng thứ i n dòng sau chứa n số nguyên xác định độ cao chồng sách hàng, độ cao có giá trị khơng vượt 000 Kết quả: Đưa file văn BOOKS.OUT số nguyên – số chồng sách nhìn thấy Ví dụ: BOOKS INP Phân tích: BOOKS OUT 12 3321 • Lớp 4102 3200 o 3121 giải thuật: Nhận dạng đối tượng o Nguyên lý: đánh dấu đối tượng nhận dạng • Cấu trúc liệu: Cần đồ đánh dấu d:array[1 500,1 500] of byte; d[i,j]=1 chồng sách vị trí (i,j) nhìn thấy d[i,j]=0 khơng nhìn thấy • Thiết kế chương trình: o Bước 1:  Liệt kê cơng việc, bước bắt buộc phải thức hiện,  Phân rã việc xử lý thành dãy công việc đơn giản tác động lên phận liệu (giảm chiều, giảm kích thước tốn),  Ngun lý: tháo gỡ khó khăn khơng phải đẩy lùi khó khăn xuống mức sau! Sản phẩm chương trình bước có dạng: Program VD1_ThKe_CT; Const tfi = ’BOOKS.INP’; tfo = ’BOOKS.OUT’; b : array[1 500,1 500] of integer; d : array[1 500,1 500] of byte; Var n,imx: integer; f,g text; : BEGIN Mofile; Nhap; Chbi; Qsat_dong; Qsat_cot; Ghnhkq; Dongfile; END Qsat_dong Qsat_cot hai gần giống nhau, khác cách điều khiển tham số chúng tương ứng với thao tác nêu đầu Chi phí thiết kế chương trình bước gần (ta phát biểu lại tốn cho!) o Bước 2: chi tiết hóa công việc bước Ở quan tâm sâu đến Qsat_dong Qsat_cot Procedure Qsat_dong; Var i : integer; Begin For i:=1 to n begin Qs_d_tp(i); {quan sat dong i tu trai sang phai} Qs_d_pt(i) {quan sat dong i tu phai sang trai} End End; Các thủ tục Qs_d_tp(i) Qs_d_pt(i) xác định cơng việc quan sát dòng i từ trái sang phải quan sát dòng i từ phải sang trái Chúng ta gần chưa làm cả, đưa toán hai chiều, quan sát bốn hướng toán chiều, quan sát từ hướng Nhiệm vụ cần thực trở nên đơn giản rõ ràng nhiều Trong thủ tục ta sử dụng có liệu vào (giá trị n) o Bước 3: Chi tiết hóa việc xử lý dòng hướng việc xử lý phần tử b[i,j] h: giá trị phần tử cao từ đầu hàng tới vị trí xét jmx: số cột ứng với phần tử cao hàng Procedure Qs_d_tp(x:integer); Var j, h : integer; Begin h:=0; jmx:=n; for j:= to n if b[x,j]>h then begin d[x,j]:=1; h:= b[x,j]; jmx:=j end End; Khi quan sát hàng từ phải sang trái ta cần xử lý đến vị trí cột cao hàng (vị trí jmx): Procedure Qs_d_pt(x:integer); Var j,h:integer; Begin h:=0; for j:= n downto jmx if b[x,j]>h then begin d[x,j]:=1; h:= b[x,j] end End; Việc xử lý quan sát theo cột thực tương tự, cần đảo lại vị trí số b Tuy thủ tục ghi nhận kết đơn giản dẫn xuất đây: Procedure Ghnhkq; Var i,j : integer; res : longint; Begin res:= 0; For i:= to n For j:=1 to n res:= res+d[i,j]; asign(f,tfo); rewrite(f); writeln(f,res); close(f) End; Khơng có khó khăn việc xây dựng thủ tục lại để có chương trình hồn thiện Như vậy, tồn nỗ lực xử lý tập trung vào phần tử b[i,j] từ hướng quan sát tất gói gọn câu lệnh **** Tồn chương trình**** Program VD1_ThKe_CT; Const fi = ’BOOKS.INP’; fo = ’BOOKS.OUT’; b : array[1 500,1 500] of integer; d : array[1 500,1 500] of byte; Var n, jmx : integer; f, g text; : Procedure Mofile; Begin Assign(f,fo);Reset(f); Assign(g,fo); Rewrite(g); End; Procedure Dongfile; Begin Close(f); Close(g); End; Procedure Nhap; Var i, j : Integer; Begin Readln(f,n); For i := to n For j := to n Read(f, b[i,j]); End; Procedure Qs_d_tp(x:integer); Var j,h : integer; Begin h:=0; jmx:=n; for j:= to n if b[x,j]>h then begin d[x,j]:=1; h:= b[x,j]; jmx:=j end End; Procedure Qs_d_pt(x:integer); Var j,h:integer; Begin h:=0; 10 pp:=pp^.next; end; End; Thủ tục Conbac2(i); duyệt qua bậc cuả i o Bước 4: Chi tiết hóa việc duyệt bậc để ghi nhận kiểm tra kết Procedure Conbac2(i: longint); Begin pp2:=dsk[j]; while pp2nil Begin k:=pp2^.point; if ki then luu_kiemtra(k); pp2:=pp2^.next;; end; End; Thủ tục luu_kiemtra(k); để xét với K bậc i, ta dùng liệu để dánh dấu giúp cho việc duyệt qua lại tốn thời gian lấy kết o Bước 5: Chi tiết hóa việc ghi nhận K bậc i kiểm tra kết Procedure Luu_kiemtra(k:longint); Begin inc(d[k]); {tang so lan tham cua dinh k} kq[k,d[k]]:=j; {duong di den k qua j} if d[k]=2 then { neu k da duoc tham lan thi xuat kq} Ghiduongdi; end; 25 Tuy thủ tục Ghiduongdi đơn giản dẫn xuất đây: o Bước 6: Nếu có kết ghi kết thúc Procedure Ghiduongdi; Begin writeln(g,i,' ',kq[k,1],' ',k,' ',kq[k,2]); Dong_file; halt; End; Với việc dùng mảng luu ta xuất kết ****Tồn chương trình**** Program VD3_ThKe_CT; Const fi = 'TRAVEL.INP'; fo = 'TRAVEL.OUT'; maxN = 10000; link = ^node; node = record point : longint; next : link; f, g : Text; dsk : array[1 maxN] of link; N, m : longint; d : array[1 maxN] of longint; kq : array[1 maxN,1 2] of longint; Type end; Var Procedure Mo_file; Begin assign(f,fi); reset(f); assign(g,fo); rewrite(g); 26 end; Procedure dong_file; Begin close(f); close(g); end; Procedure Var Nhap; i, x, y : longint; pp link; : Begin readln(f,N,M); for i:=1 to M Begin readln(f,x,y); new(pp); pp^.point:=x; pp^.next:=dsk[y]; dsk[y]:=pp; new(pp); pp^.point:=y; pp^.next:=dsk[x]; dsk[x]:=pp; end; end; Procedure khoitao; Begin fillchar(d, sizeof(d),0); fillchar(kq, sizeof(kq),0); End; 27 Procedure Ghiduongdi; Begin writeln(g,i,' ',kq[k,1],' ',k,' ',kq[k,2]); Dong_file; halt; End; Procedure Luu_kiemtra(k:longint); Begin inc(d[k]); kq[k,d[k]]:=j; if d[k]=2 then Ghiduongdi; end; Procedure Conbac2(i: longint); Begin pp2:=dsk[j]; while pp2nil Begin k:=pp2^.point; if ki then luu_kiemtra(k); pp2:=pp2^.next;; end; End; Procedure Duongtu(i:longint); Begin pp:=dsk[i]; while ppnil Begin j:=pp^.point; {j la bac cua i} 28 Conbac2(i); pp:=pp^.next; end; End; Procedure Var Tim_hanhtrinh; i, j, k, x, sl : longint; pp, pp2 : link; Begin for i:=1 to N Begin Khoitao; {khoi tao truoc xet moi dinh i} Duongtu(i); {tim chu trinh dinh xuat phat va ve tu i} end; end; Procedure Ghinhkq; Begin writeln(g,-1); End; Begin Mo_file; Nhap; Tim_hanhtrinh; Ghinhkq; Dong_file; End 29 VÍ DỤ BẢN VANXO FIBONACCI (Đề thi HSG Quốc Gia 2012) Bản vanxơ Fibonacci nhạc mà giai điệu bắt nguồn từ dãy số tiếng Lý thuyết số - dãy số Fibonacci Hai số dãy số số 2, số xác định tổng số liên tiếp trước dãy Bản vanxơ Fibonacci thu việc chuyển dãy số Fibonacci thành dãy nốt nhạc theo qui tắc chuyển số nguyên dương thành nốt nhạc sau đây: Số tương ứng với nốt Đô (C) Số tương ứng với nốt Rê (D) Số tương ứng với nốt Mi (E) Số tương ứng với nốt Fa (F) Số tương ứng với nốt Sol (G) Số tương ứng với nốt La (A) Số tương ứng với nốt Si (B) Số tương ứng với nốt Đô (C) Số tương ứng với nốt Rê (D) tiếp tục Ví dụ, dãy gồm số Fibonacci 1, 2, 3, 5, 13 tương ứng với dãy nốt nhạc C, D, E, G, C A Để xây dựng nhịp điệu vanxơ người ta tìm đoạn nhạc có tính chu kỳ vanxơ Fibonacci Đoạn nhạc gọi có tính chu kỳ chia thành k ≥ đoạn giống hệt Ví dụ, đoạn nhạc GCAGCA đoạn có tính chu kỳ, gồm đoạn giống GCA Yêu cầu: Cho trước hai số nguyên dương u, v (u < v), xác định độ dài đoạn nhạc dài có tính chu kỳ nhạc gồm dãy nốt nhạc vanxơ Fibonacci vị trí u kết thúc vị trí v Ràng buộc: 50% số tests ứng với 50% số điểm có ui < vi ≤ 100 30 Dữ liệu: Vào từ file văn FIBVAL.INP: • Dòng thứ chứa số nguyên dương k (k ≤ 100) số lượng test • Dòng thứ i số k dòng chứa số nguyên dương ui, vi ghi cách dấu cách (ui < vi ≤ 10 9) vị trí bắt đầu kết thúc nhạc Kết quả: Đưa file văn FIBVAL.OUT: • Ghi k dòng, dòng thứ i chứa số nguyên độ dài đoạn nhạc tìm tương ứng với test thứ i Nếu khơng tìm đoạn có tính chu kỳ ghi số -1 Ví dụ: FIBVAL.INP FIBVAL.OUT -1 13 10 Phân tích: • Lớp giải thuật: o Duyệt o Ngun lý: Khơng duyệt tồn mà duyệt dựa vào tính chất chu kì ( lặp lại ) nhạc • Cấu trúc liệu: F:array[0 15] of longint=(1,1,2,3,5,1,6,0,6,6,5,4,2,6,1,0); Mảng lưu lại chu kì lặp dãy van xơ fibonaxi sau mã hóa nốt nhạc thành số • Thiết kế chương trình: o Bước 1:  Liệt kê công việc, bước bắt buộc phải thực hiện,  Phân rã việc xử lý thành dãy công việc đơn giản tác động lên phận liệu (giảm kích thước tốn),  Ngun lý: tháo gỡ khó khăn khơng phải đẩy lùi khó khăn xuống mức sau! 31 Sản phẩm chương trình bước có dạng: uses math; Const fi fo = 'FIBVAL.INP'; = 'FIBVAL.OUT'; F : array[0 15] of longint=(1,1,2,3,5,1,6,0,6,6,5,4,2,6,1,0); Var f, g : Text; u,v,x,y,t,i : longint; a : array[1 100] of longint; s : string; Begin Mo_file; readln(f, T); for i:=1 to T Begin Nhap; Chuky; {tim dai chu ky ung voi test} Ghinhkq; end; Dong_file; End o Bước 2: chi tiết hóa cơng việc bước Ở quan tâm sâu đến thủ tục Chuky; Thủ tục Chuky; đóng vai trò quan trọng nhất, phân toán thành trường hợp liệu bé liệu lớn Tùy vào kích thước liệu mà đưa xử lý khác cho toán Với kích thước lớn, đơn giản ta lấy giá trị lặp lại 16 nút fibo tuần hồn (trong mảng F).Nếu kích thước bé ta hồn tồn duyệt tồn tất trường hợp so sánh với cực đại Procedure Chuky; 32 Begin if (v-u+1)>=16*2 then Begin writeln(f,((v-u+1) div 16)*16 ); end else kichthuocbe(u,v); end; Ở đây, thủ tục kichthuocbe(u,v); xử lý với kích thước dãy số bé o Bước 3: Chi tiết hóa thủ tục giải với kích thước bé Procedure Var kichthuocbe(u ,v : longint); i,j,N, kq : longint; ok : boolean; ss :string; Begin kq:=-1; Vanxo(u,v,s); {S chua ban nhac tu u den v} N:=length(S); for i:=1 to N for j:=i+1 to N Begin ok := Kiemtra(i,j); {kiem tra day tu i den j co la chu ky} if ok then kq:=max(kq,j-i+1); {so sanh de lay Kq tot hon} end end; o Bước 4: Chi tiết hóa với thủ tục Vanxo(u,v,s) xây dựng xâu S chưa nhạc từ u đến v hàm Kiemtra(i,j); để kiểm tra dãy từ u đến v có chu kỳ khơng procedure Vanxo(u,v :longint; var s: string); Begin 33 a[1]:=F[u mod 16]; a[2]:=F[(u+1) mod 16]; for i:=3 to (v-u)+1 a[i]:=(a[i-1]+a[i-2]) mod 7; s:=''; for i:=1 to v-u+1 s:=s+chr(a[i]+48); End; Function Var Kiemtra(i, j : Longint): Boolean; n ,k ,x :longint; Begin Kiemtra:=false; For k:=1 to (j-i +1) div if ((j-i+1) mod K =0) then Begin x:=1; y := (j-i+1) div k; While (x ythen Kiemtra:=true; end; End; Như sau chia nhỏ toán ta toán toán xử lý xâu đơn giản quen thuộc 34 ****Tồn chương trình**** Program VD4_ThKe_CT; uses math; Const fi fo = 'FIBVAL.INP'; = 'FIBVAL.OUT'; F : array[0 15] of longint=(1,1,2,3,5,1,6,0,6,6,5,4,2,6,1,0); Var f, g : Text; u,v,x,y,t,i : longint; a : array[1 100] of longint; s : string; : longint; kq procedure Mo_file; Begin assign(f,fi); reset(f); Assign(g,fo); rewrite(g); end; procedure Dong_file; Begin close(f); close(g); end; Procedure input; Begin readln(f,u,v); end; procedure Vanxo(u,v :longint; var s: string); Begin a[1]:=F[u mod 16]; a[2]:=F[(u+1) mod 16]; for i:=3 to (v-u)+1 a[i]:=(a[i-1]+a[i-2]) mod 7; s:=''; 35 for i:=1 to v-u+1 s:=s+chr(a[i]+48); End; Function Var Kiemtra(i, j : Longint): Boolean; n ,k ,x :longint; Begin Kiemtra:=false; For k:=1 to (j-i +1) div if ((j-i+1) mod K =0) then Begin x:=1; y := (j-i+1) div k; While (x ythen Kiemtra:=true; end; End; procedure Var kichthuocbe(u ,v : longint); i,j,N, kq : longint; ok : boolean; Begin kq:=-1; Vanxo(u,v,s); {S chua ban nhac tu u den v} N:=length(S); for i:=1 to N for j:=i+1 to N Begin ok := Kiemtra(i,j); {kiem tra day tu i den j co la chu ky} if ok then kq:=max(kq,j-i+1); {so sanh de lay Kq tot hon} end end; 36 Procedure Chuky; Begin if (v-u+1)>=16*2 then Begin writeln(f,((v-u+1) div 16)*16 ); end else kichthuocbe(u,v); end; Procedure ghinhkq; Begin writeln(g,kq); end; Begin Mo_file; readln(f, T); for i:=1 to T Begin Nhap; Chuky; Ghinhkq; end; Dong_file; End Trên số ví dụ việc triển khai sơ đồ giải thuật toán thi chọn HGS Quốc Gia năm 2012 vừa qua Ta thấy có sơ đồ triển khai giải thuật tốt việc cài đặt chương trình đơn giản nhanh chóng mắc lỗi Điều giúp em đạt kết cao kỳ thi HSG quốc gia, quốc tế 37 PHẦN III KẾT LUẬN Để đạt kết cao kỳ thi HSG, em học sinh cần tuân thủ nghiêm túc đầy đủ bước giải tốn tin Các em khơng phải biết nhận dạng giải thuật toán mà quan trọng em phải triển khai tốt sơ đồ giải thuật Một sơ đồ triển khai giải thuật tốt, dẫn tới phép xử lý đơn vị, giúp em cài đặt chương trình nhanh chóng, hiệu quả, hạn chế tối đa sai sót dễ dàng nâng cấp sửa đổi Kỹ trình bày sơ đồ triển khai thuật tốn việc khó cơng tác đào tạo bồi dưỡng học sinh khiếu Việc rèn luyện kỹ phải sớm, toán đơn giản cần trì uốn nắn phút cuối trước thi Đề tài áp dụng giảng dạy với em học sinh chuyên Tin trường THPT chuyên Phan Bội Châu thu kết tốt Các em học sinh học tập tích cực hơn, hứng thú đạt kết cao kỳ thi HSG Cụ thể năm học 2011-2012 lớp tơi phụ trách có 29 em học sinh đạt giải kỳ thi HSG tỉnh với nhiều giải cao em đạt giải nhì kỳ thi HSG Quốc Gia Trong khuôn khổ viết, với kinh nghiệm ỏi vốn kiến thức có hạn, tơi mong góp ý, trao đổi từ đồng nghiệp Tôi xin chân thành cảm ơn Vinh, ngày 10 tháng năm 2011 Tác giả Lê Thị Nhung 38 Đánh giá hội đồng khoa học 39 ... tu trai sang phai} Qs_d_pt(i) {quan sat dong i tu phai sang trai} End End; Các thủ tục Qs_d_tp(i) Qs_d_pt(i) xác định cơng việc quan sát dòng i từ trái sang phải quan sát dòng i từ phải sang trái... thói quen lập trình hiệu • Ơn thi HSG Phương pháp nghiên cứu - Kinh nghiệm thân, thảo luận, sưu tầm tài liệu, thử nghiệm thực tế, rút kinh nghiệm từ tiết dạy lớp PHẦN II NỘI DUNG A CƠ SỞ LÝ LUẬN... đồ triển khai giải thuật toán cụ thể nhận quan trọng nhiều Các phần lại (lập trình hiệu chỉnh), học sinh tự giải quyết, phải kiểm sốt, uốn nắn để việc lập trình thực theo sơ đồ triển khai trình

Ngày đăng: 21/09/2019, 20:36

Từ khóa liên quan

Mục lục

  • Dữ liệu: Vào từ file văn bản TRAVEL.INP:

  • Kết quả: Đưa ra file văn bản TRAVEL.OUT:

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

Tài liệu liên quan