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
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,
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.
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
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
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.
đặ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
- 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
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
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.
+ 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
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”);
}
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ự.
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 đó.
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 độ:
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à).
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.
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
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.
-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.
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?
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);
+ 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 :
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ả.
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
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
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’););
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ự.
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