Bài tập về mảng pascal dành cho học sinh giỏi năm 2024

Uploaded by

Hao Do

0% found this document useful (0 votes)

2K views

93 pages

Original Title

67 bai tap Pascal co loi giai

Copyright

© © All Rights Reserved

Available Formats

DOC, PDF, TXT or read online from Scribd

Share this document

Did you find this document useful?

Is this content inappropriate?

0% found this document useful (0 votes)

2K views93 pages

67 Bai Tap Pascal Co Loi Giai

Uploaded by

Hao Do

Jump to Page

You are on page 1of 93

Search inside document

Reward Your Curiosity

Everything you want to read.

Anytime. Anywhere. Any device.

No Commitment. Cancel anytime.

Bài tập về mảng pascal dành cho học sinh giỏi năm 2024

Tài liệu hướng dẫn phòng ngừa, giảm thiểu trẻ em lao động trái quy định của pháp luật thông qua trường học

20/12/2023TÀI NGUYÊNĐây là tài liệu tham khảo dùng cho cán bộ quản lý, giáo viên, nhân viên của cơ sở giáo dục phổ thông để từ đó có thể cụ thể hoá sự chỉ đạo của cấp trên cho phù hợp với điều kiện thực tiễn tại địa phương, nhà trường về công tác phòng ngừa, giảm thiểu lao động trẻ em thông qua trường học. Trong quá trình triển khai thực hiện công tác này, cơ sở giáo dục phổ thông cần kết nối với công tác giáo dục lao động, hướng nghiệp, phân luồng học sinh để đem lại hiệu quả tốt, tránh bệnh hình thức. Học sinh, phụ huynh học sinh và những người quan tâm có thể dùng Tài liệu này để tham khảo nhằm giúp cho trẻ em, học sinh có điều kiện tốt để duy trì học tập tại trường, phòng ngừa, giảm thiểu lao động trẻ em.

  • Bài tập về mảng pascal dành cho học sinh giỏi năm 2024

    Khai mặc hội khỏe phù đổng cấp trường năm học 2023-2024

    6/11/2023TÀI NGUYÊN[KHAI MẶC HỘI KHỎE PHÙ ĐỔNG CẤP TRƯỜNG NĂM HỌC 2023-2024] ☘️ Sáng nay, ngày 05/11/2023 trường THPT Liên Hà tổ chức Lễ khai mạc Hội khỏe Phù Đổng cấp trường năm học 2023-2024. ☘️ Tham dự lễ khai mạc Hội khỏe Phù Đổng cấp trường có các thầy cô giáo trong Ban giám hiệu, Ban đại diện Cha mẹ học sinh các lớp cùng các thầy cô giáo, các giáo sinh thực tập và các em học sinh nhà trường.
  • Bài tập về mảng pascal dành cho học sinh giỏi năm 2024
  • Bài tập về mảng pascal dành cho học sinh giỏi năm 2024

    Sinh hoạt chuyên đề cụm trường thpt huyện đông anh

    19/10/2023TÀI NGUYÊN[SINH HOẠT CHUYÊN ĐỀ CỤM TRƯỜNG THPT HUYỆN ĐÔNG ANH] ☘️ Thực hiện và triển khai sinh hoạt chuyên đề nội dung bài học theo chỉ đạo của Sở GD&ĐT Hà Nội và kế hoạch “ Nhà trường chung tay phát triển, thầy cô cùng sẻ chia” do Sở Giáo dục phát động; hoạt động chuyên môn nhằm hỗ trợ và giúp đỡ các nhà trường công tác dạy học Chương trình giáo dục phổ thông 2018, chiều 18/10/2023 cụm trường THPT huyện Đông Anh tổ chức buổi Sinh hoạt chuyên đề Cụm lần 1 năm học 2023-2024 các môn Giáo dục địa phương, Tiếng Anh, Toán, Địa lý, Ngữ Văn, Kinh tế - Pháp luật. Có tài liệu còn gọi nó là ” Thử và sai”. đã là đệ quy quay lui thì trong thủ tục của nó là thủ tục đệ quy và có “quay lui”. Ta tìm hiểu quay lui ở đâu và như thế nào? Trước hết ta xét ví dụ: Một từ được gọi là chân chính loại M, N nếu nó được xây dựng từ tập hợp gồm M ký tự, có độ dài N và không có 2 từ con nào liên tiếp giống nhau. Giả sử tập M={‘1’, ‘2’, ‘3’} Ví dụ: 1232; 2123; 1231 là những từ chân chính loại 3,4; còn 1123;1212;1233 là những từ không phải là từ chân chính loại 3,4. Tất nhiên ở đây không phải là ta xây dựng tất cả các từ có độ dài N, sau đó loại trừ những từ không thoả mãn, mà ta lần lượt xây dựng các xâu. Khởi tạo ban đầu là xâu rỗng, ta tiến hành ghép các ký tự , tại mỗi bước ghép ta kiểm tra xem nó có thoả mãn điều kiện bài toán không( có hai từ con liền nhau giống nhau không). Nếu thoả mãn ta kiểm tra xem xâu có độ dài bằng N hay chưa. Nếu xâu đã có độ dài bằng N ta in kết quả, nếu chưa có độ dài bằng N ta ghép bước tiếp. Nếu tất cả các ký tự được chọn để ghép đều không thoả mãn điều kiện bài toán thì việc chọn ký tự trước đó sai, ta phải xoá ký tự trước đó đi và thay bởi ký tự khác để bước ghép tiếp được thành công. Việc xoá ký tự trước đó để tìm ký tự khác ghép vào người ta gọi là quay lui. Trong trường hợp xâu có độ dài bằng N( đã thoả mãn bài toán) thì ta được một kết quả. Để tìm kết quả khác, ta xoá ký tự cuối cùng này đi rồi tìm ký tự khác để ghép vào cũng gọi là quay lui. Việc đó thể hiên ở thủ tục procedure find( x : integer); Còn hàm function ok(i : integer):boolean; là để kiểm tra xem có hai từ con liền nhau giống nhau hay không function ok(i : integer):boolean; var k : integer; begin ok := true; for k := 2 to i div 2 do if copy(s,i-2*k+1,k) = copy(s,i-k+1,k) then begin ok := false; exit; end; end; procedure find( x : integer); var i : integer; begin if x > n then xuat else for i := 1 to m do if s[length(s)] <> st[i] then begin s := s + st[i]; if ok(s) then begin find(x+1); delete(s,length(s),1);{ xoá để quay lại bước trước} end else delete(s,length(s),1); { xoá để quay lại bước trước} end; end; Ta xét ví dụ 2: Đường đi trên lưới ô vuông Cho lưới ô vuông cấp NxM. Trên mỗi ô (i,j) của lưới ghi một số nguyên a[i,j]. Ô (x,y) đi được sang ô (x’,y’) nếu 2 ô này chung cạnh và a[x,y]<= a[x’,y’]. Hãy lập trình giảI quyết các công việc sau:
  • Tìm tất cả các đường đi từ ô (x,y) đến ô(r,s).
  • Tìm đường đi qua ít ô nhất ( giả thiết rằng có đường đi) Ta lần lượt xây dựng các bước đi, bắt đầu từ ô (x,y), tại mỗi bước kiểm tra xem có đi qua được một trong các ô chung cạnh với nó hay không? Nếu tồn tại một bước đI thì ta ghi nhận bước đi và đi sang ô mới, tại ô mới này ta kiểm tra xem đã đến đích hay chưa. Nếu đã đến đích ta thông báo kết quả, sau đó lùi lại bước trước để tìm đường đI khác( quay lui). Còn trong trường hợp chưa đến đích thì tìm ô chung cạnh đi tiếp( đệ quy). Thủ tục sau minh hoạ giảI thuật này. Procedure Try (x,y: integer); Var j: integer; If (x = p) and (y = q) then Thong_bao else Begin For j := 1 to 4 do Begin u := x + dong[j]; v := y + cot[j]; If (A[u, v] <= A[x, y])and(b[u,v]=0) then Begin Inc(count); d[count] := u; c[count] := v; B[u,v]:=1 Try (u,v); dec(count); b[u,v]:=0; End; End; End; Bây giờ ta xét bài toán đặt 8 con hậu trên bàn cờ vua để không con nào ăn được nhau. Ta lần lượt đặt từng con hậu, giả sử ta đặt được con hậu thứ k, ta tiến hành đặt con hậu thứ k+1. Giả sử ta định đặt con hậu thứ k+1 tại ô (x,k+1) của bàn cờ( ta lần lượt xét x=1..8), chúng ta tiến hành kiểm tra xem trên dòng x của bàn cờ và trên 2 đường chéo đi qua ô (x,k+1) đã có quân hậu nào chưa, nếu có một vị trí đặt hậu thoả mãn ta ghi nhận bước đặt hậu này, còn nếu không có bước nào thoả mãn thì phảI đặt lại con hậu thứ k( quay lui). Tại mỗi bước ta lùi lại bước trước để lấy tất cả các nghiệm. Thủ tục thể hiện như sau: procedure find( x : integer); var y : integer; begin if x = 9 then xuat else for y := 1 to 8 do if ok(x,y)and(a[x,y]=0) then begin a[x,y] := 1; find(x+1); a[x,y] := 0; end; end; Ta xét bài toán mã đi tuần: Trên bàn cờ vua con mã đang ở ô (x,y), hãy cho biết con mã có đi qua tất cả các ô, mỗi ô đi đúng một lần hay không? Khởi tạo ban đầu con mã đang ở ô (x,y), ta duyệt qua các nước đi có thể của nó, tại một ô con mã có thể đi đến 8 ô như luật của đi của con mã. Tại một ô giả sử đó là bước đI thứ k của con mã, Ta chon một trong các nước đi của nó, kiểm tra xem bước đi tiếp có thoả mãn hay không ( ô đI tiếp đã đI qua lần nào chưa, có đI ra ngoài bàn cờ không.Nếu thoả mãn ghi nhận nước đI, sau đó ta kiểm tra xem bàn cờ đã đI hết chưa, nếu hết in kết quả, ngược lại đi tiếp.Nếu không còn bước đI tiếp thì phảI đI lại bước trước đó để đi tiếp được bước sau.