Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
2,63 MB
Nội dung
PHƯƠNG PHÁP DẠY HỌC TIN TIN HỌC TRONG TRƯỜNG PT HỌC PHẦN – ĐVHT (75 TIẾT) PHẦN CƠ BẢN Lê Đức Long Email: longld@math.hcmup.edu.vn; ldlongdhsp@yahoo.com Tp Hồ Chí Minh, 10/2006 NỘI DUNG MÔN TIN HỌC CUNG CẤP KHÁI NIỆM CƠ BẢN VỀ TIN HỌC Vấn đề 1: Khái niệm Tin học Vấn đề 2: Dữ liệu thông tin Vấn đề 3: Biểu diễn thông tin MT Vấn đề 4: Các thành phần PC Nội dung mơn Tin học Chương trình Tin học trường PT THỰC HÀNH SƯ PHẠM THẢO LUẬN NHĨM NỘI DUNG MƠN TIN HỌC GĨP PHẦN PHÁT TRIỂN TƯ DUY THUẬT TỐN Vấn đề 1: Vấn đề - toán Vấn đề 2: Giải tốn máy tính Vấn đề 3: Thuật toán - biểu diễn thuật toán NỘI DUNG MƠN TIN HỌC RÈN LUYỆN KỸ NĂNG LẬP TRÌNH MÁY TÍNH VỚI NNLT BẬC CAO Vấn đề 1: Mơ hình hóa tốn Vấn đề 2: Rèn luyện khả phân tích tốn Vấn đề 3: Kỹ lập trình máy tính NỘI DUNG MƠN TIN HỌC DẠY HỌC CƠ SỞ DỮ LIỆU - HỆ DBMS ACCESS NỘI DUNG MÔN TIN HỌC DẠY HỌC HĐH VÀ MỘT SỐ ỨNG DỤNG Vấn đề 1: Hệ điều hành - chức HĐH Vấn đề 2: Soạn thảo văn Word Vấn đề 3: Mạng máy tính - Internet Vấn đề 4: Một số ứng dụng khác NỘI DUNG MÔN TIN HỌC Các điểm lưu ý - đề xuất … Vấn đề 1: CSDL hệ CSDL Vấn đề 2: Cơ sở liệu quan hệ Vấn đề 3: Hệ quản trị CSDL MS Access Thông tin - Dữ liệu – Tin học Đầu vào DỮ LIỆU NỘI DUNG MÔN TIN HỌC CUNG CẤP KHÁI NIỆM CƠ BẢN VỀ TIN HỌC Vấn đề 1: Khái niệm Tin học Vấn đề 2: Dữ liệu thông tin Vấn đề 3: Biểu diễn liệu MT Vấn đề 4: Các thành phần PC Personal Computer o (PC)/Microcomputer o Nhanh PC 50-1.500 lần o Phục vụ nghiên cứu o VD:Earth Simulator (NEC, 5104 CPUs, 35.600 GF) PC Super Mini Mainframe Laptop Computer Handheld Computer o Pocket PC,Palm, Mobile devices Laptop • Thu nhận phân loại, lưu trữ • Tính tốn, thống kê • Hỏi đáp, cập nhật, truy tìm • Dự báo Đầu THƠNG TIN Tin học ngành khoa học chuyên xử lý liệu xuất thông tin cách tự động, dựa cơng cụ máy tính điện tử 1970 - cuối 70: Computer Science 1980 - cuối 80: Informatique 1990 - cuối 90: Information Technology (IT) 2000 – nay: Information and Communication Technology (ICT) Phân loại máy tính điện tử Minicomputer o Nhanh PC 3-10 lần Mainframe o Nhanh PC 10-40 lần Supercomputer Máy tính xử lý Handheld CÁC THÀNH PHẦN CƠ BẢN CỦA MÁY TÍNH PC Gồm thành phần chính: 1.Bộ xử lý trung tâm – CPU (Central processing unit) CU ALU Reg 2.Bộ nhớ (Main Memory) 3.Các thiết bị nhập/ xuất (I/O devices) CPU _ Màn hình (monitor) _ Bàn phím (keyboard) Tb Nhập Tb Xuất _ Má i ( i t ) Máy in (printer) Bnhớ _ Con chuột (mouse) _ Máy quét (scanner) _ Máy đọc thẻ từ, đọc mã vạch, … BNHỚ PHỤ _ 4.Thiết bị lưu trữ (Backing Storages) Cấu trúc máy PC _ Đĩa từ : đĩa cứng, đĩa mềm (hard disk, floppy disk) _ Đĩa quang: CD ROM, CD-R, DVDs,… CÁC THÀNH PHẦN CƠ BẢN CỦA MÁY TÍNH PC Các dịng CPU i386SX, 486DX4, Pentium IV Intel MỘT SỐ THIẾT BỊ NGOẠI VI Barcode Reader Scanner Màn hình màu SVGA Printer Bàn phím Con chuột chuẩn Modem Camera Hình dáng RAM MỘT SỐ THIẾT BỊ LƯU TRỮ Dung lượng Đĩa mềm ½ inch: 1.44 MB Đĩa cứng: 10 - 80GB … Đĩa CDROM: 200 - 700MB Đĩa DVD: 2GB – 15GB Light pen NIC Mơ hình cấu trúc máy tính (Thiết bị ngoại vi) (Thiết bị nhập/xuất) (ROM, (ROM RAM) (Thiết bị nhớ phụ) ( (Thiết bị ngoại vi khác) ị g ) (Bus hệ thống) Bộ nhớ đệm (cache) Computer memory Bộ nhớ sử dụng để lưu trữ chương trình, liệu Bao gồm o Bộ nhớ đệm (cache) FDD, HDD, FLASH DRIVE o Bộ nhớ (main memory) ộ g ( y o Bộ nhớ (auxiliary or external RAM memory) Bộ nhớ “gần” CPU tốc độ giá thành chế tạo cao Đặt CPU nhớ Tốc độ cao Dung lượng nhỏ Mục đích: Tăng tốc độ trao đổi thơng tin CPU RAM Được chia thành nhiều mức o Cache L1 (Level 1) o Cache L2 o Càng gần CPU tốc độ cao Ví dụ: CPU Intel Petium III, 256KB Cache Bật chế độ truy xuất nhớ trực tiếp Kiểm tra nhớ máy tính • Peak/128 = M • M * 128 = Y • So sánh Total với Y cách Total – Y Dung lượng nhớ thiếu (nếu cần) Tổng dung lượng nhớ có -Chọn Control Panel, Trình System, chọn tab Hardware, Device Manager Nhấ kép h ột -Nhấp ké chuột mục IDE ATA/ATAPI controllers, chọn mục Advance Settings -Thiết lập chế độ DMA if available Lượng nhớ lớn sử dụng Bật chế độ DMA (Direct Memory Access) tăng tốc toàn hệ thống Tổng kết nhớ máy tính Hãy thử tìm hiểu … Cache Tốc độ tăng dần d ect o c disk Electronic d s Magnetic Disk Dung lượng tăng dần g Main memory (RAM+ROM) Optical Disk Magnetic Tape CÁC THAO TÁC CƠ BẢN VỚI CHUỘT -Click mouse (Nhấp chuột) Đưa Mouse pointer đến vị trí cần thiết nhấp lần -Double click (Nhấp kép chuột) Đưa Mouse pointer đến vị trí cần thiết nhấp liên tiếp lần (nhấp kép) CÁC THÀNH PHẦN CƠ BẢN CỦA MÁY TÍNH PC Màn hình (Output) Chuột (Input) -Point Mouse (Trỏ chuột) CPU Phần cứng •CPU •Bộ nhớ •Thiết bị vào/ra •Thiết bị lưu trữ Đĩa cứng (Backing storage) Đưa điểm chuột đến vị trí -Drag Mouse (Rê chuột) Nhấn giữ nút chuột trái, rê chuột từ vị trí sang vị trí khác Bàn phím (Input) HT Tin học Phần mềm Đĩa mềm (Backing storage) Các chương trình PM hệ thống PM ứng dụng Ngơn ngữ lập trình Người sử dụng Quản lý điều khiển Hệ thống thông tin thủ công (manual information systems) Hệ thống thơng tin máy tính hố (computerised information systems) Nguyên tắc hoạt động máy tính PC THƠNG TIN VÀ DỮ LIỆU Đầu vào Máy tính xử lý THÔNG TIN DỮ LIỆU Dữ liệu gốc Đầu ‘a’ Mã hố • Biểu diễn số ngun • Biểu diễn số thực • Biểu diễn văn Mã hố Dữ liệu mã hoá Bảng mã ASCII 0110 0001 (97) Dữ liệu cần xử lý MÁY TÍNH XỬ LÝ Dãy bit (Mã nhị phân) MÁY TÍNH XỬ LÝ đổi ‘a’ thành ‘A’ Thông tin xử lý Thông tin mã hố Bảng mã ASCII 0100 0001 (65) Giải mã Thơng tin kết Giải mã NGUYÊN LÝ MÃ HOÁ NHỊ PHÂN ‘A’ Mã hố thơng tin máy tính Sơ đồ hoạt động máy tính thực lệnh từ thiết bị nhập Nguyên lý điều khiển chương trình Nguyên lý lưu trữ chương trình dạng mã nhị phân Nguyên lý truy cập theo địa NGUN LÝ J VON NEUMANN MƠN TIN HỌC GĨP PHẦN PHÁT TRIỂN TƯ DUY THUẬT TỐN NỘI DUNG MƠN TIN HỌC GĨP PHẦN PHÁT TRIỂN TƯ DUY THUẬT TỐN Vấn đề 1: Vấn đề - toán Vấn đề 2: Giải tốn máy tính Vấn đề 3: Thuật toán - biểu diễn thuật toán Thể phương pháp suy nghĩ, làm việc với khả sau: -Có thể mơ tả xác q trình tiến hành công việc, hoạt động nhằm đạt mục đích đó, nói vắn tắt biết lập quy trình tiến hành cơng việc -Biết cách phân tích hoạt động thành thao tác, xếp chúng theo trình tự chặt chẽ để giải mục đí h đặt hú th ột t ì h t hặt hẽ iải ết đích cho hoạt động -Biết cách thực thao tác theo trình tự nêu -Có thể khái quát sở thực hoạt động cụ thể thành môt quy trình (một thuật tốn) để giải lớp tốn tương tự Với phân tích đó, ta thấy tư thuật tốn khơng cần cho học sinh học nhà trường, mà yếu tố quan trọng giúp cho họ thành đạt đời, họ làm công việc gì, từ sản xuất đến kinh doanh hay quản lý Bài toán tin học ? Vấn đề tốn ? Ví dụ : 1.Chứng minh đẳng thức : (a+b)2 = a2 + 2ab+ b2 2.Chứng minh gia tốc chuyển động tròn gia tốc hướng tâm 3.Chỉ bước dựng tam giác với chiều dài cạnh a, b, c cho trước 4.Với 1,3 đồng, Với số vốn tỉ đồng cần đầu tư vào lãnh vực sản xuất để có tiền lời cao ? -Việc giải vấn đề – tốn diễn đạt sơ đồ chung sau : A B Trong : 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ài toán tin học ? Từ Input làm để tìm Output ? Là việc ta muốn máy tính thực để từ liệu đưa vào (Input) tìm kết đầu – thơng tin (Output) Ví dụ : • Tìm ước số chung lớn hai số nguyên dương Input : Hai số nguyên dương M N Output : Ước số chung lớn M N • Bài toán xếp loại học tập lớp Input : Bảng điểm học sinh lớp Output : Bảng xếp loại học lực học sinh Giải toán máy tính ? Các bạn cần tìm cách giải tốn Máy tính GQVĐ– tốn Máy tính Tốc độ: cực nhanh Độ bền: Liên tục hàng tháng – hàng năm Chịu ảnh hưởng yếu tố khách quan: Khả suy luận gq vấn đề: Khơng Khả phản ứng trước tình bất ngờ: Khơng Ppháp GQVĐ – tốn máy tính Con người Chậm hay chậm Liên tục vài ngày giảm dần theo tgian Có Tốt Tốt Thuật tốn ? Hình dung sơ lược cách máy tính “giải quyết” tốn đơn giản Hãy tính tổng S n số nguyên dương đầu tiên: S = 1+ + + + … + n Lời giải máy tính B1 Hỏi giá trị n B2 Đặt S = Nhớ S = Nhớ i = B3 Nếu số cộng i nhỏ n (số phép cộng chưa n-1) sang B.3.1 Ngược lại sang B4 g ợ g { o 3.1 Cộng kết S nhớ với i nhớ kết o 3.2 Tăng số i lên đơn vị o 3.3 Trở B3 B4 Kết tính số S nhớ B5 Kết thúc Thuật toán ? Từ thuật toán (Algorithm) xuất phát từ tên nhà toán học người Trung Á Muhammad ibn Musa alKhwarizmi, thường gọi al’Khwarizmi Ông tác giả sách số học, ơng dùng phương pháp mô tả rõ ràng, mạch lạc cách giải tốn Sau này, phương pháp mơ tả cách giải tốn ơng xem chuẩn mực nhiều nhà toán học khác tuân theo Từ algorithm đời dựa theo cách phiên âm tên ông ủ He was the author of al-Kitāb al-mukhtaṣar fī ḥisāb al-jabr wa-lmuqābala, the first book on the systematic solution of linear and quadratic equations Consequently he is considered to be the father of algebra, a title he shares with Diophantus The word algebra is derived from al-jabr, one of the two operations used to solve quadratic equations, as described in his book Algoritmi de numero Indorum, the Latin translation of his other major work on the Indian numerals, introduced the positional number system and the number zero to the Western world in the 12th century The words algorism and algorithm stem from Algoritmi, the Latinization of his name.His name is also the origin of the Spanish word guarismo, meaning digit Muḥammad ibn Mūsā alKhwārizmī (Arabic: محمد بن موسى )الخوارزميwas a Persian mathematician, astronomer, astrologer and geographer He was born around 780, in either Khwarizm or Baghdad, and died around 850 Tính xác định Giả sử nhận lớp học mới, Ban Giám hiệu yêu cầu giáo viên chủ nhiệm chọn lớp trưởng theo bước sau : Lập danh sách tất học sinh lớp Sắp thứ tự danh sách học sinh Chọn học sinh đứng đầu danh sách để làm lớp trưởng Khi nhận thông báo này, giáo viên chắn bối rối khơng hiểu danh sách học sinh cần có thơng tin gì? Danh sách cần họ tên, hay cần thêm ngày tháng năm sinh? Có cần thêm điểm trung bình khơng? ầ ầ ể Yêu cầu lại gây nhiều thắc mắc Cần phải xếp danh sách theo chiều tăng dần giảm dần ? Sắp theo tiêu ? Theo tên, theo ngày tháng năm sinh hay theo điểm trung bình chung, Giả sử theo điểm trung bình có hai học sinh điểm trung bình học sinh trước, học sinh sau ? Hướng dẫn vi phạm tính chất "khơng mập mờ" thuật tốn Nghĩa là, có q nhiều thơng tin cịn thiếu để làm cho bước 1,2 hiểu hiểu theo nghĩa Tính chất thuật tốn Xác định: rõ ràng, khơng mập mờ bước giải khả thi thực thi o Mập mờ: thiếu thơng tin có nhiều chọn lựa không đủ điều kiện để định o Thực thi được: xét điều kiện toán Hữu hạn: số bước hữu hạn có tính chất ố ấ dừng dễ bị vi phạm o Sau thời gian thi hành hữu hạn phải cho kết mong muốn Đúng: với trường hợp tốn o Tính chất khó đạt Thuật toán chọn lớp trưởng !!! Lập danh sách tất học sinh lớp theo hai thơng tin: Họ Tên; Ðiểm trung bình cuối năm Sắp hạng học sinh theo điểm trung bình theo thứ tự giảm dần (từ điểm cao đến điểm thấp) Hai học sinh có điểm trung bình có hạng Nếu có học sinh có hạng chọn học sinh làm lớp trưởng Trường hợp có nhiều học sinh đồng hạng chọn học sinh có điểm mơn Tốn cao làm lớp trưởng Nếu nhiều học sinh đồng hạng có điểm mơn Tốn cao tiến hành bốc thăm Ở cần phân biệt mập mờ chọn lựa có định Mập mờ thiếu thơng tin có nhiều chọn lựa không đủ điều kiện để định Cịn chọn lựa có định hồn tồn xác định điều kiện cụ thể vấn đề Chẳng hạn vấn đề chọn lớp trưởng trên, bước thể lựa chọn có định Tất nhiên, chưa lập danh sách, chưa xếp hạng theo điểm trung bình giáo viên biết chọn lớp trưởng theo cách Nhưng xong danh sách có phương án chọn 10 Xác định = khơng mập mờ + thực thi Tính "thực thi được" tính chất hiển nhiên Rõ ràng "thuật toán" tồn bước khơng thể thực thi ta có kết ý muốn? Chú ý đến tính chất giải tốn máy tính - vấn đề cần giải máy tính phải thực thi ≠ cách giải bình thường người nhiên, thực Tuy nhiên cần phải hiểu "thực thi được" xét điều kiện tốn Chẳng hạn, nói "lấy bậc hai số âm" thực thi miền xác định toán số thực, miền số phức thao tác "lấy bậc hai số âm" hoàn toàn thực thi Tương tự, ta đường cho người xe máy đến bưu điện đường ta đường cụt, đường cấm đường ngược chiều người khơng thể đến bưu điện Tính Tính "đúng" tính chất hiển nhiên tính chất khó đạt tới Thực vậy, giải vấn đề-bài tốn, ta ln ln mong muốn lời giải cho kết lúc đạt Mọi học sinh làm kiểm tra muốn làm có đáp số thực tế, lớp học có số học sinh định có khả đưa lời giải đúng! ố ấ tính chất Thuật Tốn Các tính chất thuật tốn chặt chẽ cứng nhắc Nhưng điều có nghĩa khả giải vấn đề theo kiểu thuật toán bị giới hạn Sau này, người ta "làm mềm" hai tính chất quan trọng thuật tốn tính xác định tính để giải vấn đề phức tạp mà với tính chất chặt chẽ thuật tốn khơng thể giải Ðó thuật giải Tính hữu hạn (tính dừng) Tính "dừng" tính chất dễ bị vi phạm nhất, thường sai sót trình bày thuật tốn Mọi thuật tốn nhằm thực cơng việc nên sau thời gian thi hành hữu hạn thuật tốn phải cho kết mong muốn Khi không thỏa tính chất này, ta nói "thuật tốn" bị lặp vơ tận bị quẩn Ðể tính tổng số nguyên dương lẻ khoảng từ đến n ta có thuật tốn sau : B1 Hỏi giá trị n B2 Đặt S = 0, i = B3 Nếu i = n+1 sang bước B7, ngược lại sang bước B4 B4 Cộng thêm i vào S B5 Cộng thêm vào i B6 Quay lại bước B3 B7 Tổng cần tìm S Kết thúc Ta ý đến bước B3 Ở ta muốn kết thúc thuật toán giá trị i vượt n Thay viết "nếu i lớn n" ta thay điều kiện "nếu i n+1" theo tốn học "i = n+1" suy "i lớn n" Nhưng điều kiện "i=n+1" lúc đạt Vì ban đầu i = số lẻ, sau bước, i tăng thêm nên i số lẻ Nếu n số chẵn n+1 số lẻ nên sau số bước định, i n+1 Tuy nhiên, n số lẻ n+1 số chẵn, i số lẻ nên dù có qua bước nữa, i khác n+1 Trong trường hợp đó, thuật tốn bị quẩn Các đặc trưng khác thuật toán Đầu vào đầu (Input/Output) : thuật toán nhận liệu đầu vào, xử lý cho kết cuối Tính hiệu (Effectiveness) : dựa khối lượng tính tốn, khơng gian thời gian thuật toán thi hành Là yếu tố định để đánh giá, chọn lựa cách giải vấn đề – tốn thực tế Tính tổng quát (Generalliness): áp dụng cho trường hợp tốn 11 KẾT LUẬN Nhập liệu Tính tốn xử lý Xuất thơng tin Ví dụ thuật tốn Giải phương trình bậc ax + b =0 Yêu cầu cho biết giá trị a b Nếu a = 2.1 Nếu b = phương trình vơ định Kết thúc thuật toán thú th ật t 2.2 Nếu b ≠ phương trình vơ nghiệm Kết thúc thuật tốn thao tác 1; thao tác 2; …; thao tác N Liệt kê - Sơ đồ Nngữ lập trình Chương trình Ví dụ thuật tốn Thuật tốn giải phương trình bậc hai ax2+bx+c=0 (a ≠0) Yêu cầu cho biết giá trị hệ số a, b, c Nếu a=0 2.1 u cầu đầu vào khơng đảm bảo 2.2 Kết thúc thuật toán Trường hợp a khác 3.1 Tính giá trị Δ = b2-4ac 3.2 Nếu Δ > 3.2.1 Phương trình có hai nghiệm phân biệt x1 x2 3.2.2 Giá trị hai nghiệm tính theo cơng thức sau 3.2.3 Kết thúc thuật tốn 3.3 Nếu Δ = 3.3.1 Phương trình có nghiệm kép x0 3.3.2 Giá trị nghiệm kép x0 = -b/2a 3.3.3 Kết thúc thuật tốn 3.4 Nếu Δ < 3.4.1 Phương trình vơ nghiệm 3.4.2 Kết thúc thuật tốn ⎧ −b+ Δ ⎪ x1 = ⎪ 2a ⎨ ⎪x = − b − Δ ⎪ 2a ⎩ Nếu a ≠ phương trình có nghiệm x = - b/a Kết thúc thuật tốn Ví dụ thuật tốn Thuật tốn tìm hộp có trọng lượng nặng Vấn đề : Có n hộp có khối lượng khác cân dĩa Hãy cách cân để tìm hộp có trọng lượng nặng Vấn đề thể toán tổng quát : Cho tập hợp A hữu hạn thứ tự toàn phần A Hãy xây dựng thuật tốn tìm phần tử lớn A A Ý tưởng: • Nếu có hộp hộp nặng • Nếu có từ hộp trở lên: • Chọn hộp đưa lên bàn cân giữ lại hộp nặng • Thực khơng cịn hộp • Hộp cuối lại bàn cân hộp nặng 12 Lời giải máy tính = thuật tốn Nếu có hộp (n=1) 1.1 Hộp hộp nặng 1.2 Kết thúc thuật tốn Ngược lại có từ hai hộp trở lên (n>1) 2.1 Chọn hai hộp đặt lên bàn cân 2.2 Giữ lại hộp nặng hơn, cất hộp nhẹ sang chỗ khác 22 khác Nếu hộp chưa cân thực bước sau, khơng cịn hộp nữa, sang bước 3.1 Chọn hộp để lên dĩa cân trống 3.2 Giữ lại hộp nặng hơn, cất hộp nhẹ sang chỗ khác Trở lại bước Hộp cịn lại cân hộp nặng Kết thúc Thuật giải ? Có nhiều tốn chưa tìm cách giải theo kiểu thuật toán khơng biết có thuật tốn hay khơng ? (Bài tốn tìm số ngun tố lớn nhất) Có nhiều tốn có thuật tốn để giải khơng chấp nhận thời gian giải theo thuật tốn lớn (Bài toán tháp Hà Nội) toán giải theo cách giải vi Có t đ hữ iải th hữ h iải i phạm thuật toán chấp nhận Mở rộng hai tiêu chuẩn thuật tốn : tính xác định tính để chấp nhận cách giải cho kết tốt, gần phức tạp hiệu Các cách giải chấp nhận khơng hồn toàn đáp ứng đầy đủ tiêu chuẩn thuật toán thường gọi thuật giải Một thuật giải thường đề cập đến khoa học trí tuệ nhân tạo cách giải theo kiểu Heuristic (Hơ rís tíc) Thuật giải ? Ví dụ 2: Bài tốn đổ nước Ví dụ : Thuật giải nấu cơm {Gạo, củi} Nấu cơm : –Vo gạo gạ –Chuẩn bị lửa –Nấu, canh –Kết thúc {Nồi cơm chín} Thuật giải ? TÍNH ĐÚNG Có hai bình đựng nước B5 có dung tích 5lít , B8 có dung tích 8lít Hãy cách đong để có hai lít nước Các thao tác thực : o Hứng đầy nước vào bình B5 B8 o Đổ bình o Đổ nước từ bình sang bình khác lúc bình đầy 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) TÍNH XÁC ĐỊNH VÀ TÍNH ĐÚNG 13 THUẬT GIẢI HEURISTIC Thuật giải Heuristic mở rộng khái niệm thuật tốn Nó thể cách giải tốn với đặc tính sau : o Thường tìm lời giải tốt (nhưng không lời giải tốt nhất) o Giải toán theo thuật giải Heuristic thường dễ dàng nhanh chóng đưa kết so với giải thuật tối ưu, chi phí thấp o Thuật giải Heuristic thường thể tự nhiên, gần gũi với cách suy nghĩ hành động người Ví dụ minh họa Bài tốn tìm đường ngắn – Ứng dụng nguyên lý Greedy Bài toán : Bài toán người bán hàng Một nhân viên phân phối hàng cho công ty giao nhiệm vụ phải giao hàng cho đại lý công ty, sau trở cơng ty Vấn đề người nhân viên giao hàng cho tất đại lý mà không tiêu à ấ ả ý ô ê số tiền đổ xăng mà cơng ty cấp cho ngày u cầu tốn tìm hành trình ngắn Tất nhiên ta giải tốn cách liệt kê tất đường đi, tính chiều dài đường tìm đường có chiều dài ngắn Tuy nhiên, cách giải lại có độ phức tạp n! (tổng số hành trình có n!) Do đó, số đại lý tăng số đường phải xét tăng lên nhanh Xây dựng thuật giải Heuristic Có nhiều phương pháp để xây dựng thuật giải Heuristic, người ta thường dựa vào số nguyên lý sở sau: Nguyên lý vét cạn thơng minh : Trong tốn tìm kiếm đó, khơng gian tìm kiếm lớn, ta thường tìm cách giới hạn lại khơng gian tìm kiếm thực kiểu dị tìm đặc biệt dựa vào đặc thù tốn để nhanh chóng tìm mục tiêu Nguyên lý tham lam (Greedy): Lấy tiêu chuẩn tối ưu (trên phạm vi toàn cục) toán để làm tiêu chuẩn chọn lựa hành động cho phạm vi cục bước (hay giai đoạn) ủ ( ) trình tìm kiếm lời giải Nguyên lý thứ tự : Thực hành động dựa cấu trúc thứ tự hợp lý khơng gian khảo sát nhằm nhanh chóng đạt lời giải tốt Hàm Heuristic: Trong việc xây dựng thuật giải Heuristic, người ta thường dùng hàm Heuristic Ðó hàm đánh giá thơ, giá trị hàm phụ thuộc vào trạng thái toán bước giải Nhờ giá trị này, ta chọn cách hành động tương đối hợp lý bước thuật giải Ý tưởng thuật giải Một cách giải đơn giản thường cho kết tương đối tốt dùng thuật giải Heuristic ứng dụng nguyên lý Greedy Tư tưởng thuật giải sau : Từ điểm khởi đầu, ta liệt kê tất quãng đường từ điểm xuất phát n đại lý chọn theo đường ngắn Khi đến đại lý, chọn đến đại lý theo nguyên tắc Nghĩa liệt kê tất đường từ đại lý ta đứng đến đại lý chưa đến Chọn đường ngắn Lặp lại q trình lúc khơng cịn đại lý để 14 THUẬT TOÁN VÀ THUẬT GIẢI Mơ ý tưởng Thuật tốn (Algorithm) dãy hữu hạn thao tác không mập mờ khả thi, xếp theo trình tự xác định, cho trình thực dãy thao tác phải dừng cho kết mong muốn đặc trưng thuật toán: o Tính xác định: thao tác khơng mập mờ khả thi o Tính hữu hạn: số hữu hạn thao tác phải dừng o Tính đắn: cho kết mong muốn ắ ế ả ố 3 đặc trưng phụ khác: o Đầu vào - đầu o Tính hiệu o Tính tổng quát (H): 15 Thuật giải Heuristic thực Thuật giải Thuật tốn ≠ MỞ RỘNG TÍNH ĐÚNG, TÍNH XÁC ĐỊNH Kết xác mong đợi Biểu diễn thuật tốn Cách 1: Dùng ngơn ngữ tự nhiên Cách 2: Dùng lưu đồ / Vẽ sơ đồ khối Cách 3: Dùng mã giả Bằng ngôn ngữ tự nhiên (liệt kê) Trong cách biểu diễn thuật tốn theo ngơn ngữ tự nhiên, người ta sử dụng ngôn ngữ thường ngày để liệt kê bước thuật tốn (Các ví dụ phần trước sử dụng ngôn ngữ tự nhiên) Phương pháp biểu diễn không yêu cầu người viết thuật toán người đọc thuật t hải ắ tắc Tuy ậ h biểu diễ th ật toán phải nắm quy tắ T vậy, cách biể diễn thường dài dịng, khơng thể rõ cấu trúc thuật tốn, đơi lúc gây hiểu lầm khó hiểu cho người đọc Gần khơng có quy tắc cố định việc thể thuật tốn ngơn ngữ tự nhiên Tuy vậy, để dễ đọc, ta nên viết bước lùi vào bên phải đánh số bước theo quy tắc phân cấp 1, 1.1, 1.1.1, 15 Ví dụ thuật tốn Giải phương trình bậc ax + b =0 Yêu cầu cho biết giá trị a b Nếu a = 2.1 Nếu b = phương trình vơ định Kết thúc thuật tốn 2.2 Nếu b ≠ phương trình vơ nghiệm Kết thúc thuật tốn Nếu a ≠ phương trình có nghiệm x = - b/a Kết thúc thuật toán Các kí hiệu biểu diễn sơ đồ Bằng sơ đồ khối/ lưu đồ Lưu đồ hay sơ đồ khối công cụ trực quan để diễn đạt thuật toán Biểu diễn thuật toán lưu đồ giúp người đọc theo dõi phân cấp trường hợp q trình xử lý thuật tốn Phương pháp lưu đồ thường dùng ậ , ợ q thuật tốn có tính rắc rối, khó theo dõi trình xử lý Để biểu diễn thuật toán theo sơ đồ khối, ta phải phân biệt hai loại thao tác Một thao tác thao tác chọn lựa dựa theo điều kiện Chẳng hạn : thao tác "nếu a = b thực thao tác B2, ngược lại thực B4" thao tác chọn lựa Các thao tác cịn lại khơng thuộc loại chọn lựa xếp vào loại hành động Chẳng hạn, "Chọn hộp để lên dĩa cân trống." thao tác thuộc loại hành động Ví dụ minh họa 16 Các bước xây dựng thuật toán Bằng mã giả Vay mượn cú pháp ngơn ngữ lập trình để thể thuật toán (thường dùng NNLT Pascal để diễn tả) Dùng mã giả vừa vận dụng khái niệm ngơn ngữ lập trình, vừa giúp người cài đặt dễ dàng nắm bắt nội dung thuật toán, nhiên mã giả dùng phần ngơn ngữ tự nhiên hầ ữt hiê Ví dụ : (các từ in đậm sử dụng từ khóa NNLT Pascal) Nhập a, b If a = then If b = then xuất kết ‘Pt vô định’ Kết thúc Else xuất kết ‘Pt vô nghiệm’ Kết thúc Else xuất kết x =-b/a Kết thúc Xác định toán : - Input - Output Hình thành ý tưởng để giải tốn, lưu ý xác định điểm dừng thuật toán Xây dựng thuật toán cách: - Liệt kê (ngôn ngữ tự nhiên) - Vẽ sơ đồ Mô để kiểm tra tính đắn Ví dụ minh hoạ Xác định tốn: Thuật tốn tìm số lớn Input: Số nguyên dương N dãy N số nguyên a1, a2, …, aN (ai với i : 1→N) Output: Số lớn (Max) dãy số Mô ý tưởng Quả Quả lớn Ồ! Quả Tìm lớn rồi! lớn lớn Ý tưởng: t - Đặt giá trị Max = a1 - Lần lượt cho i từ đến N, so sánh giá trị với giá trị Max, > Max Max nhận giá trị - Max giá trị lớn cần tìm MAX 17 Biểu diễn thuật tốn B1 Cách 1: Dùng ngôn ngữ tự nhiên Bước 1: Nhập N dãy a1,a2…, aN; Bước 2: Max ← a1; i ← 2; Bước 3: Nếu i > N đưa giá trị Max kết thúc; Bước 4: Nếu > Max Max ← ai; Bước 5: i ← i+1 quay lại B3 B2 NỘI DUNG MƠN TIN HỌC B3 RÈN LUYỆN KỸ NĂNG LẬP TRÌNH MÁY TÍNH VỚI NNLT BẬC CAO B4 B5 Cách 2: Dùng lưu đồ MỘT SUY NGHĨ VỀ DẠY HỌC LẬP TRÌNH Vấn đề 1: Trình bày khái niệm o Cần trình bày khái niệm cho thật dễ hiểu, dễ tiếp thu dễ ứng dụng hs Vấn đề 2: Xây dựng ví dụ minh họa o Cần xây dựng hệ thống ví dụ o Cho phép minh họa tốt có k/niệm o Giúp hs tiếp thu kỹ năng, kinh nghiệm lập trình gv Vấn đề 3: Biên soạn tập • Cần biên soạn hệ thống tập giúp hs tự rèn luyện tốt kỹ mong đợi môn học Vấn đề 4: Trình bày yêu cầu tập lập trình o Cần trình bày yêu cầu tập lập trình thật rõ ràng dễ hiểu hs Hạn chế tối đa việc hs không thực tập không hiểu hay hiểu sai đề Vấn đề 5: Trình bày cách giải/bài giải tập lập trình o Cần trình bày giải/ cách giải thật rõ ràng, súc tích để hs dễ tiếp thu có Vấn đề 1: Mơ hình hóa toán Vấn đề 2: Rèn luyện khả phân tích tốn Vấn đề 3: Kỹ lập trình máy tính DẠY HỌC LẬP TRÌNH VỚI AML Tác giả: Nguyễn Tiến Huy, ĐHKHTN Tp.HCM AML bao gồm hệ thống sơ đồ sử dụng công cụ hỗ trợ giảng dạy lập trình AML hỗ trợ giáo viên: o Soạn thảo, trình bày tập lập trình cách rõ ràng, súc tích trực quan o Soạn thảo, trình bày giải cách ngắn gọn, đơn giản độc lập với NNLT AML hỗ trợ học sinh: o Tiếp nhận hiểu rõ yêu cầu tập lập trình gv o Tiếp thu dễ dàng giải gv o Bước đầu rèn luyện tư lập trình theo thiết kế lập trình theo yêu cầu với tập lập trình tư tảng cho việc phát triển phần mềm ứng dụng sau 18 DẠY HỌC LẬP TRÌNH VỚI AML Hệ thống sơ đồ KỸ THUẬT LẬP TRÌNH CƠ BẢN XEM TÀI LiỆU GT AML o Nhóm 1: Sơ đồ phục vụ cho việc mô tả yêu cầu: DFD (Data Flow Diagram) o Nhóm 2: Nhó Sơ đồ mô tả kiến trúc tổ chức thành phần chương trình/phần mềm: MAD (Module Architecture Diagram) Sơ đồ mơ tả hoạt động phối hợp thành phần chương trình/ phần mềm: FCD (Function Collaboration Diagram) BÀI TỐN ĐẶC TẢ YÊU CẦU PHÂN TÍCH THIẾT KẾ CÀI ĐẶT CHƯƠNG TRÌNH THẾ GIỚI THỰC vs VIỆC THỰC HIỆN TRÊN MÁY TÍNH THẾ GIỚI THỰC TIN HỌC HĨA VIỆC THỰC HIỆN TRÊN MÁY TÍNH 19 ... CSDL MS Access Thông tin - Dữ liệu – Tin học Đầu vào DỮ LIỆU NỘI DUNG MÔN TIN HỌC CUNG CẤP KHÁI NIỆM CƠ BẢN VỀ TIN HỌC Vấn đề 1: Khái niệm Tin học Vấn đề 2: Dữ liệu thông tin Vấn đề 3: Biểu diễn... MÔN TIN HỌC DẠY HỌC HĐH VÀ MỘT SỐ ỨNG DỤNG Vấn đề 1: Hệ điều hành - chức HĐH Vấn đề 2: Soạn thảo văn Word Vấn đề 3: Mạng máy tính - Internet Vấn đề 4: Một số ứng dụng khác NỘI DUNG MÔN TIN HỌC... MÔN TIN HỌC RÈN LUYỆN KỸ NĂNG LẬP TRÌNH MÁY TÍNH VỚI NNLT BẬC CAO Vấn đề 1: Mơ hình hóa tốn Vấn đề 2: Rèn luyện khả phân tích tốn Vấn đề 3: Kỹ lập trình máy tính NỘI DUNG MƠN TIN HỌC DẠY HỌC