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

Bai 6 giai bai toan tren may tinh

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 (570.1 KB, 20 trang )


•Thế nào là ngôn ngữ lập trình và có mấy loại
ngôn ngữ lập trình?

Là ngôn ngữ dùng
để diễn tả thuật tóan

máy
tính

thể
Có 3 loại ngôn ngữ
lập
trình
hiểu
và: thực hiện được
- Ngôn ngữ máy
- Hợp ngữ


Tiết 18 : Bài 6

BÀI GIẢNG ĐIỆN TỬ TIN HỌC LỚP 10


GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Để giải bài toán trên máy tính, ta phải
tiến hành qua mấy bước, đó là những
bước nào?
Để giải bài toán trên máy tính, ta thường tiến
hành qua các bước:



Bước 1: Xác định bài toán;
Bước 2: Lựa chọn và thiết kế thuật toán;

Bước 3: Viết chương trình;
Bước 4: Hiệu chỉnh;
Bước 5: Viết tài liệu.


GIẢI BÀI TOÁN TRÊN MÁY TÍNH

1. Bước 1: Xác định bài toán

Là xác định Input và Output của bài to

Xác định bài toán là xác định những yếu tố nào?

VD: bài toán tìm UCLN của 2 số
nguyên dương M Input
và N: ???
Input: 2 số nguyên
dương M và N
Output : ??
?
Output: UCLN
của M và N

Ý nghóa: - Xác định rõ mối quan hệ
giữa 2 yếu tố trên giúp chúng ta xác
định hướng giải quyết bài toán.

- Xây dựng được thuật toán và
lựa chọn cách thể hiện các đại lượng
đã cho, các đại lượng phát sinh và giúp


GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Bước 2: Lựa chọn và thiết kế thuật toán;
a) Lựa chọn thuật toán:

Tại sao phải
lựa chọn
thuật toán


GIẢI BÀI TOÁN TRÊN MÁY TÍNH
2.Bước 2: Lựa chọn và thiết kế thuật toán;

a) Lựa chọn thuật toán:
Mỗi thuật toán chỉ giải một bài toán, nhưng
một bài toán có thể có nhiều thuật toán để
giải. Do đó chúng ta phải thiết kế và lựa chọn
thuật toán tốt nhất để giải bài toán (thuật
toán tối ưu).
Ta lựa chọn
Tiêu chuẩn lựa chọn thuậtthuật
toántoán
tối ưu:
tối
ưu dựa vào
những tiêu

chuẩn nào?

- Thời gian thực hiện
nhanh;

- Thuật toán đơn giản,


GIẢI BÀI TOÁN TRÊN MÁY TÍNH
2.Bước 2: Lựa chọn và thiết kế thuật toán;

b) Diễn tả thuật toán:
Ta có những
cách nào để
diễn tả thuật
toán

 Diễn tả thuật toán bằng
cách liệt kê
 Diễn tả thuật toán bằng
sơ đồ khối


GIẢI BÀI TOÁN TRÊN MÁY TÍNH

2.Bước 2: Lựa chọn và
thiết kế thuật toán;
b) Diễn tả thuật toán:

VD: Tìm ước chung ln nht ca 2 s

nguyờn dng M v N.
ã Xác định bài toán:
Input: Nhập và 2 số nguyên dơng M
và N
Output: ƯCLN của M và N
ã ý tởng:
M=N thỡ UCLN (M,N)=M=N.
 M M>N thì UCLN (M,N)= UCLN (M,M-N).


Thuật toán
liệt1:kê:
Bước
Nhập M và N;
Bước 2: Nếu M=N thì thông báo UCLN=M
hoặc UCLN=N rồi kết thúc;
Bước 3: Nếu M>N thì M  M-N rồi quay lại bước 2;

Bước 4: N  N-M rồi quay lại bước 2;


Sơ đồ khối :
Lt

M=25,
Nhp M,
N=10
N


Đ

25

15

5

5

N

10

10

10

5

Đ

N N
= 10
N
-M
5

3


M

S

S

2

a
ra M,
Kt thỳc
UCLN
(25,10)=5

25
15
==
10
10
5
=
10
M
=N
5
5 ???

515
>
10

M
>>10
N ??
25
>10

1

M
M
M25
15- -N
M
10
10


GIẢI BÀI TOÁN TRÊN MÁY TÍNH

3.Bước 3: Viết chương trình;
VD: Thuật toánprogram ucln;
sao phải
crt; viết
tìm UCLN(M,N) Tạiuses
var m,n:integer;
trình mà
được viết bằngchương
beginsử dụng
ngôn ngữ lập không
clrscr;liệt

thuật tóan
trình PasCal
write('Nhap
gia tri M: ');
kê hoặc
sơ đồ

readln(m);
khối??
writeln;
write('Nhap gia tri N: ');
readln(n);
writeln;
while m<>n do
begin
if m>n then m:=m-n
else n:=n-m;
end;
writeln;
write('UCLN(M,N) = ',m);
readln


GIẢI BÀI TOÁN TRÊN MÁY TÍNH

Bước 3: Viết chương trình;
Viết chương trình là kết hợp giữa:
- Việc lựa chọn cách tổ chức dữ liệu;

- Sử dụng ngôn ngữ lập trình để

diễn đạt đúng thuật toán;
Một số lưu ý:

- Nên lựa chọn ngôn ngữ lập trình
hoặc phần mềm chuyên dụng thích hợp.
- Sử dụng ngôn ngữ lập trình nào cần tuân
thủ đúng quy định ngữ pháp ngôn ngữ đó.

- Chương trình dịch chỉ phát hiện những lỗi
ngữ pháp, do đó cần lưu ý về lỗi ngữ nghóa.


GIẢI BÀI TOÁN TRÊN MÁY TÍNH

4. Bước 4: Hiệu chỉnh;
- Sử dụng các bộ Input đặc trưng cho bài
toán để thử tính đúng đắn của chương trình

Tại sao phải
VD: chương trình
giảichỉnh?
phương trình bậc 2
hiệu
ax2+bx+c=0, ta có thể thử với ba bộ Input
Hiệu chỉnh
với các trường hợp sau:
là chúng ta
gì? trình đưa ra 2nghiệm
Cho a, b, c sao cho >0:làm
kq chương

Cho a, b, c sao cho =0: kq chương trình
đưa ra nghiệm kép

Cho a, b, c sao cho <0: kq chương trình
thông báo pt vô nghiệm

Nếu phát hiện chương trình còn sai
sót ta phải tiến hành sửa lỗi chương trình
rồi thử lại nhiều lần cho đến khi chương


GIẢI BÀI TOÁN TRÊN MÁY TÍNH
5. Bước 5: Viết tài liệu.
Tài liệu phải mô tả bài toán, thuật
toán, chương trình thiết kế, kết quả thử
nghiệm và hướng dẫn sử dụng.

Mục
đích:

Mục đích của
việc viết tài
liệu là gì?

Giúp ích cho người sử dụng trong quá trình sử
dụng chương trình

Giúp ích cho việc nghiên cứu và đề
xuất khả năng hoàn thiện chương trình



Củng cố
Các bước giải bài toán trên máy tính:
Bước 1: Xác định bài toán;
là xác định Intput, Output và mối liên hệ giữa chúng

Bước 2: Lựa chọn và thiết kế thuật toán;
Lựa chọn thuật toán tối ưu, diễn tả thuật
tóan bằng liệt kê hoặc SĐK

Bước
nào
là bước
Bước 3: Viết
chương trình;
Sử dụng ngôn ngữ lập trình diễn tả đúng
thuật toán
quan
trọng nhất
Bước 4: Hiệu chỉnh;
Thử chương trình với các bộ Input đặc
trưng cho các trường hợp, phát hiện lỗi và
chỉnh sửa lỗi cho chương trình

Bước 5: Viết tài liệu.
Tài liệu lưu lại những gì liên quan
bài toán và hướng dẫn sử dụng


Bài tập 1 :


Cho dãy A gồm N số nguyên a1,
a2,...,aN. Cần sắp xếp các số hạng để dãy A trở
thành dãy không giảm.

Input : Dãy A gồm N số ngun
a1,…., aN.Hãy xác định
Input và Output
cđa bài
toán ?

Output : Dãy A được sắp xếp
lại thành dãy không giảm.


Bài tập 2: Cho số nguyên dương N và dãy
N số ngun dương. Tìm số trong dãy có
tổng các ước số lớn nhất.
Ví dụ: N=5, dãy số là: 12,10,15,8,14.
Trả lời là 12

Input: Số nguyên dương N và dãy N số
nguyên dương a1,a2, …..,an

Output :Một số thuộc dãy a1,a2, …..,an
có tổng các ước lớn nhất.


Hướng dẫn về nhà


o Làm bài tập trong sách Bài
tập ( bài 1.53 -> 1.58 (trang
23, 24 – SBT)).
o Học và tìm hiểu bài mới




×