Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (982.38 KB, 8 trang )
<span class='text_page_counter'>(1)</span>BÀI TẬP THẦN THÁNH. THỰC HIỆN BỞI:GSTS Bùi Vũ Tuấn Anh.
<span class='text_page_counter'>(2)</span> I. PHÁT BIỂU BÀI TOÁN - Giới thiệu: Chúng ta biết rằng tin học là một ngành khoa học có rất nhiều ứng dụng trong các lĩnh vực đời sống xã hội có vai trò quan trọng trong việc thúc đẩy sự phát triển các ngành kinh tế. - Hôm nay ta sẽ được làm quen với thuật toán tìm kiếm tuần tự. Đây là một thuật toán cơ bản trong chương trình tin học lớp 11. - Thuật toán tìm kiếm tuần tự là một thuật toán rất hay. Hãy nghiên cứu bài giảng ngày hôm nay để biết nó hay thế nào nhé!.
<span class='text_page_counter'>(3)</span> II. XÁC ĐỊNH BÀI TOÁN - Input: Dãy A gồm N số nguyên khác nhau a1, a2,…,an và số nguyên k; - Output: Chỉ số i mà ai = k hoặc thông báo không có số hạng nào của dãy A có giá trị bằng k..
<span class='text_page_counter'>(4)</span> III. THUẬT TOÁN TRÌNH BÀY LIỆT KÊ CÁC BƯỚC VÀ SƠ ĐỒ KHỐI 1. LIỆT KÊ CÁC BƯỚC Bước 1: Nhập N, các số hạng a1, a2,…, an và khoá k; Bước 2: i <= n; Bước 3: Nếu ai = k thì thông báo chỉ số i, rồi kết thúc; Bước 4: i <= i + 1; Bước 5: Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc; Bước 6: Quay lại bước 3..
<span class='text_page_counter'>(5)</span> 2. SƠ ĐỒ THUẬT TOÁN.
<span class='text_page_counter'>(6)</span> IV. MÔ PHỎNG THUẬT TOÁN TÌM KIẾM TUẦN TỰ. Tìm kiếm tuần tự được thực hiện một cách tự nhiên. Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khoá cho đến khi hoặc gặp một số hạng bằng khoá hoặc dãy đã được xét hết và không có giá trị nào bằng khoá. Trong trường hợp thứ hai dãy A không có số hạng nào bằng khoá..
<span class='text_page_counter'>(7)</span> V. Chương trình Pascal thuật toán tìm kiếm tuần tự Program SequentialSearch; Uses wincrt; Type MANG = array[1..20] of Integer; Var M: MANG; Index: Integer; {-- Hàm tiềm kiếm tuần tự --} Function TimKiemTuanTu( A: MANG; X,N: Integer): Integer; Var I: Integer; Begin For I:=1 To N Do Begin If X = A[I] Then Begin SequentialSearch:= I; Exit; End; End; End;.
<span class='text_page_counter'>(8)</span> HẾT.
<span class='text_page_counter'>(9)</span>