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 bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy.. Kết luận : Biên dịch Compiler: đợc thực hiện qu
Trang 1Ngày 7 tháng 9 năm 2007
ngôn ngữ Lập trình
Đ 1 Khái niệm lập trình và ngôn ngữ lập trình (Tiết PPCT :1)
1.Mục tiêu :
- Học sinh nhận biết đợc 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 dợc vai trò của chơng thình dịch
- Phân biệt đợc hai khái niệm biên dịch và thông dịch
II Phơng pháp :
- Thuyết trình và gợi mở vấn đề
III Nội dung :
Ngôn ngữ máy: Là ngôn ngữ duy nhất mà máy
tính có thể trực tiếp hiểu và xử lý đựơc
Hợp ngữ: Là loại ngôn ngữ sử dụng một số từ để
thực hiện lệnh trên thanh ghi
Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với
ngôn ngữ tự nhiên, ít phụ thuộc vào loại 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 đợc viết bằng ngôn
ngữ lập trình bậc cao sang ngôn ngữ máy
Dùng máy chiếu diễn giải hai tình huống
này
Kết luận :
Biên dịch (Compiler): đợc thực hiện qua hai
bước
- 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 đích có thể thực hiện trên máy và có thể
lưu trữ để sử dụng lại khi cần thiết
Thông dịch (Interpreter) đợc thực hiện bằng
cách lặp lại dãy các bước sau
- Kiểm tra tính đúng đắn của câu lệnh tiếp theo
GV : Gọi một học sinh nhắc lại các khái niệm : ngôn ngữ máy, hợp ngữ và ngôn ng bậc cao
HS: Trả lời câu hỏi
GV : Để chuyển đổi chơng trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy cần phải có gì?
HS : Đó là chơng trình dịch
GV : - Cho ví dụ từ thực tế : “ Ngời phóng viên chỉ biết một ngôn ngữ là tiếng việt phóng vấn một chính khách nớc ngoài ” thông qua ngời phiên dịch
GV : Nh vậy có hai cách để ngời phóng viên
có thể thực hiện công việc của mình : biên dịch và thông dịch
Chươngưtrìnhưnguồn
Chươngưtrìnhưdịch
Chươngưtrìnhưđích
Trang 2trong chương trình nguồn
- Chuyển đổi câu lệnh đó thành một hay nhiều
câu lệnh tương ứng trong ngôn ngữ máy
- Thực hiện câu lệnh vừa chuyển đổi được
IV củng cố : Khái niệm lập trình?
Chương trình dịch là gì?
Khái niệm ngôn ngữ lập trình?
Ngày 7 tháng 9 năm 2008
Đ2 Cỏc thành phần của ngụn ngữ lập trỡnh (Tiết PPCT: 2 )
I Mục tiêu :
- Học sinh nắm đợc các thành phần cơ sở của Passcal : bảng chữ cái, tên riêng, (từ
khóa), hằng và biến
- Biết đợc tên hàng, tên biến và đặt tên đúng.
II Phơng pháp :
- Dùng máy chiếu, gợi mở và thuyết trình
III Nội dung ;
1.Các thành phần cơ bản
Mỗi ngôn ngữ lập trình đều có 3 thành phần cơ bản:
- Bảng chữ cái
- Cú pháp
- Ngữ nghĩa
a.Bảng chữ cái: Là tập các ký tự đợc dùng để viết
chơng trình
Trong Pascal, bảng chữ cái gồm các ký tự sau
Các chữ cái thờng và các chữ cái in hoa của
bảng chữ cái tiếng anh
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c d e f g h i j k l m n o p q r s t u v w x y z
10 chữ số thập phân ả Rập: 0 1 2 3 4 5 6
7 8 9
Các ký tự đặc biệt
Trang 3b Cú pháp : Là bộ quy tắc để viết chơng trình
c Ngữ nghĩa : Xác định ý nghĩa thao tác cần phải
thực hiện
2 Một số khái niệm ;
a Tên : Mọi đối tợng trong chơng trình đều phải đặt
tên theo quy tắc của ngôn ngữ lập trình
Ví dụ: Trong Pascal
Các tên đúng:
A R21 K2_P4 _23
Các tên Sai:
A BC 4PQ X#Y
Trong Pascal có ba loại tên :
Tên dành riêng
Tên chuẩn
Tên do ngời dùng cài đặt
GV : - Trình chiếu một chơng trình viết bằng ngôn ngữ lập trình Pascal và một
ch-ơng trình viết bằng ngôn ngữ C++
GV : Gải thích rõ quy tắc đặt tên
GV : Liệt kê ra một số tên trong ngôn ngữ Passcal và gọi một học sinh đúng tại chỗ xác định các tên đúng, các tên sai
HS : Trả lời và giải thích
GV : Giải thích khái niệm từng loại tên và cho ví dụ cụ thể đối với từng loại tên
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
Biến là đại lợng đợc đặt tên, dùng để lu trữ
giá trị và giá trị đợc thay đổi trong quá trình thực
hiện chơng trình
c Chú thích ; Có thể đặt các đoạn chú thích trong
chơng trình nguồn, giúp ngời đọc chơng trình nhận
biết ý nghĩa của chơng trình đó dễ hơn
IV Củng cố:
Cần có chơng trình dịch để chuyển chơng trình nguồn thành chơng trình đích
Có hai loại chơng trình dịch: Thông dịch và biên dịch
Các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa
Mọi đối tợng trong chơng trình đều phải đợc đặt tên
Hằng: Đại lợng có giá trị không thay đổi trong quá trình thực hiện chơng trình
Biến: Đại lợng đợc đặt tên Giá trị của biến có thể thay đổi trong quá trình thực hiện
ch-ơng trình
Trang 4Ngày 14 tháng 9 năm 2008
Đ3 : Cấu trúc chơng trình đơn giản (TiếtPPCT4)
I Mục đích và yêu cầu :
- Hiểu chơng trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình
- Biết cấu trúc của một chơng trình Passcal : cấu trúc chung và các thành phần
II.Phơng pháp : Sử dụng máy chiếu để thuyết trình và gợi mở vấn đề.
III Nội dung :
1 Bài cũ :
Câu1: Hãy phân biệt hai khái niệm biên dịch và thông dịch
Câu 2: Hãy nêu các thành phần cơ bản của ngôn ngữ lập trình.
2 Nội dung bài mới:
1 Cấu trúc chung
Một chơng trình viết bằng ngôn ngữ lập trình thờng có
2 thành phần sau
[<Phần khai báo>]
<Phần thân chơng trình>
2 Các thành phần của chơng trình
a.Phần khai báo
Khai báo tên chơng trình :
Trong ngôn ngữ lập trình Pascal phần khai báo tên
ch-ơng trình bắt đầu bằng từ khóaProgram
Program <Tên chơng trình>;
Ví dụ:
Program So_nguyen_to;
Program UCLN;
Khai báo th viện :Phần này không nhất thiết
phải có, nhng nếu có thì phải viết dới dạng sau
Uses <Danh sách các th viện>;
Ví dụ:
Uses crt;
Khai báo hằng :
Const <Tên>=<Giá trị>
Ví dụ:
Const MaxN = 1000;
Pi = 3.14;
KQ = ‘Ket qua:’;
Khai báo biến :Tất cả các biến đều phải đặt tên và
khai báo
b.Phần thân chơng trình
Phần thân chơng trình có cấu trúc nh sau :
Begin
.
.
GV : Hãy nhắc lại quy tắc đặt tên?
HS : trả lời
GV : Phần khai báo tên có thể có hoặc không
GV : Gọi một học sinh lên bảng thực hiện việc khai báo tên cho một số chơng trình
GV: Chú ý : Trớc khi ghi kết quả ra màn hình, nếu muốn xóa những gì đã viết trớc
đó ta dùng lệnh
Clrscr;
Trang 5End
Cấu trúc một chwơng trình đơn giản gồm
Program <Tên chơng trình>;
Uses <Tên th viện>;
Const <Tên hằng>=<giá trị của hằng>;
(Có thể có những khai báo khác nữa)
Begin
[<Dãy lệnh> ]
End
3 Ví dụ chơng trình đơn giản
Ví dụ 1:
Begin
Writeln(‘Truong THPT-DTNT Con Cuong’);
Writeln(‘Lop 10B4’);
End
Ví dụ 2:
Program Bai_tap1;
Begin
Writeln(‘Ta di ta nho que nha’);
Writeln(‘Nho canh rau muong nho ca dam tuong’);
End
Ví dụ 2:
Program Bai_tap1;
Uses crt;
Begin
Clrscr;
Writeln(‘ Tieng suoi trong nhu tieng hat xa’);
Writeln(‘Trang long co thu bong long hoa’);
Writeln(‘Canh khuya nhu ve nguoi chua ngu’);
Writeln(‘Chua ngu vi lo noi nuoc nha’);
End
GV : Trình chiếu một chơng trình Passcal đơn giản và chỉ rõ từng thành phần của chơng trình
GV: Cho một học sinh đúng tại chỗ nhận xét về chơng trình này
GV: Cho chạy thử chơng này trong môi trờng Psscal
GV: Sau khi thực hiện chơng trình này thì trên màn hình sẽ hiển thị kết quả gì? HS: Trả lời
IV Củng cố :
- Cấu trúc chung của chơng trình
+ Gồm hai phần: [<Phần khai báo>]
<Phần thân chơng trình>
- Các thành phần của chơng trình
Phần khai báo
+ Khai báo tên chơng trình
+ Khai báo th viện
+ Khai báo hằng
+ Khai báo biến
Phần thân chơng trình
Ngày 14 tháng 9 năm 2008
Đ4 : Một số kiểu dữ liệu chuẩn
Đ5 : Khai báo biến (Tiết PPCT 5)
I Mục đích yêu cầu :
- Biết một số kiểu dữ liệu chuẩn
Trang 6- Hiểu đợc cách khai báo biến
II Phơng pháp : Thuyết trình và gợi mở vấn đề
III Nội dung :
1 Bài cũ : Hãy viết một chơng trình Passcal hiển thị lên màn hình một bài thơ ngắn
2 Nội dung bài mới:
1 Kiểu nguyên
Các kiểu nguyên đợc lu trữ và kết quả tính toán luôn là
số đúng, nhng hạn chế về miền giá trị
Kiểu Miền giá trị Kích thớc
Integer -215 215 2Byte
Word 0 216-1 2Byte
Longint -231 231-1 4Byte
2 Kiểu thực
Các kiểu thực đợc trữ và kết quả tính toán chỉ là gần
đúng với sai số không đáng kể, miền giá trị đợc mở
rộng hơn
Kiểu Miền giá trị Kích thớc
Real 10-38 1038 6Byte
Extender 10-4932 104932 10Byte
3 Kiểu ký tự
Kiểu ký tự có tập giá trị là các ký tự trong bộ mã
ASCII, đuợc dùng khi thông tin là các ký tự
Kiểu Miền giá trị Kích thớc
4 Kiểu lô gíc
Kiểu lôgíc trong Pascal chỉ có hai giá trị True (đúng) và
False (sai)
Kiểu Miền giá trị Kích thớc
Bài 5: Khai báo biến
Trong Pascal mọi biến đều phảI đợc đặt tên và khai báo
kiểu dữ liệu của nó
Trong Pascal , khai báo biến bắt đầu bằng từ khóa Var
và có dạng
Var <danh sách biến>:<Kiểu dữ liệu>;
Ví dụ1:
Var a,b,c: Integer;
x1,x2, delta : Real;
Ví dụ2:
Var a,b: Integer;
S,P : Real;
Trang 7Một chơng trình có khai báo biến có cấu trúc nh sau
Program <tên chơng trình>;
Uses crt;
Const <tên hằng>=<giá trị của hằng>;
Var <danh sách biến>:<kiểu dữ liệu>;
Begin
End
Ngày 5 tháng 10 năm 2008
Đ6 : Phép toán, biểu thức, câu lệnh gán (Tiết PPCT 6)
I.Mục đích yêu cầu :
- Biết các khái niệm: phép toán, biểu thức số học, hàm chuẩn, biểu thức quan hệ
- Hiểu lệnh gán
- Viết dợc lệnh gán
- Viết đợc biểu thức số học và biểu thức lo gíc của các phép toán thông dụng
II.Phơng pháp : - Dùng máy chiếu, thuyết trình và gợi mở vấn đề
III.Nội dung :
1 Bài cũ :
- Hãy viết cấu trúc của một chơng trình đơn giản
- Hãy khai báo các biến trong chơng trình giải phơng trình bậc hai tổng quát?
2 Bài mới ;
1 Phép toán
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 trên các đại lợng thực, các phép
toán chia nguyên và chia lấy d, các phép toán quan
hệ,
- Chiếu bảng liệt kê các phép toán trong SGK
2 Biểu thức số học
Quy tắc:
Chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện
khi cần thiết
Viết lần lợt từ trái qua 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 thứ tự:
GV : Cho ví dụ về các phép toán
HS : trả lời
GV : VD1: hãy viết các biểu thức sau trong Passcal
5a + 6b Ax2 + Bx + C
Trang 8 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 qua phải, theo thứ tự u tiên (*),
(/), (div), (mod) thực hiện trớc (+), (-) thực hiện
sau
3 Hàm số học chuẩn
Liệt kê bảng các hàm số học
4 Biểu thức quan hệ
Biểu thức quan hệ thực hiện theo trình tự:
Tính giá trị các biểu thức
Thực hiện phép toán quan hệ
Kết quả của biểu thức quan hệ là giá trị lôgic: True
(đúng) hoặc false (sai)
Hai biểu thức liên kết với nhau bởi phép toán quan hệ
cho ta một biểu thức quan hệ
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à <biểu thức 2> cùng là xâu hoặc cùng
là biểu thức số học
Ví dụ:
Delta < 0
i + 1 > = N
5 Biểu thức lôgic
Là các biểu thức quan hệ liên kết với nhau bởi
phép toán lôgic
Ví dụ:
(x >=2) and (y = 1)
6 Câu lệnh gán
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 Trong pascal câu lệnh gán
có dạng
<Tên biến> := <biểu thức>
Ví dụ:
a := 5;
Delta := b*b – 4*a*c
HS: Đứng tại chowx trả lòi
GV
Ví dụ : Xác định điều kiện để điểm M(x,y) thuộc hình tròn tâm I(a,b), bán kính R
GV: gọi học sinh lên bảng làm ví dụ
Ví dụ1 : Hãy viết điều kiện để tam giác
có độ dài ba cạnh là a,b,c và ba góc là x,y,z là tam giác cân, đều
GV: Trong chơng trình giải phơng trình bậc hai ta phải gán các bieens nào? HS: Trả lời
(x1, x2, Delta)
IV.Củng cố : -Biểu thức số học
-Hàm số học chuẩn -Biểu thức logic -Câu lệnh gán
Ngày 5 tháng 10 năm 2008
Đ7,8: Các thủ tục ra vào đơn giản
Soạn thảo dịch, thực hiện và hiệu chỉnh chơng trình
(Tiết PPCT : 7)
I.Mục đích yêu cầu:
- 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 các lệnh ra vào đơn giản
- Viết đợc một số lệnh ra vào đơn giản
- Biết một số công cụ làm việc của môi trơng Turbo Passcal
II