- Biết rằng viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể.. - Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn n[r]
Trang 1
Tuần 11
Tiết 21 - 22: từ bài toán đến chương trình
I Mục đích, yêu cầu:
- Biết con người chỉ dẫn cho mỏy tớnh thực hiện cụng việc thụng qua lệnh
- Biết chương trỡnh là cỏch để con người chỉ dẫn cho mỏy tớnh thực hiện nhiều cụng việc liờn tiếp một cỏch tự động
- Biết rằng viết chương trỡnh là viết cỏc lệnh để chỉ dẫn mỏy tớnh thực hiện cỏc cụng việc hay giải một bài toỏn cụ thể
- Biết ngụn ngữ dựng để viết chương trỡnh mỏy tớnh gọi là ngụn ngữ lập trỡnh
- Biết vai trũ của chương trỡnh dịch
- HS nghiêm túc trong học tập và nghiên cứu bài học
II/ Chuẩn bị của học sinh và giáo viên:
GV: Một số chương trình mẫu
HS: Nghiên cứu trước bài
III/ Tiến trình dạy học:
1 Bài mới:
Hoạt động của GV + HS Nội dung ghi bảng
Hoạt động 1: Thuật toán và mô tả thuật toán
Đưa ra ví dụ: Việc pha trà mời khách có
thể được nêu thành các bước như sau:
Bước 1: Tráng ấm chén bằng nước sôi
Bước 2: Cho trà vào ấm
Bước 3: Rót nước sôi vào ấm và đợi
khoảng 3-4 phút
Bước 4: Rót trà ra chén để mời khách
Cách liệt kê các bước như trên là một
phương pháp thường dùng để mô tả
thuật toán
? Vậy Thuật toán là gì?
- Đưa ra ví dụ 1trên bảng
Thuật toán là dãy 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 tìm từ những điều kiện cho trước
Trang 2
VD1: Bài toán giải phương trình bậc nhất dạng 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 chuyển tới bước 4.c
b
Bước 3 Nếu c 0, thông báo phương
trình đã cho vô nghiệm Ngược lại (c = 0), thông báo phương trình có vô số nghiệm
Bước 4 Kết thúc thuật toán
Hoạt động 2: Một số ví dụ về thuật toán
GV đưa ra VD cách tính diện tích hình
A
? Làm thế nào để tính đựoc diện tích
hình A
? Trình bày các bước để tính diện tích
hình A
Ví dụ 1. 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 5 dưới đây:
Thuật toán đơn giản để tính diện tích hình A có
thể gồm các bước sau:
INPUT: a là 1/2 chiều rộng và b là chiều dài của hình chữ nhật, a là bán kính của hình bán
nguyệt
OUTPUT: Diện tích của A.
Bước 1 Tính S1 = 2a b {Tính diện tích hình chữ nhật}
Bước 2 Tính S2 = π a2/2 {Tính diện tích hình bán nguyệt}
Bước 3 Tính kết quả S = S1+ S2
* Trong biểu diễn thuật toán, người ta thường
sử dụng kí hiệu a A để chỉ phép gán giá trị của số hoặc biểu thức A cho biến a Ví dụ:
Trang 3
GV đưa ra VD2
? Input?
? OutPut?
? Hãy nêu cách tính tổng 100 số tự
nhiên đầu tiên
- GV nêu cách tính
Hướng dẫn hs xem sgk
Đưa ví dụ lên bảng phụ
Nhận xét và đưa ra input, output trên
màn hình
Đưa thuật toán lên màn hình và phân
tích
Đưa ví dụ
Nêu ý tưởng để sắp xếp x, y, z tăng dần
?
Đưa thuật toán và phân tích.Yêu cầu Hs
viết INPUT, OUTPUT của bài toán?
Đưa màn hình :
+ Mô phỏng thuật toán tìm số lớn nhất
trong dãy số cho trước (SGV)
x c/b (biến x nhận giá trị bằng c/b);
i i + 5 (biến i được gán bằng giá trị hiện tại của i cộng thêm 5 đơn vị)
Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên
INPUT: Dãy 100 số tự nhiên đầu tiên (từ 1 đến
100)
OUTPUT: Giá trị SUM = 1+ 2+ + 100
Bước 1: Gán SUM 1; i 1.
Bước 2: Gán i i + 1.
Bước 3: Nếu i ≤ 100, thì SUM SUM + i và
chuyển lên bước 2 Trong trường hợp ngược lại
(i > 100), kết thúc thuật toán.
c Ví dụ 3 : Cho hai số thực a và b Hãy ghi kết quả so sánh hai số đó, chẳng hạn “a > b”, “a <
b ”, hoặc “a = b”.
(SGK)
d Ví dụ 4 :
Đổi giá trị của hai biến x và y cho nhau.
(SGK)
e Ví dụ 5 :
Cho hai biến x và y có giá trị tương ứng là a, b với a < b và biến z có giá trị c Hãy sắp xếp ba biến x, y và z để chúng có giá trị tăng dần.
(SGK)
f Ví dụ 6 :
Tìm số lớn nhất trong dãy A các số a1, a2, , an
cho trước
* Xác định bài toán :
Trang 4
4 Củng cố:
Bài tập 2 Sgk Giả sử x và y là các biến số Hãy cho biết kết quả của việc thực hiện thuật
toán sau:
Bước 1 x x + y
Bước 2 y x - y
Bước 3 x x - y
BT: Hãy chỉ ra INPUT và OUTPUT của các bài toán sau:
a) Xác định số học sinh trong lớp cùng mang họ Trần
b) Tính tổng của các phần tử lớn hơn 0 trong dãy n số cho trước.
c) Tìm số các số có giá trị nhỏ nhất trong n số đã cho.
HDVN: Học bài theo Sgk và làm các bài tập
Tổ chuyên môn ký duyệt ngày / / 2009
TTCM
Nguyễn Thị An
H : Nghiên cứu để đưa ra từng bước
thuật toán
INPUT: Dãy A các số a1, a2, , an (n 1)
OUTPUT: Giá trị SMAX = max {a1, a2, , an }
* Mô tả thuật toán :
Bước 1: Nhập số n và dãy A; gán SMAX a1;
i 0
Bước 2: i i + 1
Bước 3: Nếu i > n, kết thúc thuật toán (khi đó SMAX là giá trị phần tử lớn nhất của dãy A) Trong trường hợp ngược lại (i ≠ n), thực hiện
bước 4
Bước 4: Nếu ai > SMAX, thay đổi giá trị SMAX: SMAX ai rồi chuyển về bước 2 Trong trường hợp ngược lại (SMAX ai), giữ nguyên SMAX và chuyển về bước 2