Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
1,05 MB
Nội dung
Kiểm tra cũ Câu Hỏi 1: Máy vi tính có phần chính? Câu Hỏi 2: Cho ví dụ thiết bị đầu vào, thiết bị đầu - Máy vi tính có ba phần chính: Thiết bị đầu vào, Bộ xử lí Thiết bị đầu - Thiết bị đầu vào: Bàn phím (Keyboard), chuột (Mouse), máy quét, … - Thiết bị đầu ra: Màn hình, loa, máy in, máy chiếu (projector),… Bài 4: Bài toán Thuật toán (Tiết 1) GVHD: Thầy Nguyễn Khắc Văn SVTH: Võ Thị Vân Bài toán - Xét yêu cầu sau: Bài toán toán học • Giải PT bậc 2: ax^2+bx+c=0 • Viết dòng chữ hình máy tính • Quản lí cán quan • Tìm UCLN a b • Xếp loại học tập cho hoc sinh lớp Đâu toán tin học, đâu toán toán học? Bài toán tin học Bài toán Khái niệm toán Tin học: việc ta muốn máy tính thực Các yếu tố cần quan tâm giải toán: Toán học: Giả thiết kết luận (ví dụ lên bảng) Tin học: Đưa vào máy tính thông tin gì? Input Cần lấy thông tin gì? Output Bài toán Xác định Input, Output toán Ví dụ: Tìm UCLN a, b Input: Hai số a, b Output: UCLN(a,b) Một toán cấu thành hai thành phần Input Output Bài toán Bài toán Input Bằng cách Output Giải toán Hướng dẫn thao tác cho máy thực hiên để tìm lời giải Thuật toán Thuật toán Bài toán Input Thuật toán Output (thao tác → thao tác → … → thao tác n) Đinh nghĩa: • Một dãy hữu hạn thao tác; • Các thao tác xếp theo trình tự xác định; • Sau thực dãy thao tác từ Input ta tìm Output toán Dặn dò Học làm 1, SGK 1.28/17 SBT Đọc sách chuẩn bị cho tiết Bài 4: Bài toán Thuật toán (Tiết 2) Thuật toán Làm để trình bày thuật toán giải toán cho hợp lý, dễ hiểu thông qua thuật toán thu Output từ Input cho? Tìm hiểu cách mô tả thuật toán tính chất thuật toán) Mô thực thuật toán Lần duyệt Kết Lần duyệt 8 10 12 Mô thực thuật toán Lần duyệt Kết Lần duyệt 7 10 12 Mô thực thuật toán Lần duyệt 10 Kết Lần duyệt 10 7 10 12 Bài 4: Bài toán Thuật toán (Tiết 5) Ví dụ: Bài toán tìm kiếm Xác định toán: • Input: Dãy A gồm N số nguyên khác nhau: a1, a2, …, an số nguyên k (khóa) VD: Dãy A gồm số nguyên 11 25 51 Và k = (k=6) • Output: Vị trí I mà = k thông báo không tìm thấy k dãy Vị trí dãy (không tìm thấy 6) Ví dụ: Bài toán tìm kiếm Ý tưởng: Tìm kiếm thực cách tự nhiên: từ số hạng thứ nhất, ta so sánh giá trị số hạng xét với khóa gặp số hạng khóa dãy xét hết mà không tìm thấy giá trị khóa dãy Ví dụ: Bài toán tìm kiếm Xây dưng toán a Cách liệt kê: • Bước 1: Nhập N, số hạng a1, a2, ,an giá trị khóa k; • Bước 2: i ←1; • Bước 3: Nếu =k thông báo số I, kết thúc; • Bước 4: i ← i+1; • Bước 5: Nếu I > N thông báo dãy A số hạng có giá trị k, kết thúc; • Bước 6: Quay lại bước 3; Ví dụ: Bài toán tìm kiếm b Sơ đồ khối Mô phỏng: Bài toán tìm kiếm k = N = 10 A[1] =A[2] = 2A[3] A[4] =2 =A[5] 42 =22 = A 11 25 51 i - - - - - i Với i = A[5] = = k Ví dụ: Bài toán tìm kiếm nhị phân Xác định toán: Input: Dãy A dãy tăng gồm N số nguyên khác a1, a2, ,an, số nguyên k VD:Dãy A gồm số nguyên 21 22 30 31 33 Và k = 21 (k=25) Output: Vị trí i mà = k thông báo không tìm thấy k dãy Vị trí 21 dãy (không tìm thấy 25) Ví dụ: Bài toán 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 vùng tìm kiếm cách so sánh k với số hạng phạm vi tìm kiếm (agiữa), xảy ba trường hợp: - Nếu agiữa = k =>tìm số, kết thúc; - Nếu agiữa > k =>việc tìm kiếm thu hẹp, xét từ agiữa+1→acuối (phạm vi) Quá trình lặp lại tìm thấy khóa dãy A phạm vi tìm kiếm rỗng Ví dụ: Bài toán tìm kiếm nhị phân Xây dựng thuật toán: a Cách liệt kê: Bước 1: Nhập N, số hạng a1, a2, , an giá trị khóa k; Bước 2: Đầu ← 1; Cuối ← N; Bước 3: Giữa ← [(Đầu + Cuối)]/2; Bước 4: Nếu agiữa = k thông báo số Giữa, kết thúc; Bước 5: Nếu agiữa > k đặt Cuối = Giữa -1 sang bước 7; Bước 6: Đầu ← Giữa + 1; Bước 7: Nếu Đầu > Cuối thông báo không tìm thấy khóa k dãy kết thúc; Bước 8: Quay lại bước Ví dụ: Bài toán tìm kiếm nhị phân b Sơ đồ khối Mô phỏng: Bài toán tìm kiếm nhị phân k = 21 N = 10 i 10 A 21 22 30 31 33 Dau 6 Cuoi 10 10 Giua A[Giua] 30 21 Lần duyệt Với i = Giua = A[Giua] = 21 = k Cảm ơn em! [...]... tráo đổi ai và ai+1 cho nhau; • Bước 8: Quay lại bước 5; Ví dụ: Bài toán sắp xếp bằng cách tráo đổi b Sơ đồ khối Mô phỏng thực hiện thuật toán Lần duyệt 1 6 1 5 3 7 8 10 7 12 4 Mô phỏng thực hiện thuật toán Lần duyệt 1 1 6 5 3 7 8 10 7 12 4 Mô phỏng thực hiện thuật toán Lần duyệt 1 1 5 6 3 7 8 10 7 12 4 Mô phỏng thực hiện thuật toán Lần duyệt 1 1 5 3 6 7 8 10 7 12 4 Mô phỏng thực hiện thuật toán Lần duyệt... chất của thuật toán Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện Tính xác định: Sau khi thực hiện một thao tác thì hoặc là có đúng một thao tác xác định để thực hiện tiếp theo Tính đúng đắn: Sau khi thuật toán kết thúc, ta phải nhận được Output cần tìm Bài 4: Bài toán và Thuật toán (Tiết 3) Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương 1 Xác định bài toán: - Input:... 29 N là là số số nguyên nguyên tố Đúng Bài 4: Bài toán và Thuật toán (Tiết 4) Dãy A chưa được sắp xếp Dãy A được sắp xếp Ví dụ: Bài toán sắp xếp bằng cách tráo đổi 1 Xác định bài toán: Input: Dãy A gồm N số nguyên a1, a2, , an VD: Dãy A gồm các số nguyên 2 4 8 7 1 5 Output: Dãy A được sắp xếp thành dãy không giảm Dãy A sau khi sắp xếp: 1 2 4 5 7 8 Ví dụ: Bài toán sắp xếp bằng cách tráo đổi 2 Ý tưởng:...Cách mô tả thuật toán 1 Mô tả bằng cách liệt kê Ví dụ: Tính diện tích hình chữ nhật Xác định công thức tính S=chiều dài * chiều rộng Xác định chiều dài chiều rộng tính diện tích (học sinh phải làm theo thứ tự và không được đảo thứ tự giải bài toán) Một cách mô tả thuật toán phổ biến nhất là liệt kê: trình bày theo từng bước có thứ tự nhất định Cách mô tả thuật toán Ví du: Tìm số lớn... so sánh thứ i) Ví dụ: Bài toán sắp xếp bằng cách tráo đổi 3 Xây dựng thuật toán: • Nếu lần so sánh thứ i > số phép so sánh M: đã hoàn tất M số phép so sánh của lượt này • Lặp lại bước 3, bắt đầu lượt kế tiếp (với số hạng cần so sánh mới chính là M đã giảm 1) • So sánh 2 phần tử ở lần thứ I là ai • và ai+1 • Nếu ai>ai+1 thì tráo đổi 2 phần tử này • Quay lại bước 5 Ví dụ: Bài toán sắp xếp bằng cách... nhất trong hai số a, b Input: hai số a, b Output: Max Thuật toán: Bước 1: Nhập 2 số a,b; Bước 2: Max a; Bước 3: Bước 3.1: Nếu b > Max thì Max b; Bước 3.2: Ngược lại thì Max a; Input, Output? Cách mô tả thuật toán 2 Mô tả bài toán bằng sơ đồ khối Các khối, đường được sử dụng: Hình thoi thể hiện thao tác so sánh Hình chữ nhật thể hiện các phép tính toán Hình ô van thể hiện thao tác nhập, xuất dữ liệu... của một số nguyên dương b Sơ đồ khối Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương ∗• Cải tiến thuật toán Ý tưởng: Tìm i tăng dần trong phạm vi từ 2 đến phần nguyên thỏa điều kiện là ước của N: - Nếu không tìm được N là số nguyên tố - Ngược lại N không là số nguyên tố Xây dựng thuật toán: Ví dụ: Kiểm tra tính nguyên tố của một số nguyên dương •Cách liệt kê: Bước 1: Nhập số nguyên dương... số lớn sẽ được đẩy dần về vị trí xác định cuối dãy) - Việc này lặp lại nhiều lượt, mỗi lượt tiến hành nhiều lần so sánh cho đến khi không có sự đổi chỗ nào xảy ra nữa Ví dụ: Bài toán sắp xếp bằng cách tráo đổi 3 Xây dựng thuật toán: • Nhập N, các số hạng a1, a2, , an • Đầu tiên gọi M là số hạng cần so sánh, vậy M sẽ chứa giá trị của N: M←N • Nếu số số hạng cần so sánh < 2 thì dãy đã được sắp xếp Kết... N>=4: Tìm ước i đầu tiên>1 của N + Nếu i ... loại học tập cho hoc sinh lớp Đâu toán tin học, đâu toán toán học? Bài toán tin học Bài toán Khái niệm toán Tin học: việc ta muốn máy tính thực Các yếu tố cần quan tâm giải toán: Toán học: ... thành phần Input Output Bài toán Bài toán Input Bằng cách Output Giải toán Hướng dẫn thao tác cho máy thực hiên để tìm lời giải Thuật toán Thuật toán Bài toán Input Thuật toán Output (thao tác... Output toán Dặn dò Học làm 1, SGK 1.28/17 SBT Đọc sách chuẩn bị cho tiết Bài 4: Bài toán Thuật toán (Tiết 2) Thuật toán Làm để trình bày thuật toán giải toán cho hợp lý, dễ hiểu thông qua thuật