Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
3,07 MB
Nội dung
TRẦN ĐẠI NGHIÃ TIN HỌC Đặng Hữu Hoàng BÀI BÀI TOÁN VÀ THUẬT TOÁN Thời gian tiết KIỂM TRA TÍNH NGUYÊN TỐ CỦA MỘT SỐ NGUYÊN DƯƠNG @ Xác định toán * INPUT : Số nguyên dương N; * OUTPUT : “ N số nguyên tố “ “ N không số nguyên tố “ @ Ý tưởng * Nếu N = N không số nguyên tố; * Nếu < N < N số nguyên tố; * Nếu N ≥ khơng có ước số phạm vi từ đến phần nguyên bậc hai N N số ngun tố; THUẬT TỐN KIỂM TRA TÍNH NGUYÊN TỐ CỦA MỘT SỐ NGUYÊN DƯƠNG Cách : Liệt kê bước B1: Nhập số ngun dương N; B2: Nếu N = thơng báo N không nguyên tố kết thúc ; B3: Nếu N < thơng báo N ngun tố kết thúc; B4: i 2; B5: Nếu i > N thơng báo N nguyên tố kết thúc; B6: Nếu N chia hết cho i thơng báo N khơng ngun tố kết thúc; B7: i i + quay lại bước 5; SƠ ĐỒ THUẬT TỐN KIỂM TRA TÍNH NGUYÊN TỐ CỦA MỘT SỐ NGUYÊN DƯƠNG Nhập N § N =1 ? S S § N< 4? i2 § i>[N ] ? S i i +1 Thông báo N không số nguyên tố kết thúc S N có chia hết cho i? § Thơng báo N số nguyên tố kết thúc MÔ PHỎNG THUẬT TỐN KIỂM TRA TÍNH NGUN TỐ CỦA MỘT SỐ NGUN DƯƠNG Trường hợp 1: N = 45 ([ 45 ] = 6) i N/i 45/2 45/3 Chia hết không ? Không Chia hết 45 không số nguyên tố 29 số nguyên tố Trường hợp 2: N = 29 ([ 29 ] = 5) i N/i 29/2 29/3 29/4 29/5 Chia hết không ? Khơng Khơng Khơng Khơng THUẬT TỐN SẮP XẾP H×nh a H×nh b Hãy tìm cách xếp học sinh đứng chào cờ (hình a) theo thứ tự thấp trước cao sau (hình b) SẮP XẾP BẰNG TRÁO ĐỔI @ Xác định toán * INPUT : Dãy A gồm N số nguyên a1, a2,…,aN * OUTPUT : Dãy A xếp thành dãy không giảm @ Ý tưởng Với cặp số hạng đứng liền kề dãy, số trước lớn số sau ta đổi chỗ chúng cho Việc lặp lại, khơng có đổi chỗ xảy THUẬT TOÁN SẮP XẾP TRÁO ĐỔI Cách : Liệt kê bước B1: Nhập N, số hạng a1, a2, … , aN; B2: M N; B3: Nếu M < đưa dãy A xếp kết thúc; B4: M M – 1, i 0; B5: i i + 1; B6: Nếu i > M quay lại bước 3; B7: Nếu > ai+1 tráo đổi ai+1 cho nhau; B8: Quay lại bước SƠ ĐỒ THUẬT TOÁN Nhập N a1, a2, , aN SẮP XẾP TRÁO ĐỔI MN § M< 2? S M M - 1; i 0 ii+1 § i>M? Tráo đổi ai+1 S § > ai+1 ? S Đưa A xếp Rồi kết thúc MƠ PHỎNG THUẬT TỐN SẮP XẾP TRÁO ĐỔI Với N = dãy A gồm số hạng sau : Lượt thứ Lượt thứ hai 8 1 9 9 9 Lượt thứ ba Lượt thứ tư 1 5 7 9 THUẬT TỐN TÌM KIẾM C1: Tìm kiếm (mở mũ ) Bo trốn đâu ? C2: Do mũ xếp lớn dần, hai mũ đầu nhỏ người Bo nên tìm hai mũ sau thơi ! Hai bạn chó (Bi Bo) chơi trốn tìm, Bo trốn vào mũ ông già Noel Hãy cách tìm mũ mà Bo trốn ? Cho biết có cách ? TÌM KIẾM TUẦN TỰ @ Xác định tốn * INPUT : Dãy A gồm N số nguyên khác a1, a2,…,aN số nguyên k; * OUTPUT : Chỉ số i mà = k thông báo số hạng dãy A có giá trị k @ Ý tưởng Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng xét với khố k có trùng nhau, xét tới cuối mà khơng có trùng có nghĩa dãy A khơng có số hạng có giá trị k THUẬT TỐN TÌM KIẾM TUẦN TỰ Cách : Liệt kê bước B1: Nhập N, số hạng a1, a2,…, aN giá trị khoá k; B2: i 1; B3: Nếu = k thơng báo số i, kết thúc; B4: i i+1; B5: Nếu i > N thơng báo dãy A khơng có số hạng có giá trị k, kết thúc; B6: Quay lại bước B3 Nhập N, a1, a2, , aN k SƠ ĐỒ THUẬT TỐN TÌM KIẾM TUẦN TỰ i1 Đ = k? Đưa i kết thúc S i i + S i> N? Đ Thơng báo dãy A khơng có số hạng có giá trị dãy k, kết thúc MƠ PHỎNG THUẬT TỐN TÌM KIẾM TUẦN TỰ * Với k = dãy A gồm 10 số hạng sau: A I 11 25 51 vị trí i = có a5 = = k * Với k = dãy A gồm 10 số hạng sau: A 11 25 51 I 10 11 Với i từ 1 10 khơng có có giá trị TÌM KIẾM NHỊ PHÂN @ Xác định tốn •INPUT : Dãy A dãy tăng gồm N số nguyên khác a1, a2,…,aN số nguyên k; * OUTPUT : Chỉ số i mà = k thơng báo khơng có số hạng dãy A có giá trị k TÌM KIẾM NHỊ PHÂN @ Ý tưởng Sử dụng tính chất dãy A xếp tăng, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm cách so sánh k với số hạng dãy ( agiua), xảy ba trường hợp : Nếu agiua = k tìm số, kết thúc; Nếu agiua > k do dãy A xếp tăng nên việc tìm kiếm thu hẹp xét từ a1 agiua-1; Nếu agiua < k do dãy A xếp tăng nên việc tìm kiếm thu hẹp xét từ agiua+1 an; Quá trình lặp lặp lại tìm Output THUẬT TỐN TÌM KIẾM NHỊ PHÂN Cách : Liệt kê bước B1: Nhập N, số hạng a1, a2,…, aN giá trị khoá k; B2: Dau 1, Cuoi N; B3: Giua Dau Cuoi ; B4: Nếu agiua = k thơng báo số Giua, kết thúc; B5: Nếu agiua > k đặt Cuoi = Giua – 1, chuyển đến B7; B6: Dau Giua +1; B7: Nếu Dau > Cuoi thơng báo dãy A khơng có số hạng có giá trị k, kết thúc; B8: Quay lại B3; SƠ ĐỒ THUẬT TỐN TÌM KIẾM NHỊ PHÂN ... B6: Nếu i > M quay lại bước 3; B7: Nếu > ai+1 tráo đổi ai+1 cho nhau; B8: Quay lại bước SƠ ĐỒ THUẬT TOÁN Nhập N a1, a2, , aN SẮP XẾP TRÁO ĐỔI MN § M< 2? S M M - 1; i 0 ii+1 § i>M? Tráo đổi... = k thông báo số Giua, kết thúc; B5: Nếu agiua > k đặt Cuoi = Giua – 1, chuyển đến B7; B6: Dau Giua +1; B7: Nếu Dau > Cuoi thơng báo dãy A khơng có số hạng có giá trị k, kết thúc; B8: Quay... ĐỔI Với N = dãy A gồm số hạng sau : Lượt thứ Lượt thứ hai 8 1 9 9 9 Lượt thứ ba Lượt thứ tư 1 5 7 9 THUẬT TỐN TÌM KIẾM C1: Tìm kiếm (mở mũ ) Bo trốn đâu ? C2: Do mũ xếp lớn dần, hai mũ đầu nhỏ