đây là tài liệu rất hưu ích cho các thầy cô đây là tài liệu rất hưu ích cho các thầy cô đây là tài liệu rất hưu ích cho các thầy cô đây là tài liệu rất hưu ích cho các thầy cô đây là tài liệu rất hưu ích cho các thầy cô đây là tài liệu rất hưu ích cho các thầy cô đây là tài liệu rất hưu ích cho các thầy cô
Trang 1– Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước.
– Hiểu một số thuật toán thông dụng
Giáo viên – Giáo án + bảng vẽ các sơ đồ khối
Học sinh: - Nghiên cứu các bài đã học ở lớp 10 (Bài 4)
III TIẾN TRÌNH BÀI DẠY:
1 Ổn định tổ chức: Kiểm tra sĩ số.
2 Giảng bài mới:
Hoạt động 1: Nhắc lại khái niệm về bài toán và cách xác định bài toán
I Khái niệm bài toán:
Trong tin học, bài toán là một
việc mà ta muốn máy tính thực
hiện
Các yếu tố xác định một bài
toán:
+ Input (thông tin đưa vào
máy): dữ liệu vào
+ Output (thông tin muốn lấy
GV nhận xét bài làm của họcsinh
HS thảo luận, trả lời yêu cầucủa giáo viên
HS xác định và thực hiện các yêu cầu
Hoạt động 2: Nhắc lại khái niệm thuật toán và cách diễn tả thuật toán II.Thuật toán và cách diễn tả
thuật toán
1 Khái niệm thuật toán
Thuật toán để giải một bài toán
là một dãy hữu hạn các thao tác
được sắp xếp theo một trình tự
xác định sao cho sau khi thực
hiện dãy thao tác ấy, từ Input
của bài toán, ta nhận được
GV Yêu cầu học sinh trình lại
về cách liệt kê và sơ đồ khối
Học sinh suy nghĩ và trả lời
Có hai cách: cách liệt kê vàcách sơ đồ khối
Hs Suy nghĩ và trả lời
1
Trang 2Hoạt động 3: Nhắc lại một số thuật toán thông dụng đã học và xây dựng một số thuật toán mới
3 Một số ví dụ áp dụng
Hãy xây dựng thuật toán giải bài
toán sau bằng cách liệt kê hoặc sơ
B3: Nếu D> 0 thì thông báo
phương trình có hai nghiệm phân
biệt x1, x2 rồi kết thúc
B4: Nếu D<0 thì thông báo
phương trình có nghiệm kép
x1=x2=-b/2a rồi kết thúc
B5 Nếu D<0 thì thông báo
phương trình vô nghiệm rồi kết
thúc
Ví dụ 2 Tìm giá trị lớn nhất
Max của dãy số
Thuật toán: (Liệt kê)
B5: i i+1, quay lại B3
- Tìm giá trị nhỏ nhất Min của
dãy số
Ví dụ 3 Cho N và dãy số a1, a2,
…, aN Cho biết có bao nhiêu số
hạng trong dãy có giá trị bằng 0
Thuật toán: (Liệt kê)
GV yêu cầu học sinh xây dựnglại thuật toán bằng hai cách giảibài toán
GV đánh giá, nhận xét
GV: Yêu cầu học sinh mở rộng
áp dụng với bài toán giải phươngtrình bậc nhất tổng quát
GV yêu cầu học sinh nêu ýtưởng và xây dựng lại thuật toánbằng hai cách giải bài toán
GV Nhận xét và giải đáp cách liệt kê
GV mô phỏng các bước thực hiện thuật toán trên với
Học sinh xây dựng cách liệt kê
i>N Max a1, i 2
i i + 1
Đưa ra Max rồi kết thúc Đ
S
Đ
a i > Max Max a i
S
Học sinh lắng nghe, ghi bài
Học sinh lắng nghe và đưa ranhận xét
- Thuật toán sẽ so sánh ai vớichính nó (nghĩa là có thêm mộtbước so sánh sẽ thừa ra)
- Thay biến Max bằng biến Min
và B4 Nếu ai < Min thì Min ai
Học sinh xây dựng một tronghai cách: cách liệt kê và cách sơ
đồ khối
Trang 3- Với bài toán kiểm tra trong dãy
số có bao nhiêu số âm, bao nhiêu
số dương thì thuật toán có thay đổi như thế nào
- Hãy dựa trên thuật toán và mở rộng với các bài toán: tính tổng các số âm, tổng các số dương
- GV gợi ý và yêu cầu học sinh xây dựng ý tưởng, thuật toán
- HS suy nghi và trả lời
- B5: Nếu ai = 0 thì Dem Dem+ 1
Có thể được thay đổi lại như sau:
Học sinh suy nghĩ và trả lời
Có hai cách: cách liệt kê vàcách sơ đồ khối3 tính chất cơbản
4 Củng cố kiến thức:
- Khái niệm bài toán, thuật toán
- Cách diễn tả thuật toán: liệt kê, sơ đò khối
5 Bài tập về nhà
Hãy xây dựng thuật toán giải bài toán sau bằng cách liệt kê hoặc sơ đồ khối.
Bài 1 Tìm UCLN của hai số nguyên dương M và N
Bài 2 Kiểm tra số nguyên X có trong dãy số hay không? Nếu có thi thông báo chỉ số?
Bài 3 Kiểm tra tính nguyên tố của một số nguyên dương?
Gợi ý: Xem lại thuật toán SGK tin học 10
Bài 4 Kiểm tra số nguyễn N có phải là số hoàn hảo hay không?
Gợi ý: só hoàn hảo là số mà có tổng các ước bằng chính nó
VD: số 6 có các ước lần lượt là: 1, 2, 3 và 1+2+3=6
3
Trang 4– Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước.
– Nắm vứng một số thuật toán thông dụng
Giáo viên – Giáo án + tài liệu tham khảo cho học sinh
Học sinh: - Nghiên cứu các bài đã học ở tiết trước và chuẩn bị chu đáo các bài tập về nhà
III TIẾN TRÌNH BÀI DẠY:
1 Ổn định tổ chức: Kiểm tra sĩ số.
2 Kiểm tra bài cũ: Kiểm tra vở bài tập và yêu cầu học sinh viết lại thuật toán giải bài toán
kiểm tra tính nguyên tố của một số nguyên dương
3 Giảng bài mới:
Hoạt động 1: Tìm hiểu thuật toán sắp xếp bằng tráo đổi (Bubble Sort)
Thuật toán sắp xếp bằng tráo
đổi (Exchange Sort)
Ý tưởng: Với mỗi cặp số hạng
đứng liền kề trong dãy, nếu số
trước lớn hơn số sau thì ta đổi
chỗ chúng cho nhau Việc đó
được lặp lại, cho đến khi không
có sự đổi chỗ nào xảy ra nữa
- B7: Nếu ai > ai+1 thì tráo đổi ai
và ai+1 cho nhau;
- B8: Quay lại bước 5.
Cho một dãy số nguyên A:
6, 1, 5, 3, 7, 8, 10, 7, 12,
4 Hãy sắp xếp dãy A trở thànhdãy không giảm
GV hướng dẫn HS tìm thuậttoán giải bài toán
- Tiến hành vẽ sơ đồ khối và lấy
S
Đ S Đ S
Trang 5Hoạt động 2: Tìm hiểu một số thuật toán sắp xếp
II Khái niệm:
1) Sắp xếp là một quá trình tổ chức lại một dãy
các dữ liệu theo một trật tự nhất định
2) Mục đích của việc sắp xếp là nhằm giúp cho
việc tìm kiếm dữ liệu một cách dễ dàng và nhanh
Toàn bộ cơ sở dữ liệu cần sắp xếp phải được đưa
vào bộ nhớ chính của máy tính Do đó nó thường
được sử dụng khi khối lượng dữ liệu không vượt
quá dung lượng bộ nhớ chính
a) Phương pháp đếm (Counting sort)
* Giải thích:
Nội dung của phương pháp này là đếm các phần
tử có khoá nhỏ hơn hay bằng khoá của các phần tử
A[i] Nếu có j phần tử có khoá nhỏ hơn khoá của
phần tử A[i] thì phần tử A[i] sẽ có vị trí theo thứ
tự (j+1) trong dãy đã có thứ tự
Trong giải thuật, ta dùng mảng Count[i] ( i = 1,
2, n ) với Count[i] cho biết số phần tử có khoá
nhỏ hơn khoá của phần tử A[i] Như vậy
Count[i+1] là vị trí của phần tử A[i] trong dãy đã
có thứ tự
b) Phương pháp chèn (Insertion Sort)
* Giải thích: Nội dung của phương pháp này là
giả sử ta có dãy A[1] A[i-1] đã có thứ tự, có phải
xác định vị trí thích hợp của phần tử A[i] trong
dãy A[1] A[i - 1] bằng phương pháp tìm kiếm
tuần tự từ A[i - 1] trở về A[1] để tìm ra vị trí thích
hợp của A[i] Ta chèn A[i] vào vị trí này và kết
quả là đãy A[1] A[i] có thứ tự Ta áp dụng cách
làm này với i = 2, 3, , n
c) Phương pháp chọn (Selection Sort)
* Giải thích:Nội dung của phương pháp này là ở
bước thứ i (i = 1, 2, 3, ,n-1 ) ta lựa chọn phần tử
nhỏ nhất trong dãy A[i] A[n] rồi đổi chổ phần tử
này với phần tử A[i] Cuối cùng ta sẽ có dãy
A[1] A[n] có thứ tự
d) Phương pháp đổi chỗ:
Có rất nhiều phương pháp sắp xếp dựa trên việc
Nhóm sắp xếp trong bao gồm các phương pháp :
* Ví dụ:
Ta phải sắp xếp dãy số:
39 50 7 37 89 13 1 62 i=2 39 50 7 37 89 13 1 62 i=3 39 50 7 37 89 13 1 62 i=4 7 39 50 37 89 13 1 62 i=5 7 37 39 50 89 13 1 62 i=6 7 37 39 50 89 13 1 62 i=7 7 13 37 39 50 89 1 62 i=8 1 7 13 37 39 50 89 62
1 7 13 37 39 50 89 62
* Ví dụ:
Ta phải sắp xếp dãy số :
39 50 7 37 89 13 1 62 i=1 39 50 7 37 89 13 1 62 i=2 1 50 7 37 89 13 39 62 i=3 1 7 50 37 89 13 39 62 i=4 1 7 13 37 89 50 39 62 i=5 1 7 13 37 89 50 39 62 i=6 1 7 13 37 50 50 39 62 i=7 1 7 13 37 39 50 89 62
1 7 13 37 39 50 89 62
5
Trang 6đổi chỗ giữa 2 phần tử của dãy Sau đây chúng ta
* Giải thích: Nội dung của phương pháp này là
duyệt các dãy A[1], ., A[n] Nếu A[i].Key >
A[i+1].Key (i = 1, 2, 3, , n-1)#0 thì ta đổi chỗ
A[i].Key với phần tử A[i+1].Key Lập lại quá
trình duyệt dãy này cho đến khi không còn việc
đổi chổ của hai phần tử
Chú ý rằng bất cứ lúc nào phần tử nhỏ nhất cũng
gặp trước tiên Nó như những bột khí nhẹ sẽ nổi
lên trên khi đun nước Sau đó ở thứ hai phần tử
nhỏ thứ 2 sẽ được đặ vào đúng một vị trí Vì vậy
sắp xếp nổi bột thao tác như một kiểu sắp xếp
chọn, mặc dù nó không làm nhiều việc hơn để đưa
từng phần tử vào đúng vị trí
+ Shake Sort:
* Giải thích:
Phương pháp này là một cải tiến của phương
pháp Bubble Sort theo hướng "Không những phần
tử nhẹ nổi lên trên mà cả phần tử nặng cũng xuống
dưới" giống như khi ta rung"rung" một cái nồi và
thuật toán sắp xếp phải được điều khiển cả hai quá
trình "nổi lên" và "chìm xuống" này một cách tự
giác Muốn vậy ta phải ghi nhớ lần đổi chổ cuối
cùng khi duyệt dãy từ trên lên và khi duyệt từ trên
xuoóng để quyết định chu trình kế tiếp sẽ duyệt từ
đâu đến đâu
+ Shell Sort:
* Giải thích: Các phương pháp sắp xếp dã trình
bày ở trên nói chung đều di chuyển mỗi phần tử đi
một vị trí trong mỗi bước Phương pháp Shell Sort
dựa trên ý tưởng chính là hoán các phần tử ở xa
nhau Để làm được việc đó ta cần phải sắp các tập
tin để nó có tính chất là việc lấy mọi phần tử thứ h
(bắt đầu từ vị trí bất kì nào) cũng đều cho ra tập
tin đã sắp Một tập tin như vậy được gọi là sắp
theo độ dài bước h Một cách nói khác, một tập tin
dược sắp theo độ dài bước h là tập tin được sắp
độc lập với nhau, đan xen vào nhau Bằng cách
sắp xếp theo độ dài bước h ứng với vài giá trị h
khá lớn, chúng ta có thể di chuyển các phần tử ở
những khoảng cách xa nhau trong mảng và vì vậy
dễ dàng hơn để sắp xếp độ dài bước h các giá tri
nhỏ hơn Dùng thủ tục cho bất kì một dãy các giá
trị của h tận cùng là 1 sẽ cho ra một tập tin đã sắp
xong: Dó chính là Shell Sort
+ Quick Sort:
* Ví dụ:
Ta phải sắp xếp dãy số:
39 50 7 37 89 13 1 62 Bước 0 1 2 3 4 5 6 7
39 50 7 39 89 13 1 62
39 13 1 37 89 50 7 62 Bước 2: 2-Sort
39 13 1 37 89 50 7 62
1 13 7 37 39 50 89 62 Bước 3: 1-Sort
1 13 7 37 39 50 89 62
1 7 13 37 39 50 89 62
Trang 7* Giải thích: Nội dung của phương pháp này là
chọn phần tử x ở giữa của dãy làm chuẩn để so
sánh Ta phân hoạch dãy này thành 3 dãy con liên
Sau đó áp dụng giải thuật phân hoạch này cho
dãy con thứ nhất nhất và dãy con thứ ba, nếu các
dãy con có nhiều hơn một phần tử (Đệ qui)
Cụ thể là xét một doạn của dãy từ thành phần L
đến thành phần thứ R
- Lấy giá trị của thành phần thứ (L+R) Div 2 gán
vào biến X
- Cho i ban đầu là L
- Cho j ban đầu là R
- Lập lại
* Chừng nào còn A[i] < X thì tăng i
* Chừng nào còn A[j] > X thì giảm j
* i<=j thì
+ Hoán vị A[i] và A[j]
+ Tăng i
+ Giảm j
Cho đến khi i>j
+ Sắp xếp đoạn từ A[L] đến A[j]
+ Sắp xếp đoạn từ A[i] đến A[R]
* Ví dụ:
Sắp xếp dãy số:
39 50 7 37 89 13 1 62
X = 37 Sau 2 lần đổi chổ ta được dãy:
thông báo không có số hạng nào
của dãy A có giá trị bằng k
- B5: Nếu aGiưa > k thì đặt Cuoi =
Giưa - 1, rồi chuyển đến bước 7;
- B6: Dau Giưa +1;
- B7: Nếu Dau > cuoi thì thông
báo dãy A không có số hạng nào
có giá trị bằng k, kết thúc;
Nhấn mạnh dãy A là một dãytăng
Hỏi: Hãy so sánh bài toán tìm
kiếm tuần tự với bài toán tìmkiếm nhị phân
GV hướng dẫn HS tìm thuậttoán giải bài toán
Ý tưởng: Sử dụng tính chất dãy
A là dãy tăng, ta tìm cách thuhẹp nhanh phạm vị tìm kiếm saumỗi lần so sánh khoá với sốhạng được chọn, ta chọn số hạng
aGiữa ở " giữa dãy" để so sánh với
k, trong đó Giưa = N 21
Khiđó:
- Nếu aGiưa = k thì Giưa là chỉ sốcần tìm
- Nếu aGiưa> k thì do dãy A là
- Tìm hiểu bài toán
- Học sinh xác định bài toán
Đ Dãy A ở đây là dãy tăng
HS Lắng nghe, suy nghĩ và xâydựng thuật toán
- Xây dựng sơ đồ khối
- Lấy ví dụ để mô phỏng nhằm nắm vững hơn kiếnthức
7
Trang 8- B8: Quay lại bước 3. dãy đã sắp xếp nên việc tìm
kiếm tiếp theo chỉ xét trên dãy
a1, a2, …, aGiưa-1
- Nếu aGiưa < k thì thực hiện tìmkiếm trên dãy aGiưa+1, aGiưa+2, …,
an Quá trình trên sẽ được lặp lạimột số lần cho đến khi hoặc đãtìm thấy khoá k trong dãy Ahoặc phạm vi tìm kiếm bằngrỗng
- GV: Nhấn mạnh thuật toán nàychi áp dụng với những bài toán
đã được sắp xếp tăng hoặc giảm
4 Củng cố kiến thức:
- Thuật toán sắp xếp, tìm kiếm
- Cách diễn tả thuật toán: liệt kê, sơ đồ khối
5 Bài tập về nhà
Hãy xây dựng thuật toán giải bài toán sau bằng cách liệt kê hoặc sơ đồ khối.
Bài 1 Sắp xếp dãy số nguyên a1, a2, …, aN thành một dãy giảm (sử dụng cac phương phám đã học)Bài 2 Dãy A gồm N số nguyên khác nhau a1, a2, …, aN và một số nguyên k Kiểm tra xem trong dãy
có giá trị nào bằng k hay không?
Bài 3 Dãy A gồm N số nguyên a1, a2, …, aN Kiểm tra xem trong dãy A có bao nhiêu số nguyên tố?
Trang 9–Khái niệm về ngôn ngữ lập trình & chương trình máy tính
–Các bước xây dựng chương trình
–Tìm hiểu một số khái niệm cơ bản về ngôn ngữ lập trình Pascal.
–Áp dụng kiễn thức để giải một số bài toán đơn giản.
Giáo viên – Giáo án + tài liệu tham khảo cho học sinh
Học sinh: –Nghiên cứu các bài đã học ở tiết trước và chuẩn bị chu đáo các bài tập về nhà
III TIẾN TRÌNH BÀI DẠY:
1 Ổn định tổ chức: Kiểm tra sĩ số.
2 Kiểm tra bài cũ: Kiểm tra vở bài tập và yêu cầu học sinh viết lại thuật toán giải bài toán
kiểm tra tính nguyên tố của một số nguyên dương
3 Giảng bài mới:
Hoạt động 1: Tìm hiêu khái niệm lập trình và ngôn ngữ lập trình
I Ngôn ngữ lập trình
1 Lập trình là gì ?
Lập trình là các thao tác đưa ý nghĩ của
con người theo một trình tự có hệ thống vào máy
tính, yêu cầu máy tính thực hiện
2 Ngôn ngữ lập trình
Là các phần mềm mà nhờ đó các kỹ thuật
viên mô phỏng lại các thao tác trên ngôn ngữ đó
thông qua các qui tắc qui ước mà ngôn ngữ đề ra
Ngôn ngữ lập trình có chức năng chuyển toàn bộ
chương trình sang mã máy để máy tính có thể thực
hiện và đưa ra kết quả
3 Các bước xây dựng chương trình
Bước 1 Xác định vấn đề - bài toán
Bước 2 Lựa chọn phương pháp giải
Bước 3 Xây dựng thuật toán hoặc thuật giải
Bước 4 Cài đặt chương trình
Bước 5 Hiệu chỉnh chương trình
Bước 6 Thực hiện chương trình
GV Trình bày các khái niệm: lập trình và ngôn ngữ lập trình
HS Nhớ lại các khái niệm đã học
GV Lấy một sô ngông ngữ lập trình phổ biến hiệnnay mà em biết
HS: Ngôn ngữ : C, C++, Pascal, Java,
HS Nhắc lại các bước giải bài toán trên máy tính
GV Trình bày đầy đủ các bước xây dựng chương trình để học sinh định hướng khi viết chương trình
HS Lắng nghe, ghi chép
Hoạt động 2: Tìm hiểu ngôn ngữ lập trình Pascal
9
Trang 10II Các khái niệm cơ bản
2 Từ khoá (Key word)
Từ khoá là các từ dành riêng cho Turbo Pascal,
mỗi từ có một chức năng nhất định Khi sử dụng
phải dùng đúng với cú pháp
3 Tên
Tên là một dãy kí tự được tạo thành từ các chữ
cái, chữ số và dấu gạch nối Tên thường dùng để
đặt tên cho các đại lượng trong chương trình như
tên biến, hằng, tên kiểu dữ liệu mới vv
Kí tự đầu tiên của tên không được là chữ số.Tên
có độ dài tuỳ ý nhưng chỉ có 63 kí tự đầu tiên là có
ý nghĩa, tên không được trùng với tên của từ khoá
* Tên chuẩn: là tên do Turbo Pascal định nghĩa
trước dùng chỉ các hàm, hằng, biến, thủ tục thư
viện của turbo Pascal
* Tên do người lập trình đặt: Đặt tuỳ ý nhưng phải
tuân thủ theo nguyên tắc của Pascal như tên biến,
tên chương trình, tên kiểu dữ liệu mới
4 Dòng chú thích
- Đặt trong cập ngoặc :{}
5 Dấu chấm phẩy
Dấu chấm phẩy “ ; ” thường nằm sau các
câu lệnh nhằm ngăn cách giữa các câu lệnh với
nhau, không nên hiểu dấu “ ; ” dùng để kết thúc
một câu lệnh
6 Các kiểu dữ liệu
a Kiểu logic (Boolean)
- Các phép toán: AND, OR, XOR, NOT
- Miền giá trị: TRUE (đúng), FALSE (sai)
GV Turbo Pascal được xây dựng với bộ kí tự sau
HS Lắng nghe, ghi bài
GV Hãy nêu một số từ khóa mà em biết Một số từ khoá:
Trang 11- Một giá trị kiểu Char chiếm 1 byte và biểu diễn
được một ký tự thông qua bảng mã ASCII
ví dụ: mã (hay số thứ tự) của A là 65 Có tất cả
256 ký tự đánh số từ 0255 Vậy có 256 giá trị kiểu Char Word 0 đến 65535
Hoạt động3: Tìm hiểu cấu trúc chương trình, khai báo, biểu thức, câu lệnh vào ra dữ liệu của ngữ
lập trình Pascal III cấu trúc chương trình, khai báo, biểu thức,
câu lệnh vào ra dữ liệu của ngữ lập trình Pascal
2 Khai báo tên chương trình
Cú pháp:
PROGRAM Tên_chương_trinh;
3 Khai báo thư viện
Cú pháp: USES tên thư viện;
4 Khai báo hằng
Cú pháp:
CONST tên hằng=giá trị hằng;
5 Khai báo biến
GV Giới thiệu cấu trúc chương trình
HS Lắng nghe, ghi bài
GV Phần khai báo có thể có oặc không, phần thânnhất định phải có
Trang 12+ Hàm SQR(x): tính bình phương của x: x2 Kiểu
dữ liệu của kết qủa cùng kiểu với đối số
+ Hàm SQRT(x): tính , (x 0) 0)
+ Hàm EXP(x) : tính ex
+ Hàm LN(x): tính lnx, (x > 0)
+ Các hàm SIN(x), COS(x), và ARCTAN(x):
tính sinx, cosx và arctgx
+ Hàm INT(x) : cho số thực bằng phần nguyên
- Ý nghĩa : tính toán biểu thức bên phải, rồi lưu kết
qủa tính được vào tên biến ở vế trái
7 Nhập và xuất dữ liệu
a Nhập dữ liệu
- Read(biến1, biến2, , biếnk);
- Readln(biến1, biến2, , biếnk);
b Xuất dữ liệu
- Write(Danh sách kết quả ra);
- Writeln(Danh sách kết quả ra);
Danh sách kết quả ra: Hằng, biến, biểu thức
Sqr(4.0) = 16.0 Sqr(7 div 3) = 4
Ví dụ : Int(12.55) = 12.0 Int(1+10/3)=4.0
Ví dụ : Trunc(12.55) = 12 Trunc(-2.98) = -2
Ví dụ : Round(12.45) = 12 Round(-2.98) = -3
Ví dụ: X:=X+1; { Tăng X lên một đơn vị}
Ví dụ, để nhập dữ liệu cho hai biến thực x, y và
Ví dụ khi thực hiện lệnh sau :
Writeln(‘ngon ngu pascal’);
kết qủa trên màn hình sẽ hiện hai dòng :
ngon ngu pascal
Hoạt động 4: Tìm hiểu một số ví dụ đơn giản trong ngữ lập trình Pascal
IV Một sô ví dụ
Bài tập 1: Viết chương trình nhập vào độ dài hai cạnh
của tam giác và góc giữa hai cạnh đó, sau đó tính và in
ra màn hình diện tích của tam giác
Program Tinh_dien_tich_tam_giac;
Var a,b,goc,dientich: Real;
Begin
Write('Nhap vao do dai canh thu nhat: '); Readln(a);
Write('Nhap vao do dai canh thu hai: '); Readln(b);
Write('Nhap vao goc giua hai canh: '); Readln(goc);
2
Trang 13Program Tinh_can_bac_n_cua_x;
Var x,S: Real;
n: Word;
Begin
Write('Nhap vao n= '); Readln(n);
Write('Nhap vao x= '); Readln(x);
S:=EXP(1/n*LN(x));
Writeln('S = ',S:0:2);
Readln;
End
Bài tập 3 Viết chương trình nhập vào 2 số a, b
Sau đó hoán đổi giá trị của 2 số đó:
a/ Cho phép dùng biến trung gian
Program Swap;
Var a,b,tam: Integer;
Begin
Write('Nhap vao a= '); Readln(a);
Write('Nhap vao b= '); Readln(b);
tam:=a; {tam lấy giá trị của a}
a:=b; {a lấy giá trị của b}
b:=tam; {b lấy lại giá trị của tam}
a+b}
b:=a-b; {b lấy giá trị của a}
a:=a-b; {a lấy lại giá trị của b}
Writeln('a = ',a,’ b = ‘,b);
Readln;
End
4 Củng cố kiến thức:
- Các thành phần của ngôn ngữ lập trình Pascal
- Chương trình đơn giản trong Pascal
Trang 14– Giới thiệu câu lệnh có cấu trúc: rẽ nhánh và lặp
– Ứng dụng các câu lệnh để giải một số bài toán
Giáo viên – Giáo án + tài liệu tham khảo cho học sinh
Học sinh: –Nghiên cứu các bài đã học ở tiết trước và chuẩn bị chu đáo các bài tập về nhà
III TIẾN TRÌNH BÀI DẠY:
1 Ổn định tổ chức: Kiểm tra sĩ số.
2 Kiểm tra bài cũ: Kiểm tra vở bài tập và yêu cầu học sinh viết lại thuật toán giải bài toán
kiểm tra tính nguyên tố của một số nguyên dương
3 Giảng bài mới:
Hoạt động 1: Tìm hiêu cấu trúc rẽ nhánh
II Câu lệnh điều kiện IF THEN
1 Câu lệnh điều kiện có hai dạng như sau:
Câu lệnh điều kiện thiếu:
IF <Điều kiện logic> THEN
<Công việc>;
Câu lệnh điều kiện đủ:
IF <Điều kiện logic> THEN
<Công việc1>
ELSE <Công việc 2>;
2 Hoạt động:
- Dạng thiếu: Khi gặp lệnh này chương trình sẽ đi
kiểm tra điều kiện logic, nếu điều kiện logic là
đúng sẽ đi thực hiện <công việc >, nếu sai sẽ bỏ
qua <công việc > và kết thúc
- Dạng đủ : Khi gặp lệnh này chương trình sẽ đi
kiểm tra điều kiện logic, nếu điều kiện logic là
đúng sẽ đi thực hiện <công việc 1> và bỏ qua
<công việc 2>, nếu sai sẽ đi thực hiện <công việc
2> và bỏ qua <công việc 1> Trong đó <công
việc1>, <công việc 2> có thể là một câu lệnh
ghép
Sơ đồ thuật toán cho câu lệnh điều kiện If then
-Câu lệnh 1
IF
Điều kiện
ĐS
Câu lệnh 2
Câu lệnh
IF
S