Tải bản đầy đủ (.doc) (90 trang)

Giáo án tin học 11 chuẩn không cần chỉnh 2012

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (847.66 KB, 90 trang )

Ngày giảng:
Tiết theo PPCT: 01

Chương I:
MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Bài 1 – KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I - MỤC TIÊU:
1. Kiến thức:
- Biết khái niệm về 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 biên dịch và thông dịch.
2. Kỹ năng:
- Chưa đòi hỏi kỹ năng gì.
3. Thái độ:
- Nghiêm túc trong học tập, say mê với môn học.
II - CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: SGK, SGV, Bài soạn.
2. Học sinh: SGK, vở ghi bài.
III - TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: (không)
3. Nội dung bài giảng:
Hoạt động của GV và HS
Nội dung
Hoạt động 1
1. Ngôn ngữ lập trình:
GV: Từ kiến thức lớp 10 em có thể
cho biết có những loại ngôn ngữ lập
• Khái niệm lập trình: là sử dụng
trình nào?
cấu trúc dữ liệu và các câu lệnh


HS1: Trả lời câu hỏi.
của ngôn ngữ lập trình cụ thể nào
HS2: Bổ sung (nếu có).
đó để mô tả dữ liệu và diễn đạt
GV: Kết luận; kể tên một số ngôn
các thao của thuật toán.
ngữ lập trình mà HS đã biết ở lớp
• Trong đó:
10.
- Câu lệnh diễn tả các thao tác trong các
GV: (nêu ví dụ) – Giả sử ta muốn gõ
bước của thuật toán;
được một trang văn bản (trong máy - Câu lệnh đơn thực hiện bước có một thao
tính thì ta cần dùng một phần mềm
tác;
cho phép gõ văn bản (như Microsoft - Câu lệnh cấu trúc thực hiện bước gồm dãy
Word chẳng hạn), tương tự như vậy
các thao tác.
để có được các chương trình ta phải
sử dụng các ngôn ngữ lập trình để
viết ra các chương trình đó. Người ta
gọi đó là lập trình.
GV: Vậy lập trình là gì?
HS: trả lời câu hỏi.
GV: nhận xét, kết luận.
Hoạt động 2
2. Chương trình dịch:
GV: ở lớp 10 chúng ta đã biết thế
nào là ngôn ngữ máy, ngôn ngữ bậc
cao. Vậy em hãy cho biết ngôn ngữ

máy và ngôn ngữ bậc cao khác nhau
như thế nào?
HS: Trả lời.
- Có chức năng chuyển đổi CT được viết

Giáo án Tin học 11

1


GV: Nhận xét, kết luận.
GV: Vì lý do như vậy cho nên muốn
máy tính thực hiện được các ngôn
ngữ lập trình bậc cao người ta phải
xây dựng một chương trình dùng để
chuyển đổi, chương trình đó gọi là
chương trình dịch
Hoạt động 3
GV: Hướng dẫn HS đọc ví dụ (SGK
– Tr.4).
GV: Từ ví dụ trên em hãy cho biết
thông dịch là gì, biên dịch là gì?
HS: trả lời.
GV: nhận xét, kết luận
GV: Như vậy sau khi có được khái
niệm thông dịch và biên dịch ta cần
chú ý: thông dịch không có CT đích
để lưu trữ và biên dịch cả chương
trình nguồn và CT đích có thể lưu
trữ để sử dụng về sau.


bằng ngôn ngữ LT bậc cao thành CT thực
hiện được trên máy tính;
- CT dịch nhận đầu vào là CT viết bằng
NNLT bậc cao (CT nguồn), thực hiện
chuyển đổi sang NN máy.
CT nguồn  CT dịch  CT đích
a) Thông dịch: (interpreter)
- Kiểm tra tính đúng đắn của câu lệnh tiếp
theo trong CT nguồn;
- Chuyển đổi câu lệnh đó thành một hay
nhiều câu lệnh tương ứng trong NN máy;
- Thực hiện các câu lệnh vừu chuyển đổi
được.
b) Biên dịch: (compiler)
- Duyệt, phát hiện lỗi, kiểm tra tính đúng
đắn của các câu lệnh trong CT nguồn;
- Dịch toàn bộ CT nguồn thành CT đích có
thể thực hiện trên máy và lưu trữ để sử
dụng khi cần thiết.

4. CỦNG CỐ:
- Hãy tóm tắt lại các kiến thức đã học trong bài?
- Nêu KN NNLT? Chương trình dịch? Phân biệt thông dịch và biên dịch?
5. DẶN DÒ:
- Trả lời các câu hỏi: 1 3 (SGK Tr.13).
- Đọc bài đọc thêm 1: Bạn biết gì về ngôn ngữ lập trình (SGK – Tr.6).
-------------------------------------------Ngày giảng:
Tiết theo PPCT: 02


Bài 2 – CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I – MỤC TIÊU:
1. Kiến thức:
- 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;
- Biết các thành phần cơ sở của một ngôn ngữ lập trình bậc cao cụ thể: Bảng chữ cái,
tên, tên chuẩn, tên riêng (từ khóa), hằng và biến
2. Kỹ năng:
- Phân biệt được Tên, Hằng và Biến. Biết đặt tên đúng
3. Thái độ:
- Nghiêm túc trong học tập, say mê với môn học.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ:

Giáo án Tin học 11

2


Em hãy cho biết chương trình dịch là gì? Tại sao cần phải có chương trình
dịch?
3. Nội dung bài mới:
Hoạt động của GV và HS
Nội dung
Hoạt động 1
1. Các thành phần cơ bản:

GV: Mỗi NNLT có 3 thành phần cơ
bản là: bảng chữ cái, cú pháp và
ngữ nghĩa.
GV: Để hiểu rõ chúng ta đi vào từng
thành phần cụ thể.
a) Bảng chữ cái: là tập các ký tự để viết
GV: Trước tiên ta tìm hiểu bảng chữ
chương trình.
cái. Bảng chữ cái bao gồm: các chữ
cái (tiếng Anh), các chữ số và các ký
tự đặc biệt.
GV: Em hãy đọc SGK (Tr.9) và cho
biết các thành phần cụ thể của bảng
chữ cái?
* Các chữ cái thường và các chữ cái in hoa
HS: đọc SGK; trả lời câu hỏi.
của bảng chữ cái tiếng Anh.
GV: Nhận xét, kết luận.
a b c d e f g h…
A B C D E F G H…
* 10 chữ số thập phân ả Rập:
0123456789
* Các ký tự đặc biệt:
+ - * / = < > [ ]. , ; # ^ $ @ () { }: ‘ _ và dấu
cách.
b) Cú pháp: là bộ quy tắc để viết chương trình.
Dựa vào chúng, người lập trình và CT dịch biết
được tổ hợp nào của các ký tự trong bảng chữ
cái là hợp lệ và tổ hợp nào là không hợp lệ.
Nhờ đó có thể mô tả chính xác thuật toán để

máy thực hiệ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 ký tự dựa vào
Tóm lại: Cú pháp cho biết cách viết ngữ cảnh của nó.
một CT hợp lệ, còn ngữ nghĩa xác
định ý nghĩa của các tổ hợp ký tự
trong CT. Các lỗi cú pháp được CT
dịch phát hiện và thông báo cho
người lập trình biết. Chỉ có các CT
không còn lỗi cú pháp mới có thể
được dịch sang NN máy.
Hoạt động 2
2. Một số khái niệm:
GV: Khi chúng ta được sinh ra, để
a) Tên:
phân biệt được mỗi người đều được
Ví dụ: Trong ngôn ngữ Pascal:
đặt tên. Tương tự như vậy, mỗi đối - Các tên đúng:
tượng trong CT đều phải được đặt A
tên theo quy tắc của NNLT và CT GiU21
dịch cụ thể.
_3097
….
- Các tên sai:

Giáo án Tin học 11

3



S KD
5yp
c$GH


GV: Từ ví dụ trên kết hợp với đọc
SGK – Tr. 10 em hãy cho biết cách
đặt tên một dãy trong Pascal?
HS: đọc SGK, trả lời câu hỏi.
GV: Nhận xét, kết luận.
* Cách đặt tên cho một dãy trong Turbo
Pascal:
- Không quá 127 ký tự.
- Gồm: chữ số, chữ cái hoặc dấu gạch dưới.
- Bắt đầu bằng chữ cái hặc dấu gạch dưới.
GV: Nhiều ngôn ngữ LT, trong đó
• Tên dành riêng:
có Pascal, phân làm 3 loại tên.
VD: trong Pascal: program; uses, const, type,
var, begin…
KN: tên dành riêng là tên được NNLT dùng
với ý nghĩa riêng xác định, người lập trình
không được sử dụng với ý nghĩa khác.
• Tên chuẩn:
VD: trong Pascal: abs, aqr, byte, real, longint...
KN: tên chuẩn là tên được NNLT dùng với ý
nghĩa nhất định nào đó, người lập trình có thể
khai báo và sử dụng chúng với ý nghĩa và mục
đích khác.
• Tên do người LT đặt:

VD: A, B, Delta, vi_du, x,…
KN: Tên do người LT đặt được dùng với ý
nghĩa riêng, xác định bằng cách 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.
Hoạt động 3
b) Hằng và biến:
GV: Em hãy cho biết em hiểu thế
• Hằng:
nào là hằng? Theo em hằng ở đây có
giống với hằng trong toán không?
HS: Trả lời câu hỏi.
GV: Kết luận.
KN: Hằng là đại lượng có giá trị không đổi
trong quá trình thực hiện CT.
GV: Trong các NNLT hằng thường - Hằng số học: là các số nguyên hay thực.
có 3 loại.
VD: 2
0
-7
1.5
+34.9
- Hằng logic: là các giá trị đúng hoặc sai
(true hoặc false).
- Hằng xâu: là chuỗi ký tự trong bộ mã
ASCII. Khi viết, chuỗi ký tự này được đặt
trong dấu nháy.
VD: Trong Turbo Pascal: ‘KHOI 11’…
• Biến:
Biến là đại lượng được đặt tên, dùng để lưu trữ

giá trị và giá trị có thể được thay đổi trong quá
trình thực hiện CT.
c) Chú thích:
SGK – Tr.13
4. CỦNG CỐ:

Giáo án Tin học 11

4


Nhắc lại:
- Bảng chữ cái.
- Cú pháp.
- Tên, cách đặt tên.
- Hằng và biến.
5. DẶN DÒ:
- Học bài cũ.
- Đọc lại bài trong SGK.
- Trả lời các câu hỏi sau bài học (SGK – Tr.13).
-----------------------------------------------Ngày giảng:
Tiết theo PPCT: 03
BÀI TẬP
I – MỤC TIÊU:
1. Kiến thức:
- Ôn tập lại các kiến thức đã học trong tiết 1 và 2;
- Nắm chắc hơn các khái niệm: CT dịch; trình biên dịch; trình thông dịch; tên dành
riêng…
2. Kỹ năng:
- Biết cách đặt tên trong TP;

- Nhận biết được tên đúng, sai trong Pascal.
3. Thái độ:
- Nghiêm túc trong học tập, say mê môn học; rèn luyện tính cẩn thận sáng tạo trong
lập trình.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK, học bài cũ ở nhà.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ:
Em hãy cho biết hằng là gì? Thường có các loại hằng nào?
3. Nội dung bài mới:
Hoạt động của GV và HS
Nội dung
Hoạt động 1: (Cho HS làm các câu Câu 1:
hỏi trong SGK – Tr.13)
- Ngôn ngữ bậc cao gần với ngôn ngữ tự
GV: (Câu 1) – Tại sao người ta phải
nhiên hơn, thuận tiện cho đông đảo người
xây dựng các NNLT bậc cao?
lập trình;
HS1: Trả lời câu hỏi.
- CT viết bằng ngôn ngữ bậc cao nói chung
HS2: Nhận xét, bổ sung (nếu có).
không phụ thuộc vào phần cứng máy tính
GV: Nhận xét, kết luận.
và một CT có thể thực hiện trên nhiều loại
máy tính khác nhau;
- CT viết bằng NN bậc cao dễ hiểu, dễ hiệu
chỉnh và dễ nâng cấp;

- NN bậc cao cho phép làm việc với nhiều
kiểu dữ liệu và cách tổ chức dữ liệu đa
GV: (Câu 2) – CT dịch là gì? Tại sao
dạng, thuận lợi cho mô tả thuật toán.
phải có CT dịch? Em hãy cho biết Câu 2:
Input và Output của CT dịch?
- CT dịch là CT đặc biệt, có chức năng

Giáo án Tin học 11

5


HS: Tìm hiểu, trả lời câu hỏi.
chuyển đổi CT được viết trên ngôn ngữ LT
GV: Kết luận.
bậc cao thành CT thực hiện được trên máy
GV: (Câu 3) – Biên dịch và thông
tính cụ thể.
dịch khác nhau như thế nào?
- Input: CT nguồn; Output: CT đích.
HS1: Trả lời câu hỏi.
Câu 3:
HS2: Nhận xét, bổ sung (nếu có).
- Trình biên dịch duyệt, kiểm tra, phát hiện
GV: Nhận xét, kết luận.
lỗi, xác định CT nguồn có dịch được
không, dịch toàn bộ CT nguồn thành một
CT đích có thể thực hiện được trên máy
tính cụ thể và có thể lưu lại để sử dụng về

sau khi cần thiết.
- Trình thông dịch lần lượt dịch từng câu
GV: (Câu 4) – Hãy cho biết các điểm
lệnh ra ngôn ngữ máy rồi thực hiện ngay
khác nhau giữa tên dành riêng và tên
câu lệnh vừa dịch được hoặc báo lỗi nếu
chuẩn?
không dịch được.
HS1: Trả lời câu hỏi.
Câu 4:
HS2: Nhận xét, bổ sung (nếu có).
Tên dành riêng không được dùng khác với ý
GV: Nhận xét, kết luận.
nghĩa đã xác định, tên chuẩn có thể dùng với ý
GV: (Câu 5) – Hãy viết ra 3 tên đúng nghĩa khác.
theo quy tắc của Pascal?
HS1: Lên bảng làm bài.
HS2: Nhận xét.
Câu 5:
GV: Kết luận.
ABC_EHJ
GV: (Câu 6) – Hãy cho biết những _edrgrgrm
biểu diễn nào sau đây không phải là TIN_HOC10
biểu diễn hằng trong Pascal?
HS1, HS2: Lên bảng làm.
Câu 6:
HS3: nhận xét.
c) 6,25 – dấu phảy phải thay bằng dấu chấm.
GV: Kết luận.
e) A20 – tên chưa rõ giá trị.

h) ‘C – sai quy định về hằng xâu: thiếu nháy
đơn ở cuối.
Hoạt động 2:
Hãy chọn đáp câu trả lời mà em cho là đúng nhất
1. Chương trình viết bằng NN bậc cao không có đặc điểm nào trong các đặc điểm
sau?
A. Không phụ thuộc vào loại máy, CT có thể thực hiện trên nhiều loại máy.
B. Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp.
C. Kiểu dữ liệu vàd cách tổ chức dữ liệu đa dạng.
D. Máy tính có thể hiểu và thực hiện trực tiếp CT này.
2. CT dịch không có khả năng nào trong các khả năng sau?
A. Phát hiện được lỗi ngữ nghĩa.
B. Phát hiện được lỗi cú pháp.
C. Thông báo lỗi cú pháp.
D. Tạo được CT đích.
3. Hãy chỉ ra tên sai (trong Pascal) trong các tên sau:
A. TinHoc
B. 3vi_du
C. ABGHDJ
D. NGAY_MAI

Giáo án Tin học 11

6


4. CỦNG CỐ:
Nhắc lại:
- Bảng chữ cái.
- Cú pháp.

- Tên, cách đặt tên.
- Hằng và biến.
5. DẶN DÒ:
- Đọc lại các câu hỏi và trả lời trong giờ bài tập.
- Đọc bài đọc thêm 2 (SGK – Tr.14).
- Đọc trước bài: Cấu trúc chương trình – SGK Tr.17.
----------------------------------------------Ngày giảng:
Tiết theo PPCT: 04

Chương II: CHƯƠNG TRÌNH ĐƠN GIẢN
Bài 3 – CẤU TRÚC CHƯƠNG TRÌNH
I – MỤC TIÊU:
1. Kiến thức:
- Hiểu CT là sự mô tả của thuật toán bằng một NNLT;
- Biết cấu trúc của một chương trình: 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.
3. Thái độ:
- Nghiêm túc và say mê môn học, sáng tạo trong lập trình.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: (không)
3. Nội dung bài mới:
Hoạt động của GV và HS
Nội dung
GV: Cả lớp mở SGK (Tr.18) đọc và
1. Cấu trúc chung:

cho biết cấu trúc chung của CT gồm
mấy phần? Đó là những phần nào?
Cấu trúc của một CT có thể được mô tả như
HS: Nghiên cứu SGK.
sau:
Trả lời câu hỏi.
[]
GV: Kết luận.

Chú ý: Các diễn giải bằng ngôn ngữ tự
nhiên được đặt giữa cập dấu < và >, các
thành phần của CT có thể có hoặc không có
được đặt trong cặp dấu [ và ]
2. Các thành phần của chương trình.
a) Phần khai báo:
GV: Các em hãy quan sát ví dụ sau
• Khai báo tên CT: có thể có hoặc
và cho biết cú pháp của câu lệnh
không.
khai báo tên chương trình.
Ví dụ: trong Pascal
HS: Trả lời.
Program Vi_du1;
Program giai_phuong_trinh_bac2;
Với Pascal phần khai báo tên CT như sau:

Giáo án Tin học 11

7



GV: Kết luận.
GV: Thường ngày chúng ta muốn
làm một công việc nào đó mà không
có dụng cụ để làm thì ta phải mượn
trước. Trong lập trình cũng tương tự
như vậy, ta muốn thực hiện một
công việc nào đó thì đó ta phải khai
báo thành phần đó trước.
GV: Trước tiên là khai báo thư viện.

GV: Đưa ra ví dụ.
GV: Tại sao lại phải khai báo biến?
Nếu không khai báo biến thì trong
CT ta có thể sử dụng được biến đó
không?
HS: Đọc SGK, trả lời.
GV: Kết luận.
GV: Các em hãy quan sát đoạn thân
CT trong Pascal sau và cho biết thân
CT được quy định như thế nào.
HS: Quan sát.
Trả lời.

GV: Kết luận.

GV: Các em hãy quan sát ví dụ
HS: Quan sát.
4. CỦNG CỐ:
Nhắc lại:


Giáo án Tin học 11

Program <tên chương trình>;

-

• Khai báo thư viện: muốn sử dụng
thư viện nào thì ta cần phải khai
báo thư viện đó trước.
Ví dụ:
+ Trong Pascal: uses crt;
+ Trong C++: #include <stdio.h>
#include <conio.h>

• Khai báo hằng:
- Ví dụ:
+ Trong Pascal:
const Max=300;
pi=3.14;
N=20;
+ Trong C++:
const int Max=400;
const float pi=3.14;
……
Khai báo hằng thường được sử dụng cho
những giá trị xuất hiện nhiều lần tronbg
CT.
• Khai báo biến:
- Ví dụ: khi khảo sát PT đường thẳng

ax+by+c=0, các hệ số a, b, c có thể được
khai báo như những biến đơn.
- Tất cả các biến dùng trong CTY đều phải
đặt tên và phải khai báo cho CT dịch biết
để lưu trữ và xử lý. Biến chỉ nhận một giá
trị tại mỗi thời điểm thực hiện CT được gọi
là biến đơn.
b) Phần thân chương trình.
- Ví dụ 1:
Begin
Write(‘Nhap A, B);
Readln(A,B);
C:=A+B;
Write(C);
End.
Trong Pascal:
Begin
[<dãy lệnh>];
End.
3. Ví dụ chương trình đơn giản.
SGK – Tr.20.

8


- Xác định cấu trúc chương trình.
- Khái báo hằng.
- Khai báo biến.
5. DẶN DÒ:
- Học bài cũ.

- Đọc lại bài trong SGK, làm các bài tập trong SBT
- Đọc trước bài 4 – Một số kiểu dữ liệu chuẩn.
--------------------------------------------Ngày giảng:
Tiết theo PPCT: 05

Bài 4 – MỘT SỐ KIỂU DỮ LIỆU CHUẨN
Bài 5 – KHAI BÁO BIẾN
I – MỤC TIÊU:
1. Kiến thức:
- Biết một số kiểu dữ liệu chuẩn: nguyên, thực, ký tự, logic;
- Hiểu cách khai báo biến.
2. Kỹ năng:
- Xác định được kiểu cần khai báo của dữ liệu đơn giản;
- Biết cách khai báo biến đúng.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
- Giáo viên: Bài soạn, SGK, SGV.
- Học sinh: vở ghi bài, SGK.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: Em hãy choi biết sự khác nhau giữa hằng và biến? Tại sao phải
khai báo biến?
3. Nội dung bài mới:
Hoạt động của GV và HS
Nội dung kiến thức
GV: ở CT lớp 10 chúng ta đã có Bài 4. Một số kiểu dữ liệu chuẩn
khái niệm dữ liệu, vậy em hãy nhắc
lại khái niệm dữ liệu là gì?
HS: Trả lời.
GV: Kết luận.
Dữ liệu là thông tin đã mã hoá trong máy tính.

1. Kiểu nguyên.
GV: Trong toán học chúng ta đã
biết thế nào là số nguyên. Vậy dựa
vào kiến thức đó em có thể cho biết
thế nào là kiểu nguyên?
HS: Trả lời.
Các kiểu nguyên được lưu trữ và kết quả
GV: Nhận xét, kết luận.
tính toán là số đúng, nhưng có hạn chế về
miền giá trị. Tập số nguyên là vô hạn và có
thứ tự, đếm được nhưng trong máy tính thì
kiểu nguyên là hữu hạn, có thứ tự.
GV: Chúng ta mở SGK – Tr.21 để
Kiểu
Bộ nhớ
Phạm vi giá trị
biết miền giá trị trị của kiểu nguyên.
lưu trữ
một giá
trị
byte
1 byte
Từ 1 đến 255

Giáo án Tin học 11

9


GV: Em hiểu thế nào là số thực?

HS: Trả lời.
GV: Nhận xét.
GV: Chúng ta hãy xem SGK –
Tr.21 để hiểu thế nào là kiểu thực
và miền giá trị của kiểu thực.

GV: Em hãy đọc SGK – Tr.22 và
cho biết em hiểu thế nào là kiểu ký
tự? Khi nào thì dùng kiểu ký tự?
HS:
- Đọc SGK.
- Trả lời câu hỏi.
GV: Kết luận.

GV: Lấy một ví dụ về kiểu logic.

Integer 2 byte
Từ –215 đến 215 – 1
Word 2 byte
Từ 0 đến 216 – 1
longint 4 byte
Từ – 231 đến 231 – 1
2. Kiểu thực.
Các kiểu thực được lưu trữ và kết quả tính
toán chỉ là gần đúng với sai số không đáng
kể (so với yêu cầu tính toán của các bài toán
thông thường), nhưng miền giá trị được mở
rộng hơn so với kiểu nguyên. Số thực trong
máy tính là hữu hạn.
Kiểu

Bộ nhớ
Phạm vi giá trị
lưu trữ
một giá trị
Real
6 byte
0 hoặc có giá trị
tuyệt đối nằm
trong phạm vi từ
10-38 đến 1038
extended 10 byte
0 hoặc có giá trị
tuyệt đối nằm
trong phạm vi từ
10-4932 đến 104932
3. Kiểu ký tự.
Kiểu ký tự có tập giá trị là các ký tự trong
bảng mã ASCII, được dùng khi thông tin là
các ký tự, xâu (string). Kiểu ký tự cũng là
kiểu có thứ tự, đếm được. Việc so sánh các
ký tự được thực hiện bằng cách so sánh các
mã ASCII của chúng.
Kiểu Bộ nhớ lưu
Phạm vi giá trị
trữ một giá
trị
Char
1 byte
256 ký tự trong bộ
mã ASCII

4. Kiểu logic.
Kiểu logic trong Pascal chỉ có hai giá trị
đúng (true) hoặc sai (false), được dùng khi
kiểm tra điều kiện hay tìm giá trị của một
biểu thức logic.
Kiểu
Bộ nhớ
Phạm vi giá trị
lưu trữ
một giá trị
Boolean 1 byte
true hoặc false
Bài 5. Khai báo biến

GV: chúng ta hãy mở sgk – tr.22 và
cùng nhau xét các ví dụ 1 và 2.
gv: viết ví dụ lên bảng.
GV: kết luận, đó là một số ví dụ về
khai báo biến trong pascal. vậy em

Giáo án Tin học 11

10


có thể đưa ra cú pháp để khai báo
biến?
HS: trả lời câu hỏi.
Trong Pascal, khai báo biến có dạng:
GV: kết luận.

Var <danh sách biến>:<kiểu dữ liệu>;
Trong đó:
- danh sách biến là một hoặc nhiều tên biến,
các tên biến được viết cách nhau bởi dấu
phảy.
- kiểu dữ liệu thường là một trong các kiểu
dữ liệu chuẩn hoặc kiểu dữ liệu do người
lập trình định nghĩa.
- Sau từ khoá var có thể khai báo nhiều danh
sách biến khác nhau, tức là cấu trúc:
<danh sách biến>:<kiểu dữ liệu>;
4 – CỦNG CỐ:
Nhắc lại các kiểu dữ liệu
- Kiểu nguyên.
- Kiểu thực.
- Kiểu ký tự.
- Kiểu logic
- Cách khai báo biến
5 – DẶN DÒ:
- Học bài cũ.
- Trả lời câu hỏi trong SGK – Tr.35
--------------------------------------------Ngày giảng:
Tiết theo PPCT: 06

Bài 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 khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức
quan hệ;

- Hiểu lệnh gán;
- Biết các lênh vào ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra
màn hình.
2. Kỹ năng:
- Viết được lênh gán;
- Viết được các biểu thức số học và logic với các phép toán thông dụng;
- Viết được một số lênh vào ra đơn giản.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
- Giáo viên: Bài soạn, SGK, SGV.
- Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: Em hãy trình bày cách khai báo biến? Cho ví dụ

Giáo án Tin học 11

11


3. Nội dung bài mới:
Hoạt động của GV và HS
GV: Tượng tự như trong toán học,
trong các ngôn ngữ lập trình đều có
các phép toán số học như: cộng,
trừ, nhân, chia, các phép toán chia
lấy phần nguyên và chia lấy phần
dư, các phép toán quan hệ…
GV: Các em hãy quan sát bảng
(SGK – Tr.24) để thấy được các
phép toán trong toán học đó ứng

với trong Pascal thì dùng như thế
nào.
GV: Giải thích một số phép toán
mới như: div, mod, not, and, or.
GV: Hãy đọc SGK – Tr.25 và quan
sát các ví dụ sau rồi hãy cho biết
em hiểu thế nào là biểu thức số
học?
HS: Đọc SGK, trả lời câu hỏi.
GV: Kết luận.

Nội dung kiến thức
1. Phép toán.

(Đưa ra bảng các phép toán trong toán học
và trong Pascal)

2. Biểu thức số học.
Ví dụ:
(a + b)*(z – 4)/(x + y)
5*a + 6*b
-

GV: Lấy ví dụ

Giáo án Tin học 11

Biểu thức số học là một biến kiểu số hoặc
một hằng số hoặc các biến kiểu số và hằng
số liên kết với nhau bởi một số hữu hạn

phép toán số học.
- Viết biểu thức toán số học trong lập trình
tuân theo quy tắc sau:
+ Chỉ dùng cặp ngoặc tròn để xác định trình
tự thực hiện phép toán trong trường hợp cần
thiết;
+ Viết lần lượt từ trái sang phải;
+ Không được bỏ qua dấu nhân (*) trong
tích;
- Các phép toán được thực hiện theo trình tự:
+ Thực hiện các phép toán trong ngoặc
trước;
Trong dãy các phép toán không chứa ngoặc
thì thực hiện từ trái sang phải theo thứ tự
các phép toán: *, /, div, mod, +, -.
3. Hàm số học chuẩn.
Ví dụ: Để tính nghiệm của PT bậc 2
x:= (- b + sqrt(delta))/(2*a);
Để lập trình được dễ dàng, thuận tiện hơn
các NNLT đều có thư viện chứa một số
chương trình tính giá trị những hàm toán học
thường dùng. Các chương trình như vậy gọ
là các hàm số học chuẩn.
Bảng hàm số học chuẩn – SGK Tr.26.
4. Biểu thức quan hệ.
Ví dụ:

12



GV: Từ các ví dụ trên kết hợp với
SGK – Tr.27 em hãy cho biết khái
niệm biểu thức quan hệ?
HS: Trả lời câu hỏi.
GV: Kết luận.

GV: Các em cần biết lênh gán là
một trong những lệnh cơ bản nhất
của các ngôn ngữ lập trình.
GV: Trình bày ví dụ.

1) 2*y = 6 - x
Ta nói biểu thức (2*y) liên kết với
biểu thức (6 – x) bằng phép toán quan
hệ “=”.
2) y < 10
(Tương tự như ví dụ 1)
• Khái niệm:
Biểu thức quan hệ là biểu thức được
tạo thành bởi 2 biểu thức cùng kiểu
liên kết với nhau bởi phép toán quan
hệ.
5. Biểu thức logic.
Ví dụ:
1) not(x > 1) là một biểu thức logic.
2) (x>=2)and(x<=8)
Biểu thức logic đơn giản là biến logic hoặc
hằng logic.
Biểu thức logic là các biểu thức logic đơn
giản, các biểu thức quan hệ liên kết với nhau

bởi phép toán logic.
Giá trị của biểu thức logic là true hoặc false.
Phép toán not dược viết trước biểu thức cần
phủ định.
Các phép toán or và and dùng để liên kết
nhiều biểu thức logic hoặc quan hệ thành
một biểu thức.
6. Câu lệnh gán.
Ví dụ:
x:= - b/(2*a);
x:= x-7;
……
Trong Pasacl câu lệnh gán có dạng:
<Tên biến>:= <biểu thức>;
Chức năng của câu lênh gán là: đặt cho
biến có tên ở vế trái dấu “:=” giá trị mới
bằng giá trị của biểu thức ở vế phải.

4. CỦNG CỐ:
Nhắc lại:
- Các phép toán;
- Các biểu thức;
- Câu lệnh gán
5. DẶN DÒ:
- Học bài cũ;
- Trả lời và làm bài tập trong SGK – Tr.35;

Giáo án Tin học 11

13



Ngày giảng:
Tiết theo PPCT: 07

Bài 7 – CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN
GIẢN
Bài 8 – SOẠN THẢO, DỊCH, THỰC HIỆN VÀ
HIỆU CHỈNH CHƯƠNG TRÌNH.
I – MỤC TIÊU:
1. Kiến thức:
- Biết các lênh vào, ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra
màn hình;
- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;
- Biết một số công cụ của môi trường Turbo Pascal.
2. Kỹ năng:
- Viết được một số lệnh vào ra đơn giản;
- Bước đầu sử dụng được CT dịch để phát hiện lỗi.
3. Thái độ:
- Nghiêm túc, hăng hái phát biểu xây dựng bài
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: Em hãy viết các biểu thức sau dưới dạng các biểu thức trong
Turbo Pascal:
(cx + d)(x2 – 9)/2y
và hãy cho biết biểu thức trên được thực hiện như thế nào?
3. Nội dung bài mới:

Hoạt động của GV và HS
Nội dung kiến thức
GV: Sử dụng thủ tục chuẩn vào/ra Bài 7 – Các thủ tục chuẩn vào/ra đơn giản
đơn giản là công việc thường xuyên Ví dụ 1: Để in ra màn hình dòng thông báo
gặp khi lập trình.
“XIN CHAO CAC BAN” ta sử dụng câu lệnh
GV: Ví dụ 1 và 2 là các ví dụ sử sau:
dụng các thủ tục chuẩn vào/ra đơn
Write(‘XIN CHAO CAC BAN’);
giản.
Ví dụ 2: Để nhập các giá trị a, b, c của phương
GV: Vậy qua 2 ví dụ trên kết hợp trình bậc 2: ax2 + bx + c = 0 vào từ bàn phím ta
đọc SGK – Tr.29 em hãy cho biết sử dụng câu lệnh sau:
thế nào là các thủ tục vào/ra đơn
Readln(a,b,c);
giản?
HS: Trả lời.
GV: Nhận xét, kết luận.
Các thủ tục vào/ra đơn giản là các chương
trình đưa dữ liệu vào từ bàn phím hoặc từ đĩa
vào gán cho các biến và các chương trình
dùng để đưa các kết quả ra màn hình, in ra
GV: Trong phần này, ta sẽ xét các giấy hoặc lưu trên đĩa.
thủ tục chuẩn vào/ra đơn giản của
Pascal để nhập dữ liệu vào từ bàn

Giáo án Tin học 11

14



phím và đưa thông tin ra màn hình.
GV: Các em hãy quan sát ví dụ trên
kết hợp với đọc SGK – Tr.29 và
cho biết thủ tục để nhập dữ liệu vào
từ bàn phím?
HS: Đọc SGK, trả lời câu hỏi.
GV: Nhận xét, kết luận.

1. Nhập dữ liệu vào từ bàn phím
Ví dụ: để nhập các giá trị a, b của phương
trình ax + b = 0 ta sử dụng câu lệnh sau:
Readln(a,b);
Hoặc:
Readln(a);
Readln(b);
Nhập dữ liệu vào từ bàn phím được thực
hiện bằng thủ tục chuẩn:
Read(<danh sách biến vào>);
Hoặc
Readln(<danh sách biến vào>);

GV Giải thích:
Khi gặp câu lệnh real (hoặc readln),
CT sẽ chờ người dùng nhập giá trị
cho danh sách biến và nhấn Enter thì
việc nhập giá trị cho danh sách biến
mới kết thúc và lệnh tiếp theo được Chú ý:
thực hiện.
Việc nhập giá trị cho danh sách biến phải chú

ý các giá trị được nhập có kiểu tương ứng với
các biến trong danh sách; giữa hai giá trị liên
tiếp phải nhấn phím Space hoặc phím Enter.
Việc nhập giá trị của biến từ bàn phím được
kết thúc bởi việc nhấn phím Enter nên không
phân biệt read và readln. Do đó khi nhập từ
bàn phím nên dùng readln.
2. Đưa dữ liệu ra màn hình
GV: Các em hãy quan sát ví dụ sau
Ví dụ: Để nhập giá trị cho a, b của PT bậc
kết hợp với đọc SGK – Tr.30 và cho
nhất ax + b = 0 ta thường dùng cặp thủ tục:
biết thủ tục chuẩn để đưa dữ liệu ra
Write(‘Hay nhap gia tri a, b=’);
màn hình?
Readln(a,b);
HS:
Khi thực hiện các lệnh này, trên màn hình
- Quan sát.
xuất hiện dòng thông báo:
- Đọc SGK.
Hay nhap gia tri a, b=
- Trả lời câu hỏi.
GV: Nhận xét, kết luận
Để đưa dữ liệu ra màn hình Pascal cung
cáp thủ tục chuẩn:
write(<danh sách kết quả ra>);
hoặc:
writeln(<danh sách kết quả ra>);
Trong đó: danh sách KQ ra có thể là tên

biến đơn, biểu thức hoặc hằng
Chú ý: Với thủ tục write, sau khi đưa các
kết quả ra màn hình, con trỏ không chuyển
xuống dòng tiếp theo. Với thủ tục writeln,
sau khi đưa thông tin ra màn hình con trỏ
chuyển xuống đầu dòng tiếp theo.
GV: Lấy thêm các ví dụ, giải thích
các ví dụ trong SGK.
Bài 8– Soạn thảo, dịch, thực hiện và hiệu
GV: Để có thể thực hiện CT được chỉnh chương trình
viết bằng một ngôn ngữ lập trình, ta
a. Soạn thảo:
cần soạn thảo, sử dụng CT dịch để - Soạn thảo là gõ nội dung của CT gồm phần

Giáo án Tin học 11

15


dịch CT đó sang NN máy.
GV: Các em hãy tìm hiểu trong
SGK – Tr.32, 33 và cho biết thế nào
là soạn thảo, dịch, thực hiện CT.

khai báo và các lệnh trong thân CT.
- Lưu CT: Nhấn phím F2 -> đặt tên ->Enter.
b. Biên dịch CT:
- Nhấn tổ hợp phím Alt + F9.
- Nếu CT có lỗi cú pháp, phần mềm sẽ hiểu
thị một thông báo.

c. Chạy CT:
- Nhấn tổ hợp phím Alt + F9.
d. Đóng cửa sổ CT:
- Nhấn tổ hợp phím Alt + F3.
e. Thoát khỏi phần mềm:
- Nhấn tổ hợp phím Alt + X.

4. CỦNG CỐ:
Nhắc lại:
- Thủ tục chuẩn nhập dữ liệu vào từ bàn phím;
- Thủ tục in dữ liệu ra màn hình;
5. DẶN DÒ:
- Học bài cũ;
- Trả lời và làm bài tập trong SGK – Tr.35;
----------------------------------------------Ngày giảng:
Tiết theo PPCT: 08

BÀI TẬP VÀ THỰC HÀNH 1
I – MỤC TIÊU:
1. Kiến thức:
- Biết các lênh vào, ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra
màn hình;
- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;
- Biết một số công cụ của môi trường Turbo Pascal.
2. Kỹ năng:
- Viết được một số lệnh vào ra đơn giản;
- Bước đầu sử dụng được CT dịch để phát hiện lỗi.
3. Thái độ:
- Nghiêm túc trong quá trình thực hành.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: không
3. Nội dung thực hành:
Hoạt động của GV và HS
Nội dung kiến thức
GV: Hướng dẫn HS khởi động phần
a) Gõ chương trình:
mềm Pascal.
GV: Hướng dẫn HS gõ chương trình
Program Giai_PTB2;
2
giải PT bậc 2: ax + bx + c = 0
Uses crt;
HS: Gõ CT.
Var a, b, c, delta, x1, x2,: real;
GV: chú ý HS: khi chạy CT, tránh
Begin

Giáo án Tin học 11

16


nhập trị cho a, b, c để Delta < 0.

Clrscr;
Write(‘Nhap a, b, c =’);

Readln(a,b,c);
Delta:=b*b – 4*a*c;
x1: = (- b – sqrt(delta))/(2*a);
x2: = - b/a – x1;
write(‘x1 = ‘, x1, ‘x2 = ‘, x2);
readln;
End.
b) Nhấn phím F2 để lưu lại chương trình
với tên là PTB2.PAS lên đĩa.
c) Nhấn tổ hợp phím Alt + F9 để dịch và
sửa lỗi cú pháp (nếu có).
d) 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. Kết quả thu được: x1 = 1; x2 = 2.
e) Nhấn tổ hợp phím Ctrl + F9 rồi nhập
các giá trị 1; 0 và - 2. Kết quả thu
được: x1 = - 1.41; x2 = 1.41.
f) Sửa lại CT bằng cách thay đổi công
thức tính x2.
g) Thực hiện CT đã sửa với bộ dữ liệu 1;
-5 và 6. KQ: x1 = 2; x2 = 3.
h) Sửa lại CT sao cho không cần dùng
biến trung gian Delta. Thực hiện CT đã
sửa với bộ dữ liệu trên rồi quan sát KQ.
i) Thực hiện CT với bộ dữ liệu 1; 1; 1 và
quan sát KQ trên màn hình.

4 – CỦNG CỐ:
- Về nhà làm lại bài thực hành (nếu có điều kiện).
5 – BÀI VỀ NHÀ:

- Học bài cũ;
- Làm các bài tập trong SGK – Tr.35 vào vở bài tập;
-----------------------------------------------Ngày giảng:
Tiết theo PPCT: 09

BÀI TẬP VÀ THỰC HÀNH 1
(Tiếp)
I – MỤC TIÊU:
1. Kiến thức:
- Biết các lênh vào, ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra
màn hình;
- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;
- Biết một số công cụ của môi trường Turbo Pascal.
2. Kỹ năng:
- Viết được một số lệnh vào ra đơn giản;
- Bước đầu sử dụng được CT dịch để phát hiện lỗi.
3. Thái độ:

Giáo án Tin học 11

17


- Nghiêm túc trong quá trình thực hành.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: không

3. Nội dung thực hành:
Hoạt động của GV và HS
Nội dung kiến thức
GV: Hướng dẫn HS khởi động phần
j) Gõ chương trình:
mềm Pascal.
GV: Hướng dẫn HS gõ chương trình
Program Giai_PTB2;
giải PT bậc 2: ax2 + bx + c = 0
Uses crt;
HS: Gõ CT.
Var a, b, c, delta, x1, x2,: real;
GV: chú ý HS: khi chạy CT, tránh
Begin
nhập trị cho a, b, c để Delta < 0.
Clrscr;
Write(‘Nhap a, b, c =’);
Readln(a,b,c);
Delta:=b*b – 4*a*c;
x1: = (- b – sqrt(delta))/(2*a);
x2: = - b/a – x1;
write(‘x1 = ‘, x1, ‘x2 = ‘, x2);
readln;
End.
k) Nhấn phím F2 để lưu lại chương trình
với tên là PTB2.PAS lên đĩa.
l) Nhấn tổ hợp phím Alt + F9 để dịch và
sửa lỗi cú pháp (nếu có).
m) 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. Kết quả thu được: x1 = 1; x2 = 2.
n) Nhấn tổ hợp phím Ctrl + F9 rồi nhập
các giá trị 1; 0 và - 2. Kết quả thu
được: x1 = - 1.41; x2 = 1.41.
o) Sửa lại CT bằng cách thay đổi công
thức tính x2.
p) Thực hiện CT đã sửa với bộ dữ liệu 1;
-5 và 6. KQ: x1 = 2; x2 = 3.
q) Sửa lại CT sao cho không cần dùng
biến trung gian Delta. Thực hiện CT đã
sửa với bộ dữ liệu trên rồi quan sát KQ.
r) Thực hiện CT với bộ dữ liệu 1; 1; 1 và
quan sát KQ trên màn hình.
4 – CỦNG CỐ:
- Về nhà làm lại bài thực hành (nếu có điều kiện).
5 – BÀI VỀ NHÀ:
- Học bài cũ;
- Làm các bài tập trong SGK – Tr.35 vào vở bài tập;

Giáo án Tin học 11

18


Ngày giảng:
Tiết theo PPCT: 10

BÀI TẬP
I – MỤC TIÊU:
1. Kiến thức:

- Biết các lênh vào, ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra
màn hình;
- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;
- Biết một số công cụ của môi trường Turbo Pascal.
2. Kỹ năng:
- Viết được một số lệnh vào ra đơn giản;
- Bước đầu sử dụng được CT dịch để phát hiện lỗi.
3. Thái độ:
- Nghiêm túc trong quá trình thực hành.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: không
3. Nội dung :
Hoạt động của GV và HS
Nội dung kiến thức
GV: Yêu cầu HS trả lời các câu hỏi Câu 6:
từ 1 đến 5 trong SGK Tr.35 (thay A: = (1+z)*((x+y/z)/(a – 1/(1 + x*x*x)))
cho kiểm tra miệng đầu giờ).
Câu 8:
Qua hình vẽ ta có:
((y < 1) hoặc (y = 1)) và ((y > abs(x)) hoặc
(y=abs(x)))
Hay ta có thể viết:
(y <=1) and (y >=abs(x))
GV: Chúng ta hãy qaun sát kỹ hình
vẽ xem phần gạch chéo và phần
Câu 9:

trắng có tỷ lệ như thế nào?
HS:
- Quan sát.
- Trả lời.
GV: Kết luận.
Ta thấy diện tích phần gạch bằng với diện tích
phần trắng, tức là diện tích phàn gạch bằng ẵ
GV: Từ đó chúng ta cùng viết CT diện tích hình tròn tâm O(0, 0) bán kính a.
Chương trình:
cho bài toán này.
GV: Chú ý HS là “Pi” là một hằng số Var a: real;
Begin
trong Pascal và Pi = 3.1415926536
Write(‘Nhap gia tri a (a>0):’);
Readln(a);
Write(‘Dien tich phan gach la:’,

Giáo án Tin học 11

19


GV: Yêu cầu HS trả lời câu hỏi
HS:
- Suy nghĩ.
- Trả lời.

a*a*pi/2:20:4);
Readln;
End.

Câu 10:
Uses crt;
Const g = 9.8;
Var v, h: real;
Begin
Clrscr;
Write(‘Nhap do cao cua vat h =’);
Readln(h);
v: = sqrt(2*g*h);
writeln(‘Van toc cua vat khi cham dat la:’,
v:10:2, ‘m/s’);
readln;
end.

4. CỦNG CỐ:
- Sử dụng biến trung gian S để tính diện tích phần gạch trong Bài 9.
5. DẶN DÒ:
- Học bài cũ;
- Sửa lại chương trình để sao cho không phải dùng biến trung gian v.
============================
Ngày giảng:
Tiết theo PPCT: 11

Chương III
CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9 – CẤU TRÚC RẼ NHÁNH

I – MỤC TIÊU:
1. Kiến thức: (Học sinh)
- 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 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 lệnh rẽ nhánh dạng khuyết, rẽ nhánh dạng đầy đủ và áp dụng để thể
hiện được thuật toán của một số bài toán đơn giản.
3. Thái độ:
- Nghiêm túc, tích cực phát biểu xây dựng bài
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: Em hãy viết các biểu thức sau dưới dạng các biểu thức trong
Turbo Pascal:
(cx + d)(x2 – 9)/2y
và hãy cho biết biểu thức trên được thực hiện như thế nào?
3. Nội dung bài mới:

Giáo án Tin học 11

20


Hoạt động của GV và HS
GV: Như chúng ta đã biết, thường
ngày có rất nhiều việc chỉ được thực
hiện khi một điều kiện cụ thể nào đó
xảy ra.


Nội dung kiến thức
1. Rẽ nhánh.

* Ví dụ:
Một lần Châu hẹn với Ngọc: “Chiều mai
nếu trời không mưa thì Châu sẽ đến nhà
Ngọc”. (1)
Một lần khác Ngọc nói với Châu: “Chiều
mai nếu trời không mưa thì Ngọc sẽ đến
nhà Châu, nếu mưa thì sẽ gọi cho Châu để
trao đổi”. (2)
- Ta nói cách diễn đạt như của Châu (1)
thuộc dạng thiếu:
Nếu… thì…

GV: Câu nói của Châu cho ta biết
một việc làm cụ thể (Châu đến nhà
Ngọc) sẽ được thực hiện nếu điều
kiện (trời không mưa) thoả mãn.
Còn nếu không thì không đề cập đến
việc gì khác.
- Ta nói cách diễn đạt như của Ngọc (2)
GV: Câu nói của Ngọc khẳng định
thuộc dạng đủ:
một trong hai việc cụ thể (Ngọc đến
Nếu… thì… nếu không thì…
nhà Châu) chắc chắn xảy ra, tuy
nhiên việc nào trong 2 việc sẽ được
thực hiện thì phụ thuộc vào điều Kết luận: Cấu trúc dùng để mô tả các mênh đề
kiện cụ thể.

có dạng như trên được gọi là cấu trúc rẽ nhánh
GV: Kết luận.
thiếu và đủ.
GV: Vậy qua những gì chúng ta vừa
tìm hiểu em hãy cho biết ý nghĩa của
cấu trúc rẽ nhánh?
ý nghĩa của cấu trúc rẽ nhánh: cấu trúc rẽ
HS: Trả lời câu hỏi.
nhánh là một điều khiển thực hiện hay không
GV: Nhận xét, kết luận.
thực hiện công việc phù hợp với điều kiện
đang xảy ra.
2. Câu lệnh if – then (trong Pascal).
GV: Tương ứng với hai dạng thiếu a) Dạng thiếu:
và đủ đã nói ở trên, Pascal có hai Ví dụ: Nếu a>0 thì thông báo a là số dương. Ta
dạng câu lệnh if – then (thiếu và đủ). có thể viết bằng câu lệnh if – then dạng thiếu
như sau:
if a>0 then write(‘a la so duong’);
GV: Qua ví dụ trên kết hợp với đọc
SGK – Tr.39 em hãy cho biết cấu
trúc của if – then dạng thiếu được
viết như thế nào?
HS: Trả lời
Câu lệnh if – then dạng thiếu:
GV: Nhận xét, kết luận.
if <điều kiện> then <câu lệnh>;
b) Dạng đủ:
Ví dụ: Nếu a>0 thì thông báo a là số dương,

Giáo án Tin học 11


21


nếu không thì thông báo a là số không dương.
Ta có thể viết bằng câu lệnh if – then dạng đủ
như sau:
if (a>0) then write(‘a la so duong’)
else write(‘a la so khong duong’);
GV: Tương tự như với if – then dạng
thiếu em hãy cho biết cấu trúc của if
– then dạng đủ?
Câu lệnh if – then dạng đủ:
HS: Trả lời.
if <ĐK> then <câu lệnh 1> else <câu lệnh 2>;
GV: Nhận xét, kết luận
GV: Các em về nhà hãy tham khảo
thêm cách viết câu lệnh if – then
bằng sơ đồ khối (SGK – Tr.39).
GV: Theo cú pháp, sau một số từ
3. Câu lệnh ghép.
khoá (như then hoặc else) phải là
Ví dụ: Khi giải PTB 2 xảy ra trường hợp ta
một câu lệnh. Nhưng trong nhiều
phải dùng câu lệnh ghép như sau:
trường hợp các thao tác sau những
từ khoá đó khá phức tạp, đòi hỏi
if(delta<0) then write(‘PTVN’)
phải dùng nhiều câu lệnh để mô tả.
else

Khi đó NNLT cho phép gộp nhiều
begin
câu lệnh thành một câu lệnh ghép.
x1:=(-b – sqrt(delta))/(2*a);
x2:= - b/a – x1;
end;
GV: Chỉ ra câu lệnh ghép.
GV: Vậy em hãy cho biết câu lệnh
ghép của Pascal có dạng như thế
nào?
HS: trả lời.
GV: Kết luận.
Câu lệnh ghép của Pascal có dạng:
Begin
<các câu lệnh>;
End;
GV: Chú ý cấu trúc của câu lệnh
ghép khác so với cấu trúc của thân
CT.
4. Một số ví dụ.
GV: Phân tích một số câu lệnh chủ
SGK – Tr.41
yếu trong ví dụ.
4. CỦNG CỐ:
Em hãy viết đoạn CT cho bài toán sau:
Nếu x > 0 thì y = a + b nếu không thì y = a – b.
5. DẶN DÒ:
- Học bài cũ;
- Trả lời các câu hỏi và bài tập 1, 2, 4 ở cuối chương.
-----------------------------------------------------


Giáo án Tin học 11

22


Ngày giảng:
Tiết theo PPCT: 12

Bài 10 – CẤU TRÚC LẶP
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 kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước.
- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể.
2. Kỹ năng:
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp.
- 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 – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Giáo viên: Bài soạn, SGK, SGV.
2. Học sinh: Vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: Em hãy trình bày cấu trúc của câu lệnh if – then dạng thiếu và
dạng đủ, lấy ví dụ?
3. Nội dung bài mới:
Hoạt động của GV và HS
Nội dung kiến thức
1. Lặp:

GV: Để hiểu thế nào là lặp ta cùng
Với a là số nguyên và a > 2, ta xét các bài
xét hai bài toán sau.
toán sau đây.
Bài toán 1: Tính và đưa ra màn hình tỔng
S = 1/a + 1/(a+1) + 1/(a+2)+…+1/(a+100).
Bài toán 2: Tính và đưa ra màn hình tỔng
S = 1/a + 1/(a+1) + 1/(a+2)+…+1/(a+N)+...
Cho đến khi 1/(a+N) < 0.0001.
GV: Em hãy cho biết hai bài toán
Hai bài toán có các điểm tương tự:
trên có gì giống và khác nhau?
- Xuất phát, S được gán giá trị 1/a;
HS: Trả lời.
- Tiếp theo cộng vào tỔng S một gía trị 1/
GV: Kết luận.
(a+N) với N = 1, 2, 3,… và việc cộng này
được lặp lại một số lần.
Khác nhau:
- Đối với bài toán 1, số lần lặp là 100 và việc
cộng vào tỔng sẽ kết thúc khi thực hiện
việc cộng 100 lần.
- Đối với bài toán 2, số lần lặp chưa biết
trước nhưng vịêc cộng vào tỔng S sẽ kết
GV: Từ đó em hãy cho biết có mấy
thúc khi điều kiện 1/(a+N) < 0.0001 được
loại lặp? Đó là những loại nào?
đáp ứng.
HS: Trả lời.
- Từ đó ta rút ra được: Có hai loại lặp đó là:

GV: Nhận xét, kết luận.
lặp với số lần biết trước và lặp với số lần
chưa biết trước.
2. Lặp với số lần biết trước và câu lệnh
for – do.
GV: Ta có 2 thuật toán để giải bài
Thuật toán Tong_1a
toán 1 như sau.
Bước 1: S:=1/a; N = 0;
Bước 2: N:=N+1;

Giáo án Tin học 11

23


GV: Hai thuật toán trên đều dùng để
giải bài toán 1, nhưng các em hãy
quan sát và cho biết hai thuật toán
này có gì khác nhau?
HS: Trả lời.
GV: Kết luận.

GV: Đưa ra dạng lặp tiến và dạng
lặp lùi.

Bước 3: Nếu N > 100 thì chuyển đến bước
5;
Bước 4: S:=S+1/(a+N) rồi quay lại bước 2;
Bước 5: Đưa tỔng S ra màn hình, rồi kết

thúc.
Thuật toán Tong_1b
Bước 1: S:=1/a; N = 101;
Bước 2: N:=N – 1;
Bước 3: Nếu N < 1 thì chuyển đến bước 5;
Bước 4: S:=S+1/(a+N) rồi quay lại bước 2;
Bước 5: Đưa tỔng S ra màn hình, rồi kết
thúc.
Nhận xét:
Trong thuật toán Tong_1a, giá trị của N bắt
đầu tham gia vòng lặp là 1 và sau mỗi lần
lặp N tăng lên 1 cho đến khi N>100 thì kết
thúc lặp.
Trong thuật toán Tong_1b, giá trị của N bắt
đầu tham gia vòng lặp là 100 và sau mỗi lần
lặp giảm đi 1 cho đến khi N<1 thì kết thúc
lặp.
Kết luận: Cách lặp trong thuật toán
Tong_1a là dạng lặp tiến, cách lặp trong
thuật toán Tong_1b là dạng lặp lùi.
Để mô tả cấu trúc lặp với số lần biết trước
Pascal dùng câu lệnh for – do với hai dạng
tiến và lùi như sau:
f. Dạng lặp tiến:
for <biến đếm>:=<giá trị đầu> to
<giá trị cuối> do <câu lệnh>;
g. Dạng lặp lùi:
for <biến đếm>:=<giá trị cuối>
downto <giá trị đầu> do <câu lệnh>;
Trong đó:

- Biến đếm là biến đơn, thường có kiểu
nguyên;
- Giá trị đầu, giá trị cuối là các biểu thức
cùng kiểu với biến đếm và giá trị đầu phải
nhỏ hơn hoặc bằng giá trị cuối.
Hoạt động của lệnh for – do.
- ở dạng lặp tiến: câu lệnh viết sau từ khoá
do được thực hiện tuần tự, với biến đếm
nhận các giá trị liên tiếp tăng từ giá trị đầu
đến giá trị cuối.
- ở dạng lặp lùi: câu lệnh viết sau từ khoá do
được thực hiện tuần tự, với biến đếm nhận
các giá trị liên tiếp giảm từ giá trị cuối đến
giá trị đầu.

4. CỦNG CỐ:
Bài toán: S = 1 + 2 + 3 +…+ 100

Giáo án Tin học 11

24


Em hãy cho biết: Đây có phải bài toán dạng lặp không? Nếu là dạng lặp thì là lặp loại
nào?
5. DẶN DÒ:
Học bài cũ và làm các bài tập trong SGK, SBT
---------------------------------------------Ngày giảng:
Tiết theo PPCT: 13


Bài 10 – CẤU TRÚC LẶP
(Tiếp)

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 rõ hơn về cấu trúc lặp với số lần biết trước.
2. Kỹ năng:
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp;
- Viết đúng lệnh lặp với số lần biết trước.
II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
- Giáo viên: Bài soạn, SGK, SGV.
- Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.
III – TIẾN TRÌNH DẠY HỌC:
1. Ổn định tổ chức lớp:
2. Kiểm tra bài cũ: Em hãy viết hai câu lệnh for – do (dạng tỔng quát) ứng với
dạng lặp tiến và dạng lặp lùi?
3. Nội dung bài mới:
Hoạt động của GV và HS
Nội dung kiến thức
GV: Chúng ta cùng tìm hiểu chương Ví dụ 1:
trình cài đặt thuật toán Tong_1a và Program Tong_1a;
Tong_1b. Hai thuật toán này chúng Var S:real;
ta đã tìm hiểu trong bài trước.
a, N: integer;
GV: giải thích CT, giải thích hoạt Begin
động của vòng lặp for …to… do
Write(‘Nhap a=’);
HS: Hỏi, thắc mắc những gì chưa
Readln(a)

hiểu.
S:=1/a;
For N:=1 to 100 do
S:=S+1/(a+N);
Writeln(‘Tong S la:’,S);
Readln
End.
GV: Trình bày thuật toán Tong_1b.
Program Tong_1b;
GV: Em hãy quan sát cả hai thuật Var S:real;
toán và cho biết sự giống và khác
a, N: integer;
nhau của hai chương trình này.
Begin
HS: Trả lời câu hỏi.
Write(‘Nhap a=’);
Readln(a)
S:=1/a;
For N:=100 downto 1 do
S:=S+1/(a+N);
Writeln(‘Tong S la:’,S);
Readln

Giáo án Tin học 11

25


×