II/ PHƯƠNG PHÁP, PHƯƠNG TIỆN:
HƯỚNG DẪN LÀM BÀI TẬP SGK
1. Đỏp ỏn:
b) INPUT: Dóy n số.
OUTPUT: Tổng của cỏc phần tử lớn hơn 0. c) INPUT: Dóy n số.
OUTPUT: Số cỏc số cú giỏ trị nhỏ nhất.
2. Sau ba bước, x cú giỏ trị ban đầu của y và y cú giỏ trị ban đầu của x, tức giỏ trị của hai biến x và y được hoỏn đổi cho nhau.
3. Mụ tả thuật toỏn:
INPUT: Ba số dương a >0, b >0 và c >0.
OUTPUT: Thụng bỏo "a, b và c cú thể là ba cạnh của một tam giỏc" hoặc thụng bỏo "a, b và c khụng thể là ba cạnh của một tam giỏc".
Bước 1. Tớnh a + b. Nếu a + b ≤ c, chuyển tới bước 5. Bước 2. Tớnh b + c. Nếu b + c ≤ c, chuyển tới bước 5.
Bước 3. Tớnh a + c. Nếu a + c ≤ b, chuyển tới bước 5.
Bước 4. Thụng bỏo "a, b và c cú thể là ba cạnh của một tam giỏc" và kết thỳc thuật toỏn. Bước 5. Thụng bỏo "a, b và c khụng thể là ba cạnh của một tam giỏc" và kết thỳc thuật
toỏn.
Thờm. Cú thể giải bài toỏn này bằng cỏch sử dụng một biến phụ hoặc khụng dựng biến phụ.
Thuật toỏn 1. Sử dụng biến phụ z.
INPUT: Hai biến x và y.
OUTPUT: Hai biến x và y cú giỏ trị tăng dần.
Bước 1. Nếu x ≤ y, chuyển tới bước 5.
Bước 2. z ← x.
Bước 3. x ← y. Bước 4. y ← z.
Bước 5. Kết thỳc thuật toỏn.
Thuật toỏn 2. Khụng sử dụng biến phụ (xem bài tập 2 ở trờn).
INPUT: Hai biến x và y.
OUTPUT: Hai biến x và y cú giỏ trị tăng dần.
Bước 1. Nếu x ≤ y, chuyển tới bước 5.
Bước 2. x ← x + y.
Bước 3. y ← x − y. Bước 4. x ← x − y.
4. Trước hết, nếu cần, ta hoỏn đổi giỏ trị hai biến x và y để chỳng cú giỏ trị tăng dần. Sau đú lần lượt so sỏnh z với x và z với y, sau đú thực hiện cỏc bước hoỏn đổi giỏ trị cần thiết (xem lại vớ dụ 5 trong bài 5, SGK).
INPUT: Ba biến x, y và z.
OUTPUT: Ba biến x, y và z cú giỏ trị tăng dần.
Bước 1. Nếu x ≤ y, chuyển tới bước 3.
Bước 2. z ← x, x ← y, y ← z. (Sau bước này x và y cú giỏ trị tăng dần.) Bước 3. Nếu y ≤ z, chuyển tới bước 6.
Bước 4. Nếu z < x, t ← x, x ← z và z ← t, (với t là biến trung gian) và chuyển đến bước 6.
Bước 5. t ← y, y ← z và z ← t.
Bước 6. Kết thỳc thuật toỏn.
5. Tớnh tổng cỏc phần tử của dóy số A = {a1, a2,..., an} cho trước.
INPUT: n và dóy n số a1, a2,..., an. OUTPUT: Tổng S = a1 + a2 +... + an.
Bước 1. S ← 0; i ← 0. Bước 2. i ← i + 1.
Bước 3. Nếu i ≤ n, S ← S + ai và quay lại bước 2. Bước 4. Thụng bỏo S và kết thỳc thuật toỏn.
Thờm. a) Đếm số cỏc số dương trong dóy số A = {a1, a2,.., an} cho trước.
INPUT: n và dóy n số a1, a2,..., an. OUTPUT: Soduong = Số cỏc số ai > 0.
Bước 1. Gỏn Soduong ← 0.
Bước 2. i ← i + 1.
Bước 3. Nếu i > n, chuyển đến bước 5.
Bước 4. Nếu ai > 0, gỏn Soduong ← Soduong +1 rồi quay lại bước 2. Trong trường hợp ngược lại, quay lại bước 2.
Bước 5. Thụng bỏo giỏ trị Soduong và kết thỳc thuật toỏn.
b) Tỡm vị trớ của số dương đầu tiờn trong dóy số A = {a1, a2,..., an} cho trước, tớnh từ phải sang trỏi.
INPUT: n và dóy n số a1, a2,..., an.
OUTPUT: Vitri = Vị trớ của số dương đầu tiờn trong dóy số a1, a2,..., an, tớnh từ phải sang
trỏi.
Bước 1. Gỏn i ← n.
Bước 2. Nếu ai > 0, chuyển tới bước 5. Bước 3. Gỏn i ← i − 1.
Bước 5. Thụng bỏo giỏ trị Vitri = i và kết thỳc thuật toỏn.
6. Tớnh tổng cỏc số dương trong dóy số A = {a1, a2,..., an} cho trước. INPUT: n và dóy n số a1, a2,..., an.
OUTPUT: S = Tổng cỏc số ai > 0 trong dóy a1, a2,..., an.
Bước 1. S ← 0; i ← 0.
Bước 2. i ← i + 1.
Bước 3. Nếu ai > 0, S ← S + ai; ngược lại, giữ nguyờn S.
Bước 4. Nếu i ≤ n, và quay lại bước 2. Bước 5. Thụng bỏo S và kết thỳc thuật toỏn.
Tiết 28 - 29 : CÂU LỆNH ĐIỀU KIỆN
Ngày soạn: Ngày giảng:
I. MỤC TIấU:
1. Kiến thức:
- Biờ́t sự cõ̀n thiờ́t của cõu trúc rẽ nhánh trong lọ̃p trình .
- Biờ́t cṍu trúc rẽ nhánh được sử dụng đờ̉ chỉ dõ̃n cho máy tính thực hiợ̀n các thao tác phụ thuụ̣c vào điờ̀u kiợ̀n.
- Hiờ̉u cṍu trúc rẽ nhánh có hai dạng : Dạng thiờ́u và dạng đủ.
- Biờ́t mọi ngụn ngữ lọ̃p trình có cõu lợ̀nh thờ̉ hiợ̀n cṍu trúc rẽ nhánh.
- Hiờ̉u cú pháp, hoạt đụ̣ng của các cõu lợ̀nh điờ̀u kiợ̀n dạng thiờ́u và dạng đủ trong Pascal. 2. Kỹ năng:
- Bước đõ̀u viờ́t được cõu lợ̀nh điờ̀u kiợ̀n trong Pascal. 3. Thỏi độ:
- Nghiờm tỳc, tạo niềm hứng thỳ trong học tập..