Bài giảng Tin học đại cương: Chương 7 - Trường ĐH Sư phạm TP. Hồ Chí Minh

59 9 0
Bài giảng Tin học đại cương: Chương 7 - Trường ĐH Sư phạm TP. Hồ Chí Minh

Đ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 7 Bài toán và thuật toán, cung cấp cho người học những kiến thức như: Khái niệm vấn đề và bài toán. Thuật toán và các phương pháp biểu diễn thuật toán. Các bước để giải một bài toán trên máy tính. Chuyển đổi bài toán thành chương trình máy tính.

P -F IT Tin học đại cương Introduction to Information Technology Khoa Công Nghệ Thông Tin Trường ĐHSP TP Hồ Chí Minh H C M U Nhóm biên soạn HP Tin Học Đại Cương Bộ môn Kĩ Thuật Dạy Học H C M U P -F IT Chương 7: Bài toán thuật toán Bản quyền: Khoa CNTT 2011 Giới thiệu M U P -F IT  Trong xu hƣớng phát triển xã hội, công nghệ thông tin ngày đóng vai trị quan giúp ngƣời hồn thành cơng việc trở nên nhanh chóng, hiệu dễ dàng thơng qua chƣơng trình ứng dụng máy tính Thuật toán thuật giải tảng để lập trình viên xây dựng chƣơng trình ứng dụng phù hợp H C  Đó mục tiêu chƣơng nhằm cung cấp khái niệm ban đâu toán thuật toán Đơng thời đƣa qui trình để giải tốn máy tính nhƣ nào? Bản quyền: Khoa CNTT 2011 Nội dung IT Chƣơng 7: Bài toán thuật toán H C M U P -F  Khái niệm vấn đề và toán  Thuật toán và phương pháp biểu diễn thuật toán  Các bước để giải bài tốn máy tính  Chủn đởi bài tốn thành chương trình máy tính Bản quyền: Khoa CNTT 2011 Khái niệm vấn đề -F IT  Vấn đề thƣờng đƣợc dùng với nghĩa rộng toán, toán vấn đề mà để giải phải liên quan nhiều đến tính tốn P  Pitago chia vấn đề mà ngƣời cần giải thành hai loại: H C M U Theorema: vấn đề cần khẳng định tính – sai Problema: vấn đề cần tìm giải pháp để để đạt đƣợc mục tiêu từ điều kiện ban đầu Bản quyền: Khoa CNTT 2011 Khái niệm vấn đề (tt) P -F IT  Theo nhiều kết nghiên cứu: việc giải vấn đề toán mà Pitago nêu diễn theo sơ đồ chung: AB  Trong đó: H C M U A giả thiết, điều kiện ban đầu B kết luận, mục tiêu cần đạt  suy luận, giải pháp cần xác định Bản quyền: Khoa CNTT 2011 Ví dụ vấn đề - tốn Bài tốn kiểm tra tính ngun tố -F IT  Điều kiện ban đầu: Số nguyên dƣơng N  Mục tiêu cần đạt: N có số nguyên tố hay khơng? Bài tốn quản lý hồ sơ sinh viên H C M U P  Điều kiện ban đầu: Hồ sơ gốc sinh viên trƣờng  Mục tiêu cần đạt: Bảng thống kê, phân loại sinh viên theo kết học tập Bản quyền: Khoa CNTT 2011 Bài toán tin học? H C M U P -F IT  Trong thực tế, vấn đề tốn có tính tốn (bài tốn tốn học)  Ví dụ:  Làm giao dịch ngân hàng tự động không cần nhân viên  Làm để ngƣời nói chuyện đƣợc với mà khơng cần phải gặp mặt  Làm để xếp loại học sinh trƣờng học có 3000 học sinh cách nhanh chóng … Tất tốn tin học Là vấn đề mà ta muốn máy tính thực để từ liệu vào (Input) ta nhân liệu – thông tin cần thiết (output) Bản quyền: Khoa CNTT 2011 Ví dụ tốn tin học -F  Input: Hai số nguyên M,N  Output: ƢCLN IT Bài tốn tìm ƣớc chung lớn hai số nguyên dƣơng M,N P Bài tốn xếp thời khóa biểu cho trƣờng học M U  Input: Tên giáo viên, môn dạy  Output: TKB trƣờng C Bài tốn tìm điểm thi đại học thí sinh H  Input: Số báo danh  Output: Điểm thi Bản quyền: Khoa CNTT 2011 Giải tốn máy tính nhƣ nào? Bằng cách ? Output P -F Input IT Bài toán C M U Giải toán H Hướng dẫn thao tác cho máy thực Thuật toán Bản quyền: Khoa CNTT 2011 10 Thuật giải (tt) M H C Tính xác định Tính đắn U P -F IT  Từ nhận định ngƣời ta thấy rằng: cần phải có đổi cho khái niệm thuật toán  “Thuật giải”  Thuật giải thuật tốn nhƣng đƣợc mở rộng tính chất: Bản quyền: Khoa CNTT 2011 45 Ví dụ thuật giải -F TÍNH ĐÚNG H C M U P • Gạo, củi} • Nấu cơm : –Vo gạo –Chuẩn bị lửa –Nấu, canh –Kết thúc • Nồi cơm chín} IT  Bài tốn nấu cơm Khơng thuật tốn mà thuật giải Bản quyền: Khoa CNTT 2011 46 Ví dụ thuật giải  Bài tốn đở nước IT Có hai bình đựng nước B5 có dung tích 5lít , B8 có dung tích 8lít Hãy -F cách đong để có hai lít nước Các thao tác có thể thực :  Đở hết nƣớc bình P  Hứng đầy nƣớc vào bình B5 B8 C Thuật giải :  Đở đầy nước vào bình B5 (B5=5)  Đở từ bình B5 sang bình B8 (B5=0, B8=5)  Đở đầy nước bình B5 (B5=5, B8=5)  Đở nước từ bình B5 B8 đầy (B5=2, B8=8) H  M U  Đở nƣớc tƣ̀ bình sang bình khác lúc bình đầy TÍNH XÁC ĐỊNH VÀ TÍNH ĐÚNG Bản quyền: Khoa CNTT 2011 47 Khái niệm ngơn ngữ lập trình Ơi nhiều việc -F IT Con người làm việc ? PP giải (giải thuật) H C M U P VẤN ĐỀ NAN GIẢI VẤN ĐỀ TƢƠNG TỰ KẾT QUẢ Bản quyền: Khoa CNTT 2011 48 Khái niệm ngôn ngữ lập trình Có máy tính Sƣớng thật, làm việc khác thôi! P U M KẾT QUẢ ? H C VẤN ĐỀ TƢƠNG TỰ -F IT Sự hỗ trợ máy tính VẤN ĐỀ NAN GIẢI PP giải (giải thuật) Bản quyền: Khoa CNTT 2011 49 Khái niệm ngôn ngữ lập trình IT Sự hỗ trợ máy tính Chƣơng trình biên dịch Giải tốn đây? -F File Ngôn ngữ máy U P (Bộ máy NNLT) H Source code C M (exe, dll, com, ) Kiến thức NNLT Cách giải diễn đạt ngôn ngữ tự nhiên Bản quyền: Khoa CNTT 2011 Kiến thức Chuyên môn 50 Phân loại ngôn ngữ lập trình IT  Ngơn ngữ máy -F  Hợp ngữ H C M U P  Ngôn ngữ bậc cao Bản quyền: Khoa CNTT 2011 51 Ngôn ngữ máy IT  Là ngơn ngữ mà máy tính trực tiếp -F hiểu thực hiện.Mỗi loại máy có ngơn ngữ máy P riêng tập hợp dạng câu lệnh M máy tính U  Ưu điểm: cho phép khai thác triệt để tối ưu khả H C  Nhược điểm: khó viết, chương trình nhận cồng kềnh khó hiệu chỉnh Bản quyền: Khoa CNTT 2011 52 Hợp ngữ (Assembly) P -F IT  Có cấu trúc giống ngôn ngữ máy Mã lệnh thay tên viết tắt tương ứng Hợp ngữ chạy sau dịch ngôn ngữ máy thông qua chương trình hợp dịch (Assembler) C M U  Ưu điểm: khắc phục nhược điểm ngôn ngữ máy H  Nhược điểm: không phù hợp với số đông người lập trình Bản quyền: Khoa CNTT 2011 53 Ngơn ngữ bậc cao -F toán học thống chung IT  Mô ngôn ngữ tự nhiên, sử dụng ký hiệu P  Khơng phụ thuộc vào loại máy tính cụ thể U  Chỉ chạy sau dịch ngôn ngữ M máy thông qua chương trình thơng dịch (Interpreter) H C biên dịch (Compiler)  Ưu điểm: dễ viết, chương trình dễ hiểu, dễ hiệu chỉnh dễ nâng cấp Bản quyền: Khoa CNTT 2011 54 Chƣơng trình dịch IT  Là chương trình đặc biệt dùng để chuyển chương P -F trình ngơn ngữ ban đầu (chương trình nguồn) sang chương trình tương đương ngơn ngữ máy M U  Chương trình dịch chia làm loại: C  Kỹ thuật thông dịch (Interpreter) H  Kỹ thuật biên dịch (Compiler) Bản quyền: Khoa CNTT 2011 55 Kỹ thuật thông dịch IT  Là kiểu dịch dòng lệnh để hiểu công việc cần -F làm thực không thiết phải tạo P đoạn mã tương đương ngôn ngữ máy C M phải dịch nhiều lần U  Nếu câu lệnh phải thực nhiều lần thống H  Ứng dụng: môi trường đối thoại người hệ Bản quyền: Khoa CNTT 2011 56 Kỹ thuật biên dịch IT  Là kiểu dịch tồn chương trình ban đầu thành -F chương trình tương ứng ngơn ngữ máy P (chương trình đích), sau nạp chương trình đích U vào máy tính để thực C M  Ứng dụng: phù hợp với chương trình ổn định H phải thực nhiều lần Bản quyền: Khoa CNTT 2011 57 Một số ngơn ngữ lập trình thông dụng -F IT  Basic đƣợc thiết kế John G Kemeny Thomas E Kurtz ĐH Dartmouth vào 1963  Pascal đƣợc Niklaus Wirth phát thiết kế năm 1970 M U P  C Dennis Richie thiết kế năm 1972 phịng thí nghiệp Bell Telephone hãng AT&T sử dụng hệ điều hành Unix H C  Java đƣợc phát triễn James Gosling thuộc Sun Microsystem vào 6/1991 Bản quyền: Khoa CNTT 2011 58 H C M U P -F IT THE END Bản quyền: Khoa CNTT 2011 59 ... C M U P -F IT Chương 7: Bài toán thuật toán Bản quyền: Khoa CNTT 2011 Giới thiệu M U P -F IT  Trong xu hƣớng phát triển xã hội, công nghệ thông tin ngày đóng vai trị quan giúp ngƣời hồn thành... Điều kiện ban đầu: Hồ sơ gốc sinh viên trƣờng  Mục tiêu cần đạt: Bảng thống kê, phân loại sinh viên theo kết học tập Bản quyền: Khoa CNTT 2011 Bài toán tin học? H C M U P -F IT  Trong thực... nhanh chóng … Tất tốn tin học Là vấn đề mà ta muốn máy tính thực để từ liệu vào (Input) ta nhân liệu – thông tin cần thiết (output) Bản quyền: Khoa CNTT 2011 Ví dụ tốn tin học -F  Input: Hai số

Ngày đăng: 28/01/2022, 09:28

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

Tài liệu liên quan