Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
492 KB
Nội dung
1
TIN HỌCĐẠI CƯƠNG
www.uit.edu.vn
BÀI 2
BÀI 2
PHƯƠNG PHÁPGIẢICÁC
PHƯƠNG PHÁPGIẢICÁC
BÀI TOÁN TRONG TIN HỌC
BÀI TOÁNTRONGTIN HỌC
Tin họcđại cương
2
NỘI DUNG
Khái niệm về vấn đề và bài toán.
Các bước giải quyết vấn đề -bài
toán trên máy tính.
Thuật toán và thuật giải.
Biểu diễn thuật toán và thuật giải.
Tin họcđại cương
3
KHÁI NIỆM VỀ VẤN ĐỀ -BÀI TOÁN
Bài toán và giải quyết bàitoán được biểu
diễn dưới dạng:
A → B
giả thiết giảipháp mục tiêu
Cần xác định A, B, và các thao tác
để đi từ A đến B.
A, B không rõ ràng?
Các điều kiện của cách
giải ko minh bạch?
!!!
Tin họcđại cương
4
MỘT SỐ NHẬN XÉT
Việc xác định bàitoán là rất quan trọng.
Thông báo về A và B mang tính biểu
tượng gợi nhớ về giả thiết và mục tiêu.
Bước đầu để xác định bàitoán và phát
biểu lại theo ngôn ngữ của riêng mình để
hiểu.
Tiếp theo là tìm hiểu thông tin Input A và
Output B và các mối liên hệ.
Thường nên xét một vài trường hợp cụ
thể để hiểu rõ hơn bài toán.
Tin họcđại cương
5
CÁC BƯỚC GIẢI QUYẾT BT
Bước 1: Xác định vấn đề -bài toán.
Nhằm phát biểu chính xác vấn đề -bài toán, làm rõ
những yêu cầu, xác định tính khả thi.
Bước 2: Lựa chọn phươngpháp giải.
Thường có nhiều cách khác nhau → Tùy theo nhu
cầu thực của bàitoán mà chọn lựa p/pháp phù hợp.
Bước 3: Xây dựng thuật toán hoặc thuật giải.
Chi tiết hóa phươngpháp đã lựa chọn. Thường theo
cấu trúc phân tích → Vấn đề TOP-DOWN.
Bước 4: Cài đặt chương trình.
Từ thuật giải, dùng NNLT để hiện thực hóa.
Bước 5: Hiệu chỉnh & Thực hiện chương trình.
Sửa lỗi, gồm: lỗi cú pháp và lỗi ngữ nghĩa.
Bước 6: Lưu trữ, Bảo trì.
Tin họcđại cương
6
XÁC ĐỊNH CẤU TRÚC DỮ LIỆU
Niklaus Wirth:
Cấu trúc dữ liệu + Thuật giải = Ch. trình
Dữ liệu và cấu trúc dữ liệu đóng vai trò
quan trọngtrong việc kết hợp và đưa ra
cách giải quyết bài toán.
Một số lưu ý về CTDL:
Phải biểu diễn đầy đủ thông tin.
Phù hợp các thao tác của thuật toán.
Phù hợp điều kiện cho phép của NNLT.
Tin họcđại cương
7
THUẬT TOÁN VÀ THUẬT GIẢI
Thuật toán: Một dãy hữu hạn các chỉ thị có
thể thi hành để đạt mục tiêu đề ra nào đó.
Các đặc trưng của thuật toán:
Tính có đại lượng vào và ra.
Tính xác định.
Tính hữu hạn dừng.
Tính đúng đắn.
Tính phổ dụng (tổng quát).
Tính hiệu quả: Bộ nhớ, số phép tính,
thời gian chạy, dễ hiểu, dễ cài đặt.
Tin họcđại cương
8
THUẬT TOÁN VÀ THUẬT GIẢI
Thuật giải: Khái niệm mở rộng của thuật
toán.
Với một số đặc điểm chẳng hạn:
Có những bàitoán không xác định (có)
thuật toán cụ thể.
Hoặc có thuật toán nhưng không thực
hiện được (chẳng hạn vì thời gian dài).
Hoặc có cách giải vi phạm thuật toán
nhưng vẫn được chấp nhận.
Heuristic: Giải quyết bàitoán với kết quả
đúng (gần đúng) trong p. vi cho phép.
Tin họcđại cương
9
BIỂU DIỄN THUẬT TOÁN
Ngôn ngữ tự nhiên.
Sơ đồ khối.
Mã giả.
Ngôn ngữ lập trình.
Tin họcđại cương
10
NGÔN NGỮ TỰ NHIÊN
NN tự nhiên thông qua các bước được
tuần tự liệt kê để BD thuật toán.
Ưu điểm:
Đơn giản, không cần kiến thức về về
cách biểu diễn (mã giả, lưu đồ, )
Nhược điểm:
Dài dòng, không cấu trúc.
Đôi lúc khó hiểu, không diễn đạt
được thuật toán.
[...]... Specification) Bước 2: Phân tích (Analysis) Bước 3: Thiết kế (Design) Bước 4: Cài đặt (Implementation) Tinhọcđạicương Bước 5: Thử nghiệm (Testing) Bước 6: Vận hành, theo dõi và bảo dưỡng (Operation, follow-up and Maintenance) 18 TÀI LIỆU THAM KHẢO Phương phápgiảicácbàitoán trong tin học, Trần Đức Huyên, NXB GD, 1997 Giáo trình tinhọcđại cương, Hoàng Kiếm ( ), DH QG Tp HCM, 20 00 Ngôn... thuật toán và trả về giá trị 14 LẬP TRÌNH Dùng ngôn ngữ máy tính (C, Pascal, ) để diễn tả thuật toán, CTDL thành câu lệnh Kỹ năng lập trình đòi hỏi cần học tập và thực hành (nhiều) Tinhọcđạicương Dùng phươngpháp tinh chế từng bước để chuyển hoá bàitoán sang mã chương trình cụ thể 15 THỰC HIỆN VÀ HIỆU CHỈNH CT Chạy thử Lỗi và cách sửa Lỗi thuật toán Lỗi trình tự Lỗi cú phápTinhọc đại. .. các nút, cung hình dạng khác nhau thể hiện các chức năng khác nhau A A Thực hiện A Gọi hàm A Đúng Tinhọcđạicương B Vào / Ra dữ liệu Begin End Sai Nút giới hạn bắt đầu / kết thúc chương trình Điều kiện rẻ nhánh B 11 LƯU ĐỒ Tinhọcđạicương Tính F = N! 12 MÃ GIẢ Ngôn ngữ tựa ngôn ngữ lập trình Dùng cấu trúc chuẩn hóa, chẳng hạn tựa Pascal, C Dùng các ký hiệu toán học, biến, hàm Ưu điểm: Tin. .. học, biến, hàm Ưu điểm: Tinhọcđạicương Đỡ cồng kềnh hơn lưu đồ khối Nhược điểm: Không trực quan bằng lưu đồ khối 13 MÃ GIẢ Algorithm LargestNumber Input: Danh sách khác rỗng các con số L Output: largest - giá trị số lớn nhất trong d sách L largest ← L0 for each item in danh sách L≥1, do if the item > largest, then largest ← the item return largest Tinhọcđạicương “←” thể hiện phép gán... thuật toán Lỗi trình tự Lỗi cú phápTinhọcđạicương Xây dựng bộ test Cập nhật, thay đổi chương trình theo yêu cầu (mới) 16 TIÊU CHUẨN CỦA CHƯƠNG TRÌNH Tính tin cậy Giải thuật + Kiểm tra cài đặt Tính uyển chuyển Đáp ứng quy trình làm phần mềm Tính trong sáng Tinhọcđạicương Dễ hiểu và dễ chỉnh sửa Tính hữu hiệu Tài nguyên + giải thuật 17 QUY TRÌNH LÀM PHẦN MỀM Bước 0: Ý tưởng... họcđại cương, Hoàng Kiếm ( ), DH QG Tp HCM, 20 00 Ngôn ngữ lập trình Pascal, Quách Tuấn Ngọc, NXB GD, 1996 Tinhọcđạicương Lập trình căn bản, Đoàn Nguyên Hải ( ), ĐH BK Tp HCM, 1994 Cẩm nang thuật toán- Ứng dụng và cài đặt bằng C, Nguyễn Phúc Trường Sinh, NXB TK, 20 02 19 www.uit.edu.vn 20 . 1 TIN HỌC ĐẠI CƯƠNG www.uit.edu.vn BÀI 2 BÀI 2 PHƯƠNG PHÁP GIẢI CÁC PHƯƠNG PHÁP GIẢI CÁC BÀI TOÁN TRONG TIN HỌC BÀI TOÁN TRONG TIN HỌC Tin học đại cương 2 NỘI DUNG Khái niệm về vấn đề và bài. bài toán. Các bước giải quyết vấn đề - bài toán trên máy tính. Thuật toán và thuật giải. Biểu diễn thuật toán và thuật giải. Tin học đại cương 3 KHÁI NIỆM VỀ VẤN ĐỀ - BÀI TOÁN Bài toán. Maintenance). Tin học đại cương 19 TÀI LIỆU THAM KHẢO Phương pháp giải các bài toán trong tin học, Trần Đức Huyên, NXB GD, 1997. Giáo trình tin học đại cương, Hoàng Kiếm ( ), DH QG Tp. HCM, 20 00. Ngôn