Quá trình giải bài toán trên máy tính?. Bài toán 2: Lập một bảng điểm để quản lí kết quả học tập của học sinh trong một lớp!. Kết quả thu đ ợc: Kết quả học tập của học sinh Xác định bà
Trang 13 Thuật toán và mô tả thuật toán
2 Quá trình giải bài toán trên máy tính?
1.Bài toán và xác định bài toán
là gì?
4 Một số ví dụ về thuật toán
Trang 21 Bài toán và xác định bài toán
Hãy quan
sát các bài
toán sau !
Bài toán 1: Tính diện tích của
một tam giác biết một cạnh và đ ờng cao t ơng ứng với cạnh đó
Bài toán 2: Lập một bảng điểm để
quản lí kết quả học tập của học sinh trong một lớp
Bài toán 3: Tìm các cách khắc phục tắc nghẽn
giao thông trong giờ cao điểm
Bài toán
là gì ?
Bài toán là một công việc hay một nhiệm vụ
Trang 3 §Ó gi¶i quyÕt mét bµi to¸n cô thÓ , ta cÇn x¸c
Trang 4Bài toán 2
Điều kiện cho tr ớc: Thông tin của học
sinh trong lớp (Họ tên điểm các môn ) Kết quả thu đ ợc: Kết quả học tập của
học sinh
Xác định bài toán là b ớc đầu tiên và là b
ớc rất quan trọng trong việc giải bài toán.
Trang 5M¸y tÝnh cã thÓ tù gi¶i c¸c
bµi to¸n kh«ng?
2 Qu¸ tr×nh gi¶i bµi to¸n trªn m¸y tÝnh?
å kh«ng! T«i chØ lµm theo
sù chØ dÉn th«i!!!!
Trang 6Dãy hữu hạn các thao tác để giải một bài toán
th ờng đ ợc gọi là thuật toán
Để máy tính có thể giải các bài toán, ta
cần h ớng dẫn máy tính thực hiện một dãy hữu hạn các thao tác để từ các điều kiện cho tr ớc ta nhận đ ợc kết quả cần thu
đ ợc
Trang 7M¸y tÝnh kh«ng thÓ tù m×nh t×m ra lêi gi¶i cña c¸c bµi to¸n Lêi gi¶i cña mét bµi to¸n cô thÓ, tøc thuËt to¸n, lµ
t duy s¸ng t¹o cña con ng êi
H·y nhí!
Trang 8Xác định bài toán: Xác định thông tin đã
cho (INPUT).Tìm được thông tin cần tìm (OUTPUT)
Mô tả thuâât toán : Tìm cách giải bài toán Diễn tả bằng các lêênh cần phải thực hiêên
Viết chương trình: Dựa vào mô tả
thuâêt toán, ta viết chương trình bằng môêt ngôn ngữ lâêp trình
Qu¸ tr×nh gi¶i bµi to¸n trªn m¸y tÝnh
1
2
3
Trang 9Các b ớc thực hiện để pha trà mời khách
3 Thuật toán và mô tả thuật toán
Thuật toán pha trà mời khách
Input: Trà, n ớc sôi, ấm và chén
Output: Chén trà đã pha để mời khách
Trang 10INPUT: Trøng, dÇu ¨n, muèi vµ hµnh.
OUTPUT: Trøng tr¸ng
Ví dụ 2:
ThuËt to¸n Lµm mãn trøng tr¸ng“ ”
Trang 11B ớc 2 Cho một chút muối và hành t ơi
thái nhỏ vào bát trứng Dùng đũa quấy mạnh cho đến khi đều.
đun nóng đều rồi đổ trứng vào Đun tiếp trong khoảng 1 phút.
Trang 12VD3 ThuËt to¸n gi¶i ph ¬ng tr×nh bËc nhÊt
tæng qu¸t bx + c = 0
B íc 1: NÕu b = 0 chuyÓn tíi b íc 3;
B íc 2: TÝnh nghiÖm cña ph ¬ng tr×nh x = råi
−
Trang 14Ví dụ 2 Một hình A đ ợc ghép từ một hình chữ nhật với chiều rộng 2a, chiều dài b và một hình bán nguyệt bán kính
a nh hình d ới đây:
hình A
b
a a
Xác
định Input và Output của bài
4 Một số ví dụ về thuật toán
Trang 15- OUTPUT : Diện tích của hình A.
- INPUT: Số a là 1/2 chiều rộng của hình
chữ nhật và là bán kính của hình
bán nguyệt, b là chiều dài của hình
chữ nhật.
L u ý: Trong biểu diễn thuật toán kí hiệu ← để
chỉ phép gán một giá trị cho biến VD S ←
0 > gán giá trị 0 cho biến S–
Trang 16Xác
định Input và Output của bài toán
- OUTPUT : Tổng của dãy
Trang 17S sau = S tr ớc + i với i tăng lần l ợt từ 1
đến 100
1
+ + 2 + 3 + + 100
Cùng tìm thuật toán
Trang 19Bài toán đổi giá trị hai biến
Cốc A chứa n ớc màu đỏ, cốc B chứa n ớc màu xanh Làm cách nào để tráo đổi cốc A
có n ớc màu xanh, cốc B có n ớc màu đỏ? (Giả thiết cốc A và cốc B có thể tích nh nhau)
Cốc A Cốc B
Làm cách nào
đây?
Trang 223 Đổ n ớc màu xanh ở cốc B sang cốc A
Bài toán đổi giá trị hai biến
Trang 234 Đổ n ớc màu đỏ ở cốc C sang cốc B
Bài toán đổi giá trị hai biến
Cốc C
Trang 24VÝ dô 4: §æi gi¸ trÞ hai biÕn x vµ y
Input: Hai biÕn x vµ y cã gi¸ trÞ t ¬ng øng lµ a, bOutput: Hai biÕn x vµ y cã gi¸ trÞ t ¬ng øng lµ b, a
B íc 1: z ← x {Sau b íc nµy gi¸ trÞ cña z
sÏ b»ng a}
B íc 2: x ← y {Sau b íc nµy gi¸ trÞ cña x
sÏ b»ng b}
B íc 3: y ← z {Sau b íc nµy gi¸ trÞ
cña y sÏ b»ng gi¸ trÞ cña z, chÝnh lµ
gi¸ trÞ ban ®Çu a cña biÕn x}
Trang 25Ví dụ 5: Cho hai số thực a và b Hãy cho biết kết quả so sánh hai số đó d ới dạng a “ lớn hơn b , a nhỏ hơn b hoặc a=b ” ” ” “ ”
B ớc 1: So sánh a và b Nếu a>b, cho kết
quả a lớn hơn b “ ”
B ớc 2: Nếu a<b, cho kết quả a nhỏ hơn “
b ; ng ợc lại, cho kết quả a = b và ” “ ” kết thúc thuật toán.
Input: Hai số thực a và bOutput: Kết quả so sánh
Hãy tìm chỗ ch a đúng trong thuật
toán sau
Trang 26vµ b=5
a lín h¬n b
a = b
Trang 27B ớc 1: So sánh a và b Nếu a>b,
cho kết quả a lớn hơn b “ ”
và chuyển đến b ớc 3
B ớc 2 : Nếu a<b, cho kết quả a nhỏ “
hơn b ; ng ợc lại, cho kết quả ”
a = b
B ớc 3: Kết thúc thuật toán
Thuật toán so sánh 2 số thực
Trang 28VÝ dô 6 : T×m sè lín nhÊt trong d·y A c¸c
sè a1, a2, , an
INPUT: Sè nguyªn d ¬ng N vµ d·y N
sè nguyªn
a1,a2, a… N (ai víi i: 1n)OUTPUT: Sè lín nhÊt (Max) cña d·y sè
Trang 29Thuật toán tìm max
Ng ời ta đặt 5 quả bóng có kích th ớc khác nhau trong hộp đã đ ợc đậy nắp nh hình bên.Chỉ dùng tay hãy tìm ra quả bóng có kích th ớc lớn nhất
Trang 30å! Qu¶ nµy lín h¬n
T×m ra qu¶ lín nhÊt råi!
Cïng t×m thuËt to¸n
Trang 31ý t ởng:
- Đặt giá trị Max= a 1
- Lần l ợt cho i chạy từ 2 đến N, so sánh giá trị a i với giá trị Max, nếu a i > Max thì Max nhận giá trị mới là a i
Trang 32B íc 5: KÕt thóc thuËt to¸n
Trang 33Ghi nhớ!
Xác định bài toán là việc xác định các điều kiện ban đầu( thông tin vào-ra INPUT) và các kết quả cần thu đ ợc( thông tin ra ( OUTPUT)
Giải bài toán trên máy tính nghĩa là h ớng dẫn cho máy tính dãy hữu hạn các thao tác đơn giản( thuật toán) mà nó có thể thực hiện đ ợc để cho ta kết quả.
Quá trình giải một bài toán trên máy tính gồm các b ớc: xác định bài toán; xây dựng thuật toán; lập ch ơng trình.
Thuật toán: là dãy hữu hạn các thao tác cần thực hiện theo một trình tự xác định để thu đ ợc kết quả cần thiết từ những điều kiện cho tr ớc.