Tải bản đầy đủ (.ppt) (15 trang)

Bài 4. BÀI TOÁN VÀ THUẬT TOÁN hay nhất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (640.4 KB, 15 trang )

TRƯỜNG THPT CHUYÊN
NGUYỄN THỊ MINH KHAI



MỤC TIÊU CỦA TIẾT HỌC HÔM NAY
1. Biết khái niệm thế nào là Bài Toán
2. Biết khái niệm thế nào là Thuật Toán
3. Hiểu cách biểu diễn Thuật Toán bằng ngôn
ngữ liệt kê và sơ đồ khối qua bài toán tìm giá
trị lớn nhất của một dãy số


1. KHÁI NIỆM BÀI TOÁN
Trong phạm vi Tin Học ta có thể hiểu:

Bài toán là một việc nào đó ta muốn
máy tính thực hiện
Ví dụ 1: Tìm ước chung lớn nhất của hai số
nguyên dương M và N
Input: Hai số nguyên dương M và N
Output: UCLN của M và N


1. KHÁI NIỆM BÀI TOÁN
Ví dụ 2: Cho dãy A gồm N số nguyên a1,a2,..,aN.Cần
sắp xếp dãy A trở thành dãy không giảm.
Input: Dãy A gồm N số nguyên a1,a2,..,aN
Output: Dãy A được sắp xếp thành dãy không
giảm



1. KHÁI NIỆM BÀI TOÁN
Ví dụ 3: kiểm tra tính nguyên tố của một số
nguyên dương N
Input: Số nguyên dương N
Output: N là số nguyên tố hoặc N không là số
nguyên tố

Bài toán được cấu tạo bởi hai thành phần:
Input: các thông tin đã có
Output: các thông tin cần tìm từ Input


2. KHÁI NIỆM THUẬT TOÁN

Thuật toán để giải một bài toán là dãy hữu hạn các
thao tác được sắp xếp theo một trình tự xác định sao
cho sau khi thực hiện dãy các thao tác ấy, từ Input
của bài toán, ta nhận được Output cần tìm


TÌM THUẬT TOÁN GIẢI
BÀI TOÁN TÌM MAX
Tìm giá trị lớn nhất của một dãy số nguyên
Xác định bài toán
Input: số nguyên dương N và dãy N số nguyên a1,
a2, ….,aN
Output: giá trị lớn nhất (Max) của dãy số
Ý tưởng bài toán
- Khởi tạo giá trị Max = a1

- Lần lượt với i từ 2 đến N, so sánh giá trị số hạng ai với giá trị
Max, nếu ai > Max thì Max nhận giá trị mới là ai


MÔ PHỎNG
Tìm giá trị lớn nhất của dãy số nguyên N = 8

5, 1, 4, 7, 6, 3, 15, 8


Biểu diễn thuật toán Max theo cách liệt kê
Bước 1: Nhập N và dãy a1,a2,…aN ;
Bước 2: Max  a1, i  2;
Bước 3: Nếu i > N thì đưa ra giá trị Max rồi
kết thúc ;
Bước 4:
Bước 4.1: Nếu ai > Max thì Max  ai ;
Bước 4.2: i  i+1 rồi quay lại bước 3;


Sơ đồ khối

Hình thoi thể hiện các
thao tác so sánh

Hình chữ nhật thể hiện
các phép tính toán

Hình ovan thể hiện thao
tác nhập, xuất dữ liệu


Các mũi tên quy định
trình tự thực hiện các
thao tác


Bước 1: Nhập N và dãy
a1,a2,…aN ;
Bước 2: Max

a1, i

Nhập N và dãy a1,a2,…aN

2

Max

a1, i

Bước 3: Nếu i > N thì đưa ra
giá trị Max rồi kết thúc ;

2
Đúng

i>N?
Sai

Bước 4:

Bước 4.1: Nếu ai > Max thì
Max
ai
Bước 4.2: i
i+1 rồi
quay lại bước 3

Sai

ai > Max ?
Đúng
Max

i

ai

i +1

Đưa ra giá trị
Max rồi kết thúc


Kiến thức cần nắm
Khái niệm Bài Toán
Xác định Bài Toán
Khái niệm ThuậtToán

Bài
toánđược

là một
Bài toán
cấuviệc
tạo bởi
nào
đó taphần:
muốn
hai thành
Thuật toán
giải một
Input:
cácđể
thông
tinbài
đã toán

máy
tính
thực
hiện
là dãy hữu hạn các thao tác
Output:
các thông tin cần
được sắp xếp theo một trình tự
tìm
từ Input
xác định
sao cho sau khi thực
hiện dãy các thao tác ấy, từ
Input của bài toán, ta nhận

được Output cần tìm



Chạy thử với N = 3, a1= 9,a2= 0,a3= 16
Bước 1

N = 3, a1= 9, a2= 0, a3= 16

Bước 2

Max

Bước 3

432

9,i

>

3

2

?

S
160 > 9 ?


Bước 4.1

Đ
Max
Bước 4.2

i

16
32 + 1 = 43

Đưa ra giá trị 16 rồi
kết thúc



×