Ngày soạn:././ Ngày dạy:../../
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
(Tiết 1)
I. Mục đích - Yêu cầu
- Hiểu khẳ năng của ngôn ngữ lập trình bậc cao, phân biệt đợc với ngôn ngữ máy và
hợp ngữ
- Hiểu ý nghĩa và nhiệm vụ của chơng trình dịch, phân biệt đợc biên dịch và thông
dịch.
II. Lên lớp
1. ổ n định lớp
Lớp Sí số Vắng Có phép
11A .. ..
11A .. ..
11A .. ..
11A .. ..
2. Bài mới
Nội dung
Hoạt động của giáo viên và học sinh
* Có 3 loại:
- Ngôn ngữ máy
- Hợp ngữ
- Ngôn ngữ bậc cao
Gv: Trong chơng trình lớp 10 chúng ta đã tìm
hiểu về ngôn ngữ lập trình. Em hãy cho Thầy
biết có những loại ngôn ngữ lập trình nào ?
Hs: Trả lời
Gv: Các loại ngôn ngữ này có mối quan hệ
nh thế nào ?
1
Ngày soạn:././ Ngày dạy:../../
Nội dung
Hoạt động của giáo viên và học sinh
* Khái niệm lập trình: là sử dụng cấu
trúc dữ liệu và câu lệnh của 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.
* Chơng trình dịch là chơng trình có
chức năng chuyển đổi chơng trình viết
bằng ngôn ngữ bậc cao thành chơng
trình thực hiện đợc trên máy tính.
Có 2 loại chơng trình dịch:
+ Thông dịch
+ Biên dịch
Hs: Trả lới
Gv: NN bậc cao, hợp ngữ muốn máy tính hiểu
đợc thì phải dịch sang ngôn ngữ máy thông qua
chơng trình dịch.
Gv: Tại sao phải phát triển ngôn ngữ lập trình
bậc cao ?
Hs: Trả lời
Gv: Sau khi ta xây dựng đợc thuật toán, lựa
chọn đựoc ngôn ngữ lập trình thì bứơc tiếp theo
là gì ?
Gv: Giải thích về
- Câu lệnh
- Lệnh đơn
- Lệnh có cấu trúc
Gv: Dựa vào ví dụ, mô hình trong sách giáo
khoa để làm nổi bật 2 loại chơng trình dịch.
2
Ngày soạn:././ Ngày dạy:../../
Nội dung
Hoạt động của giáo viên và học sinh
a. Thông dịch
1. Kiểm tra câu lệnh
2. Chuyển đổi câu lệnh
3. Thực hiện câu lệnh
b. Biên dịch
1. Duyệt, phát hiện lỗi, kiểm tra tính
đúng đắn.
2. Dịch toàn bộ chơng trình nguồn
thành một chơng trình đích có thực
hiện trên máy tính và lu trữ sử dụng
lâu dài.
Gv: giải thích từng bớc cụ thể của thông dịch,
liên hệ giữa tin học và thực tế.
Gv: Thông dịch thực hiện một cách tuần tự,
trực tiếp, thích hợp trong môi trờng đối thoại.
Gv: giải thích từng bớc cụ thể của biên dịch,
liên hệ giữa tin học và thực tế.
Gv: Thông dịch và biên dịch có đặc điểm gì
giống và khác nhau? Ưu nhợc điểm của mỗi
loại
3. Củng cố
- Mối quan hệ giữa ngôn ngữ bậc cao và ngôn ngữ máy
- Sự khác nhau giữa thông dịch và biên dịch
4. Rút kinh nghiệm
.............................................
.......................................................................................................................................
.......................................................................................................................................
.............................................................................................
3
Ngày soạn:././ Ngày dạy:../../
Bài 2
Các thành phần của ngôn ngữ lập trình
(Tiết 2)
I. Mục đích Yêu cầu
- Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp, ngữ
nghĩa. Hiểu và phân biệt đợc 3 thành phần này.
- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, tên do ngời lập trình đặt,
hằng và biến.
- Nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình, biết cách đặt
tên đúng và nhận biết đợc tên sai quy định.
II. Lên lớp
1. ổ n định lớp
Lớp Sí số Vắng Có phép
11A .. ...
11A .. ..
11A .. ..
11A .. ..
2. Kiểm tra bài cũ
Câu 1: Nêu khái niệm lập trình ? Kể tên các loại ngôn ngữ lập trình ? Vì sao phải
phát triển ngôn ngữ lập trình bậc cao ?
Câu 2: Nêu khái niệm chơng trình dịch ? Kể tên và phân loại chơng trình dịch ?
3. Bài mới.
Nôi dung Hoạt động của GV và HS
1. Các thành phần cơ bản
+ Bảng chữ cái
+ Cú pháp
+ Ngữ Nghĩa
a. Bảng chữ cái
+ Khái niệm: Là tập hợp các kí tự
dùng để viết chơng trình.
GV: Gồn có 3 thành phần
GV:
+ Các chữ cái thờng , In hoa của bảng
TA
+ 10 chữ số Arap
+ Các kí hiệu đặc biệt
4
Ngày soạn:././ Ngày dạy:../../
b. Cú pháp: là bộ quy tắc dùng để viết
chơng trình.
c. Ngữ nghĩa: Xác định ý nghĩa thao
tác cần thực hiện, ứng với tổ hựp kí tự
dựa vào ngữ cảnh của nó.
2. Một số khái niệm
a. Tên
- KN: là một dãy lieeeneen tiếp không
quá 127 ký tự bao gồm chữ số , chữ
cái hoặc dấu gạch dới .
+ Tên dành riêng : là tên đợc quy định
dùng với ý nghĩa riêng xác định, ngời
lập trình không đợc sử dung với ý
nghĩa khác ( từ khoá )
GV: Hãy so sánh bảng chữ cái thông
thờng với bảng chữ cái trong ngôn
ngữ LT
GV: Lấy ví dụ
GV:L Lờy ví dụ minh hoạ và phân
tích.
GV:
VD: I+J
A+B
I,J là số nguyên
A,B là số thực
GV : Tổng hợp và đa ra kết luận về cú
pháp và ngữ nghĩa.
GV: + Các tên đúng
A; _ AB
+ Các tên sai
A_BC; 6AB,
GV: Em hãy lấy một số ví dụ về tin
đúng và tên sai
GV : lấy ví dụ minh hoạ
5
Ngày soạn:././ Ngày dạy:../../
+Tên chuẩn : là tên đợc dùng với ý
nghĩa nhất định nào đó
+ Tên do ngời lập trình đặt là tên đợ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 và
không trùng với tên dành riêng
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 CT
- Biến là đại lợng đợc đặt tên , dùng
để lu trữ giá trị và giá trị có thể đợc
thay đổi trong quá trình thực hiện CT
c. Chú thích
Đợc đặt tên trong dấu {};
GV: lấy vd và nêu ý nghĩa
GV :lấy VD
GV: gồm có :
- Hằng số học
- hằng loogic
- hằng số
4. Củng cố
- Sắp xếp thời gian giũa các nội dung hợp lý hơn
- Nêu bật đợc ý nghĩa của tên trong lập trình .
5. Rút kinh nghiệm
.............................................
.......................................................................................................................................
.......................................................................................................................................
.............................................................................................
6
Ngày soạn:././ Ngày dạy:../../
Bài tập
(Tiết 3)
I. Mục đích yêu cầu
- Biết khái niệm lập trình , phân biệt đợc 3 loại ngôn ngữ lập trình
- Chơng trình dịch ý nghĩa vai trò của nó
- Biết đợc các thành phần của ngôn ngữ lập trình , quy tắc và cách sử dụng
- Biết cách đặt tên sử dụng hằng và biến
II. Lên lớp
1. ổ n định lớp
Lớp Sí số Vắng Có phép
11A .. ..
11A .. ..
11A .. ..
11A .. ..
2. Bài mới
a. Giải đáp các thắc mắc về bài tập trong SGK và SBT
b. Bài tập bổ sung
Bài 1: Hãy chọn nghững biểu diễn hằng tong những biểu diễn dới đây
a. Begin
b. 21 A
c. 1024
d. _ 46
e. 6 B8
f. 12.4E-5
Bài 2: Hãy chọn cách biểu diễn tên trong những biểu diễn sau
a. ***
b. _5 +9 _0
c. P
p
d. +256.1
e. FA39
f. (2)
Bài 3: Trong những biểu diễn dới đây biểu diễn nào là từ khoá P
a. End
b. Interger
7
Ngày soạn:././ Ngày dạy:../../
c. Real
d. Sqrt
e. Abs
f. Var
Bài 4: Hãy chỉ ra tên dành riêng tên do ngời lập trình đặt hằng , biến , lỗi cú pháp
,lỗi ngữ nghĩa trong đoạn CT sau
Program gptb2;
Var a,b,c,x1,x2, delta: real;
Const
Begin
a: = 2;
Weiteln( hãy nhập hệ số b,c);
Readln (b) ; Readln (c);
Delta= b*b+*a*c
If delta< 0 then Weiteln( phơng trình vô nghiệm);
Else
if delta=0 then Writeln ( phơng trình có nghiệm , kép x=-b/2a
Else
Begin
Weiteln ( nghiệm x1 của PT là , x1=( -b+ sqet(delta))/2a));
Weiteln ( nghiệm x2 của PT là , x2=( -b+ sqet(delta))/2a));
End;
Readln;
End.
3. Củng cố
- Làm bài tập trong sách bài tập, sách giáo khoa.
- Đọc trớc bài mới.
4. Rút kinh nghiệm
.............................................
.......................................................................................................................................
.......................................................................................................................................
.............................................................................................
8
Ngày soạn:././ Ngày dạy:../../
Chơng II. Chơng trình đơn giản
Bài 3: Cấu trúc chơng trình
(Tiết 4)
I. Mục đích yêu cầu
- Hiểu CT là sự mô tả của thuật toán bằng một ngoion ngữ lập trình .
- Biết cấu trúc của một CT đơn giản : cấu trúc chung và các thành phần
- Nhận biết đợc các thành phần của một CT đơn giản
II. Lên lớp
1. ổ n định lớp
Lớp Sí số Vắng Có phép
11A .. ..
11A .. ..
11A .. ..
11A .. ..
2. Bài mới
Nội dung Hoạt động của GV_HS
9
Ngày soạn:././ Ngày dạy:../../
1. Cấu trúc chung.
[ < 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
Khai báo tên CT
Cú pháp:
Program < tên CT> ;
- Khai báo th viện
Cú pháp
Trong TP : ues< TV>;
C
++
# include < tên Tv > ;
-khai báo hằng
Cú pháp
Const <tên> = < gia trị >;
GV: cấu trúc gồm 2 phần : khai báo ,
phần thân
Phần thân bắt buộc phải có , phần
klhai báo không nhất thiết phải có
GV: Em hãy kể tên các đại lợng cơ
bản dã đợc học trong giờ trớc
HS: TL
GV: muốn sử dụng các đại lợng này ta
cần phải khai báo chúng
GV phần này có hoặc không
Vd program P_T_b2;
HS lấy vd
GV: để sử dụng TV thì ta phải khaoi
báo chúng
Vd: uses crt;
# include < conio.h>;
#include < studio.h>;
GV : vd:
Const Max N = 100;
Pi = 3.14;
Bt= biểu thức ;
10
Ngày soạn:././ Ngày dạy:../../
4. Củng cố
Giải thích Cấu trúc CT pascal đơn giản
Phần khai báo
Program < tên CT>;
Uses< tên các TV>;
Const <tên hằng>= < giá trị>;
Var <tên biến >: <kiểu DL>;
Phần thân CT Begin
[< dãy lệnh>]
End.
5. Rút kinh nghiệm
.............................................
.......................................................................................................................................
.......................................................................................................................................
.............................................................................................
Bài 4: một số kiểu dữ liệu chuẩn
11
Ngày soạn:././ Ngày dạy:../../
Bài 5 : Khai báo biến
(Tiết 5)
I . Mục đích yêu cầu
- biết một số kiểu DL chuẩn : nguyên , thực, kí tự, logic
- Xác định đợc kiểu cần khai báo của DL đơn giản
- hiểu cách khai báo biến
- biết khai báo biến đúng
II. lên lớp
1. ổ n định lớp
Lớp Sí số Vắng Có phép
11A .. ..
11A .. ..
11A .. ..
11A .. ..
2. Kiểm tra bài cũ
Em hãy nêu cú pháp khi khai báo
-CT
- TV
- Hằng
Vì sao phải khai báo biến ? sự khác biệt giữa hằng và biến
3. Bài mới
Nội dung Hoạt động của GV_HS
1. Kiểu số nguyên
GV: dữ liệu là gì
HS
GV: DL trong ngôn ngữ lập trình chỉ
có 1 số kiểu chuẩn nhất định mặc dù
thông tin rất đa dạng mỗi kiểu đặc tr-
ng bởi tên kiểu ,miền giá trị kích
thứoc trong bộ nhớ các phép toán các
hàm thủ tục
Một số kiểu DL trong TP
12
Ngày soạn:././ Ngày dạy:../../
Byte 1
Integer 2
Word 2
Long int 4
2. Kiểu thực
Read 6
Extended 10
3. Kiểu loogic( booolean)
4. Kiểu kí tự ( char)
5. Khai báo biến
Cú pháp
Var < DS biến >: < kiểu DL>;
GV: tập số nguyên là vô hạn nhng
trong MT kiểu số nguyên là hữu hạn.
GV: các kiểu thực đợc lu trữ và tính
toán gần đúng với sai số ko dáng kể
.kiểu số thực là hữu hạn phép toán
gồm kiểu nguyên và thực sẽ cho kết
quả thực
GV: chỉ có 2 giá trị true, flase dùng để
kiểm tra một diều kiện hoặc tìm giá
trị của 1 biểu thức logic
GV: kiểu char
Có giá trị là các ký tự trong ASCII
Dùng cho kí tự , xâu ( string)
So sánh các kí tự đợc thực hiện = cách
so sánh các mã ASCII
GV: trong đó
DS biến : là 1 hoặc nhiều tên biến đ-
ợc viết cách nhau bởi dấu phẩy
Kiểu DL: các kiểu DL chuản
GV: VD: lập trình để giải PT bậc 2
Var x1,x2, a,b, c, delta: real;
VD2 : tìm USC của 2 số M,N nguyên
Vả UC, M,N: interger
13
Ngày soạn:././ Ngày dạy:../../
3. Củng cố
- Biến phải gợi nhớ , có ý nghĩa
- Không lên đặt biến quá ngắn hoặc quá dài
- Khi khai báo biến phải chú ý đến pham vi của nó
4. Rút kinh nghiệm
.............................................
.......................................................................................................................................
.......................................................................................................................................
.............................................................................................
Bài 6
14
Ngày soạn:././ Ngày dạy:../../
phép toán biểu thức câu lệnh gán
(Tiết 6)
I. mục đích , yêu cầu
- biết đợc 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
- viết đợc lệnh gán
- viết các biểu thức số học và logic với các phép toán thông dụng
II. lên lớp
1. ổn định lớp
Lớp Sí số Vắng Có phép
11A .. ..
11A .. ..
11A .. ..
11A .. ..
2. kiểm tra bài cũ
Câu1 : nêu các kiểu DL chuẩn ? phạm vi và ko gian nhớ của từng kiểu
Câu2: hãy khai báo biến và kiểu DL cho các bài sau
a. xây dựng thuật toán để vẽ đồ thị : y= ax+ b
b. nhập từ bàn phím 5 số nguyên a,b ,c,d,e rồi tính tổng hiệu tích thơng của chúng
3. bài mới
Nội dung Hoạt động của GV_HS
1. phép toán
+ phép toán số học với số nguyên
- cộng +
- trừ -
- chia nguyên div
GV: để mô tả thuật toán mõi ngôn
ngữ lập trình đều sử dụng 1 số KN cơ
bản : phép toán , biểu thức , gán giá
trị.
GV lấy vd:
2 số nguyên : M=4 ; N= 3
=> kết quả của từng phép toán
15
Ngày soạn:././ Ngày dạy:../../
- lấy d : mod
- nhân *
+ phép toán với số thực
- cộng +
- trừ -
- chia /
-nhân *
+ phép toán quan hệ
- nhỏ hơn : <
-lớn hơn : >
- nhỏ hơn hoặc bằng : <=
-lớn hơn hoặc bằng : >=
Bằng: =
-khác : <>
+ các phép toán logic
Not ; and
2. biểu thức số học
3. hàm số học chuẩn
GV: lấy vd và giải thích
GV:
- dùng dấu ngoặc để xđ trình tự thực
hiện phép toán trong trờng hợp cụ thể
-viết từ trái qua phải
Thực hiện trong ngoặc trớc
- nếu không có ngoặc sẽ thch hiện từ
trái qua phải
VD: hãy chuyển các biểu thức toán
học sau sang ngôn ngữ tp
Xy/x; ( -b +
delta
)/ 2a
X
3
+y
3
/ Z
3
+2x
GV: phân tích và nêu rõ các NX trên
GV: giải thích nghĩa và lấy vd
-b+
acb 42
/2a
16
Ngày soạn:././ Ngày dạy:../../
(dùng bảng phụ)
4. biểu thức quan hệ
Cú pháp
<biểu thức >< pt quan hệ ><BT2>
5. biểu thức logic
Not
Or
And
6. Câu lệnh gán
Cú pháp
<tên biến >:= < biểu thức >;
TP: (-b+ sgrt( b*b-4ac))/(2a)
HS lấy vd chuyển đổi
GV: BT1,BT2 là xâu hoặc biểu thức
số học
-thực hiện theo trình tự
+tính giá trị các biểu thức
+thuwcj hiện ptoans quan hệ
Vd: ax+b >=
5
=>tp
GV: or ,and dùng để diễn tả các biểu
thức so sánh phức tạp
VD: 2<=y <= 20
=> TP ( y>=2) and (y<= 20)
Vd2
GV: tên biến là tên của biến đơn .kiểu
của giá trị BT phải phù hợp với kiẻu
của biến
4. Củng cố
- Các phép toán đối với từng kiểu dữ liệu.
- Quy tắc tính toán của biểu thức.
- Các hàm chuẩn, phép toán quan hệ, biểu thức logíc.
- Làm các bài tập trong sách giáo khoa và sách bài tập.
5. Rút kinh nghiệm
17
Ngµy so¹n:…./…./…… Ngµy d¹y:…../…../……
……………………………………………………………………………….............................................
.......................................................................................................................................
.......................................................................................................................................
.............................................................................................
18