Hãy chọn những phát biểu đúng dưới đây: a Để có thể sử dụng biến và hằng trong chương trình ta phải khai báo chúng trong phần khai báo b Ta chỉ cần khai báo tên biến mà không cần khai bá[r]
Trang 1Tuần: 16
Tiết: 32
Bài thực hành 4
SỬ DỤNG LỆNH ĐIỀU KIỆN IF THEN (Tiết 2)
Ngày soạn: 02/12/2013
Ngày dạy: 03/12/2013
I Mục tiêu:
1. Kiến thức: Học sinh viết được câu lệnh điều kiện IF….Then
2. Kỹ năng: Rèn kĩ năng ban đầu về đọc các chương trình đơn giản và hiểu được ý nghĩa của thuật tốn sử
dụng trong chương trình Luyện tập sử dụng cu lệnh IF……….Then,HS phải hiểu và phải tự viết chương trình giải bài tốn tương tự (ví dụ kiểm tra tính chất của tam giác dựa trên số đo của cạnh: cân, đều, vuơng)
3. Thái độ: Cĩ ý thức, tự giác khi làm bài tập, giúp đỡ lẫn nhau trong hoạt động nhĩm, tính kỷ luật, biết giữ gìn tài sản chung
II
Chuẩn bị: :
1 Giáo viên: Phịng máy, máy chiếu, bài trình chiếu
2 Học sinh: Học bài cũ
III Tiến trình:
1 Ổn định lớp – Kiểm tra sỉ số:
8A1: .8A2: .8A3: .
2 Kiểm tra bài cũ:
Câu 1: Trong Pascal, câu lệnh điều kiện dạng thiếu được viết bởi các từ khĩa if và then như thế nào?
Hãy viết câu lệnh dạng thiếu để in số a ra màn hình nếu a<b?
Câu 2: Trong Pascal, câu lệnh điều kiện dạng đầy đủ được viết bởi các từ khĩa if và then như thế nào? Hãy viết câu lệnh dạng đầy đủ để in số a ra màn hình nếu a<b?
3 Bài mới:
Hoạt động 1: Bài 3(31 phút)
- Gv cho hs đọc đề
+ yêu cầu hs Tìm hiểu ý nghĩa của
các câu lệnh trong chương trình,
soạn, dịch và chạy chương trình
với các số tuỳ ý.(trong thời gian
20’)
-trong khi hs sinh thực hiện gv
quan sát giúp đỡ hs yếu theo dõi
quá trình làm bài của hs
+lưu ý cho hs là cần biết điều kiện
để ba số dương a, b, c là ba cạnh
của một tam giác thì tổng hai cạnh
phải lớn lớn cạnh cịn lại, nghĩa là
phải đồng thời thoả mãn ba điều
kiện a + b > c, b + c > a và c + a >
b
+GV hướng dẫn HS về cách biểu
diễn ba điều kiện này trong Pascal:
(a+b>c) and (b+c>a) and (c+a>b)
+ giải thích để HS hiểu dùng phép
quan hệ and là để đảm bảo cả ba
điều kiện a + b > c, b + c > a và c
+ a > b đồng thời thoả mãn; Việc
phải sử dụng dấu ngoặc trịn trong
phép so sánh trên là để đảm bảo
thứ tự ưu tiên thực hiện phép tốn
và để đảm bảo tham số của phép
and (và or) chỉ cĩ thể là giá trị
đúng hoặc sai (khơng là số)
-yêu cầu hs trình bày
-Để HS luyện tập thêm về câu lệnh
- Hs đọc đề, thảo luận kĩ để hiểu chương trình này
- Hs thực hiện theo yêu cầu của Gv bằng cách gõ chương trình vào máy và chạy chương trình
- Hs chú ý cái khĩ của bài này là phải biết chuyển biểu thức điều kiện tốn học sang biểu diễn trong Pascal
Đại diện nhĩm trình bày
Bài 3 Dưới đây là chương trình
nhập ba số dương a, b, và c từ bàn
phím, kiểm tra và in ra màn hình kết quả kiểm tra ba số đĩ cĩ thể là
độ dài các cạnh của một tam giác hay khơng
Ý tưởng: Ba số dương a, b, và c là
độ dài các cạnh của một tam giác
khi và chỉ khi a + b > c, b + c > a
và c + a > b
Program
Ba_canh_tam_giac;
uses crt;
Var a, b, c: real; Begin
Clrscr;
write('Nhap ba so a,
readln(a,b,c);
(b+c>a) and (c+a>b)
then
writeln('a, b va c
la 3 canh cua mot tam giac!')
else writeln('a, b,
c khong la 3 canh cua 1 tam giac!');
End.
Tìm hiểu ý nghĩa của các câu lệnh trong chương trình, soạn, dịch và
Trang 2điều kiện, phép so sánh, cĩ thể yêu
cầu HS viết chương trình Viết
chương trình kiểm tra xét khen
thưởng cho học sinh.( Học sinh có
điểm trung bình 8.0 trở lên thì
khen thưởng )
- Hs Program Khen;
Var diem: Real;
Begin Writeln(‘ Nhap diem trung binh
‘);
Readln(diem);
If diem > = 8 then Writeln (‘
khen thuong ’) Else Writeln ( ‘khong duoc khen thuong’) Readln;
End
chạy chương trình với các số tuỳ ý
Lưu ý: Trong chương trình trên
chúng ta sử dụng từ khố and để kết hợp nhiều phép so sánh đơn giản thành một phép so sánh phức hợp Giá trị của phép so sánh này
là đúng khi và chỉ khi tất cả các
phép so sánh đơn giản đều cĩ giá trị đúng Ngược lại, chỉ cần một phép so sánh thành phần cĩ giá trị
sai thì nĩ cĩ giá trị sai.
IV Củng cố - Dặn dị:
- Nhắc lại cấu trúc và những lưu ý khi sử dụng câu lệnh điều kiện
- Học bài,ơn lại cấu trúc câu lệnh điều kiện
Bài tập về nhà:
Viết chương trình cho phép nhập điểm bài kiểm tra của một bạn nào đĩ, sau đĩ thực hiện:
- Nếu điểm nhỏ hơn 5, in ra dịng chữ "Ban can co gang hon";
- Nếu điểm lớn hơn hoặc bằng 5 và nhỏ hơn 6.5, in ra dịng chữ "Ban dat diem trung binh";
- Nếu điểm lớn hơn hoặc bằng 6.5 và nhỏ hơn 8, in ra dịng chữ "Ban dat diem Kha";
- Nếu điểm lớn hơn hoặc bằng 8, in ra dịng chữ "Hoan ho ban dat diem Gioi"
Trang 3Tuần: 17
Tiết: 33 KIỂM TRA THỰC HÀNH Ngày soạn: 06/12/2013Ngày dạy: 10/12/2013
I Mục tiêu:
1 Kiến thức: Kiểm tra khả năng thực hành, nắm kiến thức v vận dụng vo lập trình của học sinh, thông qua
đó giúp đỡ học sinh và giáo viên thấy được ưu nhược điểm trong quá trình học tập của học sinh để có biện pháp bổ sung giúp đỡ
2 Kỹ năng: Rèn kĩ năng viết các chương trình đơn giản
3 Thái độ: Có ý thức, tự giác, trung thực khi làm bài
II
Chuẩn bị: :
1 Giáo viên: Phòng máy, đề kiểm tra
2 Học sinh: Hệ thống lại kiến thức
III Tiến trình:
1.Ổn định lớp – Kiểm tra sỉ số:
8A1: .8A2: .8A3: .
2 Phát bài và theo dõi kiểm tra:
3 Thu bài - Dặn dò: Về nhà chuẩn bị nội dung bài ôn tập
IV Thống kê bài làm của học sinh:
Lớp TS8 – 10% TS6.5 – 7.9% TS5 – 6.4% TS3.1 – 4.9% TS2 – 3% TS0.1 – 1.9% TS 0 % TSTrên TB% 8A1
8A2
8A3
TC
V Nhận xét bài làm của học sinh – Rút kinh nghiệm:
Trang 4Ma trận đề:
5đ 1 5đ 2 5đ
5đ
1
5đ
2 10đ
Đề bài:
Bài 1: Vết chương trình tìm số lớn hơn trong hai số a,b (a khác b) bất kỳ nhập từ bàn phím (5 điểm)
Bài 2: Cho trước ba số dương a, b và c Viết chương trình kiểm tra ba số đó có thể là ba cạnh của một tam giác hay không (5 điểm)
Đáp án:
Bài 1 :
Var a,b: real ; (1đ)
Begin
Writeln(‘nhap so a :’) ; readln(a) ;
Writeln(‘nhap so b :’) ; readln(b) ; (2đ)
If a >b then writeln(‘ so lon hon la :’ ,a) else writeln(‘ so lon hon la :’, b) (2đ)
End.
Học sinh làm cách khác mà đúng vẫn cho điểm tối đa
Bài 2
Var a,b,c : Real ; (1 đ)
Begin
write('Nhap ba so a, b va c:'); readln(a,b,c);(1đ)
If(a+b>c)and(b+c>a)and(c+a>b)then writeln('a, b va c la 3 canh cua mot tam giac!') else writeln('a, b, c khong la 3 canh cua 1 tam giac!');
end. (3đ)
Học sinh làm cách khác mà đúng vẫn cho điểm tối đa
Trang 5Tiết: 34 Ngày dạy: 10/12/2013
I Mục tiêu:
1 Kiến thức: Học On tập cho học sinh các kiến thức sau:
o Chương trình máy tính là gì? Ngơn ngữ lập trình? Chương trình dịch?
o Các thành phần cơ bản của ngơn ngữ lập trình? Cấu trúc chương trình?
o Khái niệm, khai báo và vai trị của biến, hằng? Lệnh gán
o Khái niệm kiểu dữ liệu, một số phép tốn cơ bản
2 Kỹ năng: Mơ tả được thuật tốn đơn giản bằng liệt kê các bước Viết được chương trình Pascal đơn giản, khai báo đứng biến, câu lệnh vào/ra để nhập thơng tin từ bàn phím hoặc đưa thơng tin ra màn hình
3 Thái độ: Cĩ ý thức, tự giác khi làm bài tập, giúp đỡ lẫn nhau trong hoạt động nhĩm, rèn tính kỷ luật, biết giữ gìn ti sản chung
II
Chuẩn bị: :
1 Giáo viên: Phịng máy, máy chiếu, bài trình chiếu
2 Học sinh: Ơn tập lại các kiến thức từ bài 1 đến bài 4
III Tiến trình:
1 Ổn định lớp – Kiểm tra sỉ số:
8A1: .8A2: .8A3: .
2 Kiểm tra bài cũ:
+Câu 1: Nêu cú pháp câu lệnh điều kiện dạng thiếu?
+Câu 2: Nêu cú pháp câu lệnh điều kiện dạng đủ?
3. Bài mới:
Hoạt động 1: Ơn tập lý thuyết
- Vì sao cần phải viết chương
trình để điều khiển máy tính?
- Ngôn ngữ lập trình là gì?
-Nêu các bước của chương trình
dịch?
- Nêu cấu trúc chung của chương
trình?
- Nêu một vài kiểu dữ liệu cơ bản
của ngôn ngữ lập trình Pascal?
- Cách khai báo biến?
- Phép gán giá trị cho một biến
có dạng gì?
- Câu lệnh nhập dữ liệu?
- Câu lệnh in giá trị ( dữ liệu )?
- Câu lệnh khai báo hằng có dạng
gì?
- Nêu sự khác và giống nhau giữa
biến và hằng
- Viết chương trình là viết nhiều lệnh và tập hợp lại trong một chương trình giúp con người điều khiển máy tính một cách hiệu quả hơn
- Ngôn ngữ lập trình là ngôn ngữ dùng để viết các chương trình máy tính
- Gồm 2 bước:
+ B1: Viết chương trình bằng ngôn ngữ lập trình
+B2: Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được
- Gồm 2 phần: Phần khai báo và phần thân
- Integer, Real, Char, String
- Var tên_biến: kiểu_dữ_liệu
- Tên_biến:= biểu thức
- Read(tên_biến) hoặc Readln(tên_biến )
- Write(tên_biến) hoặc Writeln(tên_biến )
- Const tên_hằng = giá_trị
I Lý thuyết:
1 Vì sao cần phải viết chương trình để điều khiển máy tính?
2 Ngôn ngữ lập trình là gì?
3 Nêu các bước của chương trình dịch?
4 Nêu cấu trúc chung của chương trình?
5 Nêu một vài kiểu dữ liệu cơ bản của ngôn ngữ lập trình Pascal?
6 Cách khai báo biến?
7 Phép gán giá trị cho một biến có dạng gì?
8 Câu lệnh nhập dữ liệu?
9 Câu lệnh in giá trị (dữ liệu )?
10 Câu lệnh khai báo hằng có dạng gì?
11 Nêu sự khác và giống nhau giữa biến và hằng
Trang 6+ Giống: Dùng để lưu dữ liệu + Khác: Hằng phải xác định ngay khi khai báo và không được thay đổi; biến có thể thay đổi
Hoạt động 2: Ơn tập bài tập
- Gv đưa ra hệ thống bài tập lên máy chiếu và cho các em hoạt động nhĩm tìm phương án trả lời
1 Trong số các tên sau đây, trong một chương trình Pascal, tên nào là hợp lệ?
A) ba; B) Tamgiac; C) 8a; D) Tam giac;
E) beginprogram; F) end; G) n1; H) abcdeh K) tính_diện_tích_hình_trịn;
(Các tên hợp lệ: ba, Tamgiac, beginprogram, n1, abcdeh; tên khơng hợp lệ: 8a (bắt đầu bằng số), Tam giac(cĩ dấu
cách), end (trùng với từ khố), tính_diện_tích_hình_trịn: các kí tự khơng cĩ trong bang chữ cái tiếng anh)
2 Phát biểu nào sau đây đúng:
a) Khi viết chương trình chúng ta chỉ cần tuân thủ đúng các quy tắcdo ngơn ngữ lập trình quy định mà khơng cần quan tâm đến ý nghĩa các câu lệnh
b) Khi viết chương trình, chúng ta khơng chỉ phải tuân thủ các quy tắc viết câu lệnh do ngơn ngữ lập trình quy định mà cịn phải sử dụng đúng các câu lệnh theo 1 trật tự nhất định để nhận đựơc lời giải đúng của bài tĩan.
c) Khi viết chương trình, chúng ta chỉ cần sử dụng các câu lệnh cĩ ý nghĩa đúng (theo 1 trật tự nhất đinh để nhận được lời giải của bài tốn, chương trình dịch sẽ tự nhận biết và sửa các câu lệnh viết sai quy tắc của ngơn ngữ lập trình
3 Các thành phần cơ bản của 1 ngơn ngữ lập trình là:
a) các từ khĩa và tên
b) bảng chữ cái , các từ khĩa và tên
c ) bảng chữ cái và các quy tắc để viết các câu lệnh cĩ ý nghĩa xác định, cách bố trí các câu lệnh, sao cho cĩ thể tạo thành một chương trình hồn chỉnh và thực hiện được trên máy tính.
d) Chỉ bảng chũ cái và các từ khĩa
4 Dãy chữ số 5678 cĩ thể thuộc những kiểu dữ liệu nào? (Dãy chữ số 5678 cĩ thể là dữ liệu kiểu dữ liệu số nguyên,
số thực hoặc kiểu xâu kí tự Tuy nhiên, để chương trình dịch Turbo Pascal hiểu 5678 là dữ liệu kiểu xâu, chúng ta phải viết dãy số này trong cặp dấu nháy đơn)
5 Hãy phân biệt ý nghĩa của các câu lệnh Pascal sau đây:
Writeln('7+67=','7+67'); và Writeln('7+67=',67+7);
(Lệnh Writeln('7+67=','7+67')in ra màn hình hai xâu kí tự '7+67' và '67+7' liền nhau: 7+67 = 67+7, cịn lệnh
Writeln('7+67=',7+67) in ra màn hình xâu kí tự '7+67' và tổng 7+67 như sau: 7+67=74.)
6 Viết các biểu thức tốn dưới đây bằng các kí hiệu trong Pascal:
a)
b d ;b) ax2bx c ; c)
1 a (b 2)
x 5 ; d) (a2b)(1 c) 3 (Các biểu thức trong Pascal:a) a/b+c/d ; b) a*x*x+b*x+c ;c) 1/x-a/5*(b+2) ; d) (a*a+b)*(1+c)*(1+c)*(1+c) )
7 Chuyển các biểu thức được viết trong Pascal sau đây thành các biểu thức tốn:
a) (a+b)*(a+b)-x/y; b) b/(a*a+c); c) a*a/(2*b+c)*(2*b+c); d) 1+1/2+1/2*3+1/3*4+1/4*5.
(Các biểu thức tốn tương ứng:a)
2 (a b) x
y
; b) 2
b
a c; c)
2 2
a
b c ; d)
1
2 2.3 3.4 4.5
.)
8 Các ngơn ngữ lập trình phân chia dữ liệu thành các kiểu khác nhau với mục đích gì?
a) Sử dụng bộ nhớ máy tính 1 cách hiệu quả
b) Thực hiện các phép tĩan tương ứng với từng kiểu dữ liệu
c) Tự động hĩa các cơng việc viết chương trình
d) Kiểm sĩat lỗi khi chương trình thực hiện các phép tĩan khơng cĩ nghĩa
Hãy chọn phương án trả lời sai?
9 Bốn bạn A, B, C, D đưa ra kết quả của phép chia lấy phần nguyên và phép chia lấy phần dư hai số 14 và 5 như sau
A) 14/5=2; 14 Div 5 = 2 14 mod 5 = 4
B) 14/5=2,8; 14 Div 5 = 2 14 mod 5 = 4
C) 14/5=2,8; 14 Div 5 = 4 14 mod 5 = 2
D) 14/5=3; 14 Div 5 = 2 14 mod 5 = 4
Hãy chọn kết quả đúng
Trang 710 Hãy xác định kết quả của các biểu thức sau đây:
a) 15 8 ≥ 3; b) (20 15) 2 ≠ 25; c) 112 = 121; d) x > 10 3x.
11 Giả sử A được khai báo là biến với kiểu dữ liệu số thực, X là biến với kiểu dữ liệu xâu Các phép gán sau đây
có hợp lệ không?
a) A:= 4; b) X:= 3242; c) X:= '3242'; d) A:= 'Ha Noi'
(Đáp án: a) Hợp lệ; b) Không hợp lệ; c) Hợp lệ; d) Không hợp lệ )
12 Trong Pascal, khai báo nào sau đây là đúng?
a) var tb: real; b) var 4hs: integer; c) const x: real; d) var R = 10;
(a) Hợp lệ; b) Không hợp lệ vì tên biến không hợp lệ; c) Không hợp lệ vì hằng phải được cho giá trị khi khai báo; c) Không hợp lệ vì hằng phải được cho giá trị khi khai báo; d) Không hợp lệ vì không được gán giá trị cho biến khi khai
báo (cách gán giá trị cho biến cũng không đúng cú pháp).
13 Hãy liệt kê các lỗi nếu có trong chương trình dưới đây và sửa lại cho đúng:
Var a,b:= integer;
Const c:= 3.14;
Begin
a:= 200
b:= a/c;
Write(b);
Readln
End
(hd:Các lỗi trong chương trình: (1) Thừa dấu bằng ở dòng 1 (chỉ cần dấu hai chấm); (2) Thừa dấu hai chấm ở dòng 2
(với hằng chỉ cần dấu bằng); (3) Thiếu dấu chấm phẩy ở dòng 4; (4) Khai báo kiểu dữ liệu của biến b không phù hợp: Khi chia hai số nguyên, kết quả luôn luôn là số thực, cho dù có chia hết hay không Do đó cần phải khai báo biến b là biến có kiểu dữ liệu số thực)
14 Hãy cho biết kiểu dữ liệu của các biến cần khai báo dùng để viết chương trình để giải các bài toán dưới đây:
a) Tính diện tích S của hình tam giác với độ dài một cạnh a và chiều cao tương ứng h ( a và h là các số tự nhiên được
nhập vào từ bàn phím).
b) Tính kết quả c của phép chia lấy phần nguyên và kết quả d của phép chia lấy phần dư của hai số nguyên a và
15 Chỉ dùng 1 chữ cái hãy tạo ra 10 tên hợp lệ khác nhau trong pascal?
Chỉ với hai chữ cái a,b mỗi chữ dùng ít nhất 1 lần có thể tạo ra bao nhiêu tên trong pascal? ( 4 tên a,b,ab,ba)
16 Hãy chọn phát biểu đầy đủ nhất trong các phát biểu dưới đây:
a) Trong lập trình biến được dùng để lưu trữ dữ liệu và dữ liệu được biến lưu trữ có thể thay đổit trong khi thưc hiện chương trình.
b) Có thể xem biến như là “tên” của vùng bộ nhớ được dành riêng để lưu các dữ liệu có kiểu nhất định, giúp người viết chương trình truy cập chính xác đến dữ liệu đó
c) Biến có thể lưu dữ liệu do người sử dụng nhập vào máy tính hoặc các kết quả tính toán trung gian
d) Tất cả các kiểu nói trên
17. Hãy ghép thu t ng c t bên trái v i ý ngh a t ng ng c t bên ph iật ngữ cột bên trái với ý nghĩa tương ứng cột bên phải ữ cột bên trái với ý nghĩa tương ứng cột bên phải ột bên trái với ý nghĩa tương ứng cột bên phải ới ý nghĩa tương ứng cột bên phải ĩa tương ứng cột bên phải ương ứng cột bên phải ứng cột bên phải ột bên trái với ý nghĩa tương ứng cột bên phải ải
a) hằng 1) Tên do người lập trình đặt phải tuân thủ quy tắc do người lập tình đặt
b) từ
khóa
2) Những đại lượng do người lập trình đặt tên và có thể thay đổi giá trị trong khi thực hiện chương trình c) biến 3) Những tên gọi có ý nghĩa được xác định từ trước và không thể sử dụng cho mục đích khác
d) tên 4) Những đại luợng do người lập trình đặt tên và có giá trị không thay đổi trong khi thực hiện chương
trình
18 Số biến tối đa trong 1 chương trình là:
a) Chỉ 1 biến cho mỗi kiểu dữ liệu
b) 10 biến
c) Chỉ hạn chế bởi dung lượng bộ nhớ
d) Không giới hạn
19 Hãy chọn những phát biểu đúng dưới đây:
a) Để có thể sử dụng biến và hằng trong chương trình ta phải khai báo chúng trong phần khai báo
b) Ta chỉ cần khai báo tên biến mà không cần khai báo dữ liệu , chương trình dịch sẽ tự động xác định kiểu dữ liệu mà
Trang 8biến có thể lưu trữ.
c) Để khai báo 1 biến, ta cần khai báo cả tên biến và kiểu dữ liệu mà biến đó lưu trữ
d) Giá tri của biến có thể thay đổi(được gán lại )trong quá trình thực hiện chương trình.( hd : a,c,d đúng)
20 Biến được khai báo kiểu số thực có thể lưu các giá trị nào trong các giá trị dưới đây:
a) 1 số nguyên bất kỳ
b) Một số thực (có thể là số nguyên) trong phạm vi cho phép
c) 1 số thực bất kỳ
d) 1 dãy các chữ và số
IV Củng cố - Dặn dò:
- Xem lại các kiến thức và bài thực hành đã ôn tập
- Xem lại các kiến thức các bài 5 và bài 6; bài thực hành 4
- Tiết sau tiếp tục ôn tập và sửa các bài tập trong đề cương