chào các bạn, mình xin tiếp tục chia sẻ với các bạn về slai bài giảng môn tin hocccủa cô Trương Diệu Linh ĐH BKHN . đây là một môn mà các bạn đề phải học trong khi là sinh viên trường ĐHBKHN , mình biệt cô là 1 người dạy rất hay , và slai của cô rất chi tiết. mong các bạn học tập thật tốt môn này , đạt kết quả cao nhé.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Phần 2: GIẢI QUYẾT BÀI TOÁN @it-hut.edu GIẢI QUYẾT BÀI TỐN Chương 1: Giải tốn • Khái niệm tốn • Q trình giải tốn máy tính • Phương pháp giải tốn MT Chương 2: Thuật tốn • • • • • Khái niệm Biểu diễn thuật toán Thuật toán đệ quy Thuật giải heuritic Một số thuật toán thơng dụng Chương 1: Giải tốn Khái niệm tốn Q trình giải tốn máy tính Phương pháp giải tốn máy tính Problem - Bài tốn hay vấn đề? Vấn đề thường dùng với ý nghĩa rộng tốn (Socrate 470-399 TCN ) • Bài tốn vấn đề mà để giải phải liên quan nhiều đến tính toán – Bài toán vật lý, hóa học, xây dựng, kinh tế,… Phân loại vấn đề - (Pytago) • Theorema: Vấn đề cần khẳng định sai – Chứng minh định lý toán học • 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 – Bài tốn dựng hình, tìm đường ngắn nhất, tổng hợp chất hóa học… Biểu diễn tốn (tiếp) Trong tin học A→ B • A: Input • B: Output • →: Chương trình cho phép biến đổi A thành B Chương trình • Chương trình – Cách mã hóa lại thuật tốn/thuật giải để giải vấn đề/bài toán cho – Tạo thành từ lệnh máy tính • Khó khăn – Tính khơng xác định vấn đề/bài tốn • A B không đầy đủ, rõ ràng Cấu trúc liệu + Giải thuật = Chương trình Giải vấn đề máy tính Thiết kế thuật giải • Thực người – Là cách thức chủ yếu, dựa • Những thơng tin phản ánh rõ ràng A, B → • Các tri thức người • Tự động hóa xây dựng thuật giải – Lĩnh vực mới, nghiên cứu – Cần phải biểu diễn nội dung tri thức liên quan dạng tương minh đầy đủ Chương 1: Giải toán Khái niệm tốn Q trình giải tốn máy tính Phương pháp giải tốn máy tính Máy tính & Lập trình viên • Máy tính – Chỉ làm bảo – Khơng thơng minh: khơng thể tự phân tích vấn đề đưa giải pháp – 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 • Lập trình viên – 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 Kiểm tra số nguyên tố Begin Input P Flag ← FALSE If P=1 Then Goto Bước flag ← TRUE (gán cho cờ hiệu “flag” giá trị true) For k:=2 to p-1 Function Prime(P):Bool If (k ước số P) Then Flag ← FALSE flag ← FALSE; … Goto B6 return Flag Endif End Function End for If flag=TRUE Then Output: P số nguyên tố Else Output: P không số nguyên tố Endif End Liệt kê số nguyên tố Bắt đầu Begin Input N Nhập N p ←2 p≤N Sai Đúng Đúng Prime(P) Sai p ←p + Kết thúc Hiển thị P For p ← to N If Prime(P) Then Output: P Endif End For End Tìm ƯSCLN số nguyên dương Nhập số a Nhập số b Chia a cho b với số dư r Nếu r = thực Nếu r ≠0 gán giá trị b cho a, giá trị r cho b quay lại bước Thông báo kết ƯSCLN b Kết thúc ƯSCLN số nguyên dương (tiếp) Bắt đầu Nhập a, b r = a MOD b r=0 Đúng Sai a ←b b ←r ƯSCLN b Kết thúc Begin Input a, b Repeat r ← a MOD b if r=0 then goto a←b b←r Until r=0 Output USCLN là: b End Giải phương trình ax2+bx+c=0 Nhập vào dãy N giá trị NhapDay(N) Bắt đầu Đọc N i←1 i≤N Đúng Nhập i←i+1 Kết thúc Sai Begin Input N i ← While i ≤ N Input i ←i+1 End while End Begin Input N For i ←1 to N Input End For End Tìm phần tử nhỏ dãy Bắt đầu Begin Nhapday(N) p←1 i ←2 While i ≤ N If < ap then NhapDay(N) p←1 i ←2 i>N Đúng Sai ai N sang bước Nếu A = sang bước i←i+1 Quay bước Thông báo: A không thuộc dãy kết thúc Thông báo A thuộc dãy kết thúc End Kiểm tra phần tử thuộc dãy Bắt đầu NhapDay(N) Nhập số cần tìm A Hủy bỏ lệnh Goto ? i ←1 Đúng i>N Số A không tồn Sai ai=A Đúng Sai i ←i + Kết thúc A tồn vị trí i Begin NhapDay(N) Input A i ←1 While (i≤N) Do If ai=A Then Output A vị trí i Goto B7 End If i←i+1 • End While • Output A khơng tồn • End Sắp xếp dãy N số (N >1) Begin Nhập N dãy a1, a2,…aN i←1 j←1 • Nếu aj+1 < aj đổi chỗ aj+1 aj • j ←j+1 • Lặp lại bước j > N-i • i←i+1 • Lặp lại bước i = N End Sắp xếp dãy Bắt đầu NhapDay(N) Sai i←1 N=1 N=1? Đúng j←i+1 a j < Đúng Swap(ai, aj) Sai j←j+1 Sai Đúng j≤N Sai i←i+1 Đúng i365 Bài tập dãy số Mơ tả thuật tốn (sơ đồ khối/mã giả) sau • Đếm số chẵn dãy N số ngun • Đưa trung bình cộng số dương dãy gồm N số • Sắp xếp lại dãy N số thực theo nguyên tắc: – Các số âm đầu dẫy đến số 0, số dương • Tìm số số hạng đạt giá trị giá trị lớn • … Bài tập Giả thiết A mảng số nguyên, có số đánh số từ đến N (N >1) Thuật toán kiểm tra số X có tồn mảng khơng biểu diễn sơ đồ sau Bắt đầu k←1 k>N đún g sai X=Ak đún g sai k←k+1 Kết thúc Chỉ phát biểu mô tả kết thực thuật toán a Nếu giá trị X tồn mảng vị trí N, k có giá trị b Nếu giá trị X tồn mảng vị trí N, k có giá trị N c Nếu giá trị X không tồn mảng, k có giá trị d Nếu giá trị X khơng tồn mảng, k có giá trị N .. . Tìm cách hại Ngừng Đến nhà lùn Lừa Bạch Tuyết Về lâu đài Khái niệm • Thuật tốn (algorithm) khái niệm sở Tốn học Tin học • Nghiên cứu thuật tốn đóng vai trị quan trọng khoa học máy tính – Máy tính .. . thuật giải (tiếp) • Q trình tinh chỉnh bước dừng lại – Yêu cầu cho biết hay nhiều đại lượng – Tính đại lượng theo công thức biết rõ – Thông báo hay nhiều kết xử lý • Sau tinh chỉnh cần phải diễn .. . hình, tìm đường ngắn nhất, tổng hợp chất hóa học? ?? Biểu diễn tốn (tiếp) Trong tin học A→ B • A: Input • B: Output • →: Chương trình cho phép biến đổi A thành B Chương trình • Chương trình – Cách