1. Trang chủ
  2. » Công Nghệ Thông Tin

Tin học đại cương - bài 6: phương pháp giải các bài toán tin học docx

20 2,3K 13
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 773,5 KB

Nội dung

 Các bước giải quyết vấn đề - bài toán trên máy tính.. KHÁI NIỆM VỀ VẤN ĐỀ - BÀI TOÁN  Bài toán và giải quyết bài toán được biểu diễn dưới dạng: giả thiết giải pháp mục tiêu  Cần xá

Trang 1

TIN HỌC ĐẠI CƯƠNG

www.uit.edu.vn

BÀI 6

PHƯƠNG PHÁP GIẢI CÁC BÀI TOÁN TRONG TIN HỌC

Trang 2

c

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.

Trang 3

KHÁI NIỆM VỀ VẤN ĐỀ - BÀI TOÁN

 Bài toán và giải quyết bài toán được biểu

diễn dưới dạng:

giả thiết giải phá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

Trang 4

c

MỘT SỐ NHẬN XÉT

 Việc xác định bài toá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ài toá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

Trang 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ương pháp giải.

Thường có nhiều cách khác nhau → Tùy theo nhu cầu thực của bài toá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ương phá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ì.

Trang 6

c

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ọng trong 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

Trang 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 đú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

Trang 8

c

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ài toá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ài toán với kết quả

đúng (gần đúng) trong p vi cho phép

Trang 9

BIỂU DIỄN THUẬT TOÁN

 Sơ đồ khối

 Ngôn ngữ lập trình

Trang 10

c

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

 Đơn giản, không cần kiến thức về về

cách biểu diễn (mã giả, lưu đồ, )

 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

Trang 11

LƯU ĐỒ

 Là hệ thống 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

B

A

Begin

End

Thực hiện A Gọi hàm A Vào / Ra dữ liệu

Điều kiện rẻ nhánh B

Đúng

Sai

Nút giới hạn bắt đầu / kết thúc chương trình

Trang 12

c

LƯU ĐỒ

Tính F = N!

Trang 13

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

 Đỡ cồng kềnh hơn lưu đồ khối

 Không trực quan bằng lưu đồ khối

Trang 14

c

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

 “←” thể hiện phép gán

“return” dùng để dừng thuật toán và trả

về giá trị

Trang 15

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)

 Dùng phương pháp tinh chế từng bước để

chuyển hoá bài toán sang mã chương trình

cụ thể

Trang 16

c

THỰC HIỆN VÀ HIỆU CHỈNH CT

 Lỗi và cách sửa

 Lỗi thuật toán

 Lỗi trình tự

 Lỗi cú pháp

 Xây dựng bộ test

 Cập nhật, thay đổi chương trình theo yêu

cầu (mới)

Trang 17

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

 Tính trong sáng

 Dễ hiểu và dễ chỉnh sửa

 Tính hữu hiệu

 Tài nguyên + giải thuật

Trang 18

c

QUY TRÌNH LÀM PHẦN MỀM

Specification).

(Operation, follow-up and Maintenance).

Trang 19

TÀI LIỆU THAM KHẢO

Trần Đức Huyên, NXB GD, 1997.

( ), DH QG Tp HCM, 2000.

Ngọc, NXB GD, 1996.

BK Tp HCM, 1994.

bằng C, Nguyễn Phúc Trường Sinh, NXB TK,

2002.

Trang 20

www.uit.edu.vn

Ngày đăng: 29/03/2014, 12:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w