+ Mọi đối tợng trong chơng trình đều phải đợc đặt tên theo qui tắc của ngôn ngữ lập trình và từng chơng trình dịch cụ thể.. Ví dụ: Uses crt, graph; + Trong pascal, nếu khai báo th viện c
Trang 1Tiết 1
Các khái niệm lập trình và ngôn ngữ lập trình Các thành phần của ngôn ngữ lập trình
- Biết vai trò của chơng trình dịch
- Biết khái niệm về thông dịch và biên dịch
- Biết các thành phần cơ bản của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa
2 Về thái độ
- Tích cực nghe giảng và ôn lại kiến thức lớp 10
II Chuẩn bị:
GV: Chuẩn bị tài liệu giảng dạy và tài liệu mở rộng
HS: Nhớ lại kiến thức lớp 10 về: Các loại ngôn ngữ lập trình, phân biệt ngôn ngữ bậc cao với cácngôn ngữ khác
1 Phơng pháp
- Sử dụng kết hợp nhiều phơng pháp: Diễn giải, hỏi đáp,
2 Phơng tiện
- Sử dụng sgk và tài liệu tham khảo
IV Tiến trình bài giảng
1 ổn định lớp
- Lớp báo cáo sỹ số
- Cho HS ổn định chỗ ngồi
2 Nội dung bài
- Chơng trình dịch nhận đầu vào là chơng trình viết bằng
ngôn ngữ bậc cao (Chơng trình nguồn) thực hiện chuyển đổi
sang ngôn ngữ máy (Chơng trình đích)
- Chơng trình dịch có 2 loại: Thông dịch và biên dịch
+ Thông dịch: Đợc thực hiện bằng cách lặp lại dãy các bớc:
1 Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong
chơng trình nguồn
2 Chuyển đổi dãy câu lệnh đó thành một hay nhiều câu
lệnh tơng ứng trong ngôn ngữ máy
3 Thực hiện câu lệnh vừa chuyển đổi đợc
Các ngôn ngữ khai thác hệ quản trị cơ sở dữ liệu, ngôn ngữ
đối thoại … đều sử dụng trình thông dịch đều sử dụng trình thông dịch
+ Biên dịch: Biên dịch đợc thực hiện qua 2 bớc:
GV: Chúng ta đã tìm hiểu về ngônngữ lập trình Vậy, ngôn ngữ lậptrình?
HS trả lời: Ngôn ngữ dùng để viết
ch-ơng trình gọi là ngôn ngữ lập trình.GV: Ngôn ngữ lập trình gồm nhữngloại nào?
HS trả lời: Ngôn ngữ lập trình đợcchia làm 3 loại: Ngôn ngữ máy, hợpngữ và ngôn ngữ bậc cao
GV: Em hãy kể một số ngôn ngữ lậptrình mà em biết?
HS trả lời: Pascal, C, C++,GV: Tại sao ngời ta đa ra ngôn ngữbậc cao?
HS trả lời: Ngời ta đa ra ngôn ngữ bậccao nhằm giải quyết những hạn chếcủa ngôn ngữ máy và hợp ngữ: Ngônngữ gần với tự nhiên hơn, gần nhkhông phụ thuộc vào các loại máytính
GV: Máy tính có thể hiểu trực tiếp
HS trả lời: Chơng trình dịch là chơngtrình dùng để dịch các chơng trìnhviết bằng ngôn ngữ bậc cao sangngôn ngữ máy
Giáo án tin học 11 - 1 - Năm học 2013-20114
Trang 21 Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các
câu lệnh của chơng trình nguồn
c Ngữ nghĩa: Xác định ý nghĩa thao tác cần phải thực hiện,
ứng với tổ hợp bộ kí0 tự dựa vào ngữ cảnh của nó
GV: Chơng trình dịch nhận đầu vào
là chơng trình viết bằng ngôn ngữ bậccao (Chơng trình nguồn) thực hiệnchuyển đổi sang ngôn ngữ máy (Ch-
ơng trình đích)
GV: Đa ra ví dụ, khi 1 HS nhậnnhiệm vụ giới thiệu với đoàn kháchngời Nhật về làng của mình, có 2cách
Cách thứ nhất, em HS này giới thiệumột phần, hoặc một ý thì ngời phiêndịch sẽ dịch cho đoàn khách, cứ nhvậy đến khi HS này giới thiệu hết vềlàng của mình Cách thứ 2: Em HSnày viết toàn bộ những điều cần giớithiệu về làng ra giấy sau đó đa chongời phiên dịch để dịch ra giấy, rồi
họ đa cho đoàn khách bản dịch bằngtiếng Nhật cho đoàn khách đọc.GV: Một chơng không còn lỗi về cúpháp thì mới có thể dịch sang ngônngữ máy Các lỗi về ngữ nghĩa thìkhó phát hiện hơn, thông thờng chỉphát hiện khi thực hiện chơng trìnhvới dữ liệu cụ thể
V Củng cố bài.
- Nắm đợc ngôn ngữ lập trình có 3 dạng: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao
- Phân biệt đợc ngôn ngữ bậc cao với các ngôn ngữ khác
Giáo án tin học 11 - 2 - Năm học 2013-20114
Trang 3- Máy chiếu, máy tính, giáo án Powerpoint.
III Hoạt động dạy học
1 Tổ chức lớp: ổn định và kiểm tra sĩ số
2 Kiểm tra bài cũ:
- GV đa ra câu hỏi và gọi HS lên bảng trả lời
Câu 1: Phân biệt thông dịch và biên dịch?
Câu 2: Nêu các thành phần cơ bản của ngôn ngữ lập trình?
- 2 HS lần lợt lên bảng trả lời từng câu hỏi
3 Tiến trình tiết dạy
- Tiết trớc chúng ta đã tìm hiểu về các thành phần của ngôn
II Các khái niệm
- Trình chiếu Slide chứa một chơng trình ví dụ đơn giản, có
liên kết với turbo Pascal
+ Mọi đối tợng trong chơng trình đều phải đợc đặt tên theo
qui tắc của ngôn ngữ lập trình và từng chơng trình dịch cụ thể
1,Tên
+ Trong Pascal, tên là một dãy liên tiếp không quá 127 kí tự
bao gồm chữ cái, chữ số và dấu gạch dới, nhng không đợc bắt
đầu bằng chữ số
- Trình chiếu slide chứa ví dụ về các tên đúng và sai, cho HS
xác định tên đúng và tên sai
Ví dụ: A, AC de, 1fe, _12d, d12, h_2,
+ Chú ý: Đối với Pascal không phân biệt chữ hoa và chữ thờng
nhng một số ngôn ngữ khác thì có phân biệt chữ hoa và chữ
thờng nh C,C++… đều sử dụng trình thông dịch
+ Trong ngôn ngữ Pascal có ba loại tên: Tên dành riêng, tên
chuẩn và tên do ngời lập trình đặt
a, Tên danh riêng (Từ khoá)
- Quay lại slide chứa chơng trình ví dụ
- Theo dõi ví dụ trên màn hình
- Ghi bài vào vở
- Cả lớp theo dõi ví dụ trên mànhình và suy nghĩ
- Một HS đứng tại chỗ xác định tên
đúng và tên sai qui định
- Cả lớp theo dõi trên màn hìnhchiếu
Giáo án tin học 11 - 3 - Năm học 2013-20114
Trang 4- Mở kết nối sang pascal chơng trình đó.
- Trong chơng trình trên màn hình soạn thảo của Pascal, tên
dành riêng đó là: Program, uses, const, type, var, begin, end
Em nào đa ra nhận xét gì khi nhìn trên màn hình soạn thảo
của pascal, có gì khác trong chơng trình?
+ Từ khoá là những tên đợc ngôn ngữ lập trình qui định đúng
với một ý nghĩa xác định, ngời lập trình không đợc dùng với ý
nghĩa khác
- Dựa vào tên các từ khoá trên, em nào có thể dịch từ tiếng
Anh sang tiếng Việt để thấy ý nghĩa của các từ khoá này?
- Ngời sử dụng không đợc phép dùng từ khoá với ý nghĩa
khác, ví dụ dùng để đặt tên cho biến là không đợc hoặc khi
soạn thảo chỉ cần sai một kí tự là chơng trình báo lỗi GV lấy
ví dụ ngay trên màn hình soạn thảo Pascal các trờng hợp để
HS thấy đợc từ khoá là từ dành riêng
- Mỗi tên dành riêng nó cũng phản ánh chức năng của nó bằng
cách dùng các từ hoặc từ viết tắt bằng tiếng Anh, nh Program:
chơng trình, uses: Th viện hỗ trợ, const: Hằng; Type: Định
nghĩa, var là từ viết tắt của variable: Biến, Begin: Bắt đầu, end:
Kết thúc… đều sử dụng trình thông dịch
b, Tên chuẩn
- Trình chiếu ví dụ một chơng trình pascal hoàn chỉnh GV chỉ
cho HS thấy tên chuẩn trong chơng trìh đó: Real, sqr
+ Tên chuẩn là những tên đợc ngôn ngữ lập trình quy định
dùng với một ý nghĩa nào đó, ngời lập trình có thể định nghĩa
lại để dùng nó với ý nghĩa khác
- ý nghĩa của các tên chuẩn đợc quy định trong các th viện của
ngôn ngữ lập trình, nh real: kiểu số thực, hàm sqr là hàm trả
về bình pơng của một số
c Tên do ng ời lập trình đặt
- Trình chiếu lại ví dụ
+ Tên do ngời lập trình là những tên đợc đặt với ý nghĩa riêng
của từng ngời lập trình, tên này đợc khai báo trớc khi sử dụng
Các tên này không đợc trùng với tên dành riêng
Trong ví dụ, tên do ngời sử dụng đặt: Vi_du_1, R, Dtich
- Trình chiếu ví dụ 2 có liên kết với môi trờng pascal và cho
HS xác định tên riêng, tên chuẩn và tên do ngời lập trình đặt:
Write(‘Nhap vao a va b :’); readln (a,b);
{a, b la he so cua pt bac nhat co dang: ax+b=0}
If a <> 0 then write(‘pt co nghiem duy nhat: ’, -b/a)
Else
If b <> 0 then write(‘pt vo nghiem’)
Else write(‘pt co vo so nghiem’);
Readln;
End
- Trên ví dụ 1 và 2 sau từ khoá Var là tên biến, sau từ khoá
Const là hằng Vậy, em nào cho biết trong toán học hằng là gì
và biến là gì? Cho ví dụ?
có dấu, dấu chấm tĩnh và dấu chấm động)
Hằng kí tự: Là một chuỗi kí tự và đợc đặt trong dấu nháy
đơn
Hằng logic là giá trị đúng (true) hoặc sai (flase)
b Biến
- Một HS trả lời: Trong chơngtrình, các từ khoá có màu trắng
- Cả lớp theo dõi trên màn hình vídụ
- Một em đứng tại chỗ trả lời:Program: chơng trình, uses: Th viện
hỗ trợ, const: Hằng; Type: Địnhnghĩa, var là từ viết tắt của variable:Biến, Begin: Bắt đầu, end: Kết thúc
- Cr lớp theo dõi ví dụ
- Ghi bài vào vở
- Cả lớp theo dõi vào ví dụ
- HS ghi bài vào vở
- HS theo dõi ví dụ 2
- Một HS đứng tại chỗ trả lời: + Tên dành riêng: Program, uses,var, Begin, if, then, else, end.+ Tên chuẩn: crt, write, readln+ Tên do ngời lập trình đặt:vi_du_2; a, b
- Một HS trả lời: Hằng là một giátrị thực không đổi, ví dụ pi=3.1416,hàm số y=12 Biến là một ẩn số cầntìm giá trị, ví dụ: 3x+2=0, trong đó
x là ẩn
- HS ghi bài vào vở
Giáo án tin học 11 - 4 - Năm học 2013-20114
Trang 5+ Biến là đại lợng đợc đặt tên dùng để lu giá trị và giá trị này
có thể thay đổi trong quá trình thực hiện chơng trình Các
biến dùng trong chơng trình đều phải đợc khai báo
- Trong ví dụ 1 và 2 thì R, Dtich, a, b là biến
- Trình chiếu ví dụ 3 để HS xác định hằng và biến
c Chú thích: Chú thích đợc đặt giữa { và }, hoặc (* và *)
dùng để giải thích cho chơng trình rõ dàng và sễ hiểu
- HS theo dõi ví dụ và trả lời
Trang 6Tiết 3
Bài tập
Ngày soạn: 20/02/2014 Ngày giảng: 21/02/2014
I Mục tiêu bài giảng
1 Kiến thức
- Biết đợc vì sao phải có chơng trình dịch
- Phân biệt đợc 2 chế độ thông dịch và biên dịch
- Nắm đợc các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa
- Nắm đợc khái niệm tên riêng, tên chuẩn và tên do ngời lập trình đặt
- Nắm đợc khái niệm hằng và biến
2 Kỹ năng
- Nắm đợc các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa
- Phân biệt đợc tên riêng, tên chuẩn và tên do ngời lập trình đặt
- Biết và phân biệt đợc hằng và biến
- Sử dụng kết hợp nhiều phơng pháp nh thảo luận, giáo viên gợi mở vấn đề để HS giải quyết
- Sử dụng bảng, sgk, máy chiếu projector, máy tính
III Hoạt động giảng dạy
1 ổn định lớp: Lớp trởng báo cáo sỹ số và cho HS ổn định vị trí ngồi
2 Kiểm tra bài cũ (không ktra)
3 Nội dung
- Trình chiếu nội dung bài tập 1 với chơng trình có liên kết đến môi
trờng làm việc của Pascal và đa ra câu hỏi
writeln('Nam Am Lich tuong ung: ',Can[Du(n-1992,10)],' ',Chi[Du(n-1992,12)]);
write('Ban co muon tiep tuc khong (C/K)? : ');
readln(kt);
Until upcase(kt)='K';
End.
- Dựa vào chơng trình ví dụ của bài tập 1 trên màn hình có liên kết với
môi trờng làm việc Pascal để trả lời các câu hỏi sau:
1 Xác định từ khoá, tên chuẩn và tên do ngời lập trình đặt?
2 Xác định hằng, biến và đoạn chú thích trong chơng trình?
3 Nếu thay tên biến n bằng một trong các tên sau: begin; 1ab; do; can
chi;namd; abs; crt Tên nào có thể dùng để thay thế đợc?Tên nào
không thể thay thế đợc, vì sao?
- GV chiếu lại ví dụ trên môi trờng soạn thảo pascal và thay thế trực
tiếp trên môi trờng pascal, kiểm tra với từng tên để HS thấy đợc tên
- HS theo dõi lên ví dụ để trả lờicâu hỏi
- 1 HS trả lời câu hỏi 1: Trong
ch-ơng trình, từ khoá: Program, uses,var, const, begin, end, function,repeat, until, while, do, if, then.Tên chuẩn: read, readln, write,writeln, integer, char, upcase, crt
và tên do ngời lập trình đặt:Amlich, du, can, chi, n, kt
Giáo án tin học 11 - 6 - Năm học 2013-20114
Trang 7nào thài chờng trình báo lỗi.
- Từ đó rút ra kết luận cho việc đặt tên biến: Không đợc trùng với từ
khoá, không chứa kí tự trắng, không nên đặt tên trùng với tên chuẩn
và nên đặt tên có ý nghĩa dễ gợi nhớ, dễ đọc, dễ kiểm tra lỗi của
- Cả lớp suy nghĩ
- 1 HS trả lời câu hỏi: Tên có thểthay thế: 1ab, namd Tên crt, abskhông nên đặt và các tên còn lạikhông thể dùng để thay thế đợc vìtrùng tên với từ khoá và có chứa
kí tự trắng
- HS cả lớp làm bài và chuẩn bịlên bảng
- 5 HS lên bảng làm, mỗi HS 1bài
Giáo án tin học 11 - 7 - Năm học 2013-20114
Trang 8Tiết 4
Chơng II: chơng trình đơn giản
cấu trúc chơng trìnhNgày soạn: Ngày giảng:
I Mục tiêu bài giảng
1 Kiến thức
- Hiểu đợc chơng trình là sự mô tả đợc của thuật toán bằng một ngôn ngữ lập trình
- Biết đợc cấu trúc của một chơng trình đơn giản: Cờu trúc chung và các thành phần
- Biết đợc cấu trúc chung của một chơng trình viết trên ngôn ngữ pascal
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 viết bằng ngôn ngữ pascal
- Sử dụng kết hợp nhiều phơng pháp nh thuyết trình và đặt câu hỏi gợi mở vấn đề
- Sử dụng bảng, sgk, máy chiếu projector, máy tính
III Hoạt động giảng dạy
1 ổn định lớp: Lớp trởng báo cáo sỹ số và cho HS ổn định vị trí ngồi
2 Kiểm tra bài cũ (không ktra)
3 Nội dung
- GV: Các em nhớ lại kiến thức về viết văn cho biết bố cục một bài
văn gồm mấy phần và vì sao lại chia nh vậy?
i3 cấu trúc chơng trình
- GV cho chiếu chơng trình và liên kết đến môi trờng soạn thảo
Pascal để chạy chơng trình ví dụ lên màn hình để HS theo dõi
Program hoan_vi;
uses crt;
type mang_hv = array [1 20] of byte;
mang_kt = array [1 20] of boolean;
Var i, n,dem: byte;
- GV: Trong đó, qui ớc các thành phần trong dấu ngoặc vuông [ ]
là không bắt buộc phải có, nhng phần trong dấu ngoặc nhọn thì bắt
buộc
+ Phần khai báo có thể có hoặc không, phần thân thì bắt buộc phải
có
- GV: Trong chơng trình ví dụ thì phần khai báo từ Program … đều sử dụng trình thông dịch
đến END; và phần thân từ BEGIN đến END
a Phần khai báo
- Một HS trả lời: Bố cục mộtbài văn gồm 3 phần: Mở bài,thân bài và kết bài Chia ra nhvậy để dễ đọc, dễ hiểu nộidung
- HS cả lớp theo dõi ví dụ trên màn hình chiếu
- HS ghi bài
Giáo án tin học 11 - 8 - Năm học 2013-20114
Trang 9+ Có thể có các khai báo cho: Tên chơng trình, th viện, hằng, định
nghĩa kiểu dữ liệu , biến và chơng trình con
- GV: Chúng ta có thể dựa vào vốn từ vựng của tiếng Anh, trên
ch-ơng trình ví dụ, em nào xác định phần tên chch-ơng trình, th viện,
hằng, định nghĩa kiểu, biến và chơng trình con?
- Dựa vào nghĩa tiếng Anh của các từ khoá trên, em nào cho biết
khai báo tên chơng trình, khai báo th viện, định kiểu, biến, chơng
trình con?
+ Khai báo tên chơng trình: Phần này có thể có hoặc không Với
Pascal, nếu có, phần tên chơng trình bắt đầu bằng từ khoá
program, tiếp đến là tên chơng trình do ngời lập trình đặt theo qui
tắc đặt tên
ví dụ: program hoan_vi;
+ Khai báo th viện: Mỗi ngôn ngữ lập trình có sẵn một số chơng
trình thông dụng để hỗ trợ cho ngời lập trình Trong Pascal,nếu có,
khai báo th viện bằng từ khoá Uses, tiếp đến là tên th viện Nếu có
nhiều th viện thì sử dụng dấu “,” để ngăn cách
Ví dụ: Uses crt, graph;
+ Trong pascal, nếu khai báo th viện crt (cung cấp chơng trình để
làm việc với màn hình và bàn phím), thì đầu tiên của thân chơng
trình dùng câu lệnh clrscr;
+ Khai báo hằng: Hằng là những giá trị xuất hiện nhiều lần trong
chơng trình mà không bị thay đổi giá trị.Một hằng có thể là số, kí
tự hoặc kiểu logic Trong Pascal, nếu có, hằng đợc khai báo bằng
từ khoá Const, theo cú pháp:
Const ten_hang1= gia_tri1;
Ten_hang2= gia_tri2;
… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch
+ Định nghĩa kiểu dữ liệu của ngời dùng: Ngoài những kiểu dữ
liệu chuẩn, ngời lập trình có thể định nghĩa kiểu dữ liệu cho mình
Trong Pascal, nếu có, định nghĩa kiểu bằng từ khoá Type, khai báo
theo cú pháp:
Type ten_kieu=định nghĩa kiểu cụ thể cho từng kiểu;
Ví dụ:
type mang_hv = array [1 20] of byte;
mang_kt = array [1 20] of boolean;
- GV: Xét ví dụ: Gải và biện luận pt: ax+b=0, trong toán học thì
đâu là biến?
- Trong toán học, giải và biện luận pt này thì x là biến, nhng trong
tin học, biến là đại lợng nào đó có chứa giá trị trong khi thực hiện
chơng trìnhơng trình (giá trị input, output) Giải bài toán này bằng
máy tính thì sẽ có các biến: a, b, x kiểu số thực
+ Khai báo biến: Biến là một đại lợng nào đó Nó có thể thay đổi
giá trị trong khi chơng trình đợc thực hiện Trong Pascal, nếu có,
khai báo biến bằng từ khoá VAR, theo cấu trúc: Var ten_bien1,
ten_bien2, ten_bien3: kieu 1;
Khi đặt tên chơng trìnhơng trình, tên hằng, tên biến hoặc các đối
tợng khác, ngời lập trình không đợc đặt trùng với từ khoá (Begin,
end, program, var, if, the, while, do ), có thể đặt trùng với tên
chuẩn (read, readln Write, integer, real, true, false ) nhng không
nên vì dễ nhầm lẫn Nên đặt tên gợi nhớ
Trong Pascal, không phân biệt chơng trìnhữ hoa và chữ hoa và
chữ thờng (trừ trong các hằng lí tự và xâu kí tự), nên có thể dùng
chữ hoa hoặc chữ thờng tuỳ ý sao cho chơng trình dễ đọc
Ten chơng trình khai báo bởi
từ khoá program (hoan_vi); kháo th viện bởi từ khoá uses (crt), định kiểu bởi từ khoá Type (can, chi), khai báo biến bằng từ khoá Var (i, n, dem, x, kt) và chơng trình con đợc khaibáo sau từ khoá procedure (try)
Giáo án tin học 11 - 9 - Năm học 2013-20114
Trang 10b Thân ch ơng trình trình
- Ví dụ trên thấy, phần thân chơng trình trình từ BEGIN đến END
+ Dãy lệnh đợc giới hạn trong phạm vi của từ khoá Begin và End,
sau end có dấu chấm “.”
Trang 11Tiết 5
Một số kiểu dữ liệu chuẩn - khai báo biến
I-Mục tiêu:
1.Kiến thức:
-Biết đợc một số kiểu dữ liệu chuẩn: nguyên, thực, ký tự, logic
-Biết đợc cấu trúc chung của khai báo biến
2.Kỹ năng:
-Sử dụng đợc kiểu dữ liệu và khai báo biến để viết đợc một chơng trình đơn giản
II-Đồ dùng dạy học:
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
1.Hoạt động 1: Tìm hiểu một số kiểu dữ liệu chuẩn
1.Đặt vấn đề: Trong toán học, để thực hiện đợc tính toán ta
cần phải có các tập số Đó là các tập số nào?
-Diễn giải: Cũng tơng tự nh vậy, trong ngôn ngữ lập trình
Pascal, để lập trình giải quyết các bài toán, cần có các tập
hợp, mỗi tập hợp có một giới hạn nhất định
-Các em có thể hiểu nôm na: Kiểu dữ liệu chuẩn là một tập
hữu hạn các giá trị, mỗi kiểu dữ liệu cần một dung lợng bộ
nhớ cần thiết để lu trữ và xác định các phép toán có thể tác
động lên dữ liệu
2.Yêu cầu học sinh nghiên cứu sách giáo khoa, trả lời các
câu hỏi sau:
-Có bao nhiêu kiểu dữ liệu chuẩn trong ngôn ngữ Pascal?
-Trong ngôn ngữ Pascal có những kiểu nguyên nào thờng
dùng, phạm vi biểu diễn của mỗi loại?
-Trong ngôn ngữ Pascal, có bao nhiêu kiểu ký tự?
-Trong ngôn ngữ Pascal, có bao nhiêu kiểu logic, gồm các
giá trị nào?
3.Giáo viên giải thích một số vấn đề cho học sinh:
+Vì sao phạm vi biểu diễn của các loại kiểu nguyên khác
nhau?
+Miền giá trị của các loại kiểu thực, số chữ số có nghĩa?
4.Phát vấn: Muốn tính toán trên các giá trị 4,5,6,7 ta phải sử
dụng kiểu dữ liệu gì?
1.Chú ý, lắng nghe và suy nghĩtrả lời:
-Số tự nhiên, số nguyên, số hữu
tỉ, số thực
-Liên tởng các tập số trong toánhọc với kiểu dữ liệu trongPascal
2.Nghiên cứu sách giáo khoa vàtrả lời
-Có 4 kiểu: Kiểu nguyên, kiểuthực, kiểu ký tự và kiểu logic.-Có 4 loại: Byte, Word, Integer
và longin
-Có 2 loại: Real, extended.-Có 1 loại: Char
-Có 1 loại: Boolean, gồm 2phần tử: True, False
3.Lắng nghe và suy nghĩ4.Suy nghĩ và trả lời
Kiểu Real
3.Hoạt động 3: Tìm hiểu cách khai baó biến
1.Yêu cầu học sinh nghiên cứu sách giáo khoa và cho
biết vì sao phải khai báo biến? 1.Mọi biến dùng trong chơng trìnhđều phải khai báo tên biến và kiểu dữ
Giáo án tin học 11 - 11 - Năm học 2013-20114
Trang 12-Cấu trúc chung của khai báo biến trong ngôn ngữ
Pascal
-Cho ví dụ để khai báo một biến nguyên và một biến
kiểu ký tự
2.Chiếu chơng trình chứa một số khai báo và yêu cầu
học sinh chọn khai báo đúng trong ngôn ngữ Pascal?
-Var <danh sách biến>: <kiểu dữ liệu>;
Var x: Word
Y: char;
2.Quan sát và chọn khai báo đúng
Var X,y,z: word
I: byte;
3.Quan sát và trả lời
-Có 5 biến
-Tổng bộ nhớ cần cấp phát:
x (2byte); y(2 byte); z(4byte);
h(2byte); i(1byte); Tổng11byte
IV-Đánh giá cuối bài:
1.Những nội dung chính:
-Các kiểu dữ liệu chuẩn: kiểu số nguyên, kiểu số thực, kiểu ký tự, kiểu logic
-Mọi biến trong chơng trình phải đợc khai báo Cấu trúc chung của khai báo biến trognPascal: Var tên biến: tên kiểu dữ liệu;
Giáo án tin học 11 - 12 - Năm học 2013-20114
Trang 13Tiết 6:
phép toán, biểu thức, câu lệnh gán
I-Mục tiêu:
1.Kiến thức:
-Biết đợc các phép toán thông dụng trong ngôn ngữ lập trình
-Biết diễn đạt một biểu thức trong ngôn ngữ lập trình
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
1.Hoạt động 1: Tìm hiểu một số phép toán
1.Đặt vấn đề: Để mô tả các thao tác trong
thuật toán, mỗi ngôn ngữ lập trình đều sử
dụng một số khái niệm cơ bản: phép toán,
-Yêu cầu học sinh nghiên cứu sách giáo khoa
và cho biết các nhóm phép toán
-Phép Div, Mod đợc sử dụng cho những kiểu
-Các phép toán logic: And, Or, Not
-Chri sử dụgn đợc cho kiểu nguyên
-Thuộc kiểu Logic
2.Hoạt động 2: Tìm hiểu biểu thức
1.Trong toán học ta đã làm quen với khái niệm biểu thức,
hãy cho biết yếu tố cơ bản xây dựng nên biểu thức
-Nếu trong một bài toán mà toán hạng là biến số, hằng số
hoặc hàm số và toán tử là các phép toán số học thì biểu thức
có tên gọi là gì?
2.Chiếu một số biểu thức toán học lên bảng, yêu cầu học sinh
biểu diễn thành biểu thức trong Pascal
1.Suy nghĩ trả lời
-Gồm hai phần: Toán hạng vàtoán tử
-Biểu thức số học
Giáo án tin học 11 - 13 - Năm học 2013-20114
Trang 14-Nghiªn cøu SGK vµ tõ viÖc x©y dùng c¸c biÓu thøc trªn, h·y
nªu thø tù thùc hiÖn c¸c phÐp to¸n
+Thùc hiÖn phÐp to¸n quan hÖ
-Cho kÕt qu¶: KiÓu logic
5.BiÓu thøc logic:
-lµ biÕn hoÆc h»ng logic
BiÓu thøc logic cho gi¸ trÞ lµ True hoÆc False
Thø tù thùc hiÖn:
+Thùc hiÖn biÓu thøc quan hÖ
+Thùc hiÖn phÐp to¸n logic
2.Quan s¸t tr¶ lêi2*a+5*b+cx*y/(2*z)((x+y)/(1-(2/z)))+(x*x/(2*z))
-Thùc hiÖn trong ngoÆc tríc;ngoµi ngoÆc sau Nh©n, chia,chia nguyªn, chia lÊy d tríc;céng trõ sau
3.Suy nghÜa tr¶ lêi
(-b+sqrt(b*b-4*a*c))/(2*a)
Gi¸o ¸n tin häc 11 - 14 - Năm học 2013-20114
Trang 153.Hoạt động 3: Tìm hiểu lệnh gán.
-Giới thiệu một ví dụ về lệnh gán trong Pascal nh sau:
x:=4+8;
-Giải thích: Lấy 4 cộng 8, đem kết quả đặt vào x Ta đợc
x=12
-Hãy cho biết chức năng của lệnh gán?
-Cấu trúc chung của lệnh gán:
<tên biến>:=<biểu thức>;
VD: x=
a
ac b
-Các phép toán trong Pascal: số học, quan hệ, logic
-Biểu thức trong Pascal: số học, quan hệ, logic
-Cấu trúc lệnh gán: <Tên biến>:=<biểu thức>
2.Câu hỏi, bài tập về nhà:
-Làm bài tập trang 35-36 (SGK)
-Xem phụ lục A (SGK)
Giáo án tin học 11 - 15 - Năm học 2013-20114
Trang 16-Biết nhập đúng dữ liệu khi thực hiện chơng trình.
-Biết khởi động và thoát khỏi Pascal
-Soạn đợc một chơng trình vào máy
-Dịch đợc chơng trình
-Thực hiện đợc chơng trình để nhập và thu kết quả
II-Đồ dùng dạy học:
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
1.Hoạt động 1: Tìm hiểu thủ tục nhập dữ liệu từ bàn phím.
-Yêu cầu học sinh nghiên cứu sách giáo khoa và cho
biết thủ tục nhập dữ liệu từ bàn phím?
VD: Chơng trình giải ax+b=0, ta phải nhập những đại
lợng nào?
-Khi nhập giá trị cho nhiều biến ta phải thực hiện nh
thế nào?
- Nhập a,bRead(a,b); hoặc Readln(a,b);
-Những giá trị này cách nhau một dấucách hoặc kí tự xuống dòng
2.Hoạt động 2: Tìm hiểu thủ tục đa dữ liệu ra màn hình
-Yêu cầu học sinh nghiên cứu SGK và cho biết cấu trúc
chung của thủ tục xuất dữ liệu?
VD: Chơng trình giải ax+b=0 đa giá trị của x=-b/a ra
màn hình
Chiếu chơng trình Pascal đơn giản
Write(<tên biến 1, ,tên biến k);Writeln(<tên biến 1, ,tên biến k);Write(-b/a);
Writeln(-b/a);
-Viết ra dòng chức và đa con trỏ
Giáo án tin học 11 - 16 - Năm học 2013-20114
Trang 17?Chức năng của lệnh Writeln()?
? Khi các tham số trong lệnh Write() thuộc kiểu char
hoặc Real thì quy định vị trí nh thế nào?
xuống dòng
-Quy định hai loại vị trí: Vị trí chotoàn bộ số thực và vị trí cho phầnthập phân
3.Hoạt động 3: Làm quen với Turbo Pascal 7.0
-Để sử dụng đợc Turbo pascal trên máy phải có các file
-Giới thiệu màn hình soạn thảo của pascal
-quan sát và ghi bài
4.Hoạt động 4: Tập soạn thảo chơng trình đơn giản và thực hiện chơng trình.
1.Soạn chơng trình làm ví dụ, lu chơng trình, dịch lỗi
Gọi học sinh sửa lỗi sai trong chơng trình
-Quan sát ghi nhớ
-Lu: F2-Dịch lỗi: Alt+F9-Thực hiện chơng trình: Ctrl+F9
IV-Đánh giá cuối bài:
1.Những nội dung chính:
-Khởi động pascal, soạn thảo, dịch, sửa lỗi cú pháp, chạy chơng trình
2.Câu hỏi và bài tập về nhà:
-Làm các bài tập trang 36 SGK, Đọc trớc nội dung bài thực hành, xem phụ lục B SGK trang
122, 136
Giáo án tin học 11 - 17 - Năm học 2013-20114
Trang 18-Biết đợc một chơng trình pascal hoàn chỉnh.
-Làm quen với các dịch vụ chủ yếu của pascal trong việc soạn thảo, lu, dịch chơng trình vàthực hiện chơng trình
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
1.Hoạt động 1: Tìm hiểu một chơng trình hoàn chỉnh.
1.Chiếu chơng trình lên bảng Yêu cầu học sinh thực
hiện các nhiệm vụ:
-Soạn chơng trình vào máy
-Nhập dữ liệu 1 0 2 Thông báo kết quả
-Hỏi: Vì sao có lỗi xuất hiện?
-Sửa lại?
1.Quan sát bảng, độc lập soạn thảochơng trình vào máy
F2Alt + F9Ctrl + F9X1=1.00 X2=2.00
EnterCtrl + F9Thông báo lỗi
Do căn bậc hai của một số âm-Sửa lại
2.Hoạt động 2: Rèn kỹ năng lập chơng trình.
1.Định hớng để học sinh phân tích bài toán tính diện tích
hình tròn khi biết bán kính là a
-Dữ liệu vào
-Dữ liệu ra
-Cách tính
2.Yêu cầu học sinh soạn và lu chơng trình vào đĩa
-Quan sát hớng dẫn từng học sinh trong lúc thực hành
1.Phân tích theo yêu cầu của giáoviên
-Dữ liệu vào a-Dữ liệu ra SS:=3.14*a*a;
Giáo án tin học 11 - 18 - Năm học 2013-20114
Trang 19IV-§¸nh gi¸ cuèi bµi:
Trang 20-Biết đợc một chơng trình pascal hoàn chỉnh.
-Làm quen với các dịch vụ chủ yếu của pascal trong việc soạn thảo, lu, dịch chơng trình vàthực hiện chơng trình
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
1.Hoạt động 1: Tìm hiểu một chơng trình hoàn chỉnh.
1.Chiếu chơng trình lên bảng Yêu cầu học sinh thực
hiện các nhiệm vụ:
-Soạn chơng trình vào máy
-Nhập dữ liệu 1 0 2 Thông báo kết quả
-Hỏi: Vì sao có lỗi xuất hiện?
-Sửa lại?
1.Quan sát bảng, độc lập soạn thảochơng trình vào máy
F2Alt F9Ctrl F9X1=1.00 X2=2.00
EnterCtrl F9Thông báo lỗi
Do căn bậc hai của một số âm-Sửa lại
2.Hoạt động 2: Rèn kỹ năng lập chơng trình.
1.Định hớng để học sinh phân tích bài toán tính diện tích
hình tròn khi biết bán kính là a
-Dữ liệu vào
-Dữ liệu ra
-Cách tính
2.Yêu cầu học sinh soạn và lu chơng trình vào đĩa
-Quan sát hớng dẫn từng học sinh trong lúc thực hành
1.Phân tích theo yêu cầu của giáoviên
-Dữ liệu vào a-Dữ liệu ra SS:=3.14*a*a;
Giáo án tin học 11 - 20 - Năm học 2013-20114
Trang 21IV-§¸nh gi¸ cuèi bµi:
Trang 22-Biết đợc một chơng trình pascal hoàn chỉnh.
-Làm quen với các dịch vụ chủ yếu của pascal trong việc soạn thảo, lu, dịch chơng trình vàthực hiện chơng trình
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
1.Hoạt động 1: Tìm hiểu một chơng trình hoàn chỉnh.
1.Chiếu chơng trình lên bảng Yêu cầu học sinh thực hiện
-Nhập dữ liệu 1 0 2 Thông báo kết quả
-Hỏi: Vì sao có lỗi xuất hiện?
-Sửa lại?
1.Quan sát bảng, độc lập soạn thảochơng trình vào máy
F2Alt F9Ctrl F9X1=1.00 X2=2.00
EnterCtrl F9Thông báo lỗi
Do căn bậc hai của một số âm-Sửa lại
2.Hoạt động 2: Rèn kỹ năng lập chơng trình.
1.Định hớng để học sinh phân tích bài toán tính diện tích
hình tròn khi biết bán kính là a
-Dữ liệu vào
-Dữ liệu ra
-Cách tính
2.Yêu cầu học sinh soạn và lu chơng trình vào đĩa
1.Phân tích theo yêu cầu của giáoviên
-Dữ liệu vào a-Dữ liệu ra SS:=3.14*a*a;
Giáo án tin học 11 - 22 - Năm học 2013-20114
Trang 23-Quan s¸t híng dÉn tõng häc sinh trong lóc thùc hµnh.
IV-§¸nh gi¸ cuèi bµi:
Trang 24-Hiểu đợc khái niệm rẽ nhánh trong lập trình
-Biết sử dụng các câu lệnh thực hiện rẽ nhánh trong TP (Dạng thiếu và dạng đủ)
- Hiểu đợc câ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 câu lệnh rẽ nhánh dạng thiéu và đủ và áp dụng để thể hiện đợc thuật toán của một sốbài toán đơn giản
II-Đồ dùng dạy học:
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
3 nội dung bài
TG N i dung trỡnh chi uội dung trỡnh chiếu ếu Ho t ạt động của Gv và HS đội dung trỡnh chiếung c a Gv v HSủa Gv và HS à HS
10’
5’
5’
* Slide 1: Đưa ra một số vớ dụ vềa ra m t s vớ d vội dung trỡnh chiếu ố vớ dụ về ụ về ề
nh ng cụng vi c h ng ng y cú sững cụng việc hằng ngày cú sự ệc hằng ngày cú sự ằng ngày cú sự à HS ự
l a ch n.ự ọn
- N u tr i khụng m a thỡ tụi s m i ếu ời khụng mưa thỡ tụi sẽ mời ưa ra một số vớ dụ về ẽ mời ời khụng mưa thỡ tụi sẽ mời
cỏc b n i n chố bạt động của Gv và HS đ ăn chố bưởi, nếu mưa ưa ra một số vớ dụ vềởi, nếu mưa i, n u m a ếu ưa ra một số vớ dụ về
thỡ tụi m i cỏc b n n chố ngú.ời khụng mưa thỡ tụi sẽ mời ạt động của Gv và HS ăn chố bưởi, nếu mưa
- N u b n m thỡ tụi s cho b nếu ạt động của Gv và HS ố vớ dụ về ẽ mời ạt động của Gv và HS
ngh h c.ỉ học ọn
* Slide 2: Tờn b i h cà HS ọn
* Slide 3, 4:
1 R nhỏnh:ẽ mời
Vớ d 1: ụ 1: Chõu h n Ng c: “Chi uẹn Ngọc: “Chiều ọn ề
mai n u tr i khụng m a thỡ Chõu sếu ời khụng mưa thỡ tụi sẽ mời ưa ra một số vớ dụ về ẽ mời
n nh Ng c”
đếu à HS ọn
Vớ d 2: ụ 1: L n khỏc, Ng c núi v iần khỏc, Ngọc núi với ọn ới
Chõu: “Chi u mai n u tr i khụngề ếu ời khụng mưa thỡ tụi sẽ mời
m a thỡ Ng c s ưa ra một số vớ dụ về ọn ẽ mời đếun nh Chõu,à HS
n u tr i m a thỡ bu i t i Ng c sếu ời khụng mưa thỡ tụi sẽ mời ưa ra một số vớ dụ về ổi tối Ngọc sẽ ố vớ dụ về ọn ẽ mời
C u trỳc i u ki n h nh ấu trỳc điều kiện hành động điều kiện hành động ều kiện hành động ện hành động ành động điều kiện hành độngộng ng
- L n khỏc, Ng c núi v i Chõu: ần khỏc, Ngọc núi với ọn ới
Thưa ra một số vớ dụ vềời khụng mưa thỡ tụi sẽ mời ng ng y cú r t nhi u vi c, ch à HS ất nhiều việc, chỉ được ề ệc hằng ngày cú sự ỉ học đưa ra một số vớ dụ vềợcc
th c hi n khi m t i u ki n n o ú ự ệc hằng ngày cú sự ội dung trỡnh chiếu đ ề ệc hằng ngày cú sự à HS đ đưa ra một số vớ dụ vềợcc
th a món.ỏa món
GV đưa ra một số vớ dụ vềa vớ d ụ vềGV: Em hóy l y m t s vớ d v nh ngất nhiều việc, chỉ được ội dung trỡnh chiếu ố vớ dụ về ụ về ề ững cụng việc hằng ngày cú sựcụng vi c n o ú ch x y ra khi m t i uệc hằng ngày cú sự à HS đ ỉ học ải phương trỡnh bậc hai: ội dung trỡnh chiếu đ ề
ki n n o ú ệc hằng ngày cú sự à HS đ đưa ra một số vớ dụ vềợcc th a món?ỏa món
GV: Trong tin h c, ọn để mụ tả những hành mụ t nh ng h nhải phương trỡnh bậc hai: ững cụng việc hằng ngày cú sự à HS
ng cú r nhỏnh (l a ch n) b ng c u trỳc
đội dung trỡnh chiếu ẽ mời ự ọn ằng ngày cú sự ất nhiều việc, chỉ được
r nhỏnh.ẽ mời
1 R nhỏnhẽ mời GV: Chỳng ta xột m t s vớ d ội dung trỡnh chiếu ố vớ dụ về ụ về
- GV: Em hóy lờn b ng trỡnh b y l i gi iải phương trỡnh bậc hai: à HS ời khụng mưa thỡ tụi sẽ mời ải phương trỡnh bậc hai:
gi i phải phương trỡnh bậc hai: ưa ra một số vớ dụ vềơng trỡnh bậc hai:ng trỡnh b c hai?ậc hai:
HS: Delta=b2 -4ac;
- N u delta<0 thỡ pt vụ nghi m x=-b/2aếu ệc hằng ngày cú sự
N u delta>0 thỡ pt cú 2 nghi m phõn bi t:ếu ệc hằng ngày cú sự ệc hằng ngày cú sựx=(-b )/2a∆)/2a
GV: Quay l i cỏc vớ d trờn, chỳng ta iạt động của Gv và HS ụ về ởi, nếu mưa đphõn tớch c u trỳc h nh ất nhiều việc, chỉ được à HS đội dung trỡnh chiếung
Giáo án tin học 11 - 24 - Năm học 2013-20114
Trang 2510’
10’
“Chi u maiề n uếu tr i không m a ời không mưa ưa thì
Ng c s ọc sẽ đến nhà Châu ẽ đến nhà Châu đến nhà Châu n nh Châu à Châu , n u tr i ếu ời không mưa thì tôi sẽ mời
m a thìưa ra một số ví dụ về bu i t i Ng c s i n l i ổi tối Ngọc sẽ điện lại ối Ngọc sẽ điện lại ọc sẽ đến nhà Châu ẽ đến nhà Châu đ ện lại ại
cho Châu”.
- N u ến nhà Châu tr i không m a ời không mưa thì tôi sẽ mời ưa ra một số ví dụ về thì tôi s m iẽ mời ời không mưa thì tôi sẽ mời
các b n i n chè bạt động của Gv và HS đ ăn chè bưởi, nếu mưa ưa ra một số ví dụ vềởi, nếu mưa ngi, ưaợc lại ại c l i
tôi m i các b n n chè ngó.ời không mưa thì tôi sẽ mời ạt động của Gv và HS ăn chè bưởi, nếu mưa
N u (ếu Điều kiện đúng ều kiện hành động i u ki n úng ện hành động điều kiện hành động ) thì (Ho t ạt
ng 1
điều kiện hành độngộng ) còn không thì (Ho t ạt điều kiện hành độngộng ng
2);
- Châu h n Ng c: “Chi u mai n uẹn Ngọc: “Chiều ọn ề ếu
tr i không m a thì Châu s ời không mưa thì tôi sẽ mời ưa ra một số ví dụ về ẽ mời đếun
nh Ng c” à HS ọn
- N u b n m thì tôi s cho b nếu ạt động của Gv và HS ố ví dụ về ẽ mời ạt động của Gv và HS
ngh h c.ỉ học ọn
- Trưa ra một số ví dụ vềời không mưa thì tôi sẽ mời ng h p (ợc Ho t ạt điều kiện hành độngộng ng 2 = Ø) thì
c u trúc i u ki n h nh ất nhiều việc, chỉ được đ ề ệc hằng ngày có sự à HS đội dung trình chiếung l :à HS
N u (ếu Điều kiện đúng ều kiện hành động i u ki n úng ện hành động điều kiện hành động ) thì (Ho t ạt
ng 1
điều kiện hành độngộng );
+ Có hai d ng: ạt
D ng ại đủ: :
If < i u ki n> Đ ề ệc hằng ngày có sự Then <Câu l nh 1>ệc hằng ngày có sự
Else <Câu l nh 2>; ệc hằng ngày có sự
D ng thi u: ại ến nhà Châu
If < i u ki n> Đ ề ệc hằng ngày có sự Then <Câu l nh>; ệc hằng ngày có sự
If, Then, Else: T khoáừ khoá
i u ki n: Bi u th c logic ho c
Đ ề ệc hằng ngày có sự ể mô tả những hành ức logic hoặc ặc
bi u th c quan h ể mô tả những hành ức logic hoặc ệc hằng ngày có sự
Câu l nh: M t câu l nh n o óệc hằng ngày có sự ội dung trình chiếu ệc hằng ngày có sự à HS đ
trong Pascal
+ D ng ại đủ: :
If < i u ki n> Then <Câu l nh1> Điều kiện> Then <Câu lệnh1> ều kiện> Then <Câu lệnh1> ện lại ện lại
Else <Câu l nh 2>; ện lại
Chú ý 1:
- Trong TP, k t thúc m t câu l nh ến nhà Châu ột câu lệnh ện lại
b ng d u ch m ph y (;), nh ng ằng dấu chấm phẩy (;), nhưng ấu chấm phẩy (;), nhưng ấu chấm phẩy (;), nhưng ẩy (;), nhưng ưa
câu l nh ngay tr ện lại ưaớc else không có c else không có
d u ch m ph y ấu chấm phẩy (;), nhưng ấu chấm phẩy (;), nhưng ẩy (;), nhưng
Ví d :ụ về Ki m tra tính ch n l c aể mô tả những hành ẵn lẻ của ẻ của ủa Gv và HS
s nguyên dố ví dụ về ưa ra một số ví dụ vềơng trình bậc hai:ng N?
If (n MOD 2 =0) then write(‘N la so
chan’) else write(‘N la so le’);
+ D ng thi u: ại ến nhà Châu
If < i u ki n> Đ ề ệc hằng ngày có sự Then <Câu l nh >;ệc hằng ngày có sự
i u ki n c tính v ki m tra,
Đ ề ệc hằng ngày có sự đưa ra một số ví dụ vềợc à HS ể mô tả những hành
n u i u ki n úng (có giá tr ếu đ ề ệc hằng ngày có sự đ ị
TRUE) thì câu l nh ệc hằng ngày có sự đưa ra một số ví dụ vềợcc th c ự
hi n, ngệc hằng ngày có sự ưa ra một số ví dụ vềợc ạt động của Gv và HS đ ềc l i ( i u ki n có giá trệc hằng ngày có sự ị
False) thì câu l nh s b b qua ệc hằng ngày có sự ẽ mời ị ỏa mãn
(câu l nh không ệc hằng ngày có sự đưa ra một số ví dụ vềợcc th c hi n).ự ệc hằng ngày có sự
HS: n u ( k úng) thì ho t ếu đ đ ạt động của Gv và HS đội dung trình chiếung 1, ngưa ra một số ví dụ vềợcc
l i ho t ạt động của Gv và HS ạt động của Gv và HS đội dung trình chiếung 2
GV: T n u trong ti ng Anh l gì?ừ khoá ếu ếu à HS
T Thì, ngừ khoá ưa ra một số ví dụ vềợc ạt động của Gv và HSc l i?
HS tr l i: N u - IF, Thì - Then v ngải phương trình bậc hai: ời không mưa thì tôi sẽ mời ếu à HS ưa ra một số ví dụ vềợcc
l i - Else.ạt động của Gv và HSGV: Xét các ví d khác.ụ vềGV: Em n o có th khái quát các d ngà HS ể mô tả những hành ạt động của Gv và HS
h nh à HS đội dung trình chiếung n y?à HSHS:
N u ( k úng) thì ho t ếu đ đ ạt động của Gv và HS đội dung trình chiếung 1
GV: Chúng ta so sánh 2 d ng h nh ạt động của Gv và HS à HS đội dung trình chiếungtrên?
HS d ng 1 thì có trạt động của Gv và HS ưa ra một số ví dụ vềời không mưa thì tôi sẽ mời ng h p ngợc ưa ra một số ví dụ vềợc ạt động của Gv và HSc l i,
d ng 2 thì không.ạt động của Gv và HSGV: D ng 1 có ho t ạt động của Gv và HS ạt động của Gv và HS đội dung trình chiếung 2 l r ng thì trà HS ỗng thì trở ởi, nếu mưa
v d ng 2, v y d ng 2 l trề ạt động của Gv và HS ậc hai: ạt động của Gv và HS à HS ưa ra một số ví dụ vềời không mưa thì tôi sẽ mời ng h p ợc đặcc
bi t c a d ng 1.ệc hằng ngày có sự ủa Gv và HS ạt động của Gv và HSGV: Tưa ra một số ví dụ vềơng trình bậc hai:ng ng v i 2 d ng h nh ức logic hoặc ới ạt động của Gv và HS à HS đội dung trình chiếungtrên, trong TP có c u trúc r nhánh v i câuất nhiều việc, chỉ được ẽ mời ới
l nh r nhánh d ng ệc hằng ngày có sự ẽ mời ạt động của Gv và HS đủa Gv và HS à HS ạt động của Gv và HS v d ng thi u.ếu
GV: Chúng ta quay l i các ví d trên, emạt động của Gv và HS ụ về
n o có th nêu s th c hi n c a câu l nhà HS ể mô tả những hành ự ự ệc hằng ngày có sự ủa Gv và HS ệc hằng ngày có sự
nh th n o?ưa ra một số ví dụ về ếu à HSHS: D ng 1: N u i u ki n úng thì th cạt động của Gv và HS ếu đ ề ệc hằng ngày có sự đ ự
hi n câu l nh 1, ngệc hằng ngày có sự ệc hằng ngày có sự ưa ra một số ví dụ vềợc ạt động của Gv và HSc l i th c hi n câuự ệc hằng ngày có sự
l nh 2.ệc hằng ngày có sự
D ng 2: N u i u ki n úng thì th c hi nạt động của Gv và HS ếu đ ề ệc hằng ngày có sự đ ự ệc hằng ngày có sựcâu l nh, n u sai thì không th c hi n câuệc hằng ngày có sự ếu ự ệc hằng ngày có sự
l nh.ệc hằng ngày có sự
Gv: Chúng ta quay l i ví d gi i pt b c 2:.ạt động của Gv và HS ụ về ải phương trình bậc hai: ậc hai:
Em hãy chuy n các câu n u thì sang câuể mô tả những hành ếu
l nh If Then ệc hằng ngày có sựHS:
- IF delta<0 Then write(‘pt vo nghiem’);
- IF delta=0 Thenwrite(‘pt co 1 nghiem duy nhat’);
- IF delta>0 Thenwrite(‘pt co 2 nghiem phan biet’);
- GV: T ví d 3 v i các câu l nh if thenừ khoá ụ về ới ệc hằng ngày có sự
d ng thi u, chúng ta có th ạt động của Gv và HS ếu ể mô tả những hành đưa ra một số ví dụ vềa v d ngề ạt động của Gv và HS
Gi¸o ¸n tin häc 11 - 25 - Năm học 2013-20114
Trang 26- Cú th xõy d ng m t c u trỳcể mụ tả những hành ự ội dung trỡnh chiếu ất nhiều việc, chỉ được
cú nhi u h n 2 l a ch n b ng cỏchề ơng trỡnh bậc hai: ự ọn ằng ngày cú sự
s d ng IF THENử dụng IF THEN…ELSE ụ về … đều sử dụng trình thông dịch.ELSE
write(‘pt co 2 nghiem phan biet’);
D ng c a cõu l nh ghộp: ạt ủa cõu lệnh ghộp: ện hành động
Tỡm s ng y c a n mố vớ dụ về à HS ủa Gv và HS ăn chố bưởi, nếu mưa
N,bi t r ng n mếu ằng ngày cú sự ăn chố bưởi, nếu mưa
nhu n l n m chia ậc hai: à HS ăn chố bưởi, nếu mưa
h t cho 400 ho c chia ếu ặc
h t cho 4 nh ngếu ưa ra một số vớ dụ về
khụng chia h t ếu
GV: Chỳng ta cú th ể mụ tả những hành đưa ra một số vớ dụ vềa v d ng ề ạt động của Gv và HS đủa Gv và HS
c v dựng cỏc cõu len h if then l ng
đưa ra một số vớ dụ vềợc à HS ẹn Ngọc: “Chiều ồngnhau
IF delta<0 Then write(‘pt vo nghiem’)Else
IF delta=0 Thenwrite(‘pt co 1 nghiem duy nhat’)Else
write(‘pt co 2 nghiem phan biet’);
GV: V i cỏc cõu l nh trờn, chỳng ta ch aới ệc hằng ngày cú sự ưa ra một số vớ dụ vềtớnh đưa ra một số vớ dụ vềợcc giỏ tr c a nghi m, m ch ị ủa Gv và HS ệc hằng ngày cú sự à HS ỉ học đưa ra một số vớ dụ vềathụng bỏo cú nghi m hay khụng.ệc hằng ngày cú sự
GV: Chỳng ta theo dừi vớ d thỡ th y r ng,ụ về ất nhiều việc, chỉ được ằng ngày cú sự
trưa ra một số vớ dụ vềời khụng mưa thỡ tụi sẽ mời ng h p delta b ng 0 ho c l n h n 0 ,ợc ằng ngày cú sự ặc ới ơng trỡnh bậc hai:
ph i th c hi n 2 thao tỏc: tớnh nghi m vải phương trỡnh bậc hai: ự ệc hằng ngày cú sự ệc hằng ngày cú sự à HS
a cõu thụng bỏo ra m n hỡnh, t ng ng
đưa ra một số vớ dụ về à HS ưa ra một số vớ dụ vềơng trỡnh bậc hai: ức logic hoặc
l hai cõu l nh à HS ệc hằng ngày cú sự Để mụ tả những hành th hi n ể mụ tả những hành ệc hằng ngày cú sự đưa ra một số vớ dụ vềợc đ ềc i u
ú, TP cung c p cho chỳng ta cõu l nh
đ ất nhiều việc, chỉ được ệc hằng ngày cú sựghộp
GV: Em hóy dựng cõu len h ghộp ẹn Ngọc: “Chiều để mụ tả những hành ếu vi t
l i vớ d 3 trờn?ạt động của Gv và HS ụ vềHS:
IF delta<0 Then write(‘pt vo nghiem’)Else
IF delta=0 Then Begin
X:=-b/(2*a);
write(‘pt co 1 nghiem duy nhat’);
End Else Begin x1 := (-b+sqrt(delta))/(2*a);
x2 := (-b-sqrt(delta))/(2*a);
write(‘pt co 2 nghiem phan biet’);
end;
GV: Chỳng ta xột m t s vớ d ội dung trỡnh chiếu ố vớ dụ về ụ về
Giáo án tin học 11 - 26 - Năm học 2013-20114
Trang 27- N m ắm được cú pháp của câu lệnh rẽ nhánh dạng thiếu và dạng đủ đưa ra một số ví dụ vềợcc cú pháp c a câu l nh r nhánh d ng thi u v d ng ủa Gv và HS ệc hằng ngày có sự ẽ mời ạt động của Gv và HS ếu à HS ạt động của Gv và HS đủa Gv và HS
- N m ắm được cú pháp của câu lệnh rẽ nhánh dạng thiếu và dạng đủ đưa ra một số ví dụ vềợcc khi n o thì dùng câu l nh d ng à HS ệc hằng ngày có sự ạt động của Gv và HS đủa Gv và HS à HS v khi n o dùng câu l nh d ng thi uà HS ệc hằng ngày có sự ạt động của Gv và HS ếu
- N m ắm được cú pháp của câu lệnh rẽ nhánh dạng thiếu và dạng đủ đưa ra một số ví dụ vềợcc câu l nh ghép.ệc hằng ngày có sự
- Bi t s d ng if the l ng nhau.ếu ử dụng IF THEN…ELSE ụ về ồng
- B i t p v nh : B i 4 (sgk – tr.51) v b i 3.1; b i 3.2; 3.3; 3.5; 3.14; 3.15; 3.16; 3.17; 3.18;à HS ậc hai: ề à HS à HS à HS à HS à HS3.19; 3.20; 3.21 (sbt)
- GV: Hưa ra một số ví dụ vềớing d n HS b i 3.18 v 3.19:ẫn HS bài 3.18 và 3.19: à HS à HS
+ 3 s a, b, c th t l p th nh c p s nhân có tính ch t: bố ví dụ về ức logic hoặc ự ậc hai: à HS ất nhiều việc, chỉ được ố ví dụ về ất nhiều việc, chỉ được 2=c*a
+ 3 s a, b, c th t l p th nh c p s c ng có tính ch t: b=(c+a)/2ố ví dụ về ức logic hoặc ự ậc hai: à HS ất nhiều việc, chỉ được ố ví dụ về ội dung trình chiếu ất nhiều việc, chỉ được
Gi¸o ¸n tin häc 11 - 27 - Năm học 2013-20114
Trang 28-Biết đợc một chơng trình pascal hoàn chỉnh.
-Biết lựa chọn và tổ chức rẽ nhánh trong lập trình khi giải một bài toán cụ thể
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn, câu hỏi thảo luận
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
1.Hoạt động 1: bài toán Pitago.
10’ 1.Chiếu chơng trình lên bảng Yêu cầu học sinh
thực hiện các nhiệm vụ:
-Xác định bài toán?
- Nêu ý tởng?
- GV: Khi kiểm tra a, b, c có phải là bộ pitago
không, ta cần kiểm tra 3 số này thỏa mãn đồng
thời hay không 3 đẳng thức đó?
- Xảy ra không đồng thời, chỉ cần 1 trong 3
đúng là kết luận đợc Vậy, chúng ta dùng hàm
gì?
- Từ ý tởng xây dựng thuật toán?
1.Quan sát bảng và trả lời các câu hỏi
+ Thông báo “khong la bo pitago” rồi kếtthúc
2.Hoạt động 2: Rèn kỹ năng lập chơng trình.
Giáo án tin học 11 - 28 - Năm học 2013-20114
Trang 2930’ 1 Dựa vào thuật toán viết chơng trình trình hoàn chỉnh?
2 Lu chơng trình ?
1.Viết chơng trình trình
1.Những nội dung chính:
-Các bớc hoàn thành một chơng trình: Xác định bài toán, thuật toán, soạn chơng trình, lu
Giáo án tin học 11 - 29 - Năm học 2013-20114
Trang 30-Biết đợc một chơng trình pascal hoàn chỉnh.
-Biết lựa chọn và tổ chức rẽ nhánh trong lập trình khi giải một bài toán cụ thể
- Viết và hiệu chỉnh, chạy chơng trình trình với các bộ dữ liệu khác nhau để kiểm tra thuậttoán
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prôjector
-Một số chơng trình mẫu viết sẵn, câu hỏi thảo luận
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi
III-Hoạt động dạy và học:
* Kiểm tra 15 phút - Thực hành:
Viết chơng trình nhập vào 3 số nguyên dơng a, b, c Kiểm tra xem a, b, c theo thức tự có lập thànhcấp số nhân không? Nếu phải thì tăng mỗi số lên 2 đơn vị, rồi đa giá trị các số a, b, c ra màn hình?(Trong đó, a, b, c thứ tự lập thành cấp số nhân có tính chất: b2= a*c)
1.Hoạt động 1: Mở chơng trình trình Pitago và thực hiện, kiểm tra lỗi, hiệu chỉnh chơng trình trình
20’ 1 Mở chơng trình Pitago?
2 Nhấn F7 để thực hiện từng câu lệnh chơng
trình, nhập các giá trị: 3, 4, 5
3 Vào bảng Dubug mở cửa sổ hiệu chỉnh để
xem xem giá trị a2, b2, c2
4 Nhấn F7 để thực hiện các câu lệnh tính
những giá trị nói trên, so sánh với kết quả a2=9,
b2=16, c2=25
5 Quan sát rẽ nhánh
1 Mở chơng trình trình Pitago, tiết trớc đãsoạn thảo và lu
2 HS thao tác lần lợt các bớc theo hớng dẫncủa GV
2.Hoạt động 2: Test với các bộ dữ liệu, kỹ năng lập trình, sử dụng các câu lệnh khác nhau.
20’ 1 Chạy chơng trình theo các bớc nh tiét trớc với a=700,
Giáo án tin học 11 - 30 - Năm học 2013-20114
Trang 31Bằng dãy các câu lệnh:
a2:=a*a; b2:=b*b; c2:=c*c
(Hoặc sử dụng hàm bình phơng)
Thì kết quả có thay đổi không với bộ dữ liệu nh trên
Trang 32- Biết đợc ý nghĩa của cấu trúc lặp
- Biết đợc cấu trúc chung của câu lệnh lặp For - Do trong ngôn ngữ lập trình Pascal
- Biết sử dụng đúng hai dạng câu lệnh For trong ngôn ngữ lập trình Pascal
2 Kỹ năng
Bớc đầu sử dụng đợc lệnh For để lập trình giải quyết đợc một số bài toán đơn giản
II Đồ dùng dạy học
1 Chuẩn bị của giáo viên
Máy tính, máy chiếu, sách giáo khoa và sách giáo viên
2 Chuẩn bị của học sinh
Sách giáo khoa
III Hoạt động dạy - học
1 Hoạt động 1(15p): Tìm hiểu ý nghĩa của cấu trúc lặp
a Mục tiêu
- Học sinh thấy đợc sự cần thiết của cấu trúc lặp trong lập trình
b Nội dung
Bài toán 1: Viết chơng trình in ra màn hình dãy số nguyên liên tiếp từ 1 đến 5?
Bài toán 2: Viết chơng trình tính tổng S= 1/1+1/2+1/3+1/4+1/5
TG Hoạt động của giáo viên Hoạt động của học sinh
dãy số nguyên liên tiếp từ 1 đến 5?
- Gợi ý: Chúng ta đã có câu lệnh đa dữ
liên hệ đến việc chia táo: Có 5 quả táo,
quả đầu tiên đợc cả, quả thức 2 chia làm
đôi và đợc một phân, quả thức ba chia
làm ba, đợc một phần… đều sử dụng trình thông dịch., đến quả thứ 5,
- Thuật toán bài 1?
- Viết thuật toán bài 2?
- Với thuật toán nh vậy, có thể sử dụng
câu lệnh If - Then không?
- Với câu lệnh IF - THEN khi điều kiện
đợc kiểm tra và cho kết quả đúng chỉ
thực hiện đợc 1 lần, không có sự lặp lại
Để thể hiện đợc thao tác lặp, Turbo
Pascal cung cấp cấu trúc lặp
- Với bài toán này, thao tác ghi giá trị
1 Chú ý quan sát bài toán đặt vấn đề
- Dùng câu lệnh write để viết các số ra màn hình
- Để viết 5 số từ 1 đến 5 ra màn hình thì dùng 5câu lệnh write liên tiếp
- Cách tính tổng S:
+ Tính tổng 1+1/2+ Đợc kết quả bao nhiêu cộng với 1/3+ Đợc kết quả trên cộng với ẳ
+Đợc kết quả cộng với 1/5+ Tổng là kết quả sau 5 lần cộng dồn
- Thao tác cộng 5 lần mới cho kết quả
- Thuật toán:
+ B1: i 1;
+B2: Nếu i>5 thì xuống B5 +B3: Đa giá trị của i ra màn hình+B4: i i+1, rồi quay lại B2
Giáo án tin học 11 - 32 - Năm học 2013-20114
Trang 33của i đợc lặp 5 lần, tức là đã biết trớc số
lần lặp Để diễn tả thao tác lặp biết trớc
số lần lặp trong thuật toán Pascal cung
cấp câu lệnh FOR-DO
2 Hoạt động 2: Tìm hiểu câu lệnh lặp For của ngôn ngữ lập trình Pascal.
For, To, Do: Từ khóa
Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con
Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hoặcbằng giá trị cuối
- Sự thực hiện của máy:
+ Bớc 1: Tính giá trị đầu, gán cho biến đếm
+ Bớc 2: kiểm tra, nếu biến đếm <= giá trị cuối thì
For, DownTo, Do: Từ khóa
Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con
Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hoặcbằng giá trị cuối
- Sự thực hiện của máy:
+ Bớc 1: Tính giá trị cuối, gán cho biến đếm
+ Bớc 2: kiểm tra, nếu biến đếm >=giá trị đầu thì
Thực hiện câu lệnh cần lặp,
Giảm biến đếm lên 1 đơn vị rồi quay lại Bớc 2
- Sơ đồ thực hiện:
c các bớc tiến hành:
TG Hoạt động của giáo viên Hoạt động của học sinh
10’ - Từ bài 1 , chúng ta có thể phát biểu thành lời
Trang 34- Bài 2?
- Sau mỗi lần thực hiện in giá trị của i hoặc
cộng dồn tổng thì i thay đổi nh thế nào?
- Từ phát biểu dạng lặp:
Từ 1 đến 5, thực hiện đa giá trị của i ra ngoài
màn hình
Từ 1 đến 5, thực hiện cộng dồn 1/i vào tổng.
- Dạng lặp nh vậy gọi là lặp tiến
Từ… đều sử dụng trình thông dịch đến… đều sử dụng trình thông dịch thực hiện (làm)… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch , tơng ứng
trong tiếng Anh?
- Có thể cộng từ số lớn lùi về số bé đợc
không? Nếu đợc thì các bài toán trên đợc tính
nh thế nào?
- Sau mỗi lần thực hiện in giá trị i hoặc cộng
dồn tổng thì giá trị i thay đổi nh thế nào?
-Phát biểu dạng lặp trong trờng hợp này?
- Từ … đều sử dụng trình thông dịch Lùi về (quay về) … đều sử dụng trình thông dịch.Thực hiện (làm),
tơng ứng trong tiếng Anh?
- Dạng lặp nh vậy gọi là lặp lùi
- Cấu trúc dạng lặp tiến và lùi:
For, To, DownTo Do: Từ khóa
Biến đếm: Là biến kiểu nguyên, ký tự
hoặc miềm con
- Giải thích sự thực hiện của máy 1 dạng tiến
và yêu cầu học sinh giải thích dạng lùi
Gtrị đầu, Gtrị cuối là hằng, biểu thức
cùng kiểu với biến đếm Giá trị đầu phải nhỏ
hơn hoặc bằng giá trị cuối
- ý nghĩa của giá trị đầu và giá trị cuối?
- Đối với bài 1 và 2 thì giá trị đầu và giá trị
cuối bằng bao nhiêu?
- Lần lợt với mỗi giá trị của i từ 1 đến 5, thựchiện cộng dồn 1/i vào tổng
- i đợc tăng lên một đơn vị
- Tơng ứng trong tiếng Anh:
For … đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch To… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch Do
- Có thể tính từ số lớn lùi về đợc:
+Bài 1: Lần lợt với giá trị của i từ 5 lùi về 1thực hiện lệnh đa giá trị của i ra ngoài mànhình
+Bài 2: Lần lợt với mỗi giá trị của i từ 5 lùi
về 1, thực hiện cộng dồn 1/i vào tổng
- Tơng ứng trong tiếng Anh:
For… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch DownTo… đều sử dụng trình thông dịch.… đều sử dụng trình thông dịch Do
- Dùng để giới hạn biến đếm (giới hạn vònglặp)
- Giá trị đầu và giá trị cuối trong bài 1 và 2là: Giá trị đầu = 1, giá trị cuối = 5
3 Hoạt động 3: Rèn luyện kỹ năng dùng câu lệnh FOR.
a Mục tiêu:
- Sử dụng đúng câu lệnh FOR để giải quyết đợc một bài toán đơn giản
b Nội dung
Bài 1: Viết ra màn hình các số liên tiếp từ 1 đến 5
Bài 2: Tính tổng: S= 1+1/2+1/3+… đều sử dụng trình thông dịch.+1/N
c Các bớc tiến hành
TG Hoạt động của giáo viên Hoạt động của học sinh
10p 1 Nêu bài toán 1
+ Xác định giá trị đầu, giá trị cuối
- For i:=1 To 5 Do write(i);
Giáo án tin học 11 - 34 - Năm học 2013-20114
Trang 35- T¬ng tù d¹ng tiÕn, mét hs lªn viÕt d¹ng lïi:
Tõ 5 lïi vÒ 1, thùc hiÖn ®a gi¸ trÞ cña i ra
ngoµi mµn h×nh
- T¬ng tù bµi 2
- Gi¸ trÞ ®Çu, gi¸ trÞ cuèi, lÖnh lÆp?
- ViÕt thµnh c©u lÖnh lÆp For
- For i:=5 DownTo 1 Do write(i);
- Gi¸ trÞ ®Çu = 1, gi¸ trÞ cuèi = N
- S:=0
- For i:=1 To N Do S:=S+1/i;
IV Cñng cè bµi - bµi tËp vÒ nhµ (5p)
- Có ph¸p c©u lÖnh lÆp biÕt tríc sè lÇn lÆp ë 2 d¹ng: TiÕn vµ lïi
- Bµi tËp vÒ nhµ sgk - tr.51, sbt - bµi tËp ch¬ng tr×nh 3 - tr.18
Gi¸o ¸n tin häc 11 - 35 - Năm học 2013-20114
Trang 36- Biết đợc ý nghĩa của cấu trúc lặp với số lần cha biết trớc số lần lặp
- Biết đợc cấu trúc chung của câu lệnh lặp While - Do trong ngôn ngữ lập trình Pascal
- Biết sử dụng đúng hai dạng câu lệnh WHILE trong ngôn ngữ lập trình Pascal
2 Kỹ năng
Bớc đầu sử dụng đợc lệnh While để lập trình giải quyết đợc một số bài toán đơn giản
II Đồ dùng dạy học
1 Chuẩn bị của giáo viên
Máy tính, máy chiếu, sách giáo khoa và sách giáo viên
2 Chuẩn bị của học sinh
Sách giáo khoa
III Hoạt động dạy - học
* Kiểm tra bài cũ (5ph):
- Một học sinh lên viết cú pháp dạng lặp tiến và lùi, giải thích các thành phần của câu lệnh
- Một học sinh lên bảng vẽ sơ đồ thực hiện và nêu cách thực hiện của máy
1 Hoạt động 1(15p): Tìm hiểu ý nghĩa của cấu trúc lặp cha biết trớc số lần lặp
a Mục tiêu
- Học sinh thấy đợc sự cần thiết của cấu trúc lặp có số lần cha xác định trong lập trình
b Nội dung
Bài toán 1: Bài toán bỏ bi vào thùng?
Bài toán 2: Viết chơng trình tính tổng S=1+1/2+1/3+1/4+… đều sử dụng trình thông dịch.1/N+… đều sử dụng trình thông dịch cho đến khi 1/N<0.0001
c Các bớc tiến hành
TG Hoạt động của giáo viên Hoạt động của học sịnh
10’ 1 Chiếu nội dung bài 1:
- Hỏi: Trong bài toán này có sự lặp đi lặp lại
không? Nếu có thì công việc nào đợc lặp đi lặp
lại?
- Hỏi: Trong bài toán này, chúng ta có biết bỏ
bao nhiêu lần bi thì đầy thùng không?
- Hỏi: Lặp bao nhiêu lần?
- Hỏi: Lặp đến khi nào?
- Chiếu hình ảnh mô phỏng
2 Chiếu nội dung bài 2
- Chiếu lại nội dung bài toán trớc và bài toán 2
- Hỏi: Trong 2 bài toán này có gì khác nhau?
- Hỏi: (Có biết đến khi nào thì 1/N<0.0001) Lặp
bao nhiêu lần?
- Hỏi: Đến khi nào?
- Chúng ta đã có cấu trúc câu lệnh lặp đã biết trớc
số lần lặp với câu lệnh For Nhng trong thực tế,
có nhiều sự việc, bài toán có sự lặp mà không
biết trớc số lần lặp Turbo Pascal cung cấp câu
lệnh lặp không biết trớc số lần lặp: While - Do
- Trong bài toán có sự lặp đi lặp lại, côngviệc bỏ bi vào thùng đợc lặp đi lặp lại
- Lặp không biết số lần lặp
- Lặp đến khi thùng đầy
- Chú ý theo dõi kỹ để trả lời câu hỏi
- Bài trớc: Lặp với số lần biết trớc (N lần)
- Bài toán này: Lặp không biết trớc số lầnlặp
While <điều kiện> Do <lệnh cần lặp>;
Trong đó: While, Do: Từ khóa
Điều kiện: Là biểu thức quan hệ hoặc biểu thức logic
Câu lệnh là một câu lệnh nào đó của Pascal
- Sự thực hiện của máy:
Giáo án tin học 11 - 36 - Năm học 2013-20114
Trang 37+ Bớc 1: Tính và kiểm tra điều kiện.
+ Bớc 2: Nếu điều kiện đúng (có giá trị True) thì thực hiẹn câu lệnh cần lặp, rồi quay lại b ớc1 Nếusai thì thoát khỏi câu lệnh while - do
- Hỏi: Trong khi, làm - tơng ứng trong tiếng Anh?
- Hỏi: Viết lại phát biểu trên, chúng ta có câu lệnh
lặp không biết trớc số lần lặp:
While <điều kiện) Do <câu lệnh cần lặp>;
- Giải thích các thành phần của câu lệnh, cách thực
hiện của máy
- Hỏi: Trong bài toán 2 thì câu lệnh cần lặp?
- Hỏi: Viết sơ đồ thực hiện?
- Hỏi: Trong câu lệnh FOR biến chỉ số thay đổi nh
thế nào?
- Nhng trong câu lệnh While thì biến chỉ số không
đợc thay đổi giá trị tự động mà phải có một câu
lệnh thay đổi giá trị của biến đếm
- Hỏi: Vậy, sau từ khóa DO có ít nhất mấy câu
lệnh?
- Hỏi: Theo cú pháp thì sau DO chỉ có một câu lệnh
nào đó của Pascal, muốn thực hiện ít nhất 2 câu
lệnh sau DO thì phải sử dụng câu lenẹh nào?
- Bỏ bi vào thùng đến khi nào đầy thùngthì dừng
- Sau từ khóa DO có ít nhất 2 câu lệnh,một câu lệnh cần lặp và một câu lệnhlàm thay đổi giá trị của biến đếm
- Để sau DO thực hiện đợc ít nhất 2 câulệnh thì sau DO là câu lệnh ghép, ghépcác câu lệnh này thành một câu lệnh
3 Hoạt động 3: Rèn luyện kỹ năng vận dụng câu lệnh lặp không biết trớc số lần lặp While
a Mục tiêu:
- Học sinh biết sử dụng đúng lệnh While để lập trình giải quyết giải các bài toán đơn giản
b Nội dung
Bài 1: Viết chơng trình tính tổng S=1+1/2+1/3+1/4+… đều sử dụng trình thông dịch.1/N+… đều sử dụng trình thông dịch cho đến khi 1/N<0.0001?
Bài 2: Viết chơng trình tìm ớc chung lớn nhất của hai số nguyên dơng a và b?
c Các bớc tiến hành
1 Chiếu nội dung bài 1 Mục tiêu là viết chơng
Điều kiện
Câu lệnh cần lặp
Trang 38- Yêu cầu học sinh viết chơng trình hoàn chỉnh
và gọi một học sinh lên bảng viết chơng trình
hoàn chỉnh, rồi nhận xét
- Chiếu lại bài toán 2 của tiết trớc: Viết chơng
trình tính tổng: S=1+1/2+… đều sử dụng trình thông dịch.+1/N Chúng ta có
thể sử dụng câu lệnh While - Do đợc không?
Nếu đợc thì điều kiện là gì?
- Vậy, trờng hợp lặp với số lần biết trớc là trờng
hợp đặc biệt của lặp không biết trớc số lần lặp
Mọi câu lệnh For - Do chúng ta đều có thể
chuyển về câu lenẹh While - Do đợc
- Hỏi: Chuyển từ câu lệnh FOR sang câu lệnh
WHILE nh thế nào?
2 Chiếu nội dung bài 2
- Hỏi: Thuật toán tìm ớc chung lớn nhất của 2 số
nguyên dơng a và b?
- Hỏi: Điều kiện lặp?
- Hỏi: Lệnh cần lặp?
- yêu cầu học snh viết chơng trình?
- Hỏi: Để giải quyết đợc các bài toán lặp cần chỉ
trả lời đợc hai câu hỏi nào?
- N:=N+1;
- Có thể sử dụng câu lệnh While - Do đợc, với
điều kiện là i<=N thì tính tổng
i:=1;
- While i<=N Do S:= S+1/i;
* Thuật toán:
- B1: Nhập a và b nguyên dơng;
- B2: Nếu a=b thì ucln=a, rồi kết thúc
- B3: Nếu a>b thì a:=a-b, rồi quay lại b2;
- B4: b:=b-a, rồi quay lại b2;
- Điều kiện lặp: a<>b
- Lệnh cần lặp là a:=a-b hoặc b:=b-a;
- Phai trả lời đợc hai câu hỏi:
+ Điều kiện lặp?
+ lệnh cần lặp?
IV Bài tập về nhà: Bài 4, 5b, 7, 8 - sgk - tr.51 + sbt - tr 18 - tr.29
Giáo án tin học 11 - 38 - Năm học 2013-20114
Trang 39Tiết 16
Bài tập câu lệnh lặp
Mục tiêu
1 Kiến thức
- Củng cố câu lệnh lặp For - Do và câu lệnh While - Do
- Biết vận dụng 2 câu lệnh lặp cho mỗi bài toán
- Biết cách thực hiện của máy ở cả lặp biết trớc số lần lặp và lặp không biết trớc số lần lặp
2 Kỹ năng
Bớc đầu sử dụng đợc lệnh While và câu lệnh FOR để lập trình giải quyết đợc một số bài toán đơngiản
II Đồ dùng dạy học
1 Chuẩn bị của giáo viên
Máy tính, máy chiếu, sách giáo khoa và sách giáo viên
2 Chuẩn bị của học sinh
Sách giáo khoa
III Hoạt động dạy - học
* Kiểm tra 15 phút - Thực hành
- Viết chơng trình thực hiện việc tính tổng S=1+ 22+32+… đều sử dụng trình thông dịch.+N2 ? Trong đó N đợc nhập từ bàn phím
1 Hoạt động 1 Ôn lại lý thuyết dạng lặp
For, To, Do: Từ khóa
Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con
Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hoặcbằng giá trị cuối
- Sự thực hiện của máy:
+ Bớc 1: Tính giá trị đầu, gán cho biến đếm
+ Bớc 2: kiểm tra, nếu biến đếm <= giá trị cuối thì
For, DownTo, Do: Từ khóa
Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con
Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hoặcbằng giá trị cuối
- Sự thực hiện của máy:
+ Bớc 1: Tính giá trị cuối, gán cho biến đếm
+ Bớc 2: kiểm tra, nếu biến đếm >=giá trị đầu thì
Thực hiện câu lệnh cần lặp,
Giảm biến đếm lên 1 đơn vị rồi quay lại Bớc 2
- Dạng lặp không biết trớc số lần lặp:
Cấu trúc:
While <điều kiện> Do <lệnh cần lặp>;
Trong đó: While, Do: Từ khóa
Điều kiện: Là biểu thức quan hệ hoặc biểu thức logic
Câu lệnh là một câu lệnh nào đó của Pascal
- Sự thực hiện của máy:
+ Bớc 1: Tính và kiểm tra điều kiện
+ Bớc 2: Nếu điều kiện đúng (có giá trị True) thì thực hiện câu lệnh cần lặp, rồi quay lại b ớc1 Nếusai thì thoát khỏi câu lệnh while - do
c Các b ớc tiến hành
Giáo án tin học 11 - 39 - Năm học 2013-20114
Trang 40TG Hoạt động của giáo viên Hoạt động của học sinh
5’ 1 Yêu cầu học sinh lại các
dạng cấu trúc lặp?
2 So sánh các dạng lặp?
- Chiếu hai chơng trình một
ch-ơng trình trình sử dụng lệnh
For và câu lệnh While
Giá trị đầu và giá trị cuối có
mối quan hệ nh thế nào với
+ While <điều kiện> Do <lệnh cần lặp>;
- Giống nhau: Đều là lệnh lặp
- Khác nhau: Dạng For - Do:
+ Lặp biết trớc số lần lặp, còn dạng While - Do: Lặp khôngbiết trớc số lần lặp
+ Trong câu lệnh For biến đếm tự động thay đổi giá trị, còntrong câu lệnh While phải có câu lệnh làm thay đổi giá trịbiến đếm
- Giá trị đầu và giá trị cuối phải có kiểu hợp với kiểu củabiếm đếm Thờng là kiểu số nguyên hoặc kiểu kí tự Giá trị
đầu pơhải nhỏ hơn hoạc bằng giá trị cuối
2 Hoạt động 2 Rèn luyện kĩ năng vận dụng tổ chức lặp
1 Tìm hiểu bài 1 và giải quyết
- Chiếu nội dung lên bảng
- Có thể khai triển biểu thức Y :
Y= 1/2+2/3+3/4+… đều sử dụng trình thông dịch.+50/51;
- Hỏi: Nhìn vào biểu thức triển khai của
Y, N có giá trị trong khoảng nào?
- Để giải bài toán này, sử dụng cấu trúc
rẽ nhánh hay lặp?
- Lặp biết trớc số lần lặp hay không?
- Lệnh cần lặp?
- Viết chơng trình giải quyết bài toán?
2 Tìm hiểu bài 2 và giải quyết
- Chiếu nội dung lên bảng
- ý tởng giải quyết bài toán?
- Có 2 cấu trúc lặp: For và While
2 Câu hỏi và bài tập về nhà
- Hãy thay câu lệnh dạng For sang dạng While trong bài 1
- Bài tập về nhà: Các bài tập chơng trình 3 trong sgk và sbt
Giáo án tin học 11 - 40 - Năm học 2013-20114