Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (84.15 KB, 7 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>Bài tập</b>
<b>I. Mục tiêu:</b>
- Củng cố lại kiÕn thøc bµi 1 & 2
- HS làm đợc các bài tập SGK ( Tr13) và bài tập trong SBT
- GV cho thêm một số bài tổng hợp kiến thức bài 1 & 2
- Bớc đầu làm quen với bài tập về NNLT bậc cao
<b>II. Đồ dùng dạy học</b>
GV: Gi¸o ¸n, SGK, SGV, STK
HS: Vở ghi, SGK Tin học 10, tin học 11
<b>III. Các hoạt động dạy và học</b>
1. ổ n định tổ chức lớp
2. Kiểm tra bài cũ ( xen kẽ)
3. Bài tập
<b>Hoạt động của GV và HS</b> <b>Nội dung chính</b>
GV có thể cho điểm miệng đối
với mỗi câu trả lời của HS
HS đọc câu 1
? Em hÃy nêu tác dụng của NNLT
bậc cao. HS trả lời
GV nhận xét, bổ sung và kết luận
Đó chính là lí do ngời ta xây dựng
các NNLT bậc cao.
<b>HS c cõu hi</b>
GV ? Thế nào là tên dành riêng
? Thế nào là tên chuẩn
? im khỏc nhau gia chúng là gì?
HS suy nghĩ trả lời. GV kết luận
HS c cõu 6
Gợi ý ? Hằng thờng có những loại
nào ? Chi tiết từng loại ?
T ú i chiu với câu hỏi để tìm ra
những biểu diễn khơng là hằng
Thảo luận nhóm
Từng nhóm đa ra kết quả
GV tổng hợp và đa ra đáp án
Gv yc HS đọc đề bài, suy nghĩ trả
lời. HS khác nhận xét, bổ sung
GV kết luận
Gv yc HS đọc đề bài,
? Nhớ lại thông dch l gỡ?
HS suy nghĩ trả lời. HS khác nhËn
xÐt, bỉ sung. GV kÕt ln
Gv ®a ra VD: gpt bËc 2
Nếu chỉ dùng 1 bộ dữ liệu kiểm thử
có kiểm tra đợc các trờng hợp
nghiệm xảy ra khơng ?
Từ đó HS trả lời bài 1.5
HS đọc bi
? Nhắc lại thế nào là từ khoá trong
pascal? Cho VD
Từ đó làm bài 1.11 và giải thích
HS c bi
<b>Câu 1(13) Ngời ta phải xây dựng các ngôn ngữ lập </b>
trình bậc cao . Vì:
- Nó gần víi NN tù nhiªn, thn tiƯn cho ngêi LT
- Nã không phụ thuộc vào phần cứng MT và một
ch-ơng trình có thể thực hiện trên nhiều loại MT khác
nhau
- Chơng trình viết bằng NNBC dễ hiểu, dễ hiệu chỉnh
và dễ nâng cấp
- Nó cho phép làm việc với nhiều kiểu dữ liệu
<b>Câu 4(tr13). HÃy cho biết các điểm khác nhau giữa </b>
tên dành riêng và tên chuẩn
Tờn dành riêng không đợc dùng khác với ý nghĩa xác
<b>C©u 6 . Những biểu diễn sau đây không phải là hằng</b>
trong Pascal
c) 6,23 DÊu phÈy ph¶i thay b»ng dÊu chÊm
e) A20 Là tên cha rõ giá trị
h) 'C Sai quy nh về hằng xâu: thiếu nháy đơn ở
cuối
Chó ý
g) 4+6 Là biểu thức hằng cũng đợc coi là hằng
i)TRUE Là hằng xâu nhng không là hằng logic
Bài 1.3 ( SBT-tr6)
Không thể khẳng định chơng trình đúng vì chơng
trình có thể vẫn cịn chứa lỗi ngữ nghĩa
<b>Bµi 1.4 ( SBT-tr6)</b>
Trong chế độ thông dịch, giả sử 2/3 số câu lệnh trong
chơng trình đã đợc thực hiện thì Khơng thể khẳng
định chơng trình đã đúng cú pháp. Vì cú pháp của
những câu lệnh cha đợc thực hiện cha đợc kiểm tra
<b>Bài 1.6 ( SBT-tr6)</b>
Phải kiểm tra tính đúng đắn của chơng trình bằng
nhiều bộ dữ liệu thử nghim khỏc nhau
Vì: Chơng trình có thể có nhiều nhánh và có nhiều
dạng lỗi ngữ nghĩa khác nhau.
Bài 1.11 (Tr7)
Từ khoá trong Pascal là:
A) END F) var
Bài 1.15 (Tr7)
Trong dòng thông tin chú thích có thể chứa kí tự
? Tác dụng của chú thích là gì ?
Từ đó HS trả lời bài 1.15
GV kÕt ln và khác sâu hơn
ngoài bảng chữ cái vì chơng trình dịch bỏ qua chú
thích khi dịch chơng trình
4. Củng cố- HDVN
Đa ra bài tập: Ghép mỗi câu ở cột 1 với một câu thích hợp ở cột 2 trong b¶ng sau:
Cét 1 Cét 2 KÕt qu¶
(1)Biên dịch (a) là các đại lợng có giá trị khơng đổi trong quỏ
trình thực hiện chơng trình 1-d
(2) Thông dịch (b) dịch và thực hiện từng câu lệnh, nếu còn câu lệnh
tiếp theo thì quá trình này còn tiếp tục 2-b
(3) Chơng trình viết
trờn NNLT bc cao (c) là những đạ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 chơng trình.
3-e
(4) BiÕn (d) 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ể lu trữ
để sử dụng lại khi cần thiết.
4-c
(5) Hằng (e) phải đợc chuyển đổi thành chơng trình trên ngơn
ngữ máy mới cú th thc hin c 5-a
- Hc bi
- Đọc bài 3 và Đọc bài 4
Chng II: chng trỡnh n gin
<b>Bi 3: cấu trúc chơng trình</b>
<b>Bài 4: một số kiểu dữ liệu chuẩn</b>
<b>I. Mục tiêu:</b>
- Hiểu chơng trình là sự mơ tả của thuật tốn bằng một ngơn ngữ lập trình
- Bíêt một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic;
- Xác định đợc kiểu cần khai báo của dữ liệu đơn giản
<b>II. Đồ dùng dạy học</b>
GV: Gi¸o ¸n, SGK, SGV, STK, m¸y chiÕu, m¸y tÝnh
HS: Vë ghi, SGK Tin häc 10, tin häc 11
<b>III. Các hoạt động dạy và học</b>
1. ổ n định tổ chức lớp
3. KTBC
3. Bµi míi
. Hoạt động của GV và HS <b>Nội dung chính</b>
HS nghiªn cøu SGK
? Em h·y cho biÕt cÊu tróc chung cđa
NNLT bËc cao ? C¸ch sư dơng cđa tõng
phần?
HS TL. GV kết luận
HS nghiên cứu SGK
? Phần khai báo bao gồm những gì
HSTL
GV đa ra ví dụ 1 chơng trình Pascal
Program < SX_Day_so>;
Uses crt;
Const n= 100 ;
Var i, j: <kiểu dữ liệu>
(*có thể còn những khai báo khác *)
Begin
[<dÃy lệnh>]
<b>I. Cấu trúc chơng trình</b>
<b>1. </b><i><b>Cấu trúc chung</b></i>
[<phần khai báo>]: có thể có hoặc không
<phần thân>: nhất thiết phải có
2. <i><b>Các thành phần của ch</b><b> ơng trình</b></i>
a) Phần khai báo
Gồm: tên chơng trình, th viện, hằng, biến và
ch-ơng trình con
* <i><b>Khai báo tên chơng trình</b></i>: có thể có hoặc
không
Pascal: Program< tên chơng trình>
Tờn chng trỡnh là tên do ngời lập trình đặt theo
đúng quy định về tên.
VD: Program vi_du;
* <i><b>Khai b¸o th viƯn</b></i>: uses <tên các t.v>
end.
HS nghiên cứu ví dụ trên + SGK
GV đa ra một số câu hỏi
Cõu 1: cho biết đâu là khai báo tên chơng
trình và dạng tổng quát ? Cho VD. Tên
ch-ơng trình có đặc điểm gì?
Câu2: nội dung nào khai báo th viện và đặc
điểm của nó ? Cho VD
Câu 3. Nội dung nào khai báo hằng và đặc
điểm của nó ? Cho VD
Câu 4: Nội dung nào khai báo biến và đặc
điểm của nó ? Cho VD
Chú ý: GV hớng dẫn HS nghiên cứu cả VD
trong C++ để các em có nhận thức đúng về
ngơn ngữ lập trình bậc cao
HS th¶o ln theo nhóm, mỗi nhóm 1 câu.
Mỗi nhóm báo báo kết quả
GV nhận xét và tổng hợp
Chú ý: Lập trình bằng ngôn ngữ nào cần
tìm hiêu cách khai báo của ngôn ngữ ấy
HS nhiên cứu SGK
? HÃy cho biết phần thân chơng trình trong
Pascal bao gồm những gì?
Từ Begin và end thuộc loại tên nào?
Nếu dịch ra tiếng việt nã cã nghÜa ntn?
HS th¶o luËn tr¶ lêi. GV nhËn xét, bổ sung
và kết luận
GV: Mỗi NNLT có cách tổ chức chơng
trình khác nhau, thờng thì phần thân chứa
các câu lệnh của chơng trình.
GV cho HS quan sát 2 chơng trình trong 2
ngôn ngữ khác nhau là Pascal và C++
HS quan sát và nhận xét về cách viết của 2
chơng trình trong 2 ngôn ngữ khác nhau.
HS thảo luận và trả lời câu hỏi
HS nghiên cøu thªm VD SGK
GV treo giÊy khỉ lín phãng to gåm mét sè
HS quan sát, kết hợp SGK để biết đợc kiểu
ngun
GV ph©n tÝch bé nhí lu trữ 1 giá trị có
nghĩa là thế nào?
HS Kẻ bảng vào vở và học thuộc
GV giải thích thêm
? Nếu 1 biến chỉ dùng giá trị từ 0 đến 100
ta khai báo kiểu integer có đợc khơng?
( Đợc nhng lóng phớ b nh)
HS nghiên cứu SGK
Kẻ bảng vào vë
HS nhớ lại bảng mã ASCII ở lớp 10
HS đọc VD SGK để hiểu đợc kiểu kí tự
trong Pascal l th no?
HS Kẻ bảng SGK và học thuộc
- Trong Pascal: uses crt;
- Trong C++: #include <stdio.h>
* <i><b>Khai báo hằng</b></i>
Const <tên hằng>=<giá trị của hằng>;
const Pi=3.1416
thờng đợc sử dụng cho những giá trị xuất hiện
nhiều lần trong chơng trình.
<i><b>* Khai b¸o biÕn</b></i>
Tất cả các biến dùng trong chơng trình đều phải
đặt tên và phải khai báo
Biến đơn: Biến chỉ nhận 1 giá trị tại mỗi thời
điểm thực hiện chơng trình
VD: GPT bậc 2: Các hệ số a, b, c đợc khai bỏo
nh nhng bin n.
b) Phần thân chơng trình
Dóy lệnh trong phạm vi đợc xác định bởi cặp dấu
hiệu mở đầu và kết thúc tạo thành thân chơng
trình.
VD: Thân chơng trình trong pascal
3. <i><b>Vớ d ch</b><b> ng trỡnh đơn giản</b></i>
VD1
<b>Trong Pascal</b> <b>Trong C++</b>
<b>Begin</b>
Writeln(' Xin chao');
<b>End.</b>
# include <stdio.h>
void main ()
{
printf("xin chao");
}
VD trên đa dòng ' Xin chao' ra màn hình
<b>II. Một số kiểu dữ liệu chuẩn</b>
<b>trong Pascal</b>
Kiểu Bộ nhớ Phạm vi giá trị
byte 1 byte Từ 0 đến 255
integer 2 byte -215<sub> đến 2</sub>15<sub>-1</sub>
(-32768 đến 32767)
word 2 byte Từ 0 đến 216<sub>-1(65535)</sub>
longint 4 byte Từ -231 <sub>đến 2</sub>31<sub>-1</sub>
-2147483648-2147483647)
Kiểu Bộ nhớ Phạm vi giá trị
Real 6 byte 0 hoặc10-38<sub> đến 10</sub>38
extended 10 byte 0 hoặc10-4932<sub> đến 10</sub>4932
<i><b>3. KiĨu kÝ tù</b></i>
Kí tự là các kí tự thuộc mã ASCII gồm 256 kí tự
có mã ASCII thập phân từ 0 đến 255
KiĨu Bé nhí Ph¹m vi giá trị
Char 1 byte 256 kí tự trong bảng mà ASCII
Tên dành riêng
<b>Bắt đầu</b>
Kiểu Bộ nhớ Phạm vi giá trị
Boolean 1 byte True hc False
4.
<b> Cđng cè - HDVN</b>
Gv hệ thống lại kiến thức và nhắc lại một số kiến thức quan trọng trong bài
- Làm câu hỏi 1, 2( SGK tr 35) và
&5 Khai báo biến
Bài 6: phép toán, biểu thức, câu lệnh gán
<b>I. Mục tiªu:</b>
- Hiểu cách khai báo biến. Biết cách khai báo biến đúng.
- Biết 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ác biểu thức số học và lôgic với các phép tốn thơng dụng.
- Bớc đầu hình thành kĩ năng sử dụng NNLT bậc cao để giải toán.
<b>II. Đồ dùng dạy học</b>
GV: Giáo án, SGK, SGV, STK;
HS: Vở ghi, SGK Tin học 11
<b>III. Các hoạt động dạy và học</b>
1. ổ n định tổ chức lớp
2. KiÓm tra bài cũ
? HÃy nêu các thành phần của chơng trình và cách khai báo chúng
3. Bài mới
<b>Hot ng ca GV v HS</b> <b>Ni dung chớnh</b>
GV giải thích thêm cho HS hiĨu vỊ khai
b¸o biÕn
Sau khai báo sẽ có một vùng nhớ dành cho
biến này với kích thớc đúng bằng kích thớc
kiểu của nó để lu tr gớa tr ca bin.
HS nghiên cứu SGK
GV đa ra VD về khai báo biến trong bài
Giải phơng trình bËc 2
Var
a, b, c: integer;
delta, x1, x2: real;
Trong đó: các tham số trên là thành phần
nào của NNLT; Real thuc kiu d liu no
?
Từ cách khai báo trên hÃy đa ra cú pháp
khai báo biến trong Pascal
HS tù cho VD minh ho¹
Từ VD GV đa ra em hãy tính tổng bộ nhớ
dành cho các biến đã khai báo là bao nhiêu
=3*2+2*6+1*2+1*1=21byte
HS nghiªn cøu mơc : Mét số chú ý khi khai
báo biến
GV nhấn mạnh lại.
GV nờu một số VD về sử dụng biến cha
đúng trong Pascal
HS tự lấy VD
Gv yêu cầu HS nghiên cứu SGK
GV dùng máy chiếu, chiếu bảng kí hiệu các
phép toán trong pascal
HS quan sát, phân tích
GV giải thích thêm.
HS nghiên cứu chú ý SGK
GV giải thích thêm chú ý và lấy VD minh
hoạ
(a+b)>c and (b+c)>a and (a+c)>b
Đay là biểu thức kiểm tra xem ba cạnh có
tạo thành tam giác không.
HS nghiên cứu SGK và VD trong SGK
I. Khai b¸o biÕn
Mọi biến dùng trong chơng trình đều cần khai
báo tên và kiểu dữ liệu. Khai báo biến để cấp
phát bộ nhớ cho biến. Mỗi biến chỉ đợc khai
báo 1 lần. Ta xét khai báo các biến đơn
Pascal, khai báo bắt đầu bằng từ khoá Var
Var <danh sách biến>: < kiểu dữ liệu>;
- DS biến: là 1 hoặc nhiều tên biến, các tên biến
đợc viết cách nhau bởi dấu phẩy;
- Kiểu DL: là một trong các kiểu DL chuẩn hay
do ngời lập trình định ngha.
- Cấu trúc <danh sách biến>: < kiểu dữ liệu>;
có thể xuất hiện nhiều lần.
VD: Xét khai báo biến
Var
a, b, c: integer;
x,y: real;
n:word;
d: char
Một số chú ý khi khai báo biến (SGK - Tr23)
- Tên biến gợi nhớ đến ý nghĩa của biến đó
- Khơng nên đặt tên biến q ngắn hay quá dài
- Khi khai báo lu ý đến phạm vi gia strị của nó
VD về sử dụng biến cha đúng trong Pascal nh:
II. phép toán, biểu thức, câu lệnh
g¸n
1. <i><b>PhÐp to¸n</b></i>
Các ngơn ngữ lập trình đều có những 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 chie nguyên và ly
? Biểu thức số học là gì? Em cho 1 VD về
biểu thức trong toán học và viết nó trong
pascal ntn.
GV cho 1 VD: 2*(x+y)/5*(x-z)
? Trình tự thực hiện phép toán này ntn
Vậy BT số học đợc viết theo quy tắc nào
HS trả lời. GV kết luận
HS tù lÊy 1 số VD khác
HS nghiên cứu mục chú ý SGK
GV giải thích thêm bằng cách đa ra VD
t-ơng ứng víi tõng chó thÝch
VD1: a:integer ; b: real;
BT a+b tr¶ về giá trị Real
VD2: Giải PT bậc hai ta tính delta trớc
Delta:=b*b-4*a*c (dùng biến trung gian)
Khi so sánh và tÝnh nghiƯm ta chØ cÇn dïng
Delta
IF (Delta>0) then x1:=....
X2:=(-b-sqrt(delta))/(2*a)
Không phải dùng IF (b*b-4*a*c)>0 then
X1:=(-b+sqrt(b*b-4*a*c))/(2*a)
Hs nghiên cứu SGK
? Thế nào là hàm số học chuẩn
GV chiếu bảng hàm số học chuẩn cho HS
quan s¸t
YC HS về nhà học thuộc bảng này
GV giải thích thêm về Kiểu đối số
?Em hãy cho 1VD về BT Tốn học ( có
chứa hàm) và chuyển nó sang Pascal
Em hãy cho một VD về biểu thức quan hệ.
Từ đó suy ra dạng tổng quát
? Nó đợc thực hiện theo trình tự ntn?
HS trả lời. GV kết luận
HS tù lÊy thêm VD và xem VD SGK
HS nghiên cứu SGK
GV ly một số VD để HS hiểu xếp loại học
lực cho HS
( ĐTBCM>=8.0) and ((Toan>=8.0) or
(văn>=8.0))
Xét VD sau: Delta:=b*b-4*a*c;
?Kt hợp từ những VD GV đã nêu trong bài
học hãy cho biết dạng tổng quát của câu
lệnh gán
HS tù cho VD và giải thích
GV cho VD và yêu cầu HS giải thích ý
nghĩa của câu lệnh gán
phần d, các phép toán quan hệ....
Chú ý: Kết quả của các phép toán quan hệ cho
giá trị logic
- Tạo ra các biểu thức phức tạp từ các quan hệ
đơn giản
2. <i><b>BiĨu thøc sè häc</b></i>
Quy t¾c viÕt
- Dùng cặp ngoặc trịn để xác định trình tự thực
hin phộp toỏn
- Viết lần lợt từ trái qua phải
- Khơng đợc bỏ qua dấu (*) trong tích
Các phép tốn đợc thực hiện theo thứ tự
- Thực hiện các phép tốn trong ngoặc trớc
- Trong các phép tốn khơng có ngoặc thì thực
hiện từ trái sang phải: nhân, chia, chia ngun,
lấy phần d, cộng, trừ.
Chó ý:
- NÕu biỴu thøc chøa mét h»ng hay biÕn kiĨu
thùc th× ta có biểu thức số học thực, giá trị của
biểu thøc cịng thc kiĨ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 biểu thức
nhiều lần
<i><b>3. Hµm sè häc chn</b></i>
Các NNLT đều có th viện chứa một số chơng
trình tính giá trị những hàm tốn học thờng
dùng. Các chơng trình nh vậy đợc gọi là các
hàm số hc chun.
Bảng hàm số học chuẩn ( SGK tr 26)
VD:
4. <i><b>BiĨu thøc quan hƯ</b></i>
Hai biĨu thøc cïng kiĨu 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Ư.
<BThøc 1> <phÐp to¸n quan hƯ><Bthøc2>
Thùc hiƯn: Tính giá trị các biểu thức rồi thực
hiện các phép toán quan hệ. Kết quả là giá trị
logic.
VD: x>8
x+y >= 2*x
5. <i><b>BiĨu thøc logic</b></i>
not ( khơng) đợc viết trớc biểu thức cần phủ
Các phép toán and ( và), or ( hoặc) dùng để kết
hợp nhiều biểu thức logic hoặc quan hệ thành
một biểu thức
<tên biến>:=<biểu thức>;
Kiểu giá trị của biểu thức phải phù hợp với kiểu
dữ liệu của biến
VD: Nếu có a:integer ; BT a:=c+d
Thì Biểu thức c+d phải trả về kiểu integer
Tên biến ở vế trái dấu " :=" , giá trị mới bằng
giá trị của biểu thức ở vÕ ph¶i