Bài giảng Tin học đại cương: Chương 6 - Học viện Nông nghiệp Việt Nam

14 81 0
Bài giảng Tin học đại cương: Chương 6 - Học viện Nông nghiệp Việt Nam

Đ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

Bài giảng Tin học đại cương - Chương 6: Thuật toán và ngôn ngữ lập trình cung cấp cho người học các kiến thức: Phương pháp giải quyết vấn đề bằng máy tính, thuật toán, ngôn ngữ lập trình. Mời các bạn cùng tham khảo nội dung chi tiết.

03/02/2018 Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam HỌC VIỆN NÔNG NGHIỆP VIỆT NAM Bài giảng Tin học đại cương KHOA CÔNG NGHỆ THÔNG TIN NỘI DUNG 6.1 Phương pháp giải vấn đề máy tính Chương THUẬT TỐN VÀ NGƠN NGỮ LẬP TRÌNH 6.2 Thuật tốn 6.3 Ngơn ngữ lập trình 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương 6.1 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 6.1 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH Nhắc lại: • Một chức máy tính: Xử lý thông tin nhận theo dãy lệnh nhớ sẵn bên • Ngun lý điều khiển chương trình Von Neumann: Máy tính hoạt động theo chương trình lưu trữ sẵn nhớ  Để giải vấn đề/bài tốn máy tính cần phải xây dựng chương trình máy tính tương ứng 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình • Phương pháp chung để giải vấn đề/bài tốn máy tính: BÀI TỐN THUẬT TỐN CHƯƠNG TRÌNH NGƠN NGỮ MÁY Xác định liệu đầu vào, đầu tốn Tìm cách xử lý liệu đầu vào Viết chương trình ngơn ngữ lập trình Biên dịch chương trình sang ngơn ngữ máy MÁY THỰC HIỆN 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 03/02/2018 Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương 6.2 THUẬT TOÁN 6.2.1 KHÁI NIỆM THUẬT TỐN • Thuật ngữ algorithm đưa vào khoảng năm 825, xuất phát từ chữ algoritmi – phiên âm La tinh tên nhà toán học người Trung Á Al-Khwarizmi • Thuật tốn (thuật giải, algorithms): dãy hữu hạn thao tác, phép tốn thực theo trình tự xác định số đối tượng liệu để đạt kết mong muốn  Thuật toán xây dựng phải bao gồm thao tác xác định rõ ràng, đơn giản thực (phải “giao cho máy làm được”)  Khi xây dựng thuật toán cần xác định rõ thuật tốn tác động lên liệu 6.2.1 Khái niệm thuật tốn 6.2.2 Các tính chất thuật tốn 6.2.3 Cách diễn đạt thuật toán 6.2.4 Thiết kế thuật toán 6.2.5 Đánh giá thuật toán 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình Khoa Cơng nghệ thông tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương 6.2.1 KHÁI NIỆM THUẬT TOÁN 6.2.2 CÁC TÍNH CHẤT CỦA THUẬT TỐN • Ví dụ: Bài tốn tìm ước số chung lớn số nguyên dương a b: Input: a,b (nguyên dương) Output: (a,b)  Thuật toán Euclid: - Bước 1: So sánh a b, a = b dừng thuật tốn thơng báo (a,b) = b Nếu a  b chuyển sang bước - Bước 2: Nếu a > b thay a a-b, a < b thay b b-a Quay lại thực bước • Đầu vào • Đầu • Tính hữu hạn: Thuật tốn phải kết thúc sau số hữu hạn bước thực • Tính xác định - Mỗi bước thuật toán phải xác định xác, thao tác quy định chặt chẽ rõ ràng  Với liệu đầu vào trả kết • Tính hiệu quả: Thuật tốn đơn giản, dễ cài đặt, không gây tốn nhớ, thực nhanh 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 03/02/2018 Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương 6.2.3 CÁCH DIỄN ĐẠT THUẬT TOÁN 6.2.3 CÁCH DIỄN ĐẠT THUẬT TỐN cách: • Cách 1: Liệt kê bước ngôn ngữ tự nhiên: - Sử dụng ngôn ngữ tự nhiên để liệt kê bước thực thuật toán với quy tắc, thao tác cụ thể - Ví dụ: Thuật tốn Euclid tìm UCLN số nguyên dương a,b (slide 7) 08/02/2017 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình • Cách 2: Dùng lưu đồ: - Sử dụng hình khối (Bắt đầu, Kết thúc, Khối Input, Khối Output, Khối điều kiện, Khối thao tác) cung để thể thao tác trình tự thực thao tác thuật toán 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình Khoa Cơng nghệ thơng tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương Các hình khối để xây dựng lưu đồ Lưu đồ thuật tốn Euclid tìm (a,b) Chương Thuật tốn Ngơn ngữ lập trình 11 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 10 12 03/02/2018 Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương 6.2.3 CÁCH DIỄN ĐẠT THUẬT TOÁN 6.2.3 CÁCH DIỄN ĐẠT THUẬT TỐN • Cách 3: Sử dụng giả mã (giả ngơn ngữ lập trình): - Sử dụng cấu trúc điều khiển ngơn ngữ lập trình kết hợp linh hoạt với ngôn ngữ tự nhiên ký hiệu toán học đơn giản nhằm diễn tả thuật toán - Ví dụ: Giả mã cho thuật tốn Euclid tìm (a,b) viết tựa theo cấu trúc ngôn ngữ lập trình PASCAL: Nhập a,b While ab If a>b then thay a a-b else thay b b-a Thông báo ước chung lớn b 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 13 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình Khoa Cơng nghệ thông tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương 6.2.4 THIẾT KẾ THUẬT TOÁN 6.2.4 THIẾT KẾ THUẬT TỐN • Mơ-đun hóa tốn: Chia nhỏ tốn (mơ-đun chính) thành tốn nhỏ (các mơ-đun con) 08/02/2017 - Ví dụ (tiếp): Đoạn mã tương ứng viết ngôn ngữ Pascal: Writeln('Nhap so nguyen duong a, b: '); Write('a = '); Readln(a); Write('b = '); Readln(b); While ab If a>b then a:=a-b else b:=b-a; Writeln('Uoc chung lon nhat la ',b); Chương Thuật tốn Ngơn ngữ lập trình 15 14 • Tinh chỉnh bước thuật toán: - Bước đầu thuật tốn minh hoạ ngơn ngữ tự nhiên thể cơng việc cần thực hiện, sau dần minh họa chi tiết với thao tác xử lý, phép toán cách cụ thể, đồng thời ngôn ngữ tự nhiên dùng để minh họa thay dần giả ngôn ngữ ngày tiến gần đến ngôn ngữ lập trình - Trong q trình thiết kế thuật tốn, ngơn ngữ thể dần chuyển đổi theo sơ đồ: Ngôn ngữ tự nhiên  Giả ngôn ngữ  Ngôn ngữ lập trình 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 16 03/02/2018 Khoa Cơng nghệ thơng tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương Ví dụ Ví dụ • Cho dãy gồm n phần tử thuộc kiểu có thứ tự: a1, a2, …, an Hãy đổi chỗ phần tử dãy cho dãy sau đổi chỗ có thứ tự tăng dần 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình 17 08/02/2017 Chương Thuật tốn Ngơn ngữ lập trình Khoa Cơng nghệ thơng tin – Học viện Nông nghiệp Việt Nam Khoa Công nghệ thông tin – Học viện Nông nghiệp Việt Nam Bài giảng Tin học đại cương Bài giảng Tin học đại cương Ví dụ Ví dụ Giả mã dựa theo ngơn ngữ Pascal: For i:=1 to n Begin - Chọn phần tử nhỏ aj số phần tử ai, …, an - Đổi chỗ aj cho End; 08/02/2017 Ý tưởng: - Chọn phần tử nhỏ dãy nguồn xếp vào vị trí dãy đích - Chọn phần tử nhỏ dãy nguồn lại (tức phần tử nhỏ thứ hai dãy nguồn ban đầu) xếp vào vị trí thứ hai dãy đích - … Lặp lại trình hết dãy nguồn (Tổng quát: Tại bước thứ i, ta chọn phần tử nhỏ dãy nguồn lại - tức phần tử nhỏ thứ i dãy nguồn ban đầu - xếp vào vị trí thứ i dãy đích) Chương Thuật tốn Ngơn ngữ lập trình 19 18 Các công việc khối Begin … End làm rõ sau: j:=i; For k:=i+1 to n If ak

Ngày đăng: 30/01/2020, 14:55

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan