•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à
máy
tính
có
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
M25
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