Emailing buoi02 thuat toan

39 21 0
Emailing buoi02   thuat toan

Đ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

Emailing buoi02 thuat toan Emailing buoi02 thuat toan Emailing buoi02 thuat toan Emailing buoi02 thuat toan Emailing buoi02 thuat toan Emailing buoi02 thuat toan Emailing buoi02 thuat toan Emailing buoi02 thuat toan Emailing buoi02 thuat toan

IT001 – NHẬP MƠN LẬP TRÌNH BÀI – THUẬT TOÁN Yêu cầu buổi học Hiểu khái niệm toán, thuật toán, tiêu chuẩn thuật toán, phương pháp biểu diễn thuật toán Áp dụng lưu đồ (sơ đồ khối) hay mã giả để mơ tả số thuật tốn đơn giản Diễn tả q trình thực thuật tốn liệu cụ thể Nội dung Khái niệm vấn đề/bài toán Các bước giải vấn đề/bài toán máy tính Khái niệm thuật tốn Sự cần thiết thuật toán Các tiêu chuẩn thuật toán Các phương pháp biểu diễn thuật tốn Một số ví dụ thuật tốn Lập bảng theo dõi hoạt động thuật toán Độ phức tạp thuật toán Khái niệm vấn đề/bài tốn Bài tốn/Vấn đề • • Vấn đề có nghĩa rộng tốn Bài tốn loại vấn đề mà để giải phải liên quan nhiều đến tính tốn: tốn vật lý, hóa học, xây dựng, kinh tế Hai loại vấn đề • • Theorema: vấn đề cần khẳng định tính sai Problema: vấn đề cần tìm giải pháp để đạt mục tiêu xác định từ điều kiện ban đầu Khái niệm vấn đề/bài toán Biểu diễn vấn đề-bài tốn • • • A→B A: Giả thiết, điều kiện ban đầu B: Kết luận, mục tiêu cần đạt Giải vấn đề-bài tốn • • Từ A dùng số hữu hạn bước suy luận có lý hành động thích hợp để đạt B Trong Tin học, A đầu vào, B đầu Các bước giải vấn đề/bài toán máy tính • Máy tính khơng thể dùng để giải vấn đề liên quan đến hành động vật lý biểu thị cảm xúc • Máy tính làm mà bảo phải làm Máy tính khơng thơng minh, khơng thể tự phân tích vấn đề đưa giải pháp • Lập trình viên người phân tích vấn đề, tạo dẫn để giải vấn đề (chương trình), máy tính thực dẫn • Phương án giải toán gọi thuật tốn/giải thuật tính tốn Khái niệm thuật toán Giả sử cần từ bến xe miền Tây Kí túc xá đại học quốc gia Thuật toán taxi 1.1 Mở điện thoại gọi taxi 1.2 Lên xe taxi 1.3 Nói cho tài xế địa cần tới Thuật toán tốt hơn? Thuật toán xe bus 2.1 Đi đến trạm xe bus 2.2 Lên xe bus số 10 2.3 Dừng trạm ngã 621 2.4 Đi đến kí túc xá - Giá - Thời gian Khái niệm thuật toán Thuật toán khoa học máy tính Bắt đầu với giá trị đầu vào Thực bước tính tốn Dừng tìm câu trả lời (Đầu ra) Nếu vấn đề có sẵn thuật tốn để giải ta tiết kiệm nhiều thời gian để giải vấn đề Ngồi lựa chọn thuật tốn phù hợp cịn giúp chương trình chạy nhanh Khái niệm thuật toán ??? Dijkstra's algorithm https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm Khái niệm thuật tốn • Thuật tốn - Algorithm • Là tập hợp (dãy) hữu hạn thị (hành động) định nghĩa rõ ràng nhằm giải toán cụ thể • Thuật tốn để giải tốn dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác đó, từ Input tốn, ta nhận Output cần tìm https://en.wikipedia.org/wiki/Algorithm 10 Một số ví dụ thuật tốn • Ví dụ 1: Vẽ lưu đồ thuật tốn Kiểm tra tính chẵn lẻ số ngun • Ví dụ 2: Vẽ lưu đồ thuật tốn Tính tổng số ngun dương lẻ từ đến n • Ví dụ 3: Vẽ lưu đồ thuật tốn Tìm nghiệm phương trình bậc hai ẩn • Ví dụ 4: Vẽ lưu đồ thuật toán Liệt kê tất ước số số nguyên dương n 25 Một số ví dụ thuật tốn • Ví dụ 1: Vẽ lưu đồ thuật tốn Kiểm tra tính chẵn lẻ số ngun Bắt đầu Nhập n Đúng n  2=0 Sai Xuất “n lẻ” Xuất “n chẳn” Kết thúc 26 Một số ví dụ thuật tốn Ví dụ 2: Vẽ lưu đồ thuật tốn tính tổng số ngun dương lẻ từ đến n Bắt đầu Đọc n S=0 i=1 Cách 1: 𝒊 = 𝒊 + 𝟏 i≤n Sai S=S+i i  2=0 Sai Đúng Xuất “S” Đúng i=i+1 Kết thúc 27 Một số ví dụ thuật tốn Ví dụ 2: Vẽ lưu đồ thuật tốn tính tổng số nguyên dương lẻ từ đến n Cách 2: 𝒊 = 𝒊 + 𝟐 Bắt đầu Đọc n S=0 i=1 Sai i≤n Đúng S=S+i Xuất “S” i=i+2 Kết thúc 28 Một số ví dụ thuật tốn • Giải pt: Bắt đầu 𝑎𝑥2 + 𝑏𝑥 + 𝑐 = Đọc a,b,c S a=0 Delta=b*b-4*a*c Delta < Đ S Delta = GPT: bx+c=0 S x1=(-b-sqrt(Delta))/(2a) x1=(-b+sqrt(Delta))/(2a) Đ Đ x = -b/(2a) Xuất “VSN” Xuất nghiệm kép x Xuất Pt có nghiệm x1,cx2 Kết thúc 29 Một số ví dụ thuật tốn • GPT: bx+c=0 Đ S b=0 Đ S c=0 Xuất “VSN” Xuất “VN” Tính x = -c/b Xuất x Kết thúc 30 Một số ví dụ thuật tốn Ví dụ 4: Vẽ lưu đồ thuật toán liệt kê tất ước số số nguyên dương n Bắt đầu Đọc n i=1 S i≤n Đ Xuất i i=i+1 Đ ni=0 S Kết thúc 31 Lập bảng giấy để theo dõi hoạt động thuật tốn • Chuẩn bị liệu kiểm thử: liệu nhập kết mong đợi • Chạy thử, ghi nhận kết quả, đánh giá sai 32 Bài tập Kiểm tra số nguyên n số nguyên tố khơng? Nếu n < n khơng phải số nguyên tố Nếu n = n số nguyên tố Nếu n > 2: Kiểm tra từ đến 𝑛: Nếu khơng có số chia hết cho n n số nguyên tố Ngược lại n khơng phải số ngun tố Tính giá trị biểu thức: 𝑆 = + + ⋯ + 𝑛 Nhập vào số nguyên dương n Tính tổng chữ số số Nhập vào số Tìm số lớn số 33 Độ phức tạp thuật tốn Tính hiệu giải thuật Để giải tốn có nhiều giải thuật khác Cần lựa chọn giải thuật tốt theo hai tiêu chuẩn: • Đơn giản, dễ hiểu, dễ lâp trình • Thời gian thực nhanh, dùng tài nguyên máy tính Tiêu chuẩn tính hiệu giải thuật Đánh giá độ phức tạp giải thuật đánh giá thời gian thực giải thuật 34 Độ phức tạp thuật toán Đánh giá thời gian thực giải thuật Thời gian thực giải thuật phụ thuộc: Ngơn ngữ lập trình Chương trình dịch Hệ điều hành Phần cứng máy Cần có cách đánh giá khác cho: Khơng phụ thuộc máy, ngơn ngữ lập trình, chương trình dịch Khơng cần triển khai chương trình thực giải thuật Chỉ dựa vào phân tích thân giải thuật  Tổng số phép toán sơ cấp cần thiết để thực giải thuật 35 Độ phức tạp thuật tốn • Đánh giá giá thuật tốn theo hướng tiệm xấp xỉ tiệm cận qua khái niệm O() • Ưu điểm: Ít phụ thuộc mơi trường phần cứng • Nhược điểm: Phức tạp • Các trường hợp độ phức tạp quan tâm: • Trường hợp tốt (phân tích xác) • Trường hợp xấu (phân tích xác) • Trường hợp trung bình (mang tích dự đốn) 36 Độ phức tạp thuật tốn • Sự Phân Lớp Theo Độ Phức Tạp Của Thuật Tốn • Sử dụng ký hiệu BigO 𝑂() 𝑂(1) Độ phức tạp Hằng số 𝑂(log 𝑛) 𝑂(𝑛) 𝑂(𝑛 ∗ log 𝑛) 𝑂(𝑛𝑏 ) 𝑂(𝑛!) Lơgarit Tuyến tính n*logn Đa thức Giai thừa Độ phức tạp tăng dần 37 Bài tập nhà Vẽ sơ đồ thuật toán tốn sau: Tìm ước chung lớn hai số a b Giải bất phương trình 𝑎𝑥 + 𝑏 > = Nhập số a,b,c Kiểm tra số tạo thành cạnh tam giác hay không? Nhập cạnh a, b, c Cho biết tam giác tương ứng tam giác gì? Tính: 𝑆 = + +…+ 2𝑛 Tính: 𝑆 = ∗ + ∗ + ∗ + … + ∗ ∗ ⋯ ∗ 𝑛 Xây dựng thuật tốn cho tốn tìm số Fibonacci 𝐹(𝑛) Tìm giá trị lớn dãy số ngun có 𝑛 số Tìm tất ước số lẻ số nguyên dương 𝑛 10 Kiểm tra tính hồn hảo số ngun dương 𝑛 38 Tóm tắt Khái niệm vấn đề/bài toán Các bước giải vấn đề/bài toán máy tính Khái niệm thuật tốn Sự cần thiết thuật toán Các tiêu chuẩn thuật toán Các phương pháp biểu diễn thuật toán Một số ví dụ thuật tốn Lập bảng theo dõi hoạt động thuật toán Độ phức tạp thuật toán 39

Ngày đăng: 30/12/2020, 00:13

Hình ảnh liên quan

8. Lập bảng trên giấy để theo dõi hoạt động của một thuật toántoán - Emailing buoi02   thuat toan

8..

Lập bảng trên giấy để theo dõi hoạt động của một thuật toántoán Xem tại trang 32 của tài liệu.
8. Lập bảng trên giấy để theo dõi hoạt động của một thuật toántoán - Emailing buoi02   thuat toan

8..

Lập bảng trên giấy để theo dõi hoạt động của một thuật toántoán Xem tại trang 32 của tài liệu.
8. Lập bảng theo dõi hoạt động của một thuật toán - Emailing buoi02   thuat toan

8..

Lập bảng theo dõi hoạt động của một thuật toán Xem tại trang 39 của tài liệu.

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

Tài liệu liên quan