Khi viết chơng trình bằng ngôn ngữ lập trình bậc cao muốn thực hiện đợc trên loại máy nào thì cần phải chuyển chơng trình sang ngôn ngữ máy của máy đó.. Chơng trình viết bằng ngôn ngữ bậ
Trang 1Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
Chơng I Một số khái niệm về lập trình và ngôn ngữ lập trình
Tiết 1. Bài 1: khái niệm lập trình và ngôn ngữ lập trình
(1 tiết lý thuyết - Ngày soạn: 4 / 9 /200 )
- Biết vai trò của chơng trình dịch
- Biết khái niệm biên dịch và thông dịch
- Biết một trong những nhiệm vụ quan trọng của chơng trình dịch là phát hiện lỗi cũpháp của chơng trình nguồn
II Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, vấn đáp
2 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
GV: Phân tích câu trả lời của học sinh, nhắc
lại các bớc giải bài toán trên máy tính đã học
ở lớp 10
GV: Em hãy cho biết có mấy loại ngôn ngữ
lập trình?
HS: Trả lời câu hỏi của giáo viên
GV: Phân tích câu trả lời của học sinh
Mỗi loại máy có một ngôn ngữ riêng
Th-ờng chơng trình viết bằng ngôn ngữ của loại
máy nào thì chỉ chạy đợc trên máy đó
Khi viết chơng trình bằng ngôn ngữ lập
trình bậc cao muốn thực hiện đợc trên loại
máy nào thì cần phải chuyển chơng trình
sang ngôn ngữ máy của máy đó
GV: Làm thế nào để chuyển ngôn ngữ lập
trình bậc cao sang ngôn ngữ máy?
GV: Lấy ví dụ, bạn là ngời không biết tiếng
Anh, vậy làm thế nào để bạn có thể nói
chuyện với ngời Anh hay đọc một cuốn sách
tiếng Anh?
- Ngời làm phiên dịch thì dịch nh thế nào?
(Dịch ngay từng câu sau khi hai ngời nói hết
Khái niệm lập trình: Là sử dụng một cấu
trúc dữ liệu và các câu lệnh của một ngônngữ lập trình cụ thể để mô tả dữ liệu vàdiễn đạt thuật toán
- Có 3 loại ngôn ngữ lập trình: Ngôn ngữmáy, hợp ngữ và ngôn ngữ lập trình bậccao
Chơng trình viết bằng ngôn ngữ máy cóthể nạp trực tiếp vào bộ nhớ để thực hiệnngay
Chơng trình viết bằng ngôn ngữ bậc caonói chung không phụ thuộc loại máy,muốn thực hiện đợc thì nó phải chuyểnsang ngôn ngữ máy => cần phải có chơngtrình dịch để chuyển từ chơng trình viếtbằng ngôn ngữ lập trình bậc cao sangngôn ngữ máy để máy để máy có thể hiểu
và thực hiện đợc
Chơng trình dịch có hai loại: Biên dịch
và thông dịch
Trang 2Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
câu)
- Khi một ngời muốn dịch cuốn sách sang
tiếng Việt thì làm thế nao? (Dịch toàn bộ
cuốn sách đó sang tiếng Việt để ngời khác có
thể đọc đợc)
GV: Lấy ví dụ về biên dịch và thông dịch cho
học sinh có thể hình dung đợc mỗi công việc
Command Promt để thực hiện một số lệnh
của DOS hoặc sử dụng ngôn ngữ Foxpro để
thực hiện một số lệnh quản trị dữ liệu, học
sinh rễ ràng nhận ra việc thông dịch
Đi kèm với các chơng trình dịch thờng có
các công cụ nh soạn thảo chơng trình nguồn,
lu trữ, tìm kiếm, phát hiện lỗi, thông báo lỗi
Ngôn ngữ lập trình thờng chứa tất cả các dịch
vụ trên
- Biên dịch: Thực hiện các bớc sau:
Duyệt, kiểm tra, phát hiện lỗi và kiểm tratính đúng đắn của các câu lệnh trong ch-
ơng trình nguồn
Dịch toàn bộ chơng trình nguồn thànhchơng trình đích (ngôn ngữ máy) để có thểthực hiện trên máy và có thể lu trữ lại để
sử dụng khi cần
- Thông dịch: Dịch tuần tự các câu lệnh
và thực hiện ngay câu lệnh ấy Thông dịch
là việc lặp lại dãy các thao tác sau:
Kiểm tra tính đúng đắn của câu lệnh tiếptheo trong chơng trình nguồn
Chuyển đổi các câu lệnh đó thành mộthay nhiều câu lệnh trong ngôn ngữ máy Thực hiện các lệnh trong ngôn ngữ máyvừa chuyển đợc
IV Củng cố
Nhắc lại một số khái niệm mới
Trang 3Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
(1 tiết lý thuyết - Ngày soạn: 11 / 9 /200 )
2 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
viết chơng trình, viết theo quy tắc nào, viết
nh vậy có ý nghĩa gì?, mỗi NLT có những
quy định riêng về những thành phần này
Ví dụ: Bảng chữ cái của NLT Pascal không
sử dụng dấu ! nhng bảng chữ cái của NLT C+
+ lại sử dụng kí hiệu !
- Cú pháp của các NLT khác nhau cũng khác
nhau: Chẳng hạn nh NLT Pascal sử dụng cặp
từ khoá Begin End để gộp nhiều lệnh thành
một lệnh nhng C++ lại sử dụng cặp kí hiệu
{}
Ví dụ: Xét 2 biểu thức sau:
A + B (1) A, B là hai số thực
M + N (2) M, N là 2 số nguyên
Khi đó dấu + ở biểu thức (1) đợc hiểu là
cộng 2 số thực còn dấu + trong biểu thức 2
đ-ợc hiểu là cộng 2 số nguyên
- Mỗi NLT khác nhau cũng cũng có cách sử
dụng ngữ nghĩa khác nhau
HS: ghe, chép
GV: Trong các NLT nói chung mọi đối tợng
đều phải đợc đặt tên để tiện cho việc sử dụng
Việc đặt tên trong các NLT khác nhau là
Bài cũ: Phân biệt Biên dịch và thông dịch?
1 Các thành phần cơ bản
- Mỗi ngôn ngữ lập trình thờng có 3 thànhphần cơ bản là: Bảng chữ cái, cú pháp vàngữ nghĩa
a Bảng chữ cái: Là tập các ký hiệu dùng
để viết chơng trình
- Trong ngôn ngữ Pascal bảng chữ cáigồm: Các chữ cái trong trong bảng chữ cáitiếng Anh, các chữ số từ 0 - > 9 và một số
ký tự đặt biệt
b Cú pháp: Là bộ quy tắc dùng để viết
chơng trình
c Ngữ nghĩa: Xác định ý nghĩa thao tác
cần thực hiện ứng với tổ hợp kí tự dựa vàongữ cảnh của nó
- Cú pháp cho biết cách viết chơng trìnhhợp lệ, ngữ nghĩa xác định ý nghĩa của các
tổ hợp kí tự trong chơng trình
- Lỗi cú pháp đợc chơng trình dịch pháthiện và thông báo cho ngời lập trình Ch-
ơng trình không còn lỗi cú pháp mới cóthể dịch sang ngôn ngữ máy
- Lỗi ngữ nghĩa đợc phát hiện khi chạychơng trình
2 Một số khái niệm
a Tên: Mọi đối tợng trong chơng trình
đều phải đợc đặt tên Mỗi ngôn ngữ lập
Trang 4Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
khác nhau, có ngôn ngữ phân biệt chữ hoa và
chữ thờng, có ngôn ngữ không phân biệt chữ
hoa và chữ thờng
GV: Giới thiệu cách đặt tên cụ thể của NLT
Pascal và giới thiệu Pascal không phân biệt
chữ hoa và chữ thờng còn C++ thì phân biệt
- Trong khi soạn thảo chơng trình, các NLT
thờng hiển thị các tên dành riêng với màu sắc
khác để phân biệt giữa tên dành riêng, tên
chuẩn và tên do ngời lập trình đặt Đối NLT
Pascal thì tên dành riêng thờng có màu trắng
GV: Giáo viên nêu ra cho học sinh biết một
số tên chuẩn trong NLT Pascal
GV: Giáo viên đa ra ví dụ viết chơng trình
cho phơng trình bậc nhất ta cần khai báo nh
viết trực tiếp trong chơng trình, mỗi NLT có
các quy định viết hằng riêng
Hằng đợc đặt tên cũng có cách đặt tên cho
hằng khác nhau
- Biến là đối tợng đợc sử dụng nhiều trong
chơng trình, nó là đại lợng có thể thay đổi
đ-ợc nên nó thờng đđ-ợc dùng để lu dữ kết quả,
làm trung gian cho các tính toán Mỗi loại
ngôn ngữ có những loại biến khác nhau và
trình có một quy tắc đặt tên riêng
- Trong Turbo Pascal tên là một dãy liêntiếp không quá 127 ký tự, bao gồm cácchữ cái, chữ số và dấu gạch dới nhng phảibắt đầu bằng chữ cái hoặc dấu gạch dới
- Ngôn ngữ lập trình Pascal không phânbiệt chữ hoa hay chữ thờng nhng một sốngôn ngữ khác lại phân biệt chữ hoa vàchữ thờng (VD: C++)
- Ngôn ngữ lập trình thờng có 3 loại têncơ bản: Tên dành riêng, tên chuẩn và tên
do ngời lập trình đặt
+ Tên dành riêng: Là những tên đợc ngôn
ngữ lập trình quy định với ý nghĩa xác
định mà ngời lập trình không đợc phépdùng với ý nghĩa khác Tên dành riêng còn
đợc gọi là từ khoá
Ví dụ: Một số từ khoá trong ngôn ngữPascal nh: Program, Var, Begin, End ,trong ngôn ngữ C++ là Main, Include,while, void
+ Tên chuẩn: Là những tên đợc NLT dùng
với ý nghĩa nào đó trong các th viện củaNLT, tuy nhiên ngời lập trình có thể sửdụng với ý nghĩa khác
Ví dụ: Một số tên chuẩnTrong Pascal: Integer, Real, Char, Sin Trong C++: Getcha, Cout, Cin
+ Tên do ngời lập trình tự đặt: đợc xác
định bằng cách khai báo trớc khi sử dụng
và không đợc trùng với tên dành riêng.Các tên trong chơng trình không đợc trùngnhau
b Hằng và biến
- Hằng: Là đại lợng có giá trị không đổi
trong suốt quá trình thực hiện chơng trình.Các ngôn ngữ lập trình thờng có:
+ Hằng số học: Số nguyên hoặc số thực + Hằng xâu: Là chuỗi kí tự đặt trong dấu
nháy “ ”
+ Hằng Logic: là các giá trị đúng hoặc sai
- Biến: Là đại lợng đợc đặt tên, giá trị có
thể thay đổi trong chơng trình
Các NLT có nhiều loại biến khác nhau Biến phải đợc khai báo trớc khi sử dụng
* Lu ý: Trong khi viết chơng trình ta có
thể đa vào các chú thích để giải thích cáccâu lệnh viết trong chơng trình
Trang 5Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
cách khai báo khác nhau
- Khi viết chơng trình ngời lập trình có thể
- Nhắc lại một số kiến thức mới
- Dặn dò học sinh về nhà học bài cũ, làm bài tập và đọc bài mới để chuẩn bị chotiết tiếp theo
Trang 6Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
Chơng II Chơng trình đơn giản
(1 tiết lý thuyết - Ngày soạn: 18 / 9 /200 )
I Mục tiêu
1 Kiến thức
- Hiểu chơng trình là sự mô tả của thuật toán bằng một NLT
- Biết cấu trúc của một chơng trình Pascal: Cấu trúc chung và các thành phần
2 Kỹ năng
- Nhận biết đợc các thành phần của một chơng trình đơn giản
II Phơng pháp, phơng tiện dạy học
3 Phơng pháp: Thuyết trình, vấn đáp
4 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
GV: Phần khai báo sẽ báo cho máy biết
ch-ơng trình sẽ sử dụng những tài nguyên nào
của máy
GV: Mỗi ngôn ngữ lập trình có cách khai báo
riêng, tuỳ thuộc vào bài làm cụ thể của mỗi
ngôn ngữ lập trình mà ta có thể chọn cần
khai báo những gì
GV: Th viện chơng trình thờng chứa những
đoạn chơng trình lập trình sẵn giúp ngời lập
trình thực hiện một số công việc thờng dùng,
các đoạn chơng trình này rất hữu ích cho
ng-ời lập trình nhất là đối với NLT tiên tiến hiện
nay
GV: Khai báo hằng là việc đặt tên cho hằng
để tiện khi sử dụng và tránh đợc việc phải
viết lặp lại nhiều lần cùng một hằng trong
ch-ơng trình Khai báo hằng còn tiện lợi hơn khi
cần thay đổi giá trị của nó trong chơng trình
Ví dụ: Program Bai_1;
* Khai báo th viện
Trong Turbo Pascal Uses <Tên th viện>
Trong C++
#Include <Tên th viện>
* Khai báo hằng
- Những hằng đợc sử dụng nhiều lầntrong chơng trình thờng đợc đặt tên chotiện sử dụng
Trang 7Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
hiểu cách khai báo hằng của ngôn ngữ đó
GV: Có thể nói rằng khai báo biến là hình
GV: Cho học sinh quan sát 2 chơng trình
trong hai ngôn ngữ khác nhau (Pascal và C+
+)
HS: Quan sát và nhận xét về cách viết của hai
chơng trình trong hai ngôn ngữ khác nhau thì
khác nhau
Ví dụ: Trong Turbo PascalConst N=10, e=2.7 Trong ngôn ngữ C++
Cosnt int N=10;
Const float e=2.7;
* Khai báo biến
- Mọi biến sử dụng trong chơng trình đềuphải đợc khai báo để chơng trình dịch biết
để xử lý và lu trữ
- Biến chỉ mang một giá trị gọi là biến
đơn
* Phần thân chơng trình
- Thân chơng trình thờng là nơi chứa toàn
bộ các câu lệnh của chơng trình hoặc lờigọi chơng con
- Thân chơng trình thờng có cặp dấu hiệubắt đầu và kết thúc chơng trình
Ví dụ: Trong NLT Pascal
Begin [<Các câu lệnh>]
End
3 Ví dụ chơng trình đơn giản trong 2
ngôn ngữ lập trình khác nhau sau đây:
CT1: Sử dụng ngôn ngữ PascalProgram thu_ti;
Begin Write(‘Chao cac ban’);
End
CT2: Sử dụng ngôn ngữ C++
#Include<Stdio.h>
Main(){Printf(“Chao cac ban”)}
IV Củng cố
- Nhắc lại một số khái niệm mới
- Cho một chơng trình mẫu về nhà yêu cầu học sinh chỉ rõ và phân biệt từng thànhphần của chơng trình đó
Trang 8Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
(1 tiết lý thuyết - Ngày soạn: 01/ 10 /2008 )
I Mục tiêu
1 Kiến thức
- Biết một số kiểu dữ liệu định sẵn: Nguyên, thực, kí tự, logic và miền con
2 Kỹ năng
- Xác định đợc kiểu cần khai báo của dữ liệu đơn giản
II Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, vấn đáp
2 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
HS: Suy nghỉ và trả lời câu hỏi của GV
GV: Phân tích câu trả lời của học sinh và đa
ra một vài thông tin ở dạng nh sau:
kiểu dữ liệu chuẩn đơn giản, từ những kiểu
đơn giản này ta có thể xây dựng thành những
kiểu dữ liệu phức tạp hơn
- Kiểu dữ liệu nào cũng có miền giới hạn
của nó Máy tính không thể lu tất cả các số
trên trục số nhng nó có thể lu trữ với độ chính
xác cao
- Tuỳ thuộc vào ngôn ngữ lập trình mà tên
của các kiểu dữ liệu khác nhau và miền giá trị
của các kiểu dữ liệu cũng khác nhau
- Với mỗi kiễu dữ liệu ngời lập trình cần ghi
nhớ tên kiểu, miền giá trị và số ô nhớ để lu
một giá trị thuộc kiểu đó
- Trong lập trình nói trung thì kiểu kí tự
th-ờng là tập kí tự trong bảng mã kí tự, mỗi kí tự
có một mã thập phân tơng ứng Để lu các giá
Bài cũ: Các thành phần của một chơngtrình Pascal?
* Ngôn ngữ lâp trình có một số kiểu dữliệu chuẩn sau:
Real 6 11- 12 2.9e - 39 1.7e 38
Single 4 7- 8 1.5e - 45 3.4e - 38
Double 8 15- 16 5.4e - 325 1.7e - 308
Extended 10 19- 20 3.4e - 4932 1.2e 4932 Comp 8 19- 20 - 9.2e 18 9.2e 18
Ví dụ: Trong bảng mã ASCII các kí tựtrong tiếng Anh đợc sắp xếp liên tiếp vớinhau, các chữ số cũng xếp liên tiếp Cụ thể:
A mã 65, B mã 66
Trang 9Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
trị thì phải lu các mã thập phân tơng ứng của
chúng
GV: các em đã biết những bảng mã nào?
HS: đa ra một số bảng mã tuy nhiên cần chú
ý đối với NLT pascal chỉ sử dụng bảng mã
ASCII cho kiểu kí tự
- Kiểu logic là kiểu chỉ có hai giá trị đúng
hoặc sai (True hoặc False)
IV củng cố, dặn dò
- Nhắc lại một số khái niệm mới
- Ra bài tập về nhà
(1 tiết lý thuyết - Ngày soạn: 01 / 10 /2008 )
I Mục tiêu
1 Kiến thức
- Hiểu đợc cách khai báo biến
2 Kỹ năng
- Biết cách khai báo đúng
- Nhận biết đợc các khai báo sai
II Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, vấn đáp
2 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
GV: Khai báo biến là chơng trình báo cho
máy biết phải dùng những chơng trình nào
trong chơng trình
HS: Lắng ghe và ghi chép
- Ví dụ 1: Để giải phơng trình bặc nhất
ax+b=0 ta cần khai báo nh sau:
Var a, b, x: Real
- Ví dụ 2: Để tính chu vi và diện tích của
tam giác cần khai báo các biến sau:
Var a, b, c, p, s, cv: Real;
Trong đó: a, b, c: Dùng để lu độ dài của 3
cạnh tam giác;
P: là nữa chu vi;
CV, S: là chu vi và diện tích tam giác
GV: Khi khai báo biến cần chú ý những điểm
gì?
HS: Suy ghĩ trả lời câu hỏi
GV: Phân tích câu trả lời của học sinh
- Trong NLT Pascal biến đơn đợc khai báo
nh sau
Var <danh sách biến>: <kiểu dữ liệu>;Trong đó:
- Var: Là từ khoá dùng để khai báo biến
- Danh sách biến: Tên các biến cách nhaubởi dấu phẩy
- Kiểu dữ liệu: Là một kiểu dữ liệu nào đócủa ngôn ngữ Pascal
- Sau var là có thể khai báo nhiều danhsách biến có những kiểu dữ liệu khác nhau
- Cần đặt tên biến sao cho gợi nhớ đến ýnghĩa của nó
- Không nên đặt tên quá ngắn hay quá dài,
rễ dẫn đến mắc lỗi hay hiểu nhầm
- Khai báo biến cần quan tâm chú ý đếnphạm vi giá trị của nó
Trang 10Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
IV Củng cố:
- Nhắc lại một số khái niệm mới
Tiết 6. Bài 6: Phép toán, biểu thức, câu lệnh gán
(1 tiết lý thuyết - Ngày soạn: 08 / 10 /2008 )
- Phân biệt đợc sự khác nhau giữa lệnh gán (:=) và phép so sánh bằng (=)
- Viết đợc biểu thức số học và logic với các phép toán thông dụng
II Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, vấn đáp
2 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
ổn định lớp:
- Chào giáo viên, cán bộ lớp báo cáo sĩ số,
chỉnh đốn trang phục
GV : Trong khi viết chơng trình ta thờng phải
thực hiện tính toán, thực hiện các so sánh để
đa ra quyết định xem làm việc gì? Trong khi
viết chơng trình có giống với ngôn ngữ tự
nhiên không?
GV: Toán học có những phép toán nào?
HS: Đa ra một số phép toán thờng dùng trong
Bài cũ: Hãy khai báo 3 biến số thực và 3biến số nguyên
*Ngôn ngữ lập trình nào cũng sử dụng đếnphép toán, biểu thức và câu lệnh gán
- ở đây ta chỉ xét khái niệm này trongngôn ngữ lập trình Pascal
1 Phép Toán
Trang 11Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
- Mỗi ngôn ngữ khác nhau lại có cách kí
hiệu phép toán khác nhau
GV: Trong toán học, biểu thức là gì?
HS: Đa ra khái niệm
GV: Đa ra khái niệm của biểu thức lập trình
GV: Cách viết các biểu thức này trong lập
trình có giống với cách viết trong toán học
hay không?
HS: Đa ra ý kiến của mình
GV: Phân tích ý kiến của học sinh
GV: Đa ra cách viết biểu thức và thứ tự thực
hiện phép toán trong lập trình
GV: Cách viết biểu thức phụ thuộc vào từng
viện chơng trình giúp ngời lập trình tính toán
nhanh các giá trị thông dụng
GV: Với các hàm chuẩn cần quan tâm đến giá
trị của đối số và kiểu của giá trị trả về
Ví dụ: Sinx thì đo bằng độ hay radian?
GV: Trong lập trình thờng ta phải so sánh hai
giá trị nào đó trớc khi thực hiện lệnh nào đó
Biểu thức quan hệ còn đợc coi là biểu thức so
sánh 2 giá trị cho kết quả là True hoặc False
Ví dụ: 3>5 cho kết quả False
GV: Muốn so sánh nhiều giá trị cùng một lúc
thì làm thế nào?
HS: đa ra ý kiến của mình (dùng biểu thức
* NLT Pascal sử dụng một số phép toánsau:
- Với số nguyên: +, - , *, Div, Mod
- Với số thực: +, - , *, /
- Các phép toán quan hệ: <, <=, >, >=, <>cho kết quả là một giá trị Logic (true hoặcfalse)
- Các phép toán logic: NOT, OR, AND ờng dùng để kết hợp nhiều biểu thức quan
th-hệ với nhau
2 Biểu thức số học
* Là một dãy các phép toán +, - , *, /, div
và mod từ các hằng, biến kiểu số và cáchàm
- Dùng cặp dấu () để quy định trình tự tínhtoán
3 Hàm số học chuẩn
- Các ngôn ngữ lập trình thờng cung cấpsẵn một số hàm số học để tính một số giátrị thông dụng
- Bản thân hàm cũng có thể coi là biểuthức số học và có thể tham gia vào biểuthức nh một toán hạng bất kỳ
Trang 12Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
quan hệ and, or )
- Đa ra ví dụ cách viết đúng trong NLT
Pascal
- Mỗi NLT có cách viết lệnh gán khác nhau
GV: Cần chú ý đến điều gì khi viết lệnh gán?
HS: Đa ra ý kiến
GV: phân tích câu trả lời của học sinh sau đó
tổng hợp lại: Cần chú ý đến kiểu của biến và
kiểu của biểu thức
GV: Minh hoạ một vài lệnh gán bằng một ví
dụ trực quan trên bảng hoặc trên màn hình
- Ví dụ: a>b hoặc 2*c<3*a
- Cấu trúc: Tên biến:=biểu thức;
- Trong đó biểu thức phải phù hợp với tênbiến, nghĩa là kiểu của tên biến phải cùngvới kiểu của biểu thức hoặc phải bao hàmkiểu của biểu thức
- Hoạt động của lệnh gán: Tính giá trị củabiểu thức sau đó ghi giá trị đó vào tên biến.X1:=(- b + sqrt(delta))/(2*a);
X2:=(- b - sqrt(delta))/(2*a);
IV Củng cố
- Nhắc lại một số khái niệm mới
- Ra bài tập về nhà: Ngoài bài tập có trong sách có thể cho thêm nhiều biểu thứclogic để học sinh về nhà tính toán và tìm giá trị của nó, cho học sinh một số biểuthức trong toán học và yêu cầu viết nó trong biểu thức Tin học (NLT)
Tiết 7. Bài 7: Các thủ tục chuẩn vào/ra đơn giản
(1 tiết lý thuyết - Ngày soạn: 10 / 10 /2008 )
Trang 13Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
- Viết đợc một số lệnh vào ra đơn giản
II Phơng pháp, phơng tiện dạy học
3 Phơng pháp: Thuyết trình, vấn đáp
4 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
ổn định lớp:
- Chào giáo viên, cán bộ lớp báo cáo sĩ số,
chỉnh đốn trang phục
GV: Khi sử dụng các ứng dụng ta phải nhập
thông tin vào, nh vậy bằng cách nào để ta
nhập đợc thông tin vào trong máy khi lập
trình?
- Làm cách nào để nhập giá trị từ bàn phím
vào cho biến?
GV: Diễn giải và nêu sự khác nhau khi dùng
Read và Readln
- Mỗi NLT có cách nhập thông tin vào khác
nhau
GV: Lấy ví dụ Pascal và C++
GV: Đa ra một vài ví dụ cụ thể trên máy
chiếu về cách nhập thông tin vào từ bàn phím
GV: Chạy chơng trình cho học sinh quan sát,
nhận xét về chơng trình
- Giải thích việc nhập giá trị cho nhiều biến
đồng thời
- Có thể thay thế việc nhập thông tin bằng
câu lệnh Read bởi câu lệnh Readln, mô
phỏng lại trên màn hình cho học sinh quan sát
và yêu cầu học sinh nhận xét sự khác nhau
giữa hai câu lệnh Read và Readln
GV: Giải thích lại cụ thể cho học sinh thấy rõ
bản chất của sự khác nhau này
GV: Ta thấy ở ví dụ 2 trong phần 1 việc ghi ra
dữ liệu thì 3 giá trị dích liền nhau, ngời sử
dụng khó phân biệt giá trị của từng biến Vậy
có cách nào để hiển thị dữ liệu ra theo ý
muốn của ngời lập trình?
GV: Giải thích giữa hai câu lệnh Write và
Writeln, lấy ví dụ cụ thể minh hoạ bằng
ch-Bài cũ: - Viết 3 hàm số học chuẩn
- Viết biểu thức quan hệ cho biểu thứcsau: x+y<z hoặc y+z<x hoặc z+x<y
* Trong NLT Pascal các thủ tục vào rachuẩn viết nh sau:
Ví dụ 2: Xét chơng trình sau:
Program VD ;Uses crt ;Var a,b,c: Integer ;Begin Clrscr ; Write(‘Nhap 3 so a, b, c: ‘);Readln(a,b,c);
Write(‘Ban vua nhap vao 3 so: ‘,a,b,c);Readln
End
* Khi nhập dữ liệu cho nhiều biến thì giátrị mỗi biến phải cách nhau ít nhất một dấucách hoặc dấu Enter, máy sẽ gán giá trị t-
ơng ứng cho các biến nh trong lệnh nhập
t-ơng ứng
2 Đa dữ liệu ra màn hình
* Để đa dữ liệu ra màn hình tại vị trí contrỏ ta dùng thủ tục Write hoặc Writeln vớicấu trúc nh sau:
Trang 14Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
ơng trình
GV: Minh hoạ quy cách đa thông tin ra bằng
chơng trình trên máy chiếu Sửa lại ví dụ phần
1 để đa dữ liệu cách nhau, ngời dùng có thể
- Trong đó: (1) đa ra thông báo
Nhap gia tri M
(2) Dùng để đọc giá trị gán cho biến M
- Cấu trúc (1) và (2) gọi là giao tiếp giữa
Ví dụ: Write(a,b,c);
Write(‘Giá trị A là: ‘, A);
- Thủ tục Writeln sau khi đa kết quả ramàn hình sẽ chuyển con trỏ màn hìnhxuống đầu dòng tiếp theo
- Trong Turbo Pascal còn có quy cách đathông tin ra màn hình nh sau:
* Kết quả thực::<độ rộng>:<số chữ số thập phân>;
- Biết các bớc dịch, soạn thảo, thực hiện và hiệu chỉnh chơng trình
- Biết một số công cụ trong môi trờng Pascal
2 Kỹ năng
- Bớc đầu sử dụng đợc chơng trình dịch để phát hiện lỗi
- Bớc đầu chỉnh sửa đợc chơng trình dựa vào thông báo lỗi của chơng trình dịch vàtính hợp lí của kết quả thu đợc
II Phơng pháp, phơng tiện dạy học
5 Phơng pháp: Thuyết trình, vấn đáp
6 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
ổn định lớp:
Trang 15Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
- Chào giáo viên, cán bộ lớp báo cáo sĩ số,
chỉnh đốn trang phục
GV: Giới thiệu một số tập tin cần thiết để
Turbo Pascal có thể chay đợc, hớng dẫn học
sinh cách khởi động Pascal trực tiếp trên máy
tính
Turbo.exe: Phai chạy
Turbo.tpl: Phai th viện
Turbo.tph: Phai hớng dẫn
* Giới thiệu một số thao tác thờng dùng khi
sạon thảo chơng trình trong môi trờng soạn
thảo Turbo Pascal
GV: Thực hiện một vài lần thao tác này để
học sinh nhận thấy mức độ thuận lợi của nó
khi soạn thảo cũng nh chạy chơng trình
GV: Viết một chơng trình cụ thể, cho chạy
và thực hiện một vài thao tác sửa lỗi
- Màn hình làm việc của NLT Turbo Pascal
có dạng nh sau (mô phỏng trực tiếp trênmáy chiếu)
- Một vài thao tác thờng dùng trong soạnthảo Turbo Pascal
- Chuyển qua lại giữa các cửa sổ: F6
- Xem lại màn hình kết quả: Alt + F5
- Thoát khỏi Turbo Pascal: Alt + X
- Viết đợc một số lệnh vào ra đơn giản
II Phơng pháp, phơng tiện dạy học
7 Phơng pháp: Thuyết trình, vấn đáp
8 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Tóm tắt lí thuyết
Nhắc lại một số kiến thức cơ bản trong phần chơng II
- Một chơng trình thờng gồm có 2 phần: Phần khai báo và phần thân chơng trình, phần khibáo có thể có hoặc không
- Kiểu dữ liệu chuẩn: Kiểu nguyên, kiểu thực, kiểu kí tự và kiểu logic
- Các biến trong chơng trình đều phải đợc khai báo và mỗi biến chỉ khai báo một lần
- Các phép toán: Số học, quan hệ và logic
- Các loại biểu thức: Số học, quan hệ và logic
- Các ngôn ngữ lập trình có:
+ Lệnh gán dùng để gán giá trị của biểu thức cho biến
+ Các thủ tục chuẩn dùng để đa dữ liệu vào và ra
Câu hỏi và bài tập
Trang 16Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
1 Tại sao phải khai báo biến?
2 Trong Pascal, nếu một biến chỉ nhận giá trị trong phạm vi từ 5 đến 25252 thì biến đó
có thể nhận khai báo bằng các kiểu dữ liệu nào?
3 Hãy chuyển các biểu thức toán học dới đây sang Pascal
a 2x2 - 5x + 1 = 0; b (1+x3)( x 1); c (4 3x2 1)(| x- 3|);
d (
2 3 2
2
2 1
) 2 5 2
(
x x
x x
- Giới thiệu một chơng trình Pascal hoàn chỉnh đơn giản;
- Làm quen với một số dịch vụ cơ bản của TurboPascal trong việc soạn thảo, dịch và thựchiện chơng trình;
2 Kỹ năng
- Thực hiện và chạy đợc với một số bài toán đơn giản;
II Phơng pháp, phơng tiện dạy học
1 Sử dụng máy chiếu mô tả và thực hiện các chơng trình cần thiết hớng dẫn học sinh tạiphòng máy;
2 Hớng dẫn học sinh thực hiện chơng trình trên phòng máy cụ thể;
III Nội dung bài giảng
a Nhấn phím F2 và lu chơng trình với tên PTB2 lên đĩa;
b Nhấn tổ hợp phím Alt + F9 để dịch và sửa lỗi chơng trình (nếu có);
c Nhấn tổ hợp phím Ctrl + F9 để thực hiện chơng trình Nhập các giá trị 1, -3 và 2 và quan sát các kết quả hiện trên màn hình (X1=1.00; X2=2.00);
Trang 17Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
d Nhấn Enter rồi nhấn tổ hợp phím Ctrl + F9, sau đó nhập các giá trị 1, 0, -2 Quan sát kết quả trên màn hình (X1=-1.41; X2=1.41)
e Sửa lại chơng trình trên sao cho không dùng biến trung gian D;
f Thực hiện với một số bộ dữ liệu tuỳ ý và kiểm tra tính đúng đắn của chơng trình
Trang 18Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
Họ và tên:
Lớp: 11A
Kiểm tra: Tin; Thời gian: 15’
A Chọn phơng án đúng Câu 1: Chơng trình dịch là:
A Chơng trình dịch từ ngôn ngữ tự nhiên ra ngôn ngữ máy.
B Chơng trình dịch từ ngôn ngữ máy ra ngôn ngữ tự nhiên
D Chơng trình chuyển đổi từ ngôn ngữ máy ra ngôn ngữ bậc cao
Câu 2: Chơng trình viết bằng ngôn ngữ bậc cao có u điểm:
A Tốc độ thực hiện nhanh so với ngôn ngữ máy.
B Viết dài và mất nhiều thời gian so với ngôn ngữ máy.
C Khai thác đợc tối đa các khả năng của máy.
D Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp, không phụ thuộc vào loại máy
Câu 3: trong ngôn ngữ lập trình pascal, từ khoá PROGRAM dùng để:
B Khai báo th viện D Khai báo hằng
Câu 4: Trong ngôn ngữ lập trình pascal từ khoá VAR dùng để:
A Khai báo tên chơng trình C Khai báo biến
B Khai báo th viện D Khai báo hằng
Câu5: Trong ngôn ngữ lập trình pascal, các khẳng định sau khẳng định nào sai?
A Phần tên chơng trình không nhất thiết phải có
B Phần khai báo có thể có hoặc không
D Phần thân chơng trình nhất thiết phải có
Câu 6: Trong ngôn ngữ lập trình pascal, kiểu dữ liệu nào trong các kiểu dữ liệu sau có miền giá trị lớn nhất?
Câu 7: Trong ngôn ngữ lập trình pascal, hằng và biến khác nhau cơ bản nh thế nào? Chọn phơng án đúng nhất trong các phơng án sau:
A Hằng không cần khai báo còn biến phải khai báo
B Hằng và biến bắt buộc phải khai báo
trình.
D Hằng và biến là hai đại lợng có thể thay đổi khi thực hiện chơng trình.
Câu 8: Trong ngôn ngữ lập trình pascal, về mặt cú pháp câu lệnh nào sau đây là sai
Câu 9: Hãy Viết lại các biểu thức sau từ dạng toán học sang dạng biểu diễn
4
a
b a
Câu 10: Trong Turbo Pascal, để thoát khỏi chơng trình ta thực hiện lệnh sau:
A Nhấn tổ hợp phím ALT + F4 C Nhấn tổ hợp phím CTRL + F4
Câu 11: Chơng trình viết bằng ngôn ngữ máy có u điểm
A Máy tính có thể hiểu đợc trực tiếp chơng trình này
B Kiểu dữ liệu và cách tổ chức đa dạng, thuận tiện cho việc mô tả thuật toán.
C Diễn đạt gần với ngôn ngữ tự nhiên
Trang 19Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
D Dễ viết, dễ hiệu chỉnh và sửa chữa;
Câu 12: Xác định những tên biến đợc đặt tên đúng (Đ) và sai (S) trong bảng dới đây:
Câu 13: Biến X có thể nhận các giá trị: 0 , 1 , 2 , 3 , 5 , 7 , 11 ‘ ’ ‘ ’ ‘ ’ ‘ ’ ‘ ’ ‘ ’ ‘ ’ Khai báo nào sau là đúng?
Câu 14: Biến X có thể nhận các giá trị 1, 3, 5, 7, 9 và biến Y có thể nhận các giá trị 0.3; 3.5; 4.7 Khai báo biến nào sau đây là đúng?
Câu 15: Cho X là biến nguyên, Y là biến thực Lệnh gán nào là đúng (Đ), Lệnh gán nào sai (S)?
Câu 2: Biến X có thể nhận các giá trị 1, 3, 5, 7, 9 và biến Y có thể nhận các giá trị 0.3; 3.5; 4.7 Khai báo biến nào sau đây là đúng?
Câu 3: Trong Turbo Pascal, để thoát khỏi chơng trình ta thực hiện lệnh sau:
B Nhấn tổ hợp phím ALT + F4 C Nhấn tổ hợp phím CTRL + F4
Câu 4: Chơng trình viết bằng ngôn ngữ máy có u điểm
F Kiểu dữ liệu và cách tổ chức đa dạng, thuận tiện cho việc mô tả thuật toán.
Trang 20Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
G Diễn đạt gần với ngôn ngữ tự nhiên
H Dễ viết, dễ hiệu chỉnh và sửa chữa;
Câu 5: Xác định những tên biến đợc đặt tên đúng (Đ) và sai (S) trong bảng dới đây:
G Chơng trình có chức năng chuyển đổi từ ngôn ngữ lập trình bậc cao ra ngôn ngữ máy.
H Chơng trình chuyển đổi từ ngôn ngữ máy ra ngôn ngữ bậc cao
Câu 7: Chơng trình viết bằng ngôn ngữ bậc cao có u điểm:
E Tốc độ thực hiện nhanh so với ngôn ngữ máy.
F Viết dài và mất nhiều thời gian so với ngôn ngữ máy.
G Khai thác đợc tối đa các khả năng của máy.
H Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp, không phụ thuộc vào loại máy
Câu 8: Trong ngôn ngữ lập trình pascal, kiểu dữ liệu nào trong các kiểu dữ liệu sau có miền giá trị lớn nhất?
Câu 9: Trong ngôn ngữ lập trình pascal, hằng và biến khác nhau cơ bản nh thế nào? Chọn phơng án đúng nhất trong các phơng án sau:
E Hằng không cần khai báo còn biến phải khai báo
F Hằng và biến bắt buộc phải khai báo
G Hằng là đại lợng có giá trị không đổi, khi thực hiện chơng trình.Còn biến có thể thay đổi khi thực hiện chơng trình.
H Hằng và biến là hai đại lợng có thể thay đổi khi thực hiện chơng trình.
Câu 10: Trong ngôn ngữ lập trình pascal, về mặt cú pháp câu lệnh nào sau đây là sai
Câu 11: trong ngôn ngữ lập trình pascal, từ khoá PROGRAM dùng để:
D Khai báo th viện D Khai báo hằng
Câu 12: Trong ngôn ngữ lập trình pascal từ khoá VAR dùng để:
C Khai báo tên chơng trình C Khai báo biến
D Khai báo th viện D Khai báo hằng
Câu 13: Trong ngôn ngữ lập trình pascal, các khẳng định sau khẳng định nào sai?
E Phần tên chơng trình không nhất thiết phải có
F Phần khai báo có thể có hoặc không
G Phần thân chơng trình có thể có hoặc không
H Phần thân chơng trình nhất thiết phải có
Câu 14: Hãy Viết lại các biểu thức sau từ dạng toán học sang dạng biểu diễn
Trang 21Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
4
a
b a
(1 tiết lý thuyết - ngày soạn: 6 / 11 / 200 )
I Mục tiêu
1 Kiến thức
- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
- Hiểu câu lệnh rẽ nhánh dạng thiếu và dạng đủ
- Hiểu sâu lệnh ghép
2 Kỹ năng
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Viết đợc các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện đợcthuật toán của một số bài toán đơn giản
II Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, vấn đáp
2 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung bài giảng
ổn định lớp
- Chào giáo viên, cán bộ lớp báo cáo sĩ
số, chỉnh đốn trang phục
GV: Đa ra ví dụ rồi cùng học sinh thảo luận
phơng pháp và giải quyết bài toán
GV: Đa ra khái niệm rẽ nhánh trong lập trình
Đối với mỗi NNLT có cấu trúc rẽ nhánh riêng
GV: Đa ra cấu trúc rẽ nhánh trong câu lệnh
1 Khái niệm rẽ nhánh
Ví dụ: Để viết chơng trình giải phơng
trình bậc hai dạng ax2 + bx + c = 0 taphải tính b 2 4ac; sau đó tuỳthuộc vào giá trị của mà ta có tínhnghiệm hay không Ta thờng có:
- Nếu < 0 thì phơng trình vônghiệm hoặc (ngợc lại)
- Nếu > = 0 thì phơng trình cónghiệm
* Nh vậy ta thấy một số mệnh đề thờng
Trang 22Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
Pascal và nhắc học sinh đây là cấu trúc quan
trọng sử dụng cho sau này
* Lu ý: Sau THEN hoặc sau ELSE chỉ có một
lệnh của chơng trình
GV: Với hai dạng này thì dạng nào sử dụng
thuận tiện hơn?
HS: Tìm hiểu và đa ra câu trả lời, giáo viên có
thể gợi ý để học sinh lu ý từng trờng hợp mà
đa ra câu lệnh dạng thiếu hay đủ
GV: Đa ra các ví dụ về câu lệnh rẽ nhánh để
mô phỏng cho học sinh hiểu hơn (thông qua
máy chiếu hoặc sử dụng bảng)
GV: Trong NNLT Pascal muốn thực hiện
nhiều lệnh sau THEN thì làm thế nào?
HS: Phát biểu ý kiến của mình
GV: Khi đó ta cần gộp nhiều lệnh lại với nhau
và coi đó là một câu lệnh trong chơng trình
Các NNLT thờng có cấu trúc nh vậy để giúp ta
thực hiện chơng trình đợc đơn giản hơn
GV: Chỉ rõ đâu là lệnh ghép trong chuỗi lệnh
này
GV: Có thể soạn sẵn 2 chơng trình này trong
NNLT Pascal để các em tham khảo cách viết
chơng trình, từ đó hình thành dần các thao tác
viết chơng trình
- Phân tích câu lệnh và cho chạy thử trong môi
Then để mô tả việc rẽ nhánh tơng ứngvới hai loại mệnh đề rẽ nhánh nh sau:
- Câu lệnh, câu lệnh 1, câu lệnh 2
là một câu lệnh trong Pascal
* ý nghĩa của các câu lệnh
- Dạng thiếu: Nếu <Điều kiện> đúng thìcâu lệnh sau THEN đợc thực hiện, ngợclại không thực hiện gì cả
- Dạng đủ: Nếu <Điều kiện> đúng thìcâu lệnh 1 sau THEN đợc thực hiện, ng-
ợc lại thì câu lệnh 1 không thực hiện màthực hiện câu lệnh 2 sau ELSE
Ví dụ 1:
IF (a mod 2) = 0 THEN Write(a,’ La so chan’);
Ví dụ 2:
IF (a mod 2) = 0 THEN Write(a,’ La so chan’) ELSE
END;
* Chú ý: Sau END là dấu ; và trớc ELSEkhông có dấu, từ nay khi nói đến câulệnh thì đó là câu lệnh đơn hoặc là câulệnh ghép
Ví dụ: Đoạn chơng trình sau sử dụng
câu lệnh ghép:
IF > 0 THENBEGIN
X1:= (-b+sqrt()/(2*a));
Trang 23Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
trờng Pasccal để các em thấy kết quả trên
IV Củng cố:
- Nhắc lại một số khái niệm mới
- Nhắc lại cấu trúc IF THEN, IF THEN ELSE thông qua các ví dụ
- Ra bài tập về nhà
Tiết 12, 13, 14 Bài 10: Cấu trúc lặp
(1 tiết lý thuyết - Ngày soạn: 13 / 11 / 200 )
I Mục tiêu
1 Kiến thức
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
- Hiểu cấu trúc lặp với số lần định trớc, cấu trúc lặp kiểm tra điều kiện trớc
- Biết vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể
- Mô tả đợc thuật toán của một số bài toán đơn giản có sử dụng cấu trúc lặp
2 Kỹ năng
- Viết đúng các lệnh lặp kiểm tra điều kiện trớc, lệnh lặp với số lần định trớc
- Viết đợc thuật toán của một số bài toán đơn giản
II Phơng pháp, phơng tiện dạy học
1 Phơng pháp: Thuyết trình, vấn đáp
2 Phơng tiện: Máy tính, máy chiếu, phông chiếu hoặc bảng
III Nội dung bài giảng
Hoạt động của giáo viên và học sinh Nội dung cần đạt
ổn định lớp:
- Chào giáo viên, cán bộ lớp báo cáo sĩ số,
chỉnh đốn trang phục
GV: Đa ra bài toán yêu cầu học sinh tìm
cách lập trình giải bài toán này
HS: Đa ra các cách giải của mình, có thể có
nhiều cách giải khác nhau
GV: Đa ra cách giải cho bài toán
- Gải theo các lệnh tuần tự
1
1 1
a
Trang 24Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
Để học sinh hiểu đợc khái niệm lặp, giáo
viên đa ra một số ví dụ trong thực tế đợc
tính toán lặp đi lặp lại nhiều lần
Ví dụ 1: Bài toán gửi tiền vào ngân hàng,
hằng tháng phải tính lãi và cộng thêm vào
gốc của tháng sau = gốc + lãi tháng trớc
Ví dụ 2: Tính tổng của một đoạn số nguyên
- Cái gì thay đổi trong 2 thuật toán trên
* Sau khi so sánh kỹ 2 thuật toán trên GV đa
ra 2 cách lặp trong ngôn ngữ Pascal, giải
thích ý nghĩa của các thành phần trong câu
lệnh
GV: Lấy ví dụ minh hoạ trong Pascal để các
em thấy đợc sự thay đổi giá trị của biến đếm
trong một chơng trình thực sự của Pascal
(với điều kiện 1 0 0001
N
* Cách giải:
- Bắt đầu S đợc gán giá trị 1/a;
- Tiếp theo cộng thêm các giá trị 1/(a+N)với N=1, 2, 3
- Với bài toán 1 việc cộng thêm dừng lại khiN=50 => số lần lặp xác định đợc trớc
- Với bài toán 2 việc cộng thêm khi điềukiện 1/(a+N)<0.0001 => số lần lặp cha biếttrớc
* Trong lập trình có những thao tác phải lặp
đi lặp lại nhiều lần, khi đó ta gọi là cấu trúclặp => Có 2 loại cấu trúc lặp:
- ở dạng lặp tiến: Biến đếm tự tăng dần từgiá trị đầu đến giá trị cuối
- ở dạng lặp lùi: Biếm đếm tự giảm dần giátrị cuối đến giá trị đầu
- Tơng ứng với mỗi giá trị của biến đếm câulệnh sau DO thực hiện một lần
Ví dụ 1: Hai chơng trình cài đặt thuật toántính Tong_1a và Tong_1b trong sách giáokhoa (giáo viên mô phỏng hai thuật toán nàythông qua máy chiếu và bảng;
Trang 25Trờng THPT Bán Công Triệu Sơn 2 Giáo án Tin Học lớp 11
- Với 2 ví dụ trên GV có thể gõ CT sẵn trên
máy và cho HS quan sát việc CT chạy, GV
vừa cho chạy chơng trình, vừa giải thích
GV: Đa ra ví dụ, nhắc lại bài toán gửi tiền
vào ngân hàng: Nếu có số tiền A muốn gửi
vào ngân hàng để đợc số tiền B>A thì cần
gửi trong bao lâu với lãi xuất hàng tháng là
k%
Yêu cầu học sinh đa ra cách giải cho bài
toán này
GV: Phân tích phơng án trả lời của HS sau
đó đa ra lời giải cho bài toán
GV: Đa ra cấu trúc câu lệnh While - Do
trong Pascal, giải thích ý nghĩa các thành
B4: S:=S+1/(a+N) rồi quay lại B2;
B5: Đa kết quả S ra màn hình rồi kết thúc
- Nh vậy từ B2 - > B4 đợc lặp đi lặp lạinhiều lần nếu điều kiện 1/(a+N) < 0.0001cha thoã mãn
- Pascal sử dụng câu lệnh WHILE DO để
tổ chức lặp với số lần cha biết trớc nh sau:
* WHILE <điều kiện> DO <câu lệnh>;Trong đó: Điều kiện là biểu thức quan hệhoặc Logic Câu lệnh là một câu lệnh trongPascal
* ý nghĩa: Khi điều kiện còn đúng thì cònthực hiện lệnh sau DO sau đó quay lại kiểntra điều kiện
Ví dụ 1: Chơng trình giải bài toán 2
Ví dụ 2: Chơng trình tìm UCLN của hai sốnguyên dơng M và N (giáo viên mô phỏnghai bài toán này trên máy chiếu và bảng
IV Củng cố
- Nhắc lại một số khái niệm mới
- Nhắc lại cấu trúc câu lệnh
- Ra bài tập về nhà