Thông dịch: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong 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ác câu l
Trang 11 Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên.
2 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
bài toán trên máy tính
GV: Để giải được bài
toán này trên máy tính ta
phải dùng ngôn ngữ nào?
GV: Kết quả của việc lập
b Ngôn ngữ lập trình:
- Ngôn ngữ máy: Các lệnh được
mã hóa bằng các kí hiệu 0 – 1.Chương trình được viết trên ngônngữ máy có thể nạp vào bộ nhớ vàthực hiện ngay
- Ngôn ngữ bậc cao: Các lệnh được
mã hóa bằng một ngôn ngữ gần vớingôn ngữ tiếng Anh Chương trìnhviết trên ngôn ngữ bậc cao cần phảichuyển đổi sang ngôn ngữ máy
Trang 2gian Hoạt động của thầy Hoạt động của trò Nội dung bài giảng
mới có thể thực hiện được
* Hoạt động 2: Tìm hiểu
chương trình dịch, thông
dịch và biên dịch.
GV: Làm thế nào để máy
có thể hiểu được ngôn
ngữ bậc cao?
GV: Lấy ví dụ về thông
dịch và biên dịch trong
thực tế:
- Khi thủ tướng của một
chính phủ trả lời phỏng
vấn trước một nhà báo
quốc tế, họ thường cần
một người thông dịch để
dịch từng câu tiếng Việt
sang tiếng Anh
- Khi thủ tướng đọc một
bài diễn văn trước Hội
Nghị, họ cần một người
biên dịch để chuyển văn
bản tiếng Việt thành
tiếng Anh
GV: Yêu cầu học sinh
lấy một vài ví dụ tương
tự để hiểu rõ hơn về
Thông dịch và Biên dịch
HS: Để máy có thể hiểu
được ngôn ngữ bậc cao thì cần phải có một chương trình dịch
HS: Suy nghĩ, trả lời.
2 Thông dịch và biên dịch:
Chương trình dịch:Là chương trình
dùng để chuyển ngôn ngữ bậc cao sang một ngôn ngữ thực hiện được trên máy Có hai loại chương trình dịch là thông dịch và biên dịch
Thông dịch:
- Bước 1: Kiểm tra tính đúng đắn của lệnh tiếp theo trong chương trình nguồn
- Bước 2: Chuyển lệnh đó thành ngôn ngữ máy
- Bước 3: Thực hiện các câu lệnh vừa được chuyển đổi
Biên dịch:
- Bước 1: Duyệt, phát hiện lỗi,
kiểm tra tính đúng đắn của lệnh trong chương trình nguồn
- Bước 2: Dịch toàn bộ chương trình nguồn thành một chương trình trên ngôn ngữ máy
3 Củng cố:
- Khái niệm lập trình và ngôn ngữ lập trình
- Có ba loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
- Khái niệm chương trình dịch
- Phân biệt được thông dịch và biên dịch.
4 Dặn dò học sinh chuẩn bị cho tiết học sau:
- Trả lời các câu hỏi 1, 2, 3 sách giáo khoa trang 13.
- Xem bài đọc thêm 1: Em biết gì về các ngôn ngữ lập trình? Sách giáo khoa trang
6
- Xem trước bài học: Các thành phần của ngôn ngữ lập trình.
IV RÚT KINH NGHIỆM, BỔ SUNG:
………
………
………
………
………
………
Trang 3- Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt
- Nhớ các quy định về tên, hằng và biến
- Biết đặt tên đúng và nhận biết được tên sai quy định
- Sử dụng đúng chú thích
3 Thái độ: Bước đầu hình thành được tư duy về lập trình
II CHUẨN BỊ:
3 Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên & hình ảnh.
4 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
5 Ổn định tình hình lớp: (3’)
6 Kiểm tra bài cũ:
Câu hỏi:Em hãy nêu khái niệm Lập trình, hãy phân biệt Biên dịch và Thông dịch?
Dự kiến trả lời:
Lập trình là sử dụng cấu trúc dữ liệu và các 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
Trang 4Biên dịch: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các cacau 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
Thông dịch: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong 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ác câu lệnh vừa chuyển đổi được
7 Giảng bài mới:
- Bảng chữ cái tiếng Việt,
số, dấu
- Cách ghép các kí tựthành từ, ghép các từthành câu
- Ngữ nghĩa của từ vàcâu
1 Các thành phần cơ bản:
a) Bảng chữ cái:
Là tập hợp các kí tự được dùng đểviết chương trình Trong Pascalbảng chữ cái gồm các kí tự sau:
- Bảng chữ cái thường và bảng chữcái hoa của bảng chữ cái tiếngAnh
- Các chữ số trong hệ đếm thậpphân
GV: Mọi đối tượng trong
chương trình đều phải
được đặt tên Hãy nghiên
cứu SGK trang 10 để nêu
ra quy tắc đặt tên trong
Pascal?
GV: Cho các tên trong
Pascal sau, những tên
- Bắt đầu bằng chữ cáihoặc dấu gạch dưới
- Độ dài không quá 127
HS: Những tên đúng là:
AR12
Ví dụ:
Tên đúng:
AB_AA23
Tên sai:
12A
A BA#B
Trang 5Trong Pascal: program,
uses, const, type, var,
ngôn ngữ Pascal như sau:
Program, Abs, Integer,
Type, Xyz, Byte,Tong,
* Nhiều ngôn ngữ lập trình trong
đó có Pascal phân biệt 3 loại tênsau:
- Tên dành riêng,
- Tên chuẩn,
- Tên do người lập trình đặt
Tên dành riêng: (Từ khóa)
Tên dành riêng là những tên đượcngôn ngữ lập trình quy định dùngvới ý nghĩa xác định, người lậptrình không được dùng nó với ýnghĩa khác
Tên chuẩn: Là tên được ngôn ngữ
lập trình dùng với ý nghĩa nhấtđịnh nào đó; người lập trình có thểđịnh nghĩa lại để dùng nó với ýnghĩa khác
Tên do người lập trình đặt: là tên
được dùng theo ý nghĩa riêng củangười lập trình, tên này phải đượckhai báo trước khi sử dụng và nókhông được trùng với tên dànhriêng
* Hoạt động 3: Tìm hiểu
hằng, biến và chú thích.
GV: Dựa vào định nghĩa
như vậy, em hãy cho một
vài ví dụ cho mỗi loại
GV: Hãy dựa vào định
nghĩa, cho ví dụ về biến
trong ngôn ngữ Pascal
GV: Giải thích thêm
phần biến: Trong Pascal,
HS: Trả lời
Hằng số: 50 ; 60.5Hằng xâu: ‘A’, ‘Binh Dinh’
a) Hằng: Là đại lượng có giá trị
không đổi trong quá trình thực hiện chương trình.
Có ba loại hằng thường dùng:
hằng số học, hằng xâu và hằnglogic
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.
Trang 6gian Hoạt động của thầy Hoạt động của trò Nội dung bài giảng
biến gồm 2 loại: Biến
đơn và biến kép
Biến đơn: Tại mỗi thời
điểm chỉ chứa một giá
trị
Biến kép: Tại mỗi thời
điểm có thể chứa nhiều
giá trị
(Biến đơn được sử dụng
nhiều hơn.)
GV: Lời giải thích đôi
khi rất cần thiết trong
những chương trình phức
tạp, dùng để giải thích
cho người khác hiểu khi
đọc chương trình và giúp
cho chúng ta dễ dàng
chỉnh sửa, hoặc nâng cấp
chương trình
GV: Các lệnh được ghi
trong cặp dấu {} có được
Pascal thực hiện không?
HS: Không, vì đó là lời
chú thích
Các biến dùng trong chương trình
sẽ được khai báo
c) Chú thích:
Trong ngôn ngữ Pascal, chú thích được đặt giữa cặp dấu {} hoặc (*
*) dùng để giải thích cho chương trình rõ ràng và dễ hiểu
Ví dụ một lời chú thích trong chương trình: {Lenh xuat du lieu}
8 Củng cố:
- 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.
- 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, biến và
chú thích
9 Dặn dò học sinh chuẩn bị cho tiết học sau:
- Làm bài tập 4, 5, 6, SGK trang 13
- Xem bài đọc thêm: Ngôn ngữ Pascal, sách giáo khoa trang 14, 15, 16.
- Xem trước bài: Cấu trúc chương trình, sách giáo khoa, trang 18.
- Xem nội dung phụ lục B, sách giáo khoa trang 128: Một số tên dành riêng
IV RÚT KINH NGHIỆM, BỔ SUNG:
………
………
………
………
………
………
Trang 75 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
6 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
10 Ổn định tình hình lớp: (3’)
11 Kiểm tra bài cũ: (7’)
Câu hỏi: Em hãy trình bày những thành phần cơ bản trong ngôn ngữ lập trình
Pascal Phân biệt giữa hằng và biến
Trả lời: Những thành phần cơ bản trong ngôn ngữ lập trình Pascal là:
a) Bảng chữ cái:
Trang 8Là tập hợp các kí tự được dùng để viết chương trình Trong Pascal bảng chữ cái gồmcác kí tự sau:
- Bảng chữ cái thường và bảng chữ cái hoa của bảng chữ cái tiếng Anh
- Các chữ số trong hệ đếm thập phân
- Các kí tự đặc biệt: +, -, *, /, =, <, >, {, }, [, ], …
b) Cú pháp: Là bộ quy tắc để viết chương trình.
c) Ngữ nghĩa: Xác định ý nghĩa củ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 đó
Phân biệt giữa hằng và biến:
Hằng: Là đại lượng có giá trị không đổi khi thực hiện chương trình
Biến: Là đại lượng có thể thay đổi giá trị khi thực hiện chương trình
12 Giảng bài mới:
HS:
Thông dịch là dịch vàđưa ra kết quả ở từng câulệnh
Biên dịch là dịch toàn bộchương trình, và kết quảthu được là một hoặcnhiều file kết quả có thểlưu trữ và sử dụng lại
- 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ậptrình: Bảng chữ cái, cú pháp vàngữ nghĩa
- Mọi đối tượng đều phải được đặttên:
+ Tên dành riêng: được dùngvới ý nghĩa riêng, không đượcdùng với ý nghĩa khác
+ Tên chuẩn: Tên dùng với ýnghĩa nhất định, khi cần dùng với ýnghĩa khác thì phải khai báo
+ Tên do người lập trình đặt:Cần khai báo trước khi sử dụng
- Hằng: Đại lượng có giá trị khôngđổi trong khi thực hiện chươngtrình
- Biến là đại lượng được đặt tên.Giá trị của biến có thể thay đổitrong quá trình thực hiện chươngtrình
10’ * Hoạt động 2: Giải
quyết các câu hỏi trong
sách giáo khoa.
GV: Tại sao người ta
phải xây dựng ngôn ngữ
lập trình bậc cao?
HS: Người ta phải xây
dựng ngôn ngữ lập trìnhbậc cao vì chương trìnhviết bằng ngôn ngữ bậccao dễ hơn so với ngônngữ máy, ngôn ngữ bậccao gần gũi với ngôn ngữ
tự nhiên hơn so với ngônngữ máy
2 Các câu hỏi trong sách giáo khoa:
Câu 1: Tại sao người ta phải xây
dựng ngôn ngữ lập trình bậc cao?
Trả lời: Vì chương trình viết bằng
ngôn ngữ bậc cao gần gũi hơn sovới chương trình viết bằng ngônngữ máy, chương trình viết bằngngôn ngữ bậc cao dễ phát triển và
Trang 9chuỗi kí tự này được đặt
trong dấu nháy đơn
hoàn thiện hơn chương trình viếtbằng ngôn ngữ máy
Câu 2: Hãy cho biết những biểu
diễn nào dưới đây không phải làbiểu diễn hằng trong Pascal và chỉ
rõ lỗi trong từng trường hợp:a) 150.0
b) -22c) 6,23d) ‘43’
e) A20f) 1.06E – 15g) 4+6h) ‘Ci) ‘TRUE’
Trả lời:
Những hằng số học: 150.0, -22,1.06E-15
Những hằng kí tự: ‘43’, ‘TRUE’Những trường hợp không phải làhằng trong Pascal: 6,23, A20, 4+6,
dịch, mỗi câu lệnh của
chương trình nguồn được
3 Bài tập:
Bài 1: Phát biểu nào dưới đây là
đúng?
a) Chương trình là dãy các lệnhđược tổ chức theo các quy tắc đượcxác định bởi một ngôn ngữ lậptrình cụ thể;
b) Trong chế độ thông dịch, mỗicâu lệnh của chương trình nguồnđược dịch thành một câu lệnh củachương trình đích;
c) Mọi bài toán đều có chươngtrình để giải trên máy tính;
d) Nếu chương trình nguồn có lỗi
cú pháp thì chương trình đích cũng
có lỗi cú pháp
Đáp án: A
Bài 2: Trong chế độ biên dịch, một
chương trình đã được thông suốt,
hệ thống không báo lỗi Có thểkhẳng định rằng ta đã có mộtchương tình đúng chưa? Tại sao?
Đáp án: Không, vì chương trình
vẫn còn có thể có lỗi ngữ nghĩa
Trang 10gian Hoạt động của giáo viên Hoạt động của học sinh Nội dung bài giảng
về mặt ngữ nghĩa
13 Củng cố: (3’)
Nắm được các khái niệm cơ bản về thông dịch, biên dịch, chương trình dịch; biết được những thành phần cơ bản của một ngôn ngữ lập trình đặc biệt là chương trình Pascal
14 Dặn dò học sinh chuẩn bị cho tiết học sau: (2’)
Làm các bài tập trong sách Bài tập
Chuẩn bị trước bài 3: Cấu trúc chương trình
IV RÚT KINH NGHIỆM, BỔ SUNG:
………
………
………
………
………
………
Ngày soạn 26/09/2007:
CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN
Tiết 4: CẤU TRÚC CHƯƠNG TRÌNH
I MỤC TIÊU:
1 Kiến thức:
- Hiểu được 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 chung của một chương trình đơn giản: cấu trúc chung và các thành phần
- Nhận biết được các phần của một chương trình đơn giản
2 Kỹ năng:
- Nhận biết được các thành phần của chương trình
3 Thái độ:
Trang 11Nghiêm túc trong học tập khi tiếp xúc với nhiều quy định nghiêm ngặt trong lập trình.
II CHUẨN BỊ:
7 Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên và các bảng phụ để
minh họa các khai báo và chương trình đơn giản
8 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
15 Ổn định tình hình lớp: (3’)
16 Kiểm tra bài cũ: (5’)
Câu hỏi: Hãy cho 3 ví dụ về tên đúng trong Pascal Nêu khái niệm hằng, biến Trả lời: Ba ví dụ về tên đúng trong Pascal: A; _ABC; A1.
Hằng: là đại lượng có giá trị không đổi trong quá trình thực hiện chương trìnhBiến: Là đại lượng được đặt tên dùng để lưu trữ giá trị và giá trị này có thể thay đổi được trong quá trình thực hiện chương trình Các biến đều phải được khai báo trước khi dùng
17 Giảng bài mới:
Phần khai báo và phầnthân chương trình
I Cấu trúc chương trình:
1 Cấu trúc chung:
- Cấu trúc chương trình gồm có 2 phần:
[<phần khai báo >] và < phần thân chương trình>
* Phần khai báo: Khai báo tên chương trình, khai báo thư viện sử dụng, khai báo hằng, khai báo biến, khai báo chương trình con
* Phần thân chương trình: bao gồm dãy các lệnh được đặt trong dấu mở đầu và kết thúc
khai báo bắt đầu bằng từ
khóa Program, sau đó là
tên do người lập trình tự
đặt nhưng phải theo
đúng quy định về tên
chương trình
GV: Yêu cầu học sinh
lấy thêm vài ví dụ về
cách khai báo tên
chương trình
GV: Yêu cầu học sinh
nghiên cứu SGK và trả
lời cách khai báo thư
HS: Khai báo tên
chương trình:
ProgramPhuong_trinh_b2;
Program Vi_du;
HS: Cách khai báo thư
viện trong Pascal:
Uses Crt;
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ữ Pascal có cách khaibáo sau:
Program Ten_Chuong_trinhVD: Program Tinh_tong;
- Khai báo thư viện:
Mỗi ngôn ngữ lập trình thường cónhững thư viện cung cấp chươngtrình thông dụng đã được lập trìnhsẵn
Cách khai báo thư viện trong chươngtrình:
- Trong ngôn ngữ Pascal:
Uses crt;
- Trong C++
Trang 12gian Hoạt động của thầy Hoạt động của trò Nội dung bài giảng
viện trong Pascal?
GV: Yêu cầu học sinh
Ví dụ:
- Trong Pascal: const MaxN = 1000;
- Trong C++: const int MaxN =
1000;
- Khai báo biến:
Tất cả các biến dùng trong chươngtrình đều phải đặt tên và khai báo chochương trình dịch biết để lưu trữ và
xử lí
b) Phần thân chương trình:
Phần thân chương trình bao gồm cácdãy lệnh trong phạm vi được xácđịnh bởi cặp dấu hiệu mở đầu và kếtthúc
Ví dụ: Phần thân trong chương trìnhPascal:
begin [<Dãy lệnh>]
giữa hai chương trình
trong hai ngôn ngữ khác
thân của chương trình?
GV: Yêu cầu học sinh
readln;
3 Ví dụ chương trình đơn giản:
Xét một vài ví dụ về chương trìnhđơn giản:
Ví dụ 1: Chương trình sau thực hiện
việc đưa ra màn hình thông báo “Xin chao cac ban!!”
Trong Pascal Trong C++
programVi_du;
begin writeln(‘X
in chao cacban!’);
end
#include
<stdio.h>
void main(){
printf(‘Xin
ban!’);
}
Ví dụ 2: Chương trình Pascal đưa ra
thông báo “Xin chao cac ban!” và
“Moi cac ban lam quen voi Pascal!”
begin writeln(‘Xin chao cac ban!’); writeln(‘Moi cac ban lam quen voiPascal’);
end
Trang 13gian Hoạt động của thầy Hoạt động của trò Nội dung bài giảng
cho 1 ví dụ một chương
trình không có phần tên
và phần khai báo
end
18 Củng cố: (3’)
Một chương trình gồm có hai phần: Phần khai báo và phần thân Khai báo: Gồm có các 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
Trong một chương trình đôi khi cũng không cần có các phần khai báo mà chỉ có phần
thân chương trình
Bài tập:
Hãy chỉ ra phần khai báo, phần thân và có thể khai báo lại các biến trong chương trình sau:
Program Giai_PTB2;
Uses crt;
Var a, b: real;
c: real;
D: real;
x1, x2: real;
begin
clrscr;
write (‘Nhap a, b, c’); readln(a, b, c);
D:= b*b – 4* a*c;
If D < 0 then write (‘’PT vo nghiem) Else if D = 0 then write(‘N.kep x = ‘, -b/ (a*2);
Else Write(‘x1 = ’, x1:8:3, ‘x2 = ’, x2:8:3);
Readln;
End
19 Dặn dò học sinh chuẩn bị cho tiết học sau: (2’)
Chuẩn bị trước bài: Một số kiểu dữ liệu chuẩn và khai báo biến
IV RÚT KINH NGHIỆM, BỔ SUNG:
………
………
………
………
………
………
Ngày soạn:
Tiết 5:
MỘT SỐ KIỂU DỮ LIỆU CHUẨN VÀ KHAI BÁO BIẾN
I MỤC TIÊU:
1 Kiến thức:
Trang 14- Biết được một số kiểu dữ kiệu chuẩn: nguyên, thực, kí tự, logic;
- Hiểu cách khai báo biến
- Học sinh biết được rằng mọi biến dùng trong chương trình đều được khai báo tên
và kiểu dữ liệu
- Học sinh biết được cấu trúc chung của khai báo biến trong ngôn ngữ Pascal
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
- Học sinh khai báo được biến khi lập trình bằng ngôn ngữ Pascal
3 Thái độ:
Có ý thức cố gắng học tập vượt qua những lúng túng, khó khăn ở giai đoạn bắt đầu học lập trình
II CHUẨN BỊ:
9 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
10 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
20 Ổn định tình hình lớp: (3’)
21 Kiểm tra bài cũ: (5’)
Câu hỏi: Một chương trình thông thường bao gồm những thành phần nào? Hãy xác
định phần khai báo và phần thân của chương trình sau đây:
tỉ, số thực
Trang 15lời có bao nhiêu kiểu dữ
liệu chuẩn trong ngôn
HS: Trả lời: có 4 kiểu
dữ liệu chuẩn: kiểunguyên, kiểu thực vàkiểu logic
HS: Có hai loại là:
Real và Extended
I Một số kiểu dữ liệu chuẩn:
Trong ngôn ngữ Pascal, có một sốkiểu dữ liệu thường dùng cho biếnđơn như sau:
1 Kiểu nguyên:
Kiểu
Bộ nhớlưu trữ 1giá trị
Phạm vi giátrịByte 1 byte 0 255Integer 2 byte -215 215 -1Word 2 byte 0 216 – 1Longint 4 byte -231231 – 1
255 Bộ nhớ để lưu trữ một kí tự là 1byte
mỗi biến dùng trong
chương trình đều phải
được khai báo tên biến
và kiểu dữ liệu
- Tên biến dùng để xác
lập quan hệ giữa biến và
địa chỉ bộ nhớ nơi lưu
trữ giá trị của biến
GV: Cho ví dụ để khai
HS: Để khai báo một
biến nguyên và một biếnkiểu kí tự:
II Khai báo biến:
Cấu trúc chung của khai báo biếntrong ngôn ngữ Pascal là:
Var <danh sách biến>: <Kiểu dữ liệu>
Var Tên_biến_1: Kiểu_dữ_liệu_1; Tên_biến_2: Kiểu_dữ_liệu_2; Tên_biến_3: Kiểu_dữ_liệu_3; …………
Tên_biến_n: Kiểu_dữ_liệu_n;
Ví dụ:
Var x: word;
y: char;
Trang 16gian Hoạt động của giáo viên Hoạt động của học sinh Nội dung bài giảng
báo một biến nguyên và
một biến kiểu kí tự:
GV: Treo tranh có chứa
một số khai báo biến
trong Pascal, yêu cầu
học sinh chọn khai báo
đúng trong ngôn ngữ lập
trình Pascal?
Var
x, y, z: word;
n l: real;
X: longint;
h: in tegr;
i: byte;
GV: Treo tranh có chứa
một số khai báo biến
trong Pascal:
- Hỏi có bao nhiêu biến
tất cả, bộ nhớ phảo cấp
phát là bao nhiêu?
Var x, y: word;
z: Longint;
h: integer;
i: byte;
Var x: word;
y: char;
HS: Quan sát tranh và
chọn khai báo đúng:
Var
x, y, z: word;
i: byte;
HS: Quan sát tranh và
trả lời:
- Có 5 biến;
- Tổng bộ nhớ cần cấp phát là: x (2 byte); y (2 byte); z (4 byte); h (2 byte); i (1 byte); Tổng cộng 11 Byte
Chú ý:
- Nếu có nhiều biến có cùng kiểu dữ
liệu có thể khai báo ghép, khi đó các biến phân cách nhau bằng dấu phẩy Kiểu_dữ_liệu là một trong các kiểu
dữ liệu chuẩn của Pascal
- Đặt tên biến sao cho gợi nhớ, không đặt tên biến quá ngắn hay quá dài
23 Củng cố: (3’)
Mọi biến trong chương trình phải được khai báo Cấu trúc chung của khai báo biến trong Pascal: Var tên_biến: tên_kiểu_dữ_liệu;
24 Dặn dò học sinh chuẩn bị cho tiết học sau: (2’)
- Xem trước nội dung bài: Phép toán, biểu thức, lệnh gán,
- Xem nội dung phụ lục B, sách giáo khoa trang 129: Một số kiểu dữ liệu chuẩn,
một số thủ tục, hàm chuẩn
IV RÚT KINH NGHIỆM, BỔ SUNG:
………
………
………
………
………
………
Trang 1711 Chuẩn bị của giáo viên: Giáo án, tranh chứa các biểu thức trong toán học, tranh chứa
các hàm số học chuẩn, tranh chứa bảng chân trị Máy tính và máy chiếu Projector
12 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
25 Ổn định tình hình lớp: (3’)
26 Kiểm tra bài cũ: (5’)
Câu hỏi: Trong ngôn ngữ Pascal có những kiểu dữ liệu chuẩn nào? Trình bày cách khai
báo biến trong ngôn ngữ Pascal
Hãy chỉ ra các lỗi trong khai báo sau:
Các khai báo biến trong Pascal:
Var <Danh sách các biến> : <Kiểu dữ liệu>
Các lỗi trong khai báo trên là:
- Biến i khai báo 2 lần (vì Pascal không phân biệt chữ hoa hay chữ thường)
- PI là hằng thực nên phải khai báo là const PI = 3.1416;
27 Giảng bài mới:
Thời
gian
Hoạt động của giáo
viên Hoạt động của học sinh Nội dung bài giảng
1 Phép toán:
Tương tự như toán học, trong ngôn ngữ lậptrình đều có những phép toán cộng, trừ,nhân, chia trên các đại lượng thực, cácphép toán chia nguyên và lấy phần dư, cácphép toán quan hệ,…
Trong ngôn ngữ Pascal có những phéptoán sau:
- Các phép toán số học: + - * / div mod
Trang 18gian
Hoạt động của giáo
viên Hoạt động của học sinh Nội dung bài giảng
toán như toán học
nhưng được diễn
dư, lấy số nguyên
HS: Các phép toán div,
mod chỉ sử dụng chonhững kiểu dữ liệunguyên
HS: Kết quả của những
phép toán quan hệthuộc kiểu dữ liệuLogic
hiểu biểu thức.
GV: Nêu vấn đề:
Trong toán học ta đã
làm quen với khái
niệm biểu thức, hãy
cho biết những yếu
(2*z))(x*y)/(2*z)
2 Biểu thức số học:
- Biểu thức số học là biểu thức nhận được
từ các hằng số, biến số và hàm số liên kếtvới nhau bằng phép toán số học
- Thứ tự thực hiện biểu thức số học: trongngoặc trước, ngoài ngoặc sau Trong dãycác phép toán không chứa ngoặc thì thựchiện từ trái sang phải theo thứ tự của cácphép toán: nhân, chia, chia lấy nguyên,chia lấy dư thực hiện trước và các phéptoán cộng trừ thực hiện sau
Trang 19gian
Hoạt động của giáo
viên Hoạt động của học sinh Nội dung bài giảng
3 Hàm số học chuẩn:
Hàm
Bdtoánhọc
BdtrongPascal
Kiểuđối số
Kiểukếtquả
Bìnhphương x2 Spr(x)
Thựchoặcnguyên
TheokiểucủađốisốCăn
bậc hai x Sqrt(x)
Thựchoặcnguyên Thực
Giá trịtuyệtđối
|x| Abs(x)
Thựchoặcnguyên
TheokiểucủađốisốLogarit
tựnhiên Lnx Ln(x) Thực ThựcLũy
thừacủa sốe
ex Exp(x) Thực ThựcSin sinx Sin(x) Thực ThựcCos cos
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>
- Thứ tự thực hiện+ Tính giá trị các biểu thức,+ Thực hiện các phép toán quan hệ
Trang 20gian
Hoạt động của giáo
viên Hoạt động của học sinh Nội dung bài giảng
hệ được liên kết với
nhau bởi phép toán
logic gọi là biểu
5 Biểu thức logic:
Các phép toán: not, and, or:
Phép not được viết trước biểu thức cần phủđịnh
Ví dụ Not (x>2)Các phép toán and,or dùng để kết hợpnhiều biểu thức logic hoặc quan hệ thànhmột biểu thức, thường được dùng để diễn
tả các điều kiện phức tạp
Thứ tự thực hiện biểu thức logic:
+ Thực hiện các biểu thức quan hệ+ Thực hiện phép toán logic
- Các phép toán trong Pascal: số học, quan hệ và logic.
- Các biểu thức trong Pascal: số học, quan hệ và logic.
- Cấu trúc gán trong Pascal: <Tên biến>:=<biểu thức>;
29 Dặn dò học sinh chuẩn bị cho tiết học sau: (2’)
- Làm các bài tập 5, 6, 7, 8 trong SGK trang 35, 36.
- Chuẩn bị trước bài: Các thủ tục và ra đơn giản và soạn thảo, dịch, thực hiện và
hiệu chỉnh chương trình
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 21………
………
………
………
………
Ngày soạn:
Tiết 7: CÁC THỦ TỤC VÀO/RA ĐƠN GIẢN
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 chương trình;
- Biết một số công cụ của Turbo Pascal hoặc Borland Pascal;
2 Kỹ năng:
- Viết đúng được một số lệnh vào/ra đơn giản;
- Biết nhập đúng dữ liệu khi thực hiện chương trình;
- Biết khởi động và thoát khởi Turbo Pascal hoặc Borland Pascal;
- 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 Thái độ:
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 đã học
II CHUẨN BỊ:
13 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
14 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
30 Ổn định tình hình lớp: (3’)
31 Kiểm tra bài cũ:(7’)
Câu hỏi:Hãy viết các biểu diễn sau sang dạng biểu diễn trong Pascal:
i ey + cosx ii
z x
y x
− +
Trang 22iii α ≤u≤βiv.
2
1
|2sin
| πx <
Trả lời:
a) exp(y)+ cos(x) b) (x+y)/(x-z) c) (u>=α ) and (u<=β)
GV: Khi giải quyết một
bài toán, ta phải đưa dữ
liệu vào để máy tính xử
lí, việc đưa dữ liệu bằng
lệnh gán sẽ làm cho
chương trình chỉ có tác
dụng với một số dữ liệu
cố định Để chương trình
giải quyết được nhiều bài
toán hơn, ta phải sử dụng
thủ tục nhập dữ liệu
GV: Yêu cầu học sinh
nghiên cứu SGK để cho
biết cấu trúc chung của
giá trị cho nhiều biến, ta
phải nhập các giá trị này
Việc nhập thông tin từ bànphím được thực hiện bằng các
thủ tục chuẩn READ/READLN.
Các lệnh nhập cú dạng:
READ(<Danh sách biến vào>);
hoặc
READLN(<Danh sách biến vào>);
trong đó Danh sỏch biến vào là một hoặc nhiều tên biến đơn.
Trong trường hợp nhiều biếnthì các tên biến cách nhau bởi
lí xong, kết quả tìm được
đang được lưu trong bộ
Trang 23GV: Yêu cầu học sinh
nghiên cứu SGK và cho
biết cấu trúc chung của
thủ tục xuất trong ngôn
ngữ lập trình Pascal
GV: Ví dụ khi viết
chương trình để giải pt:
ax + b =0, ta phải đưa ra
giá trị của nghiệm –b/a,
ta viết lệnh như thế nào?
trong đó Danh sách kết quả ra
có thể là tên biến đơn, biểu thức hoặc hằng.
Ví dụ: Một chương trình hoànchỉnh có sử dụng các lệnh vào,ra:
(SGK)15’ * Hoạt động 3: Làm
quen với turbo Pascal
hình soạn thảo của
chương trình Pascal như:
D:= b*b – 4x a*c;
If D < 0 then write(‘’PT vo nghiem)
Else if D = 0 then write(‘N.kep x = ‘,
Else if D = 0 then write(‘N.kep x = ‘, -b/ (a*2);
Else Begin X1= (-b-sqrt(D))/(2*a);
- Soạn thảo: Các thao tác soạn
thảo chương trình về cơ bảngiống như trong soạn thảo vănbản: Gõ các lệnh của chươngtrình sửa các lỗi chính tả, ghi tệpchương trình vào đĩa
Biên dịch: Gõ đồng thời hai
phím Alt + F9 Nếu chương
trình có lỗi, sẽ có một thôngbáo chuẩn, báo lỗi trên nền đỏ
Gõ phím Enter hoặc phím Esc,
thông báo sẽ biến mất và vị trícon trỏ nằm gần chỗ lỗi đượcchẩn đoán Sau khi sửa lỗi, lặplại quá trình trên cho tới khichương trình không còn lỗi cúpháp
- Thực hiện (Chạy) : Gõ đồng
thời hai phím Ctrl + F9.
- Đóng cửa sổ chương trình: Nhấn tổ hợp phím: Alt + F3.
- Thoát khỏi phần mềm:
Trang 24Các thủ tục nhập/xuất dữ liệu trong Pascal;
Các thao tác soạn thảo, biên dịch, thực hiện, đóng chương trình,…
34 Dặn dò học sinh chuẩn bị cho tiết học sau: (2’)
BTVN:
- Viết chương trình nhập vào một số và tính bình phương của số đó.
- Viết chương trình giải phương trình bậc hai.
- Đọc trước phần nội dung bài tập và thực hành số 1.
IV RÚT KINH NGHIỆM, BỔ SUNG:
- Ôn tập một số kiến thức đã học trong chương 2;
- Trình bày một số chương trình cụ thể để chuẩn bị cho tiết thực hành
2 Kỹ năng:
- Giải được các bài tập trong SGK và SBT
- Lập trình được một số bài tập đơn giản
3 Thái độ: Nghiêm túc trong thực hành.
II CHUẨN BỊ:
15 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
16 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
35 Ổn định tình hình lớp: (1’)
36 Kiểm tra bài cũ: (Kiểm tra bài cũ trong quá trình giải bài tập)
37 Giảng bài mới:
Trang 254 Viết các biểu thức toán
học dưới đây sang biểu
1a
1 x
++
−+
5 Hãy chuyển các biểu
thức trong TP dưới đây
sang biểu thức toán học :
6 Hãy viết các biểu thức
lô gíc cho kết quả True khi
toạ độ (x,y) là điểm nằm
trong vùng gạch chéo hai
Bài 3: Biến đó chỉ nhận giá trị
nguyên nên nó chỉ thuộc 4 kiểunguyên là: byte, word, integer,longint Nhưng nó nằm trong phạm
vi từ 10 đến 25532 nên nó chỉ cóthể khai báo bằng những kiểu làinteger, word, longint
Bài 4:
a (x+y)/(x-1/2)-(x-z)/(x*y)
b (1+z)*(x+(y/z))/(a-(1/(1+x*x*x))
b Biểu thức logic;
(x>=-1) and (x<=1) and (y>=-1) and (y<=1)
Trang 26viết các chương trình đơn
giản của các bài tập trong
writeln(‘Nhap vao ban kinh a>0, a= ’);
writeln(‘Nhap vao h, h = ’); readln(h);
Các kĩ năng ban đầu về lập trình
5 Dặn dò học sinh chuẩn bị cho tiết học sau: (1’)
Chuẩn bị bài thực hành 1
Làm các bài tập trong SGK
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 27- Biết kích hoạt phần mềm pascal, làm quen với một số chương trình đơn giản.
- Bước đầu thực hiện các thao tác cơ bản trong pascal như: gõ, lưu, dịch và sửa lỗi, thực hiện một chương trình đơn giản
- Làm quen với một số tổ hợp phím thông dụng
17 Chuẩn bị của giáo viên: Giáo án, bài tập thực hành và máy tính.
18 Chuẩn bị của học sinh: Đọc trước SGK, làm các bài tập 9 và 10 trang 36 để chuẩn bị
- Giới thiệu một số menu
trên màn hình làm việc của
pascal
- Cho học sinh làm quen
với một số chương trình
đơn giản đã chuẩn bị
trước Yêu cầu học sinh
- Quan sát và ghi nhận
- Hai em ngồi kế nhau thảoluận, một số em đứng lêntrình bày, rồi nhận xét lẫnnhau
- Ghi nhận
- Học sinh thực hiện yêu cầu
- Tiếp tục thực hiện yêu cầu
và sửa đổi thói quen
- Hai em ngồi gần nhau thảo
1 Nội dung:
a) Gõ vào từ bàn phím chương
trình giải phương trình bậc 2 :
AX2 + BX + C = 0 với A ≠0
PROGRAM G_P_T_B2; USES CRT;
VAR A, B, C, D : REAL;
X1, X2 : REAL;
BEGIN CLRSCR;
WRITE(' A, B, C: ');
READLN(A,B,C);
D := SQRT(B*B – 4*A*C); X1 := (-B – D)/(2*A);
Trang 28gian Hoạt động của giáo viên Hoạt động của học sinh Nội dung bài giảng
Thống nhất ý kiến chung
- Yêu cầu học sinh gõ nội
dung chương trình giải
trong quá trình đánh máy
- Sau khi học sinh đã thực
hiện xong yêu cầu Giáo
viên có thể cho học sinh
phát biểu nội dung chương
trình theo ngôn ngữ giả đề
bước đầu làm quen với
một chương trình đơn giản
- Thống nhất ý kiến chung
- Yêu cầu học sinh lưu nôi
dung chương trình vừa gõ
- Nói: sau khi các em đã
dịch và sửa lỗi chương
phím tắt (nhấn F2), học sinh
có thể đặt theo một số tênmình thích dễ nhớ để sau nàytiện sử dụng (nếu cần)
- Nghe và thực hiện yêu cầutheo sự hiểu biết ban đầu
- Tiếp tục thực hiện, yêu cầu
sự giúp đở của bạn, của thầy(nếu cần)
- Thực hiện yêu cầu và quansát kết quả trên màn hình vớiđáp án sách giáo khoa đểnhận định về chương trình
mà mình thực hiện Tới đâyhọc sinh sẽ đưa ra câu hỏithắc mắc ( Sau khi thực hiện
e) Gõ Ctrl + F9 và nhập các giá
trị 1 0 -2
Kết quả nhận được là : X1 =1.41 X2 = 1.41
f) Sửa lại chương trình trên sao
cho không cần dùng biến trunggian D Sau khi sửa, thực hiện lạichương trình với các bộ dữ liệutrên
g) Sửa lại chương trình nhận được
ở mục c bằng cách thay đổi côngthức tính X2 (còn có 2 cách tínhX2 theo công thức khác)
h) Thực hiện chương trình với bộ
dữ liệu 1 -5 6 ( Kết quả nhậnđược là 2 và 3)
i) Thực hiện chương trình với bộ
dữ liệu 1 1 1, quan sát cách thông báo lỗi của TP.
Trang 29gian Hoạt động của giáo viên Hoạt động của học sinh Nội dung bài giảng
sau đó nhập tiếp giá trị 4;
chương trình báo lỗi
Vậy để giải quyết vấn đề
này thì chúng ta phải làm
sao? (Tạo sự thích thú và
khơi dậy tính tìm tòi học
hỏi cho HS) Để giải
làm bài 9 như: số lượng
các biến cần phải khai
báo cho chương trình;
cách tính diện tích phần
gạch chéo bằng một nửa
đường tròn bán kính a
GV: Sau khi học sinh đã
soạn thảo xong chương
2 Nội dung của hai bài tập 9
writeln(‘Nhap vao ban kinh a>0, a= ’);
writeln(‘Nhap vao h, h = ’); readln(h);
v:= sqrt(2*g*h);
writeln(‘Van toc la: v = ’,
Trang 30Các bước để hoàn thành một chương trình:
- Phân tích bài toán để xác định dữ liệu vào, dữ liệu ra
- Xác định thuật toán
- Soạn chương trình vào máy tính
- Lưu trữ chương trình
- Biên dịch chương trình
- Thực hiện và hiệu chỉnh chương trình.
41 Dặn dò học sinh chuẩn bị cho tiết học sau:
Bài tập về nhà:
Viết chương trình nhập vào độ dài 3 cạnh của một tam giác và tính chu vi, diện tích của tam giác đó
Đọc trước nội dung bài: Cấu trúc rẽ nhánh
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 31- Học sinh biết được ý nghĩa của cấu trúc rẽ nhánh.
- Học sinh biết được cấu trúc chung của cấu trúc rẽ nhánh
- Biết cách sử dung đúng hai dạng cấu trúc rẽ nhánh trong lập trình dạng thiếu và dạng đủ
19 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
20 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
42 Ổn định tình hình lớp: (1’)
43 Kiểm tra bài cũ: Không kiểm tra bài cũ
44 Giảng bài mới:
Chiều mai nếu trời
không mưa A sẽ đi
xem đá bóng, nếu trời
- Yêu cầu cho HS đưa
ra cấu trúc chung của
- Nếu đội tuyển bóng đáViệt Nam thắng độiIndonesia thì sẽ đá tiếptranh huy chương vàng vớiđội tuyển Thái Lan, nếukhông thắng Indonesia thìViệt Nam sẽ tranh huychương đồng vớiMianmar
-Nếu thì nếu không thì
- Nếu làm xong bài tậpsớm thì An sẽ sang nhàNgọc chơi
Nếu… thì …
1 Rẽ nhánh
TÝnh vµ ® a ra nghiÖm thùc, råi kÕt thóc
Th«ng b¸o v«
nghiÖm, råi kÕt thóc
§óng Sai
>=0?
:=b*b-4*a*c NhËp a, b, c
Trang 32gian
Hoạt động của giáo
viên Hoạt động của học sinh Nội dung bài giảng2) Nêu các bước để
kết luận nghiệm của
x = (-b+sqrt(delta))/(2a)
x = (-b-sqrt(delta))/(2a)
- Thực hiện vẽ sơ đồ(giống như ở phần nộidung
- Nhận xét, đánh giá và bổsung những thiếu sót củanhóm khác
3) Quan sát hình vẽ củacác nhóm khácvà của GV
1 Yêu cầu HS nghiên
cứu SGK và dựa vào
việc gì xảy ra nếu
điều kiện không thỏa
If <điều kiện> then <lệnh1> else <lệnh 2>;
2) HS chú ý lắng nghe vàtrả lời:
- Khi đó ta có lệnh khuyết
If <điều kiện> then
<lệnh>;
3 Vẽ sơ đồ thực hiện như
đã được trình bày trongphần nội dung
4 Theo dõi dẫn dắt của
GV để trả lời
2 Câu lệnh If – then
Turbo Pascal dùng câu lệnh if - then
để mô tả bước giải thuật có dạng :Nếu thì
hoặc Nếu thì nếu không thì
Tương ứng, câu lệnh if –then có haidạng :
*) Điều kiện : Một biểu thức quan
hệ hoặc lô gíc
*) Câu lệnh, câu lệnh 1, câu lệnh 2 :
là một câu lệnh nào đó của TurboPascal
• Ở dạng (1) điều kiện sẽ được tính
và kiểm tra Nếu điều kiện đúng thì câu lệnh sẽ được thực hiện, nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua
Trang 33gian
Hoạt động của giáo
viên Hoạt động của học sinh Nội dung bài giảnglệnh, lệnh 1, lệnh 2,
giáo viên nói: Sau
then và else các em
thấy chỉ đặt một lệnh
Trong thực tế, thường
lại là nhiều lệnh
-Yêu cầu HS nghiên
cứu SGK và cho biết
cấu trúc để ghép các
lệnh thành một lệnh
- Ta phải nhóm nhiều lệnhthành một lệnh
• Ở dạng (2) điều kiện cũng được tính
và kiểm tra Nếu điều kiện đúng thì câu lệnh 1 sẽ được thực hiện, nếu điều kiện sai thì câu lệnh 2 sẽ được
- Cấu trúc chung của cấu trúc rẽ nhánh.
- Sự thực hiện của máy khi gặp cấu trúc rẽ nhánh IF
- Sơ đồ thực hiện của cấu trúc rẽ nhánh IF
46 Dặn dò học sinh chuẩn bị cho tiết học sau:
-Xem trước nội dung còn lại của bài học
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 34- Lập trình được một số bài tập đơn giản.
- Biết diễn đạt đúng các câu lệnh, soạn được những chương trình đơn giản áp dụng các loại cấu trúc điều khiển nêu trên
3 Thái độ: 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,
giải quyết vấn đề một cách cẩn thận, sáng tạo… điều này thể hiện trong suốt quá trình phân tích bài toán, lựa chọn dữ liệu, chọn cấu trúc điều khiển, viết chương trình, dịch, sửa lỗi, kiểm thử, cải tiến chương trình
II CHUẨN BỊ:
21 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
22 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
47 Ổn định tình hình lớp: (1’)
48 Kiểm tra bài cũ:
Câu hỏi: Viết lại cấu trúc của 2 dạng : if … then … và if… then else …
Trả lời: if <điều kiện> then <câu lệnh>;
If <điều kiện> then <câu lệnh 1>else <câu lệnh 2>;
Sơ đồ khối:
Trang 35Theo sau các từ khóa then
hoặc else phải là một câu
* Hoạt động 2: Rèn luyện
kĩ năng vận dụng if:
GV: Nêu nội dung, mục
đích, yêu cầu của ví dụ 1
Viết chương trình nhập vào
chương trình của các em?
GV: Hướng giải quyết của
các em như thế nào?
GV: Yêu cầu học sinh về
nhà tiếp tục hoàn thiện
chương trình
GV: Nêu nội dung, mục
đích, yêu cầu của bài tập
Tìm nghiệm của phương
trình bậc hai:
- Hãy nêu các bước chính
để trả lời nghiệm của
phương trình bậc hai
HS: Khi nhập độ dài củahình chữ nhật âm thìchương trình vẫn cứthực hiện và đưa ra diệntích âm Điều này không
HS: Tính delta
Nếu delta <0 thì kếtluận phương trình vônghiệm
Nếu delta >= 0 thì kếtluận phương trình có
4 Các ví dụ:
Ví dụ 1:
Viết chương trình nhập vào 2 cạnh của một hình chữ nhật và tính chu vi, diện tích hình chữ nhật đó
Ví dụ 2: Tìm nghiệm của phương trình bậc 2:
PROGRAM VI_DU_1; USES CRT;
VAR A,B,C : REAL;
DELTA, X1, X2 :
Trang 36GV: Trong bài toán này ta
cần bao nhiêu lệnh rẽ
nhánh? Dạng nào?
GV: Tổ chức lớp thành 3
nhóm, yêu cầu học sinh viết
chương trình hoàn thiện
GV: Thu phiếu trả lời của
(2*a)HS: Có thể sử dụng 2lệnh rẽ nhánh dạngthiếu hoặc 1 lệnh rẽnhánh dạng đủ
HS: Thảo luận và viếtchương trình lên bìa
- Thông báo kết quả viếtđược
- Nhận xét, đánh giá và
bổ sung những thiếu sótcủa các nhóm khác
- Ghi chép nội dungchương trình đúng màgiáo viên đã kết luận
REAL;
BEGIN CLRSCR;
WRITE(' A, B, C : ');
READLN(A, B, C);
DELTA := B*B – 4*A*C;
IF DELTA < 0 THEN WRITELN(' Phuong trinh vo nghiem.')
ELSE BEGIN X1 := (-B – SQRT(DELTA))/(2*A);
4 Củng cố: ( 4’)
- Cấu trúc chung của cấu trúc rẽ nhánh
- Sự thực hiện của máy khi gặp cấu trúc rẽ nhánh
- Sơ đồ thực hiện của cấu trúc rẽ nhánh if
5 Dặn dò học sinh chuẩn bị cho tiết học sau: (1’)
- Viết chương trình nhập vào hai số bất kì và in ra màn hình giá trị lớn nhất của hai
số
- Viết chương trình giải phương trình ax4+ bx2 + c = 0;
- Xem trước nội dung bài: Cấu trúc lặp.
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 37Ngày soạn:
I MỤC TIÊU:
1 Kiến thức:
- Biết được ý nghĩa của cấu trúc lặp;
- Biết được cấu trúc chung của lệnh lặp for trong ngôn ngữ lập trình Pascal;
- Biết sử dụng đúng hai dạng lệnh lặp For trong ngôn ngữ lập trình Pascal;
2 Kỹ năng:
- Bước đầu sử dụng được lệnh lặp for để lập trình giải quyết một số bài toán đơn giản
3 Thái độ: 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, giải
quyết vấn đề một cách cẩn thận, sáng tạo… điều này thể hiện trong suốt quá trình phân tích bài toán, lựa chọn dữ liệu, chọn cấu trúc điều khiển, viết chương trình, dịch, sửa lỗi, kiểm thử, cải tiến chương trình
II CHUẨN BỊ:
23 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
24 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
50 Ổn định tình hình lớp: (1’)
51 Kiểm tra bài cũ: (Không kiểm tra bài cũ)
52 Giảng bài mới:
nghĩa của cấu trúc lặp:
GV: Nêu bài toán đặt vấn
đề như bài toán 1
khác nhau, khi đó việc tính
tổng trên tương tự như việc
Theo dõi gợi ý:
Trang 38bao nhiêu? Lần thứ i là bao
nhiêu?
- Phải viết bao nhiêu lệnh?
2 Nêu bài toán đặt vấn đề
như bài toán 2:
GV: Em hiểu như thế nào
về cách tính tiền gửi tiết
kiệm trong bài toán 2?
- Từ đó hãy lập công thức
tính tiền thu được sau
tháng thứ nhất
- Ta phải thực hiện bao
nhiêu lần như vậy?
Dẫn dắt: Chương trình
được viết như vậy rất dài,
khó đọc và dễ sai Cần có
một cấu trúc điều khiển
việc thực hiện lặp lại các
công việc trên
-
- Phải viết 100 lệnhHS: Chú ý quan sát và trả lời các câu hỏi
- Với số tiền S, sau mỗitháng sẽ có số tiền lãi
là 0,015 *S
- Số tiền này sẽ được cộng vào trong số tiền ban đầu để tính lãi cho tháng tiếp theo
S:= S+0.015*S
- Phải thực hiện tính 12lần như vậy
Tập trung theo dõi giáo viên trình bày
Bài toán 2: Một người có số tiền là
S, ông ta gửi tiết kiệm ngân hàngvới lãi suất 1,5 %/ tháng Hỏi sau
12 tháng gửi tiết kiệm (không rúttiền lãi hàng tháng), ông ta được sốtiền là bao nhiêu?
trúc điều khiển việc thực
hiện lặp lại với số lần đã
định trước
Hãy viết thuật toán để thực
hiện Bài toán 1.
HS: thảo luận để thực hiện
2 Lặp với số lần biết trước:
Bước 1: N 0; S 1/aBước 2: N N+1Bước 3: Nếu N>100 thì chuyểnđến bước 5
Bước 4: S S+ 1/(a+N); quay lạibước 2;
Bước 5: Đưa S ra màn hình rồi kếtthúc
15’ * Hoạt động 3: Tìm hiểu
lệnh lặp For của ngôn ngữ
lập trình Pascal:
Yêu cầu học sinh nghiên
cứu sách giáo khoa và trả
lời cấu trúc chung của câu
lệnh For?
Giải thích: <biến đếm là
biến kiểu nguyên hoặc kiểu
kí tự>
Hỏi: ý nghĩa của <giá trị
đầu>, <giá trị cuối>, kiểu
dữ liệu của chúng
GV: Trong bài toán gửi tiết
kiệm, giá trị đầu là bao
nhiêu, giá trị cuối là bao
nhiêu?
GV: Trong bài toán tính
tổng, giá trị đầu là bao
nhiêu, giá trị cuối là bao
HS: Nghiên cứu sáchgiáo khoa và trả lời
Dùng để làm giới hạncho biến đếm
- Cùng kiểu với <biếnđếm>
HS: Giá trị đầu là 1, giátrị cuối là 12
HS: Giá trị đầu là 1, giátrị cuối là 100
Biến đếm: là biến kiểu nguyên, kí
tự hoặc miền con;
Giá trị đầu, giá trị cuối: là biểu
thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
Sự thực hiện của máy:
Bước 1: Tính giá trị đầu, gán cho
biến đếm
Bước 2: Nếu biến đếm <= giá trị
cuối thì thực hiện lệnh cần lặp; tăng biến đếm lên 1 đơn vị, quay lại bước 2
Trang 39* Những lệnh nào cần lặp
lại ta đặt sau Do
- Khi cần nhiều lệnh thực
hiện sau lệnh do thì ta phải
viết như thế nào?
- Trong bài toán tính tổng,
lệnh nào cần lặp lại?
Em có nhận xét gì về giá
trị đầu và giá trị cuối
Khi đó lệnh For được gọi
là For tiến Ngôn ngữ lập
Giá trị đầu > giá trịcuối
Sự thực hiện của máy:
Bước 1: Tính giá trị cuối, gán cho
biến đếm
Bước 2: Nếu biến đếm >= giá trị
đầu thì thực hiện lệnh cần lặp; tăngbiến đếm lên 1 đơn vị, quay lại bước 2
Chuẩn bị chương trình mẫu
Giá trị đầu là 1, giá trịcuối là 100
là bao nhiêu?
4 Củng cố: (3’)
- Cấu trúc chung của lệnh lặp For
5 Dặn dò học sinh chuẩn bị cho tiết học sau: (1’)
- Giải bài tập 5, 6 trang 51.
- Xem trước phần nội dung của cấu trúc lặp có số lần chưa xác định.
IV RÚT KINH NGHIỆM, BỔ SUNG:
Trang 40Ngày soạn:
I MỤC TIÊU:
1 Kiến thức:
- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa xác định
- Biết được cấu trúc chung của lệnh lặp While trong ngôn ngữ lập trình Pascal
- Biết được sự thực hiện của máy khi gặp lệnh While
3 Thái độ: 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, giải
quyết vấn đề một cách cẩn thận, sáng tạo… điều này thể hiện trong suốt quá trình phân tích bài toán, lựa chọn dữ liệu, chọn cấu trúc điều khiển, viết chương trình, dịch, sửa lỗi, kiểm thử, cải tiến chương trình
II CHUẨN BỊ:
25 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
26 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
53 Ổn định tình hình lớp: (1’)
54 Kiểm tra bài cũ: (7’)
Câu hỏi: Hãy viết lại cấu trúc lặp tiến và lặp lùi
Viết câu lệnh tiến hoặc lùi cho bài toán sau:
For <biến đếm>:= <giá trị cuối> DownTo <giá trị đầu> Do <lệnh cần lặp>;
Câu lệnh For để thực hiện bài toán trên: