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

giao han tin hoc 11 tu tiet 1 den het

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 (626.13 KB, 90 trang )

CHƯƠNG I
MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Tuần : . . . Tiết : 1
§1. KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

I. Mục tiêu
1. Về kiến thức :
- Biết có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình : ngôn ngữ máy, hợp ngữ và
ngôn ngữ bậc cao.
- Biết vai trò của chương trình dòch.
- Biết khái niệm biên dòch và thông dòch.
- Biết một trong những nhiệm vụ quan trọng của của chương trình dòch là phát hiện lỗi cú pháp của
chương trình nguồn.
2. Về kỹ năng :
3. Về thái độ:
- Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin
học nhằm giải các bài toán thực tiễn ngày càng phức tạp.
- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải quyết các bài toán trên máy tính
điện tử.
- Có tính kỷ luật cao và tính thần làm việc theo nhóm.
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp.
- Phương tiện :
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
Em cho biết các bước giải
một bài toán trên máy tính?
Phân tích câu trả lời của
học sinh và nhắc lại các bước


giải bài toán trên máy tính
đã học ở lớp 10.
Khái niệm Ngôn ngữ lập
trình mà các em đã học ở
lớp 10 là gì ?
Phân tích và hoàn chỉnh
câu trả lời của học sinh.
Hôm nay chúng ta tiếp tục
nghiên cứu tiếp về khái niệm
về lập trình và ngôn ngữ lập
trình. Trình bày khái niệm
lập trình.
Em hãy chó biết có mấy
Suy nghó và trả lời
Học sinh trả lời: là ngôn ngữ
dùng để viết chương trình
cho máy tính hiểu và thực
hiện được.
Có ba loại ngôn ngữ máy,
§1. Khái niệm lập trình và ngôn ngữ
lập trình
+ Khái niệm lập trình: Lập trình là sử
dụng cấu trúc dữ liệu và các câu lệnh của
một ngôn ngữ lập trình cụ thể để mô tả dữ
liệu và diễn đạt các thao tác của thuật
toán.
+ Có 3 ngôn ngữ lập trình: ngôn ngữ
-1-
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
loại ngôn ngữ lập trình ?

Nhận xét câu trả lời của
học sinh.
Ưu điểm của mỗi loại ngôn
ngữ là gì?
Mỗi loại máy thì có một
ngôn ngữ riêng, thường thì
khi viết chương trình bằng
ngôn ngữ của loại máy nào
chỉ chạy được trên loại máy
đó.
Khi viết bằng ngôn ngữ
bậc cao thì máy có hiểu được
không ?

Vậy làm sao để chuyển
chương trình viết bằng ngôn
ngữ bậc cao sang ngôn ngữ
máy?
Đưa ra ví dụ minh họa (như
SGK)
Qua ví dụ ta thấy chương
trình dòch có 2 loại là thông
dòch và biên dòch.

Trình bày đặc điểm từng
loại.
Đi kèm với các chương
trình dòch là các công cụ
soạn thảo chương trình
nguồn, lưu trữ, tìm kiếm,

phát hiện lỗi, thông báo lỗ,…
ngôn ngữ lập trình thường
chứa tất cả các dòch vụ trên.
Ví dụ: Pascal, C++, Visual
C++,…
hợp ngữ, ngôn ngữ bậc cao.
Ngôn ngữ máy là ngôn ngữ
duy nhất mà máy hiểu, còn
ngôn ngữ bậc cao thì dễ sử
dụng khi viết chương trình.
Khi viết chương trìng bằng
ngôn ngữ bậc cao thì cần
phải chuyển chương trình đó
sang ngôn ngữ máy của máy
đó.
Sử dụng một chương trình
có chức năng đặc biệt là
chuyển chương trình bậc cao
sang ngôn ngữ máy.
Học sinh chú ý lắng nghe
và ghi bài.
Học sinh chú ý lắng nghe
và ghi bài
máy, hợp ngữ và ngôn ngữ bậc cao.
Chương trình viết bằng ngôn ngữ máy
thì phụ thuộc vào loại máy, nó có thể nạp
trực tiếp vào bộ nhớ và thi hành ngay.
Còn chương trình viết nói chung không
phụ thuộc vào loại máy, muốn thi hành
đựoc thì nó phải đựợc chuyển sang ngôn

ngữ máy.
+ Chương trình dòch: Là chương trình
đặc biệt có chức năng chuyển đổi chương
trình viết bằng ngôn ngữ bậc cao sang
ngôn ngữ máy để máy có thể thực hiện
được.
Chương trình dòch gồm có:
- Thông dòch (interpreter): Dòch lần
lượt từng câu lệnh và thực hiện ngay câu
lệnh ấy, đó là việc lặp lại các bước sau:
* Kiểm tra tính đúng đắn của câu
lệnh tiếp theo trong chương trình.
* Chuyển đổi câu lệnh đó thành
một hay nhiều câu lệnh trong ngôn ngữ
máy.
* Thực hiện các câu lệnh vừa
được chuyển đổi.
- Biên dòch (compiler) : thực hiện các
bước sau
* Duyệt, phát hiện lỗi, kiểm tra
tính đúng đắn của các câu lệnh trong
chương trình nguồn.
* Dòch toàn bộ chương trình
nguồn thành một chương trình đ1ich có
thể thực hiện trên máy và có thể sử dụng
lại khi cần thiết.
3. Củng cố :
Gọi học sinh nhắc lại một số khái niệm cơ bản: Chương trình dòch, thông dòch, biên dòch,. . .
4. Dặn dò :
+ Xem lại bài cũ, đọc bài đọc thêm.

+ Chuẩn bò bài 2: :” Các thành phần của ngôn ngữ lập trình”.
-2-
CHƯƠNG I
MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Tuần : . . . Tiết : 2
§2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH

I. Mục tiêu
1. Về kiến thức :
- Biết ngôn ngữ lập trình có ba thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghóa.
- Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và
biến.
2. Về kỹ năng :
- Phân biệt được ba thành phần cơ bản.
- Phân biệt được tên, hằng, biến.
- Đặt đúng tên hằng, biến...
3. Về thái độ:
- Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin
học nhằm giải các bài toán thực tiễn ngày càng phức tạp.
- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải quyết các bài toán trên máy tính
điện tử.
- Có tính kỷ luật cao và tính thần làm việc theo nhóm.
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp.
- Phương tiện : Máy tính, bảng chữ cái, chương trình minh họa.
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
Chương trình dòch là gì? Có mấy loại ? Sự khác nhau giữa chúng?
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG

Dưới đây là một chương
trình được viết bằng Pascal
program bt9;
Uses crt;
var a:real;
begin
clrscr;
write('Nhap gia tri a
(a>0)');readln(a,b,c);
write('Dien
tích :’,a*a*pi/2:20:4);
readln;
end.
Em hãy phân tích xem
chương trình trên sử dụng gì
để viết chương trình?
Theo em các thành phần
của ngôn ngữ lập trình là gì?
Học sinh trả lời chương
trình dùng các chữ cái, các
chữ số, các kí hiệu khác để
viết.
Các thành của ngôn ngữ
§2. Các thành phần của ngôn ngữ lập
trình
1. Các thành phần cơ bản
Mỗi ngôn ngữ lập trình thường có ba
thành phần cơ bản: bảng chữ cái, cú pháp
và ngữ nghóa.
a/ Bảng chữ cái

Là tập các kí hiệu dùng để viết
chương trình. Trong ngông ngữ Pascal bảng
chữ cái gồm: các chữ cái trong bảng chữ
cái tiếng Anh, các chữ số 0..9 và một số ký
hiệu đặt biệt :+,−,*,$,@...
b/ Cú pháp
Là bộ qui tắc để viết chương trình.
-3-
Trình bày các thành phần
của ngôn ngôn ngữ lập trình
như: bảng chữ cái, cú pháp
và ngữ nghóa của nó.
Mỗi một ngôn ngữ lập
trình có một qui đònh riêng
về những thành phần này.
Ví dụ: Bảng chữ cái các
ngôn ngữ lập trình khác
nhau. Chẳng hạn ngôn ngữ
Pascal không sử dụng dấu
chấm !, nhưng ngôn ngữ C++
lại sử dụng kí hiệu này. Cú
pháp của các loại ngôn ngữ
cũng khác nhau, ngôn ngữ
Pscal sử dụng cặp begin−end
để gộp nhiều câu lệnh thành
một lệnh nhưng C++ lại
dùng cặp ký hiệu {}. Mỗi
ngôn ngữ khác nhau cũng có
cách xác đònh ngữ nghóa
khác nhau.

Trong các ngôn ngữ lập
trình nói chung, các đối
tượng sử dụng trong chương
trình điều phải đặt tên để
tiện cho việc sử dụng. Việc
đặt tên trong các ngôn ngữ
khác nhau là khác nhau, có
kngôn ngữ phân biệt chữ
hoa, chữ thường, có ngôn
ngữ không phân biệt chữ hoa
chữ thường (Pascal).
Giới thiệu qui tắc đặt tên,
sau đó yêu cầu học sinh cho
ví dụ tên đúng, tên sai.
Theo em tên dành riêng là
gì?
Nhận xét câu trả lời của
học sinh và cho ví dụ.
Tên chuẩn là gì ?
lập trình có thể là bảng chử
cái gồm; kí tự, số, các kí tự
đặc biệt…
Học sinh chú ý lắng nghe
và ghi chép
Học sinh chú ý nghe và ghi
bài.
Ví dụ
tên đúng: a, b, c,_ten
Tên sai: 1a, bai tap,x#y
Là nhũng tên được ngôn

ngữ lập trình qui đònh sẵn và
được dùng với ý nghóa xác
đònh mà người lập trình
không được dùng với ý nghóa
khác.
Là tên do ngôn ngữ lập
dùng với một ý nghóa nhất
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 ngữ
cảnh đó.
Tóm lại :
- Cú pháp cho biết cách viết chương
trình hợp lệ, ngữ nghóa xác đònh ý nghóa
của các tổ hợp ký tự trong chương trình.
- Lỗi cú pháp được chương trình dòch
phát hiện và thông báo cho người lập trình.
Chương trình không còn lỗi cú pháp thì
mới có thể dòc sang ngôn ngữ máy.
- Lỗi ngữ nghóa khó phát hiện, phần lớn
đïc phát hiện khi thực hiện chương trình
trên dữ liệu cụ thể.
2. Một số khái niệm
a/ Tên
- Mọi đối tượng trong chương trình
đều phải được đặt tên.
- Trong turbo Pascal tên là một dãy
liên tiếp không quá 127 ký tự bao gồm: cac
chữ cai, chữ số, dấu gạch dưới và phải bắt
đầu bằng chữ cái hoặc dấu gạch dưới.

VD: Tên đúng: a,b,c,_abc
Tên sai: a bc,1a,x#y
- Ngôn ngữ lập trình Pascal không
phân biệt chữ hoa, chữ thường. Nhưng một
số ngôn ngữ khác thì phân biệt chữ hoa,
chữ thường.
- Ngôn ngữ lập trình thường có 3 loại
tên: tên dành riêng, tên chuẩn, tên do
người lập trình tự đặt.
+ Tên dành riêng (từ khóa):
Là những tên được ngôn ngữ lập
trình quy đònh dùng với ý nghóa xác đònh
mà người lập trình không dùng với ý nghóa
khác.
VD: Trong pascal: program, uses,
const, type, var, begin, end ; Trong C++:
main, include, if, while, void.
+ Tên chuẩn :
Là những tên được ngôn ngữ
-4-
Nhận xét và hoàn chỉnh
câu trả lời của học sinh.
Vậy tên do người lập trình
đặt là gì ?
Nhận xét và cho ví dụ: Khi
viết chương trình giải
phương trình bậc hai ta khai
báo các biến sau: a, b, c, x1,
x2.


Hằng là gì ? Trong tin học
có những loại hằng nào?
Nhận xét câu trả lời của
học sinh và cho ví dụ.
Mỗi ngôn ngữ lập trình có
một qui đònh về cách viết
hằng riêng.
Theo em biến là gì? Nó có
đặt điểm gì?

Khi viết chương trình người
lập trình thường có nhu cầu
giải thích cho những câu
lệnh mình viết, do vậy ngôn
ngữ lập trình thường cung
cấp cho ta cách để đưa
những chú thích vào trong
chương trình
đònh nào đó, người lập trình
có thể dùng với ý nghóa
khác.

Được xác đònh qua khai báo
trước khi sử dụng.
Hằng là đại lượng có giá trò
không đổi trong quá trình
thực hiện chương trình. Gồm
có hằng số học, hằng kí tự
và hằng lôgic.
Biến là một đại lượng được

đặt tên, giá trò có thể thay
đổi được trong khi thực hiện
chương trình.
Học sinh chú ý lắng nghe
và ghi bài.
lập trình dùng với ý nghóa nhất đònh nào
đó, người lập trình có thể sử dụng với ý
nghóa khác.
VD: Trong pascal: abs, integer, sqr,
sqrt,… Trong C++: cin, cout, getchar…
+ Tên do người lập trình đặt:
Được xác đònh bằng cách khai
báo trước khi sử dụng, được dùng với ý
nghóa riêng. Các tên này không được trùng
với tên dành riêng và các tên trong cùng
một chương trình thì không được trùng
nhau.
VD: a, delta, x1, y2
b/ Hằng và biến
Hằng: Là đại lượng có giá trò không
thay đổi trong quá trình thực hiện chương
trình. Các ngôn ngữ lập trình thường có:
+ Hằng số học: số nguyên hay số
thực.
VD: 2 -22.36 -2.236E01
+ Hằng xâu: là chuỗi ký tự được đặt
trong dấu nháy đơn hoặc kép.
VD: ‘Lop 11A’. Trong C++ là:
“Lop 11A”
+ Hằng lôgic: là các gái trò đúng

hoặc sai ứng với true hoặc false.
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
chương trình.
Có nhiều loại biến khác nhau,
biến phải được khai báo trước khi sử dụng.
c/ Chú thích:
Trong khi viết chương trình có thể
viết chú thích cho chương trình. Chú thích
không làm ảnh hưởng đến chương trình.
Trong Pascal chú thích được đặt
trong {} hoặc * * . Trong C++ là /* hoặc */
3. Củng cố :
Các thành phần cơ bản của ngôn ngữ lập trình ? Sự khác nhau giữa tên dành riêng và tên
chuẩn ?
4. Dặn dò :
+ Xem lại bài
+ Chuẩn bò “Bài tập SGK Tr 13”
-5-
CHƯƠNG I
MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Tuần : . . . Tiết : 3
BÀI TẬP

I. Mục tiêu
1. Về kiến thức :
- Biết một số khái niệm về lập trình, những đặc điểm chủ yếu của ngôn ngữ bậc cao.
- Biết vai trò và phân loại chương trình dòch, khái niệm thông dòch và biên dòch.
- Biết các thành phần trong ngôn ngữ lập trình như: tên, tên chuẩn, từ khóa, hằng, biến.

- Biết các qui đònh về tên, biến và hằng của ngôn ngữ lập trình cụ thể ( không nhất thiết phải là
Pascal hoặc C++,…)
2. Về kỹ năng :
- Viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể.
3. Về thái độ:
- Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin
học nhằm giải các bài toán thực tiễn ngày càng phức tạp.
- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải quyết các bài toán trên máy tính
điện tử.
- Có tính kỷ luật cao và tính thần làm việc theo nhóm.
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện :
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
Những loại tên thường gặp trong chương ? Sự khác nhau giữa tên chuẩn và tên dành riêng?
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG

Hướng dẫn học sinh trả lời
các câu hỏi.
Em hãy cho biết ưu điểm và
nhược điểm của từng loại
ngôn ngữ lập trình? Từ đó trả
lời câu 1 ?
Nhận xét và hoàn chỉnh câu
trả lời của học sinh.

Học sinh trình bày các ưu
điểm và khuyết điểm từng

loại ngôn ngữ lập trình. Từ đó
rút ra câu trả lời cho câu hỏi
1.
Câu 1 :
+ Ngôn ngữ bậc cao gần với ngôn ngữ tự
nhiên hơn, thuận tiện cho đông đảo người
lập trình (không chỉ những người lập trình
chuyên nghiệp).
+ Chương trình viết bằng ngôn ngữ bậc
cao nói chung không phụ thuộc vào phần
cứng máy tính và một chương trình có thể
thực hiện trên nhiều loại máy khác nhau.
+ Chương trình viết bằng ngôn ngữ bậc
cao dễ hiểu, dễ hiệu chỉnh và nâng cấp.
+ Ngôn ngữ bậc cao cho phép làm việc
trên nhiều kiểu dữ liệu và cách tổ chức dữ
liệu đa dạng, thuận tiện cho mô tả thuật
toán.
-6-
Gọi học sinh đứng lên trả lời
câu 2.
Biên dòch là gì ? Thông dòch
là gì ? Sự khác nhau giữa
chúng ?
Gọi học sinh trả lời.
Nhận xét và hoàn chỉnh câu
trả lời của học sinh.
Gọi học sinh nhắc lại qui tắc
đặt tên trong Pascal.
Hướng dẫn học sinh giải.

Học sinh trả lời
Học sinh trả lời
Sự khác nhau cơ bản giữa
chúng là: biên dòch có phát
hiện lỗi và chương trình đích
có thể lưu lại. Còn tghông
dòch thì không.
Học sinh trả lời
Học sinh nhắc lại qui tắc đặt
tên và cho ví dụ.
Học sinh làm bài theo hướng
dẫn
Câu 2 :
+ Chương trình dòch là chương trình đặc
biệt, có chức năng chuyển đổi chương
trình được viết trên ngôn ngữ lập trình bậc
cao thành chương trình thực hiện được
trên máy tính cụ thể.
+ Giáo viên có thể nêu Input và Output
của chương trình.
Câu 3 :
+ Trình biên dòch duyệt, kiểm tra, phát
hiện lỗi, xác đònh chương trình nguồn có
dòch được không, dòch toàn bộ chương
trình nguồn thành một chương trình đ1ich
có thể thực hiện trên máy tính và có thể
lưu trữ 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
lệnh ra ngôn ngữ máy rồi thực hiện ngay
câu lệnh vừa dòch hoặc báo lỗi nếu không

dòch được.
Câu 4 :
Tên dành riêng không được dùng khác
với ý nghóa đã xác đònh, tên chuẩn có thể
dùng với ý nghóa khác.
Câu 5:
Đặt tên trong Pascal theo quy tắc:
- Chỉ bao gồm chữ cái, chữ số và dấu
gạch dưới.
- Không bắt đầu bằng chữ số.
- Độ dài theo qui đònh ( Pascal :
<=127 kí tự, Fre pascal: <=255 kí tự)
( Không nên đặt tên quá dài)
Câu 6 :
Những biểu thức sau không phải là
hằng trong Pascal:
6,23 (dấu phẩy thay bằng dấu chấm)
A20 ( là tên chưa rõ giá trò).
‘C sai qui đònh về hằng xâu.
3. Củng cố :
Những vấn đề cần nắm ở chương 1 là: chương trình dòch, các thành phần cơ bản của ngôn ngữ
lập trình, cách đặt tên,hằng, biến. Phân biệt được tên chuẩn, tên dành riêng, tên do người lập trình đặt.
4. Dặn dò :
+ Xem lại bài những nội dung chính của chương 1.
+ Chuẩn bò bài mới ‘ Cấu trúc chương trình’.
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
-7-
Tuần : . . . Tiết : 4
§3. CẤU TRÚC CHƯƠNG TRÌNH


I. Mục tiêu
1. Về kiến thức :
- Hiểu chương trình là sự mô tả của thuật toán bằng bột ngôn ngữ lập trình.
- Biết cấu trúc của một chương trình Pascal: cấu trúc chung và các thành phần.
2. Về 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. Về thái độ:
- Xác đònh thái độ nghiêm túc trong học tập khi làm quen với nhiều qui đònh nghiêm ngặt trong lập
trình.
- Có ý thức cố gắng học tập vượt qua khó khăn, những lúng túng ở giai đoạn bắt đầu học lập trình.
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình ,phục vụ
tính toán và giải được một số bài toán.
II. Phương pháp, phương tiện dạy học
- Phương pháp : Thuyết trình, vấn đáp.
- Phương tiện : máy chiếu, máy tính.
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
Các thành phần cơ bản của ngôn ngữ lập trình ?

2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG

Một chương trình viết bằng
ngôn ngữ lập trình bậc cao
thường có những phần khác
nhau. Nói chung gồn có hai
phần là phần khai báo và
phần thân.


Phần khai báo cho phép
chúng ta khai báo những gì?
Có phải lúc nào chương
trình cũng có phần khai báo?
Không có được không ?
Trình bày các loại khai báo.
Mỗi loại ngôn ngữ lập trìnhc
ó cách khai báo khác nhau.
Cho ví dụ sự khác nhau giữa
Học sinh cú ý lắng nghe và
ghi bài.
Phần khai báo cho phép
khai báo tên biến, hằng.
Nếu ta không có sử dụng tên
tự đặt nào thì không cân khai
báo.
Học sinh chú ý nghe giảng
và ghi bài.
§3. CẤU TRÚC CHƯƠNG TRÌNH
1. Cấu trúc chung
Mỗi chương trình nói chung gồm có hai
phần: phần khai báo và phần thân chương
trình.
[<phần khai báo>]
<phần thân>
2. Các thành phần của chương trình
a/ Phần khai báo
Có thể khai báo tên chương trình,
hằng được đặt tên, biến, thư viện, chương
trình con,…

+ Khai báo tên chương trình:
program <tên chương trình>;
Ví dụ:
program bai_1;
program giai_pt_bac_hai;
+ Khái báo thư viện:
Trong pascal
uses <tên thư viện>;
Trong C++
-8-
Pascal và C++

Khai báo hằng là việc đặt
tên cho tiện việc sử dụng về
sau. Còn khai báo biến có thể
xem như là xin máy tính cấp
cho chương trình một vùng
nhớ để lưu trữ và xử lý thông
tin trong bộ nhớ trong.
Biến như thế nào gọi là biến
đơn?
Phần thân chương trình chứa
những gì?


Trình bày cấu trúc của một
chương trình Pascal đơn giản.
Trình bày hai chương trình
trong hai ngôn ngữ khác nhau
là Pascal và C++. Giải thích

Là biến chỉ mang 1 giá trò
tại một thời điểm thực hiện
chương trình.
Phần thân chương trình chứa
toàn bộ các câu lệnh của
chương trình.
Học sinh theo dõi và ghi bài.
Học nghe giải thích và chép
các ví dụ vào tập.
#include <tên thư viện>
Ví dụ : uses crt,graph;
+ Khai báo hằng :
Trong Pascal
const n=100;
pi=3.1416;
Kq=’gioi’;
Trong C++
const int n=100;
const float pi=3.1416;
const char* kq=”gioi”;
+ Khai báo biến :
- Mọi biến sử dụng trong chương
trình đều phải đặt tên và khai báo cho
chương trình dòch biết lưu trữ và xử lý.
- Biến đơn : là biến chỉ mang một giá
trò tại mỗi thời điểm thực hiện chương
trình.
b/ Phần thân chương trình
Là nơi chứa toàn bộ các câu lệnh của
chương trình hoặc lời gọi chương trình con.

Thân chương trình trong pascal như sau:
Begin
[<các câu lệnh>]
End.
* Tóm lại : cấu trúc một chương trình
pascal đơn giản
Program <tên chương trình>;
Uses <tên các thư viện>;
Const <tên hằng>=<giá trò của hằng>;
Var <tên biến>:<kiểu dữ liệu>;
Begin
[<dãy lệnh>]
Readln;
End.
3. Ví dụ chương trình đơn giản
Xét hai chương trình trong hai ngôn ngữ
Pascal và C++
* Turbo pascal
Program vidu;
Begin
Write(‘Chao cac ban’);
Readln;
End.
* Ngôn ngữ C++
#include <stdio.h>
void main()
{
-9-
printf(“Chao cac ban”);
}

3. Củng cố :
Cấu trúc của một chương trình Pascal đơn giản là gì? Kết thúc của chương trình là gì ?
4. Dặn dò :
+ Xem lại bài
+ Chuẩn bò bài ‘Một số kiểu dữ liệu chuẩn−Khai báo biến
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
-10-
Tuần : . . . Tiết : 5
§4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
§5. KHAI BÁO BIẾN

I. Mục tiêu
1. Về kiến thức :
- Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, lôgic và miền con.
- Hiểu được các khai báo biến.
2. Về kỹ năng :
- Xác đònh kiểu cần khai báo của dữ liệu đơn giản.
- Khai báo biến đúng, nhận biết khai báo sai.
3. Về thái độ:
- Xác đònh thái độ nghiêm túc trong học tập khi làm quen với nhiều qui đònh nghiêm ngặt trong lập
trình.
- Có ý thức cố gắng học tập vượt qua khó khăn, những lúng túng ở giai đoạn bắt đầu học lập trình.
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình, phục vụ
tính toán và giải được một số bài toán.
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện :
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:

Cấu trúc của một chương trình Pascal đơn giản là gì? Kết thúc của chương trình là gì ?
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
Khi lập trình người ta quan
tâm đến dữ liệu đó thuộc
dạng nào. Dạng số hay phi
số. Nếu là số thì có những
loại nào? Không là số có
những loại nào ?
Trình bày và giải thích sự
khác nhau giữa các kiểu dữ
liệu số.
Trong các dữ liệu kiểu số,
kiểu nào có phạm vi biểu
diễn lớn nhất?
Kiểu kí tự thường chỉ các kí
tự trong bảng mã kí tự. Trong
pascal sử dụng bảng mã gì?
Với mỗi kiểu dữ liệu người

Những dạng số thường gặp
là: số nguyên, số thực, chuỗi
kí tự.
Học sinh chú ý lắng nghe
và chép bài vào tập.
Kiểu số Extened, kế đó là
số thực real.
Trong Pascal chỉ sử dụng
bảng mã ASCII cho kiểu ký
tự.

§4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
(trong Pascal)
1. Kiểu nguyên
Kiểu Số byte
Miền giá
trò
byte 1 0..255
integer 2 -2
15
..2
15
−1
word 2 0..2
16
−1
longint 4 -2
31
..2
31
−1
2. Kiểu thực
Kiểu Số byte Miền giá trò
real 6
0 hoặc
10

38
..10
38
extended 10

0 hoặc
10

4932
..10
4932
3. Kiểu kí tự
Kiểu Số byte Miền giá trò
-11-
lập trình cần nắm những gì?

Ta đã biết muốn sử dụng
biến thì phải khai báo. Vậy
để khai báo biến ta thực hiện
theo cú pháp sau (trình cú
phá và cho ví dụ)
Gọi học sinh cho ví dụ khai
báo biến.
Nhiều biến cùng kiểu ta có
thể viết cùng một dòng và
cách nhau bởi dấu phẩy.
Các biến khác kiểu có thể
viết trên cùng một dòng
nhưng cáxh nhau bởi dấu
chấm phẩy.
Nhắc một số chú ý.
Người lập trình cần ắnm
tên kiểu, miền giá trò và số
lượng ô nhớ để lưu giá trò
thuộc kiểu đó.

Học sinh chú ý nghe giảng.
Ví dụ
Var a,c,d: real;
x,y,z: integer;

Học sinhc hú ý lắng nghe
Học sinh chú ý lắng nghe .
char 1
256 kí tự trong bộ
mã ASCII
4. Kiểu lôgic
Kiểu Số byte Miền giá trò
boolean 1
true hoặc false
§5. KHAI BÁO BIẾN
Trong Pascal khai báo biến bắt đầu bằng
từ khóa var có dạng sau:
Var <ds biến>:<kiểu dữ liệu>;
+ Danh sách biến: là một hay nhiều tên
biến, các tên biến cùng kiểu được viết
cách nhau bởi dấu phẩy.
+ Kiểu dữ liệu: là một trong những 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 var có thể khai báo nhiều danh
sách biến có kiểu dữ liệu khác nhau, có
cấu trúc như sau:
Var <ds biến 1>:<kiểu dữ liệu 1>;
<ds biến 2>:<kiểu dữ liệu 2>;
……………………………………………………

Ví dụ :
Var a,b,c:real;
m,n:integer;
* Chú ý :
+ Cần đặt tên biến sao cho gợi nhớ đến
ý nghóa của nó.
+ Không nên đặt tên quá dài hay quá
ngắn, dễ dẫn đến mắc lỗi hoặc hiểu nhằm.
+ Khai báo biến cần quan tâm đến
phạm vi giá trò của nó.
3. Củng cố :
Kể tên một số kiểu dữ liệu chuẩn ?
Cho ví dụ về khai báo hằng?
4. Dặn dò :
+ Xem lại bài
+ Chuẩn bò bài
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
-12-
Tuần : . . . Tiết : 6
§6. PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

I. Mục tiêu
1. Về kiến thức :
- Biết 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.
2. Về kỹ năng :
- Viết được lệnh gán.
- Viết được các biểu thức số học và lôgic với các phép toán thông dụng.
3. Về thái độ:

- Xác đònh thái độ nghiêm túc trong học tập khi làm quen với nhiều qui đònh nghiêm ngặt trong lập
trình.
- Có ý thức cố gắng học tập vượt qua khó khăn, những lúng túng ở giai đoạn bắt đầu học lập trình.
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình, phục vụ
tính toán và giải được một số bài toán.
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện :
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
Hãy khai báo 2 biến kiểu số nguyên,1 biến thực, 1 biến boolean.
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG


Trong khi viết chương trình
ta phải thự hiện các phép
toán, thực hiện các phép so
sánh. Vậy trong chương trình
ta viết nó như thế nào? Có
giống với cách viết trong
toán học hay không?
Hãy kể tên các phép toán
số học mà em đã biết?
Chúng có dùng được trong
các ngôn ngữ lập trình hay
không? Cách viết có giống
trong toán không?
Trình bày các phép toán
được dùng trong các ngôn

ngữ lập trình và lưu ý những
điểm khác nhau khi viết.
Ví dụ: như phép nhân là *,
phép chia là /, >=,<=,..
Mỗi ngôn ngữ khác nhau
Học sinh chú ý lắng nghe.
Các phép toán số học như
cộâng trừ, nhân, chia, phép so
sánh.
Trong các ngôn ngữ lập
trình cũng có các phép toán
đó, nhưng cách viết có thể
khác nhau.

Học sinh chú ý lắng nghe
và ghi bài.
§6. PHÉP TOÁN, BIỂU THỨC, CÂU
LỆNH GÁN
1. Phép toán
Các phép toán trong Pascal
+ Các phép toán số nguyên: +,−,*,/, div
(chia lấy phần nguyên), mod (chia lấy phần
dư).
+ Các phép toán số thực: +,−,*,/
+ Các phép toán quan hệ:
<,<=,>,>=,=,<>
Phép toán quan hệ cho kết là một giá
trò lôgic (true hoặc false)
+ Các phép toán lôgic: not (phủ đònh), or
(hoặc), and (và).

-13-
có cách kí hiệu các phép
toán khác nhau.
Trong toán học biểu thức
là gì? Cho ví dụ
Đưa ra khái niệm biểu thức
trong các ngôn ngữ lập trình.
Cách viết biểu thức trong
các ngôn ngữ lập trình có
giống như biểu thức toán học
không?
Giáo viên trình bày một số
ví dụ về cách vết biểu thức
trong toán và trong ngôn ngữ
lập trình.
Các phép toán trong biểu
thức thực hiện theo thứ tự ưu
tiên nào?
Trong biểu thức có thể có
nhiều kiểu dữ liệu khác
nhau. Vậy kiểu của biểu
thức được xác đònh ra sao?

Hướng dẫn học sinh viết
biểu thức x
2
+2y trong lập
trình.
Sau đó yêu cầu học sinh
viết biểu thức nghiệm x1, x2

của phương trình bậc hai
trong lập trình.
Trong các ngôn ngữ lập
trình người có xây dựng sẵn
một số đơn vò chương trình
giúp người lập trình tính toán
nhanh các giá trò thông dụng.
Giáo viên trình bày một số
hàm thông dụng và nêu ý
Học sinh đưa ra khái niệm
và cho ví dụ như:
5a+5x,3x−2,…
Cách viết biểu thức trong
ngôn ngữ lập trình không
giống với cách viết biểu thức
trong toán học. Ví dụ 5a+5a
thì viết là 5*a-+5*x
Trong ngoặc thực hiện
trước. Nếu không chứa
ngoặc thì thực hiện từ trái
sang phải theo thứ tự ưu tiên:
*, /, div, mod thực hiện trước
và +,− thực hiện sau.
Kiểu của biểu thức là kiểu
của biến hoặc hằng có miền
giá trò lớn nhất.
Học sinh viết x*x+2*y
Học sinh suy nghó. Chưa thể
viết được.
Học sinh chú ý lắng nghe.

2. Biểu thức số học
Là một dãy các phép toán +,−,*,/,div,mod
từ các hằng, biến kiểu số và các hàm. Dùng
dấu ngoặc tròn ( ) để quy đònh trình tự tính
toán.
Ví dụ :
Biểu thức
trong toán
Biểu thức trong Pascal
5a+6b 5*a+6*b
z
xy
x*y/z
Ax
2
+Bx+C A*x*x+B*x+C
xy
zx
x
yx



+
2
1
(x+y)/(x−1/2)−(x−z)/(x*y)
* Thứ tự thực hiện các phép toán:
- Trong ngoặc thực hiện trước.
- Không chứa ngoặc thì: *,/,div,mod thực

hiện trước và +,− thực hiện sau (từ trái sang
phải)
Toán tử Độ ưu tiên
not 1
*,/,div,mod,and 2
+,−, OR,XOR 3
=,<>,<=,>=,IN 4
* Chú ý :
- Giá trò của biểu thức có kiểu là kiểu
của biến hoặc hằng có miền giá trò lớn nhất
trong biểu thức đó.
- Trong một số trường hợp nên dùng biến
trung gian để có thể tránh được việc tính một
biểu thức nhiều lần.
3. Hàm số học chuẩn
- Các ngôn ngữ lập trình thường cung cấp
sẵn một số hàm số học để tính một số giá trò
htông dụng.
- Mỗi hàm chuẩn có tên chuẩn riêng.
Cách viết: <tên hàm>( đối số)
- Đối số là một hay nhiều biểu thức số
học đặt trong ngoặc () sau tên hàm.
- Bản thân hàm chuẩn cũng có thể coi là
một biểu thức số học và có thể tham gia vào
biểu thức như toán hạng bất kỳ.
- Kết quả của hàm phụ thuộc vào kiểu đối
-14-
nghóa cũng như cách sử dụng
của từng hàm.
Đối với hàm chuẩn ta cần

quan tân đến kiểu đối số và
kiểu của giá trò trả về.
Trong lập trình ta phải so
sánh hai giá trò nào đó trước
khi thực hiện lệnh nào đó.
Biểu thức quan hệ còn gọi là
biểu thức so sánh.
Vậy biểu thức so sánh cho
kết quả là kiểu gì và có
những giá trò nào?

Đưa ra chú ý
Muốn so sánh nhiều điều
kiện đồng thời thì làm sao?
Cho các ví dụ và giải thích
từng ví dụ cho học sinh.


Trong toán ta viết x=2 có
nghóa là gì? Trong lập trình
có nghóa là gì?
Trong lập trình muốn gán 2
cho x ta thực hiện bằng lệnh
gán là ’:=’.
Cho ví dụ minh họa
Học sinh viết biểu thức
nghiệm x1,x2 của phương
trình bậc hai.
Học sinh chú ý lắng nghe.
Biểu thức quan hệ có kết

quả là kiểu lôgic chỉ có một
trong hai giá trò là True hoặc
False.
Ta sử dụng các phép toán
như And, or để nối các biểu
thức quan hệ lại với nhau.
Học sinh chú ý nghe giảng.
Trong toán có nghóa là x=2,
còn trong lập trình có nghóa
là ta đang so sánh x với 2.
Học sinh chú ý lắng nghe và
ghi bài.
số.
Ví dụ : sqr(x), sqrt(x), abs(x), ln(x)…
Biểu diễn toán Pascal
x
2
sqr(x)
x
sqrt(x)
|x| abs(x)
lnx ln(x)
sinx sin(x)
(SGK TH11 Tr.26)
4. Biểu thức quan hệ
Có dạng:
<biểu thức 1> <phép toán quan hệ>
<biểu thức 2>
Trong đó : biểu thức 1 và 2 phải cùng
kiểu. Kết quả của biểu thứ là true hoặc false.

Ví dụ :
A>B
2*a>=4+b
* Chú ý : Tính giá trò biểu thức trước sau
đó thực hiện phép toán quan hệ.
5. Biểu thức lôgic
- Biểu thức lôgic đơn giản nhất là hằng
hoặc biến lôgic.
- Biểu thức lôgic là các biểu thức lôgic
đơn giản, các biểu thức quan hệ liên kết với
nhau bởi phép toán lôgic.
- Phép toán not được viết trước biểu thức
khi cần phủ đònh.
Ví dụ 1:
a,b,c >0 là độ dài 3 cạnh một tam giác
nếu biểu thức sau đây đúng:
(a+b)>c and (b+c>a) and (a+c>b)
Ví dụ 2: not(x>1) nghóa là x<=1
Ví dụ 1:
(m mod 3=0) and (n mod 3=0) or ((m
mod 3<>0) and (n mod 3<>0))
6. Câu lệnh gán
Trong Pascal câu lệnh gán có dạng:
<tên biến>:=<biểu thức>;
+ Kiểu biểu thức phải phù hợp với biến.
+Ý nghóa : gán giá trò biểu thức cho biến.
Ví dụ :
x1:=(-b-sqrt(b*b-4*a*c))/(2*a);
i:=i+1;
3. Củng cố :

-15-
Hãy viết biểu thức A=
yx
x
2
1
3

trong lập trình.
4. Dặn dò :
+ Xem lại bài
+ Chuẩn bò bài “ Các thủ tục chuẩn vào/ra đơn giản – Soạn thảo, dòch, thực hiện, hiệu chỉnh
chương trình”.
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
Tuần : . . . Tiết : 7
§7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
-16-
§8. SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU CHỈNH CHƯƠNG TRÌNH

I. Mục tiêu
1. Về kiến thức :
- Biết các lệnh vào ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin 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 chương trình.
- Biết một số công cụ của môi trường Turbo Pascal.
2. Về kỹ năng :
- Viết một số lệnh vào ra đơn giản.
- Bước đầu sử dụng được chương trình dòch để phát hiện lỗi.
- Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dòch và tính hợp lý
của kết quả thu được.

3. Về thái độ:
- Xác đònh thái độ nghiêm túc trong học tập khi làm quen với nhiều qui đònh nghiêm ngặt trong lập
trình.
- Có ý thức cố gắng học tập vượt qua khó khăn, những lúng túng ở giai đoạn bắt đầu học lập trình.
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình, phục vụ
tính toán và giải được một số bài toán.
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện : máy chiếu, máy tính
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
Hãy viết biểu thức B=
x
xx
42
2

2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
Khi lập trình ta phải nhập
thông tin vào cho máy tính
thực hiện. Vậy bằng cách
nào để ta nhập thông tin từ
bàm phím vào cho biến?
Trình bày cú pháp và các
hoạt động của lệnh
read/readln.
Nói lên sự khác nhau giữa
read và readln. Chó ví dụ
Chú ý cách nhập giá trò cho

nhiều biến.
Mỗi ngôn ngữ lập trình có
các lệnh nhập thông tin khác
nhau.
Sau khi đã có dữ liệu vào
Ta sử dụng lệnh để nhập
thông tin vào cho máy tính.
Học sinh chú ý lắng nghe
và ghi bài.

Học sinh chú ý nghe giảng.
Để hiển thò dữ liệu người ta
§7. CÁC THỦ TỤC CHUẨN VÀO/RA
ĐƠN GIẢN
1. Nhập dữ liệu vào từ bàn phím
Ta sử dụng thủ tục chuẩn read hoặc
readln có cấu trúc như sau:
read(<biến 1>,…,<biến n>);
readln(<biến 1>,…,<biến n>);
Ví dụ 1:
read(n);
readln(a,b,c);
* Chú ý : khi nhập giá trò cho nhiều biến
thì những giá trò này gõ cách nhau một dấu
cách hoặc kí tự xuống dòng (phím Enter).
2. Đưa dữ liệu ra màn hình
-17-
thì làm sao để hiển thò dữ
liệu theo ý muốn của người
lập trình?

Trình bày cú pháp và giải
thích ý nghóa của lệnh
write/writeln. Nói lên sự
khác nhau giữa chúng.
Lệnh readln và writeln có
thể không có tham số.
Trình bài và giải thích ví
dụ
Nêu cách viết có qui cách
thông tin dạng số.

Giới thiệu một số tập tin
cần thiết để Turbo pascal có
thể chạy được, hướng dẫn
học sinh khởi động Pascal
trên máy tính.
Giới thiệu các thành phần
cơ bản của màn hình soạn
thảo (màn hình làm việc).
cũng dùng lệnh để đưa dữ
liệu ra màn hình.
Học sinh nghe giản và ghi
bài.
Học sinh theo dõi
Học sinh chú ý nghe giảng
và ghi bài
Học sinh chú ý lắng nghe và
theo dõi hình minh họa
Để đưa dữ liệu ra màn hình tại vò trí con
trỏ, ta dùng thủ tục write hoặc writeln với

cấu trúc:
Write(<giá trò 1>,…<giá trò n>);
Writeln(<giá trò 1>,…<giá trò n>);
Trong đó: các giá trò có thể là biến đơn,
biểu thức, tên hàm hoặc hằng.
Ví dụ : xét chương trình sau
Program vd;
Uses crt;
Var tuoi:byte;
Begin
Clrscr;
Write(‘Moi ban nhap 3
so:’);readln(a,b,c)
Write(‘Ban vua nhap 3 so:’,a,b,c);
Write(‘Ban go ENTER de ket
thuc’);
Readln;
End.
Ghi chú:
- Các thủ tục readln và writeln có thể
không có tham số.
- Quy cách đưa thông tin ra:
Kết quả số thực
:<độ rộng>:<số chữ số thập phân>
Kết quả khác
:<độ rộng>
Độ rộng và số chữ số thập phân là các
hằng nguyên dương.
Ví dụ :
Writeln(n:5,x:6:2);

Write(i:3,j:4,a+b:8:3);
§8. SOẠN THẢO, DỊCH, THỰC HIỆN,
HIỆU CHỈNH CHƯƠNG TRÌNH
Trong khuôn khổ SGK, để thực hiện được
các ví dụ và các bài thực hành, trong máy
tính cần có các tệp:
turbo.exe, turbo.tpl, graph.tpu,
egavga.bgi.
Màn hình làm việc của Pascal có dạng
như sau:
-18-

Giới thiệu một số thao tác
thường dùng khi soạn thảo,
dòch, hiểu chỉnh, chương
trình
Học sinh theo dõi và ghi
nhớ các thao tác thường
dùng khi soạn thảo chương
trình.
Một số thao tác thường dùng:
+ Soạn thảo : tương tự như soạn thảo văn
bản.
+ Xuống dòng: Enter
+ Lưu chương trình: F2
+ Mở file đã có: F3
+ Biên dòch chương trình: Alt+F9
+ Chạy chương trình: Ctrl+F9
+ Đóng cửa sổ chương trình: Alt+F3
+ Thoát khỏi TP: Alt+X

+ Chuyển qua lại giữa các của số: F6
+ Xem lại màn hình kết quả: Alt+F5
+ Vào thanh menn: F10
Ctrl-K-B đánh dấu đầu khối.
Ctrl-K-K đánh dấu cuối khối.
Ctrl-K-C chép khối tại sau vò
trí con trỏ.
Ctrl-K-Y xóa khối hiện hành.
Ctrl-K-H tắt/mở khối.
3. Củng cố :
Trình bài một số thao tác thường dùng khi soạn thảo chương trình?
Khi viết read(x,y,z); write(‘x’,y,z); nó có ý nghóa như thế nào?
4. Dặn dò :
+ Xem lại bài
+ Chuẩn bò bài “ Bài tập và thực hành”
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
Tuần : . . . Tiết : 8+9
-19-
BÀI TẬP VÀ THỰC HÀNH 1

I. Mục tiêu
1. Về kiến thức :
- Nắm được cấu trúc chung và các thành phần của một chương trình viết trên ngôn ngữ bậc cao.
- Biết khái niệm môi trường làm việc (lập trình) của mỗi ngôn ngữ.
- Hiểu cách khai báo biến, hằng, cácch tạo biểu thức. Hiểu cách sử dụng lệnh gán. Biết các sử dụng
các lệnh vào/ra đơn giản.
- Ghi nhớ cấu trúc một chương trình đơn giản, một vài kiểu dữ liệu chuẩn thường dùng, cách khai báo
biến đơn, lệnh vào/ra đơn giản.
2. Về kỹ năng :

- Biết khai báo biến đơn, biết viết đúng biểu thức đơn giản trong chương trình. Không nhầm lẫn giữa
cách viết biểu thức khi lập trình với cách viết trong toán học. Chú ý đến độ ưu tiên của pháp toán.
- Biết kích hoạt môi trường Pascal và thoát khỏi môi trường đó. Biết soạn thảo, dòch và thực hiện một
số chương trình đơn giản theo bài mẫu có sẵn trong sách giáo khoa.
3. Về thái độ:
- Xác đònh thái độ nghiêm túc trong học tập khi làm quen với nhiều qui đònh nghiêm ngặt trong lập
trình.
- Có ý thức cố gắng học tập vượt qua khó khăn, những lúng túng ở giai đoạn bắt đầu học lập trình.
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình, phục vụ
tính toán và giải được một số bài toán.
II. Phương pháp, phương tiện dạy học
- Phương pháp : Hướng dẫn trên phòng máy.
- Phương tiện : Phòng máy vi tính.
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG

Giữ trật tự phòng máy, sắp
xếp học sinh vào ngồi thực
hành theo thứ danh sách
lớp.

Quan sát học sinh thực
hành, hướng dẫn học sinh
sửa lỗi chương trình khi học
sinh không tự phát hiện và
không tự sửa được lỗi.
Học sinh vào ngồi thực
hành theo hương dẫn của

giáo viên.
Soạn thảo, dòch, thực hiện
và hiệu chỉnh chương trình
theo các yêu cầu mà SGK
đã đặt ra.
BÀI THỰC HÀNH 1
a/ Gõ chương trình sau vào máy:
program giai_ptb2;
Uses crt;
var a,b,c,d:real;
x1,x2:real;
begin
clrscr;
write('a,b,c:');readln(a,b,c);
d:=b*b-4*a*c;
x1:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
write('x1= ',x1:6:2,'x2= ‘,x2:6:2);
readln;
end.
Sau khi soạn xong chương trình trên thực
hiện các yêu cầu sau
b/ Nhấn F2 để lưu chương trình
c/ Nhấn Alt+F9 để dòch và kiểm tra lỗi cú
pháp.
d/ Nhấn Ctrl+F9 để thực hiện chương trình.
Nhập các giá trò 1 −3 2 và quan sát kết quả.
-20-
e/ Nhấn Ctrl+F9 để thực hiện chương trình.
Nhập các giá trò 1 0 − 2 và quan sát kết quả.

f) Sửa lại chương trình sao cho không cần
dùng biến trung gian d.
g/ Sử lại chương trình bằng cách tính x2 theo
công thức.
h/ Thực hiện chương trình đã sửa với dữ liệu
1 −5 6
i/ Thực hiện với dữ liệu 1 1 1
3. Củng cố :
Viết chương trình nhập vào ba số a,b,c. Tính tổng ba số đó.
4. Dặn dò :
+ Xem lại bài
+ Chuẩn bò bài tập trang 35+36
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
Tuần : . . . Tiết : 10
-21-
BÀI TẬP

I. Mục tiêu
1. Về kiến thức :
- Nắm được cấu trúc chung và các thành phần của một chương trình viết trên ngôn ngữ bậc cao.
- Biết khái niệm môi trường làm việc (lập trình) của mỗi ngôn ngữ.
- Hiểu cách khai báo biến, hằng, cácch tạo biểu thức. Hiểu cách sử dụng lệnh gán. Biết các sử dụng
các lệnh vào/ra đơn giản.
- Ghi nhớ cấu trúc một chương trình đơn giản, một vài kiểu dữ liệu chuẩn thường dùng, cách khai báo
biến đơn, lệnh vào/ra đơn giản.
2. Về kỹ năng :
- Biết khai báo biến đơn, biết viết đúng biểu thức đơn giản trong chương trình. Không nhầm lẫn giữa
cách viết biểu thức khi lập trình với cách viết trong toán học. Chú ý đến độ ưu tiên của pháp toán.
- Biết kích hoạt môi trường Pascal và thoát khỏi môi trường đó. Biết soạn thảo, dòch và thực hiện một

số chương trình đơn giản theo bài mẫu có sẵn trong sách giáo khoa.
3. Về thái độ:
- Xác đònh thái độ nghiêm túc trong học tập khi làm quen với nhiều qui đònh nghiêm ngặt trong lập
trình.
- Có ý thức cố gắng học tập vượt qua khó khăn, những lúng túng ở giai đoạn bắt đầu học lập trình.
- Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của lập trình, phục vụ
tính toán và giải được một số bài toán.
II. Phương pháp, phương tiện dạy học
- Phương pháp : Hướng dẫn trên phòng máy.
- Phương tiện : Phòng máy vi tính.
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
Sự khác nhau giữa hằng có tên và biến.
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
Giá trò của hằng có đặt tên
và biến klhác nhau như thế
nào ?
Khai báo biến là nhằm
mục đích gì?
Hằng có giá trò không thay
đổi, còn biến thì giá trò có
thể thay đổi đïc tại từng
tời điểm thực hiện chương
trình.
Khai báo biến là nhằm
mục đích xác đònh tên biến,
kiểu để chương trình biêt và
quản lý.
BÀI TẬP

Câu 1:
Sự khác nhau giữa hằng có đặt tên và biến
là: Xét về mặt lưu trữ giá trò của hằng và
biến trong RAM thì giá trò trong ô nhớ của
hằng có đặt tên là không thay đổi, còn giá trò
trong ô nhớ của biến thì có thể thay đổi được
tại từng thời điểm thực hiện chương trình.
Câu 2:
Khai báo biến nhằm xác đònh mục đích sau:
+ Xác đònh kiểu của biến. Trình dòch sẽ
biết tổ chức ô nhớ chứa giá trò của biến.
+ Đưa tên biến vào danh sách các đối
tượng được chương trình quản lý.
+ Trình dòch biết cách truy cập giá trò của
biến và áp dụng thao tác thích hợp cho biến.
Câu 3: có thể sử dụng kiểu integer
Câu 4:
-22-
Hứơng dẫn học sinh dựa
vào phạm vi các kiểu dữ
liệu để giải bài 4.
A nhận giá trò từ 100 đến
200 nên S nhận giá mtrò là
bao nhiêu?
Hướng dẫn học sinh làm
bài 6,7.
Hướng dẫn học sinh nhìn
hình 2 để giải bài 8
Hãy so sánh diện tích hình
gạch sọc vớ diện tích hình

tròn?
Vậy để tính diện tích hình
gạch sọc ta cập nhập giá trò
nào vào?
Hướng dẫn học sinh viết
chương trình
Tương tự hướng dẫn học
sinh viết chương trình bài
tập 10.
Học sinh giải theo hướng
dẫn của giáo viên: khai báo
đúng là b và d.
S nhận giá trò từ 10000 đến
40000. vậy khai báo đúng
là b,c,d và c là tốt nhất.
Học sinh làm các bài 6,7
theo hướng dẫn.
Học sinh làm các bài 8
theo hướng dẫn
Diện tích hình gạch sọc
bằng ½ diện tích hình tròn.
Ta cần nhập giá trò a sau
đó tính diện tích hình tròn
và từ đó tính diện tính hình
gạch sọc.
Học sinh viết chương
trình theo hương dẫn.
Học sinh viết chương trình
theo hương dẫn.
Khai báo đúng là: b và d ( khai báo d tốt

hơn vì nó tiết kiệm bộ nhớ).
Câu 5:
Vì A nhận giá trò nguyên trong phạm vi từ
100 đến 200 => S nhận giá trò từ 10000 đến
40000=> Khai báo b,c,d đều đúng và c là
khai báo tốn ít bộ nhớ nhất
Câu 6:
(1+z)*((x+y/z)/(a−1/(1+x*x*x)))
Câu 7:

ba
b
d
ac
b
c
b
a
c
abc
b
b
a
a
+
=
2
)
1
)

2
)2)
Câu 8:
Hình 2a: (y<=1) and (y>=abs(x))
Hình 2b: (abs(x)<=1) and (abs(y)<=1)
Câu 9:
Nhận thấy rằng diện tích hình gạch chéo
bằng ½ diện tích hình tròn bán kính là a. Khi
đó ta có chương trình như sau:
program bt9;
Uses crt;
var a:real;
begin
clrscr;
write('Nhap gia tri a (a>0)');
readln(a);
write('Dien tích :’,a*a*pi/2:20:4);
readln;
end.
Bài 10:
program bt10;
Uses crt;
Const g=9.8;
var v,h:real;
begin
clrscr;
write('Nhap do cao h=');readln(h);
V:=sqrt(2*g*h);
write(‘Van toc khi cham dat
la :’,v:10:4,’ m/s’););

readln;
end.
3. Củng cố :
Viết chương trình tính diện tích hình chữ nhật.
-23-
4. Dặn dò :
+ Xem lại bài
+ Chuẩn bò bài mới “ Cấu trúc rẽ nhánh”
CHƯƠNG III
CẤU TRÚC RẼ NHÁNH VÀ LẶP
Tuần : . . . Tiết : 11
§9. CẤU TRÚC RẼ NHÁNH

I. Mục tiêu
-24-
1. Về kiến thức :
- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán.
- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đầy đủ)
- Hiểu cấu lệnh ghép.
2. Về 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 táon đơn giản.
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của
một số bài toán đơn giản.
3. Về thái độ:
- Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính.
- Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như: xem xét gảii quyết vấn đề một
cách cẩn thận, chu đáo, có sáng tạo, không thỏa mãn với kết quả ban đầu đạt được,……
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện : máy chiếu, máy tính

III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
- Thường ngày có rất nhiều việc
chỉ được thực hiện khi có một
điều kiện cụ thể nào đó được
thỏa mãn. ở dạng mệnh đề
nếu… thì…
-Yêu cầu học sinh tìm một số ví
dụ .
- Yêu cầu học sinh trình bài
thuật toán bằng cách liệt kê và
sơ đồ khối để giải phương trình
bậc hai.
- Phân tích để học sinh thấy
được cấu trúc rẽ nhánh trong
thuật toán.
- Từ sơ đồ khối giải phương
trình bậc hai. Em nào cho biết:
nếu chỉ sử dụng những cấu trúc
lệnh đã học ở những bài trước
thì có thể mô tả được thật toán
này được không?
- Làm chó học sinh thấy rõ sự
cần thiết phải có các câu lệnh

Học sinh chú ý lắng nghe và
cho ví dụ tương tự.


- nhập a,b,c
Tính delta=b
2
−4ac
Nếu delta>=0 thí tính và
đưa ra nghiệm, ngược lại
thông báo phương trình vô
nghiệm.
- Không thể nào viết chương
trình để mô tả thuật toán
trên.
§9. CẤU TRÚC RẼ NHÁNH
1. Khái niệm rẽ nhánh
Ví dụ: Để viết chương trình giải phương
trình bậc hai, ta phải:
Tính ∆=b
2
−4ac
Sau đó tùy thuộc vào giá trò của ∆ mà
ta có tính nghiệm hay không. Tức là: Nếu
∆<0 thì phương trình vô nghiệm, ngược lại
thì phương trình có nghiệm.
Như vậy ta có một số mệnh đề dạng:
Nếu ………thì………
Nếu ………thì………ngược lại.
 Mọi ngôn ngữ lập trình đều có các
câu lệnh để mô tả cấu trúc rẽ nhánh.
2. Câu lệnh if-then
Dạng thiếu:
If <ĐK> then <câu lệnh>;

Dạng đầy đủ:
If <ĐK> then <câu lệnh 1>
Else <câu lệnh 2>;

Điều kiện : là biểu thức quan hệ hay
-25-
NhËp a, b, c
TÝnh Delta = b
2
– 4ac
KiĨm tra
Delta < 0
TÝnh vµ ®­a
ra nghiƯm
Th«ng b¸o
v« nghiƯm
KÕt thóc
Sai §óng

×