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 (304.64 KB, 53 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>Chơng1 </b> <b>MộT Số KHáI NIệM</b>
<b>Về LậP TRìNH Và NGÔN NGữ LậP TRìNH</b>
<b>I. </b> <b>Mục tiêu của chơng trình</b>
<b>1. </b> <b>Kin thc </b>Học sinh cần nắm đợc
Một số khái niệm cơ sở về ngơn ngữ lập trình
Hai loại phơng trình dịch:Biên dịch và thông dịch
Các thành phần của 1 ngơn ngữ lập trình
Các thành phần cơ sở của ngơn ngữ lập trình Pascal
<b>2.</b> <b>Thái độ</b>
Học sinh nhận thức đựơc quá trình phát triển của ngơn ngữ lập
trình là 1 trong các q trình nỗ lực phát triển của tin học.Ham muốn học một
ngôn ngữ lập trình để có khả năng giải 1 bài tốn bằng máy tính điện tử
II. <b>NéI DUNG CHđ u cđa ch¬ng</b>
Néi dung chủ yếu của chơng là :
Phân lọai ngôn ngữ lập trình
Chơng trình dịch
<b>KháI niệm lập trình và ngôn ngữ lập trình</b>
<b>I</b> <b>Mục tiêu</b>
Biết đựơc khái niệm lập trình và ngơn ngữ lập trình
Biết đợc khái niệm chơng trình dịch
Phân biệt đựơc hai loại chơng trình dịch là biên dịch và thụng dch
<b>II. dựng dy hc</b>
<b>1.Chuẩn bị của giáo viên</b>
Bảng viết,sách giáo khoa,sách giáo viên,phiếu học tập
<b>2.</b><i><b>Chuẩn bị của häc sinh</b></i>
S¸ch gi¸o khoa
<b>III. Hoạt động dạy </b>–<b>học</b>
<b>1.Họat động 1: Tìm hiểu khái niệm lập trình và ngơn ngữ lập trình</b>
a.<i>Mục tiêu</i>
Giúp học sinh biết đợc lập trình là gì.ý nghĩa của việc lập trình
Biết đợc khái niệm ngơn ngữ lập trình và 1 số loại ngơn ngữ lập trình
<i>b.Nội dung:</i>
Mọi bài tốn có thuật tốn đều có thể giải đợc trên máy tính
Các bớc để giải 1 bài tốn:
Xác định bài tốn
X©y dùng 1 thuật toán khả thi
Lập trình
Lp trỡnh l vic s dụng cấu trúc dữ liệu và các lệnh của 1 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 tốn.
Ngơn ngữ lập trình là 1 phần mềm dùng để diễn đạt thuật tốn thành 1
chơng trình giúp cho máy tính hiểu đựơc thuật tốn đó
c.C¸c bíc tiÕn hµnh
Họat động của giáo viên họat động của học sinh
1.Chiếu nội dung bài toán đặt vấn đề:
KÕt luËn nghiệm của phơng trình
ax+b=0
Hóy xỏc nh cỏc yu tố Input và
Output của bài toán
Hãy xác định cỏc bc tỡm output?
Diễn giải:Hệ thống các bớc này gọi
làthuật toán
Nu trỡnh by thut toỏn vi 1 ngời
n-ớc ngồi,em sẽ dùng ngơn ngữ nào để
diễn đạt?
Nếu diễn đạt thuật tóan này cho máy
hiểu em sẽ dùng ngôn ngữ nào?
Diễn giải:Hoạt động để diễn đạt một
Yêu cầu học sinh đọc sách giáo khoa
và cho biết khái niệm lập trinh
Hỏi:kết quả của họat động lập trình?
2.Phát phiếu học tập.Yêu cầu các em
ghi các loại ngôn ngữ lập trình mà em
biết(Sử dụng kĩ thuật động não viết)
Đọc nội dung 1 số phiếu học tập cho cả
lớp cùng nghe
Hái:Em hiĨu nh thÕ nµo vỊ ngôn ngữ
máy và ngôn ngữ bậc cao
Hỏi:Làm thế nµo
để chuyển một chuơng trình viết tử ngơn
ngữ bậc cao sang ngụn ng mỏy
Hỏi: Vì sao không
1.Quan sát nội dung bài toán và theo dõi
yêu cầu của giáo viên.
Input:
a.b- Output: x=-b/a,Vô nghiệm,Vô số
nghiệm.
Bớc 1:NhËp a.b
Bíc 2: NÕu a<>0.KÕt ln cã nghiƯm
x=-b/a
Bíc 3: Nếu a=0 và b<>0,kết luận Vô
nghiệm
Bớc 4: Nếu a=0 và b=0.kết luận Vô số
nghiệm
Ngôn ngữ Tiếng
Anh
Em dùng ngôn ngữ
lập trình
Lp trỡnh l vic sử dụng cấu trúc dữ
liệu và các 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 tóan
2.tham khảo sách giáo khoa và sử dụng
vốn hiểu biết về tin hc in phiu hc
tp
Ngôn ngữ máy
Ngôn ngữ bậc cao
Ngụn ng mỏy: cỏc lnh đựơc mã hóa
bằng các kí hiệu 0-1.Chơng trình đựơc
viết trên ngơn ngữ máy có thể đựơc nạp
vào bộ nhớ và thực hiện ngay
lập trình trên ngơn ngữ máy để khỏi
phải mất cơng chuyển đổi mà ngời ta
thờng lập trình bằng ngơn ngữ bậc
cao?
Phải sử dụng một chơng trình dich để
chuyển đổi
Lập trình bằng ngơn ngữ bậc cao dễ
viết hơn vì các lệnh đựơc mã hóa gần với
ngơn ngữ tự nhiên .Lâp trình trên ngơn
ngữ máy rất khó,thờng các chun gia
lập trình mới lập trình đựơc
2.<i> Hoạt động 2:</i>Tìm hiểu hai lọai chơng trình dịch:thơng dịc và biên dịch
a.<i>Mục tiêu:</i>
Học sinh biết đựơc khái niêm chơng trình cị và sự cần thiết của chơng
trình dịch
Phân biệt đợc thơng dịch với biên dịch
Chơng trình dịch là một chơng trình có chứa chức năng chuyển đổi một
chơng trình đựơc viết bằng 1 ngơn ngữ lập trình bậc cao thành 1 chơng trình có thể
thực hiện đợc trên máy tính
Cần phải có 1 chơng trình dịch để chuyển chơng trình đựơc viết bằng các
ngơn ngữ khác thành ngơn ngữ máy
Đầu vào của chơng trình dich là 1 chơng trình đợc viết bằng ngơn ngữ lập
trình bậc cao.Đầu ra cũng là 1 chơng trình nhng c vit bng ngụn ng mỏy
Biên dịc:kiểm tra .phát hiện lỗi và dịch tòan bộ chơng trình nguồn thành 1
chong trình có thể thực hiên trên máy
Thông dịch:lần lợt dịc và thực hiện từng lệnh 1
c.<i>Các bớc tiÕn hµnh</i>
1.Nêu vấn đề:
Em muốn giới thiệu về trờng mình cho
1 ngời khách du lịch quốc t bit ting
Anh,cú 2 cỏch thc hin:
Cách 1:Cần mét ngêi biÕt tiÕng Anh
dich tõng c©u nãi cđa em sang tiÕng
Anh cho ngêi kh¸ch
Cách 2:em soạn nội dung cẫn giới thiệu
ra giấy và ngời phiên dịch dịch tịan bộ
H·y lÊy vÝ dơ t¬ng tù trong thực tế về
biên dịch và thông dịch tõ tiÕng Anh
sang tiÕng ViƯt
1.Chú ý lắng nghe ví dụ của giáo viên và
thảo luận để tìm ví dụ tơng tự
Khi thủ trởng 1 chính phủ trả lời
phỏng vấn trớc 1 nhà báo quốc tế,họ
th-ờng cần 1 ngời thông dịch để dịc từng
câu tiếng Việt sang tiếng Anh
2.Yêu cầu học sinh nghiên cứu sách
giáo khoa và sử dụng các ví dụ trên để
cho biết các bớc trong tiến trình thông
dich và biên dịch
2.Nghiên cứu sách giáo khoa và suy
ngh tr li
Biên dịch
Bc 1:Duyt.phỏt hin li ,kiểm tra tính
đúng đắn của lệnh trong chơng trình
nguồn
Bớc 2: Dịch tồn bộ chơng trình nguồn
ổn định và cần thực hiện nhiều lần)
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
(phù hợp vơi môi trờng đồi thoại giữa
ng-ời và máy)
<b>IV.Đánh giá cuối bi</b>
<b>1.Nhng ni dung ó hc</b>
Khái niệm lập trình và ngôn ngữ lập trình
Có 3 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
Có 2 loại chơng trình dịch là biên dich và thông dịch
<b>2.Câu hỏi và bài tập về nhà</b>
Các thành phần của ngôn ngữ lập trình
I. Mục tiêu
II. Đồ dùng dạy häc
III. Hoạt động dạy học
Hoạt động của giáo viên Hoạt động của giáo viên
c, Các bước ti n h nh:ế à
c, Các bước ti n h nh ế à
c, Các bớc tiến hành
c, Các bớc tiến hành
c, Các bớc tiến hành
c, Các bớc tiến hành:
c, Các bớc tiến hành
chơng trình đó?
2. Trình diễn cách khởi động Turbo
Pascal thơng qua máy chiếu Projector.
- Giới thiệu màn hình soạn thảo chơng
trình: Bảng chọn, con trỏ, vùng soạn
thảo…
Graph.tpu
<i><b>2. Hoạt động 2: Tập soạn thảo chơng trình và dịch lỗi cú pháp.</b></i>
<i>a. Mục tiêu:</i>
- Học sinh biết cách tạo và lu một file chơng trình. Biết cách dịch và tìm lỗi cú
pháp.
<i>b. Nội dung:</i>
- Gõ các lệnh của chơng trình (giống nh trong hệ soạn thảo văn bản).
- Lu file chơng trỡnh lờn a nhn phớm F2.
- Biên dịch lỗi cú pháp: nhấn ALT_F9.
<i>c. Các bớc tiến hành:</i>
Hot ng ca giáo viên Hoạt động của học sinh
1. Soạn một chng trỡnh lm vớ d, lu
chơng trình, dịch lỗi.
- Dùng máy chiếu vật thể để minh hoạ
thao tác lu file chơng trình và biên dịch.
2. Soạn một chơng trình, hỏi các lỗi cú
pháp trong chơng trình, gọi học sinh
dịch lỗi và sửa.
Program vd1
var x:integer;
Write(‘nhap mot so nguyen duong);
readln(x);
y:=sqrt(x);
write(y);
End.
1. Quan sát và ghi nhớ.
<b>-</b> Lu: F2
<b>-</b> Dịch lỗi: ALT_9
2. Quan sỏt v phỏt hin li sửa lỗi
cho chơng trình.
Program vd1
var x,y:integer;
Begin
Write(‘nhap mot so nguyen duong’);
readln(x);
y:=sqrt(x);
write(y);
End.
<i><b>3.Hoạt động 3: Tập thực hiện chơng trình và tìm lỗi thuật tốn để hiệu chỉnh.</b></i>
<i>a. Mục tiêu:</i>
- Học sinh biết cách thực hiện một chơng trình, biết cách nhập dữ liệu và tìm thuật
tốn để hiệu chnh.
<i>b. Nội dung:</i>
- Thực hiện chơng trình: Nhấn CTRL_F9.
- X©y dùng test.
- Nhập dữ liệu, thu kết quả, đối chứng với kết quả của test.
c. Các bớc tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1. Thực hiện chơng trình đã đợc viết
ë trên, nhập dữ liệu, giíi thiƯu
kÕt qu¶.
<b>-</b> Dùng máy chiếu vật thể để minh hoạ
thao tác thực hiện chơng trình.
<b>-</b> Hỏi: Nhóm phím dùng để thực hiện
chơng trình?
<b>-</b> Yªu cÇu häc sinh nhập dữ liệu và
thực hiện chơng trình.
2. Giới thiệu chơng trình giải phơng
trình ax+b=0.
Var
Begin
Readln(a,b);
If a0 then write(-b/a)
Else write(PTVN);
1. Quan sát giáo viên thực hiện và tham
khảo sách giáo khoa.
CTRL_F9
2. Quan sát yêu cầu của giáo viên và
độc lập suy nghĩ để tìm test
Readln;
End.
- Yêu cầu học sinh tim test để chứng
minh chơng trìng này sai.
iv. Đánh giá cuối bài
<i><b>1. Những nội dung đã học</b></i>
- Khởi động Turbo. Soạn chơng trình. Dịch lỗi cú pháp. Thực hiện chơng trình.
Tìm lỗi thuật toỏn v hiu chnh.
<i><b>2. Câu hỏi và bài tập về nhµ</b></i>
<b>-</b> Viết chơng trình, nhập vào một số và tính bình phơng của số đó.
<b>-</b> Viết chơng trình, nhập độ dài bán kính và tính chu vi diện tích của hỡnh trũn
t-ng ng.
<b>-</b> Làm các bài tập 9, 10, SGK trang 36.
<b>-</b> Đọc trớc nội dung của phần bài tËp vµ thùc hµnh sè 1, SGK trang 33.
<b>-</b> Xem phơ lơc B, SGK trang 122: M«i trêng Turbo Pascal.
<b>Bài thực hành số 1</b>
i. mục tiêu
<i><b>1. Kiến thøc:</b></i>
<b>-</b> Biết đợc một chơng trình Pascal hồn chỉnh.
<i><b>-</b></i> Lµm quen với các dịch vụ chủ yếu củatp trong việc soạn thảo, lu chơng trình và
thực hiện chơng trình.
<i><b>2. Kĩ năng:</b></i>
<b>-</b> Son c chng trỡnh, lu lờn a, dch lỗi cú pháp, thực hiện, tìm lỗi thuật tốn
và hiệu chỉnh.
<b>-</b> Bớc đầu tiên biết phân tích và hồn thành một chơng trình đơn giản trên Turbo
Pascal.
<i><b>3. Thái độ:</b></i>
<b>-</b> Tự giác, tích cực và chủ động trong thực hnh.
<i><b>1. Chuẩn bị của giáo viªn</b></i>
- Phịng máy vi tính đã đợc cài đầy đủ Turbo Pascal, máy chiếu Projector để hớng
dẫn.
<i><b>2. ChuÈn bÞ cña häc sinh</b></i>
- Sách giáo khoa, sách bài tập và bài tập đã viết ở nhà.
iii. hoạt động dạy – học
<i><b>1. Hoạt động 1: Tìm hiểu một chơng trình hồn chỉnh.</b></i>
<i>a. Mục tiêu:</i>
<b>-</b> Học sinh biết đợc một chơng trình hồn chỉnh.
<b>-</b> Biết son mt chng trỡnh.
<b>-</b> Biết lu, biên dịch và thực hiện chơng trình.
<b>-</b> Biết tìm lỗi và sửa lỗi.
<i>b. Nội dung:</i>
<b>-</b> Cho chơng trình sau:
Program Giai_pt;
uses CRT;
var a,b,c,d,x1,x2:real
Begin
clrser;
write(Nhap a b c)
readln(a,b,c);
d:=b*b-4*a*c;
x1:=(-b-sqrt(d)/2*a);
x2:=(-b+sqrt(d)/2*a);
writeln(x1=,x1:6:2,x2=,x2:6:2,);
Readln;
End.
<i>c.</i> Các bớc tiến hành:
Hot động của giáo viên Hoạt động của học sinh
1. Chiếu chng trỡnh lờn bng, yờu
cầu học sinh thực hiện các nhiệm
vụ:
<b>-</b> Soạn chơng trình vào máy.
<b>-</b> Lu chơng trình.
<b>-</b> Dịch lỗi cú pháp.
<b>-</b> Nhập dữ liệu 1 -3 2. Thông báo
kết quả.
<b>-</b> Trở về màn hình soạn thảo.
1. Quan sát bảng, độc lập soạn chơng
trình vào máy.
F2
Alt_F9
Ctrl_F9
<b>-</b> Thực hiện chơng trình.
<b>-</b> Nhập dữ liệu 1 2 3. Th«ng báo
kết quả.
<b>-</b> Hỏi: Vì sao có lỗi xuất hiện?
<b>-</b> Sửa lại chơng trình không dùng biến
d.
Ctrl_F9
Thông báo lỗi
Do căn bậc hai cđa mét sè ©m
Readln(a,b,c);
x1:=(-b-sqrt(b*b-4*a*c))/(2*a);
x2:=(-b+sqrt(b*b-4*a*c))/(2*a);
writeln(‘x1=’,x1:6:2,‘x2=’,x2:6:2,);
2. <i><b>Hoạt động 2: Rèn luyện kĩ năng lập chơng trình.</b></i>
<i>a. Mơc tiªu:</i>
- Học sinh soạn đợc chơng trình và lu chơng trình vào đĩa. Biên dịch và thực
hiện đợc chơng trình. Nhập đợc dữ liệu và kiểm định kết quả của chơng trình.
<i>b. Nội dung:</i>
- Viết chơng trình tính diện tích đợc tơ màu với a đợc nhập vào từ bàn phím.
a
a a
a
<i>c.</i> Các bớc tiến hành:
Hot ng ca giỏo viờn Hoạt động của học sinh
1. Định hớng để học sinh phõn tớch
bài toán.
<b>-</b> Dữ liệu vào:
<b>-</b> Dữ liệu ra:
<b>-</b> Cách tÝnh:
2. Yêu cầu học sinh soạn chơng trình
và lu lên đĩa.
- Quan s¸t híng dÉn tõng học sinh
trong lúc thực hành.
3. Yêu cÇu häc sinh nhập dữ liệu và
a=3
a=-3
1. Phân tích theo yêu cầu của giáo viên
Dữ liệu vào a
Dữ liệu ra s
Tính diện tích hình tròn có bán kính a
(s1)
Tính diện tích hình vuông có cạnh a2
(s2)
s:=s1-s2
2. Thực hiện các yêu cầu của giáo viên.
- Soạn chơng tr×nh.
- Nhấn F2, gõ tên file để lu.
- Nhấn ALT_F9 để dịch lỗi cú pháp.
- Nhấn CTRL_F9 thc hin chng
trỡnh.
- Thông báo kết quả cho giáo viên.
3. Nhập dữ liệu theo yêu cầu
<b>-</b> Vi a= 3, ta đợc s=9(-2)=10.26
<b>-</b> Với a=-3, bài tốn khơng xác định vì
độ dài cạnh phải là một số dơng.
iii. Đánh giá cuối bài
<i><b>1. Những nội dung đã học</b></i>
<b>-</b> Các bớc để hồ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 thõt toỏn.
Lu trữ chơng trình.
Thực hiện và hiệu chỉnh chơng trình.
<i><b>2. Câu hỏi vµ bµi tËp vỊ nhµ</b></i>
<b>-</b> Viết chơng trình, nhập vào độ dài ba cạnh của một tam giác và tính chu vi, diện
tích của tam giác đó.
<b>-</b> Cho ch¬ng trình sau:
Program bt1;
Var r,s1,s2:real;
Begin
write(nhap r);
readln(r)
s1:=4*r*r
s2:=r*r*;
s:=s1-s2;
write(s:6:2);
readln;
End.
Hỏi: chơng trình thực hiện công việc gì, kết quả hiện ra trên màn hình là bao
nhiêu?
<b>-</b> Làm bài tập 7, 8, 9, 10 trang 36.
Soạn chơng trình.
Dịch lỗi và thực hiện.
Nhập dữ liệu và kiểm tra kết quả
<b>Ch</b>
<b> ơng 3</b> <b>tổ chức rẽ nhánh và lặp</b>
<b> </b>
i. Mục tiêu của chơng
<i><b>1. Kiến thức: Học sinh cần:</b></i>
<b>-</b> Hiểu các khái niệm lặp và rẽ nhánh trong lập trình.
<b>-</b> Biết thực hiện các câu lệnh rẽ nhánh và lặp trong ngôn ngữ lập trình Pascal.
<b>-</b> Bớc đầu hình thành kĩ năng lập trình có cấu trúc.
<i><b>2. Kĩ năng:</b></i>
<b>-</b> Cú kh năng phân tích bài tốn đơn giản để chon kiểu cấu trúc điều khiển phf
hợp từng thao tác.
<b>-</b> Biết diễn đạt đúng các câu lệnh, soạn đợc chơng trình giải các bài toán đơn
giản, áp dụng các loại cấu trúc điều khiển nêu trên.
<i><b>3. Thái độ:</b></i>
<b>-</b> TiÕp tôc xây dựng lòng yêu thích giải toán bằng lập trình trên máy vi tính.
<b>-</b> 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 q
trình phân tích bài toán, lựa chọn dữ liệu, chọ 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. Néi dung chđ u cđa ch¬ng.
<b>-</b> Giíi thiệu các loại cấu trúc điều khiển trong lập trình cấu trúc là rẽ nhánh và
lặp. Khái niệm bớc đầu về lập trình có cấu trúc.
Bắt đầu
Nhập a, b, c
:=b*b+4*a*c
Nếu
0
Kết thúc.
Thông báo vô nghiệm Tính và in nghiệm ra
Cấu trúc rẽ nhánh
i. mục tiêu
<i><b>1. Kiến thøc </b></i>
<b>-</b> Học sinh biết đợc ý nghĩa của cấu trúc rẽ nhánh.
<b>-</b> Học sinh biết đợc cấu trúc chung của cấu trúc rẽ nhánh.
<b>-</b> Biết cách sử dụng đúng hai dạng cấu trúc rẽ nhánh trong lập trình: dạng thiu
v dng .
<i><b>2. Kĩ năng</b></i>
- Bc u s dụng đợc cấu trúc rẽ nhánh If…then…else…trong ngôn ngữ lập trình
Pascal để viết chơng trình giải quyết một số bài toán đơn giản.
ii. đồ dùng dạy học
<i><b>1.</b></i> <i><b>Chuẩn bị của giáo viên</b></i>
- M¸y vi tÝnh, m¸y chiÕu Overhead, m¸y chiếu Projector, bìa trong, bút dạ, chơng
trình mẫu giải phơng trình bậc hai ax2+bx+c=0.
<i><b>2.</b></i> <i><b>Chuẩn bị của học sinh</b></i>
- S¸ch gi¸o khoa
iii. Hoạt động dạy học
<i><b>1. Hoạt động 1: Tìm hiểu ý nghĩa của tổ chức rẽ nhánh</b></i>
<i>a. Mục tiêu: </i>
- Học sinh biết đợc ý nghĩa của tổ chức rẽ nhánh. Nắm đợc cấu trúc của tổ chức rẽ
nhánh. Vẽ đợc sơ đồ giải phơng trình bậc hai ax2<sub>+bx+c=0 (a0)</sub>
<i>b. Néi dung:</i>
Sai §óng
<i>c.</i> Các bớc tiến hành:
Hot động của giáo viên Hoạt động của học sinh
1. Nêu ví dụ thực tiễn minh hoạ cho tổ
chøc rÏ nh¸nh:
Chiều mai, nếu trời khơng ma, An sẽ đi
xem đá bóng, nếu trời ma, An sẽ xem
tivi ở nhà.
- Yªu cầu học sinh tìm ví dụ tơng tự.
- Yờu cầu học sinh đa ra cấu trúc chung
của cách diễn t ú.
- Yêu cầu học sinh lấy một ví dô cã cÊu
1. Chú ý theo dõi các dẫn dắt và ví dụ
của giáo viên để tìm ví dụ tơng tự.
<b>-</b> Nếu đội tuyển bóng đá Việt Nam
thắng đội Indonesia thì sẽ đợc đá tiếp
tranh huy chơng vàng với Thái Lan,
nếu không thắng Indonesia thì Việt
Nam sẽ trah huy chơng đồng với
Mianmar.
®iỊu
kiÖn LÖnh
trúc chung dạng khuyết và đa ra cấu
trúc chung đó.
2. Nêu các bớc để kết luận nghiệm của
phơng trình bậc hai ax2<sub> + bx + c = 0</sub>
- Chia lớp thành 3 nhóm và yêu cầu vẽ
sơ đồ thực hiện của các bớc trên bìa
trong.
- Chọn hai bài để chiếu lên bảng, gọi
học sinh thuộc nhóm khác nhận xét
đánh giá kết quả và bổ sung
3. Tiểu kết cho hoạt động này bằng việc
bổ sung chính xác bài tập cua học sinh.
<b>-</b> NÕu lµm xong bài tập sớm thì An sẽ
sang nhà Ngọc chơi.
Nếu thì
2. Theo dâi vµ thùc hiện yê cầu của
giáo viên.
+ Tính .
+ Nếu <0 thì kết luận phơng trình vô
nghiệm.
+ Nếu 0 thì kết luận phơng trình có
nghiệm:
x=(-b+sqrt())/(2a)
x=(-b-sqrt())/(2a)
<b>-</b> Thực hiện vẽ sơ đồ giống nh ở phần
nội dung
<b>-</b> Nhận xét đánh giá và bổ sung những
thiếu sót của nhóm khác.
3. Quan sát hình vẽ của các nhóm khác
và của giáo viên để ghi nhớ.
<i><b>2. Hoạt động 2:</b></i>Tìm hiểu cấu trúc lệnh rẽ nhánh IF – THEN – ELSE trong
ngôn ngữ lập trình Pascal
<i>a. Mơc tiªu: </i>
- Học sinh biết đợc cấu trúc chung của lệnh IF. Bết đợc sự thực hiện của máy khi
thực hiện lệnh IF.
<i>b. Néi dung:</i>
- D¹ng thiÕu:
CÊu tróc: if<®iỊu kiƯn> then<lƯnh>;
®iỊu kiện: là một biểu thức quan hệ hoặc một biểu thøc
logic.
lệnh: là một lệnh nào đó của Pascal.
Sự thực hiện của máy:
+ Tính giá trị của <điều kiện>
+ Nếu <điều kiện> có giá trị đúng thì thực hiện <lệnh>.
Sơ đồ:
§óng
Sai
<b>-</b> Dạng đủ:
CÊu tróc: If<®iỊu kiÖn> then<lÖnh 1> else<lÖnh 2>;
điều kiện: là một biểu thức quan hệ hoặc biểu thức logic.
lệnh1, lệnh 2: là một lệnh nào đó của Pascal.
Sù thùc hiƯn cđa m¸y:
+ Tính giá trị của <điều kiện>
<i><b>®iỊu </b></i>
<i><b>kiƯn</b></i>
LƯnh 1
LƯnh 2
Sơ đồ:
Sai Đúng
c. Các bớc tiến hành:
Hot ng ca giỏo viờn Hot động của học sinh
1. Yêu cầu học sinh nghiê cứu SGK và
dựa vào các ví dụ của tổ chức rẽ
nhánh để đa ra cấu trúc chung của
lênh rẽ nhánh.
2. Nêu vấn đề trong tờng hợp khuyết:
khi khơng đề cập đến việc gì xảy ra
3. Yêu cầu học sinh vẽ sơ đồ thực hiện
của lệnh rẽ nhánh dạnh khuyết và
dạng đủ lên bng.
4. Gợi ý sự cần thiết của lênh ghép. Đa
cấu tróc cđa lƯnh ghÐp.
<b>-</b> Khi giải thích về lệnh, lệnh 1, lệnh 2,
giáo viên nói: Sau then và else các em
thấy chỉ đợc phép đặt một lệnh. Trong
thực tế thờng lại là nhiều lệnh. (tại sao
lại có sự mâu thuẫn đó?)
<b>-</b> Yêu cầu học sinh nghiên cứu SGK và
cho biết cấu trúc để ghép các lệnh
thành mt lnh.
1. Nghiên cứu SGK và trả lời.
If <điều kiện> then<lÖnh 1> else<lÖnh
2>;
2. Học sinh chú ý lắng nghe và trả lời:
<b>-</b> Khi đó ta có lệnh khuyết:
If<®iỊu kiƯn>then<lƯnh>;
3. Vẽ sơ đồ nh đã dợc trình bày trong
phần nội dung.
4. Theo dõi dẫn dắt của giáo viên để
trả lời.
<b>-</b> Ta phải nhóm nhiều lệnh thành một
lệnh.
<b>-</b> Cấu trúc của lệnh ghép:
Begin
<Các lệnh cần ghép>;
End;
<i><b>3. Hot ng 3: rốn luyện kĩ năng vận dụng lệnh if.</b></i>
<i>a. Mục tiêu:</i>
- Bớc đầu biết sử dụng lệnh If để lập trình giải quyết một số bài toán đơn giản
<i>b. Nội dung:</i>
- Ví dụ 1: Viết chơng trình, nhập vào độ dài hai cạnh của một hình chữ nhật và
tính chu vi, diện tích của hình chữ nhật đó.
- Ví dụ 2: Tìm nghiệm của phơng trình bậc hai.
<i>c. Các bớc tiến hành:</i>
Hot ng ca giỏo viờn Hot động của học sinh
1. Nêu nội dung, mục đích, yêu cầu của
vÝ dô 1.
Viết chơng trinh, nhập vào độ dài hai
cạnh của một hình chữ nhật và tính chu
vi, diện tích của hình chữ nhật đó.
- Chơng trình này các em đã viết, hãy
cho biết có hạn chế nào trong chơng
trình của các em?
- Híng gi¶i qt cđa c¸c em nh thế
nào?
1. Chú ý dẫn dắt của giáo viên.
<b>-</b>Khi nhp d dài âm thì dẫn đến chơng
trình trả lời chu vi diện tích âm. Điều
này khơng có trong thực tế.
- Yêu cầu học sinh về nhà tiếp tục hoàn
thành chơng trình.
2. Nờu ni dung, mc ớ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.
- Trong bài toán này, ta cần bao nhiêu
- 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 lên
bìa trong.
- Thu phiu tr li, chiu lờn bng, gọi
học nhóm khác nhận xét, đánh giá.
- Chuẩn hố lại chơng trình cho cả lớp
bằng chơng trình mẫu giáo viên
<b>-</b>Nếu độ dài dơng thì thực hiện tinh,
ng-ợc lại thì thơng báo độ dài sai.
2. Ghi đề bài, chú ý mục đích, yêu cầu
của bài tập.
+ TÝnh .
+ Nếu <0 thì kết luận phơng trình vô
nghiệm.
+ Nếu 0 thì kết luận phơng trình có
nghiệm:
x1=(-b+sqrt())/(2a)
x2=(-b-sqrt())/(2a)
- Có thể sử dụng hai lệnh rẽ nhánh dạng
khuyết hoặc một lệnh dạng đủ.
- Thảo luận và viết chơng trình lên bìa
trong.
- Thông báo kết quả viết đợc.
- Nhận xét đánh giá và bổ sung những
tiếu sót của các nhóm khác.
- Ghi chép nội dung chơng trình đúng
mà giáo viên đã kết luận.
iv. Đánh giá cuối bài
<i><b>1. Những nội dung đã học:</b></i>
<b>-</b> CÊu tróc chung cđa cÊu tróc rÏ nh¸nh.
<b>-</b> Sự thực hiện của máy khi gặp cấu trúc rẽ nhánh IF.
<b>-</b> Sơ đồ thực hiện của cấu trỳc r nhỏnh IF.
<i><b>2. Câu hỏi và bài tập về nhà:</b></i>
<b>-</b> Trả lời câu hỏi 1,2,4 SGK trang150
<b>-</b> 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ố
<b>-</b> Xem chơng trình giải phơng trình: ax4<sub>+bx</sub>2<sub>+c=0.</sub>
<b>-</b> Xem trớc nội dung bài cấu trúc lặp, SGK trang 42.
Cấu trúc lặp (tiết 1/2)
i. mục tiêu
<i><b>1. Kiến thức</b></i>
<b>-</b> Bit c ý nghĩa của cấu trúc lặp
<b>-</b> Biết đợc cấu trúc chung của lênh lặp for trng ngơn ngữ lập trình Pascal.
<b>-</b> Biết sử dụng đúng hai dạng lệnh lặp for trong ngơn ngữ lập trình Pascal.
<i><b>2. Kĩ năng</b></i>
<b>-</b> Bớc đầu sử dụng đợc lệnh lặp for để lập trình giai quyết đợc một số bài toán
đơn giản.
ii. đồ dùng dạy học
<i><b>1. Chuẩn bị của giáo viên</b></i>
<b>-</b> M¸y vi tÝnh, máy chiếu Overhead, bìa trong, bút dạ, máy chiếu Projector, SGK,
SGV.
<i><b>2. Chuẩn bị của học sinh</b></i>
<b>-</b> Sách giáo khoa.
iii. Hoạt động dạy học
<i><b>1. Hoạt động 1</b></i>
<i>a. Mơc tiªu</i>
<b>-</b> Học sinh thấy đợc sự cần thiết của cấu trúc lặp trong lp trỡnh
<i>b. Ni dung</i>
<i>Bài toán 1: </i>Viết phơng trình tính tổng S= 1/a+1/(a+1)+1/(a+2)++1/
(a+100)
<i>Bài toán 2:</i> Một ngời có số tiền là S, ông ta gửi tiết kiệm ngân hang với lÃi
suất 1.5%/tháng. Hỏi sau 12 tháng gửi tiết kiệm (không rút tiền lái hàng
tháng), ông ta có tổng số tiền là bao nhiêu?
<i>c.</i> Các bớc tiÕn hµnh
Hoạt động của giáo viên Hoạt động của học sinh
1. Nêu bài toán đặt vấn đề nh bài toán 1
- Hãy xác định cơng thức tốn học để
tính tổng.
- Gợi ý phơng pháp: ta xem S nh là một
cái thùng, các số hạng nh những cái ca
có dung tích khác nhau, khi đó việc tính
tổng trên tơng tự việc đổ các ca nớc vào
trong thùng S.
- Có bao nhiêu lần đổ nớc vào thùng?
- Mỗi lần đổ một lợng là bao nhiêu?
- Phải viết bao nhiêu lệnh?
2. Nêu bài toan đặt vấn đề nh bài toán 2.
- Em hiểu nh thế nào về cách tính tiền
gửi tiết kiệm trong bài tốn 2?
- Từ đó hãy lập cơng thức tính tiền thu
đợc sau tháng thứ nhất.
- Ph¶i thùc hiƯn tÝnh nh vậy bao nhiêu
lần?
- Dn dt: Chng trỡnh c viết nh vậy
sẽ rất dài, khó đọc và dễ sai sót. Cần có
một cấu trúc điều khiển việc lặp lại sự
thực hiện các công việc trên.
- Trong tất cả các ngơn ngữ lập trình
đều có một cấ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.
3. Chia lớp làm 4 nhóm, 2 nhóm viết
1. Chú ý quan sát bài tốn đặt vấn đề
- Rất khó xác định công thức.(?!)
- Theo dõi gợi ý.
- Phải thực hiện 100 lần đổ nớc.
- Mỗi lần đổ 1/(a+i)
- Phải viết 100 lệnh.
2. Chú ý quan sát và trả lời các câu hỏi
- Với số tiền S, sau tháng đầu sẽ có một
số tiền lÃi là 0.015*S.
- Số tiền này đợc cộng vào gốc để tính
- Công thức: S:=S+0.015S
- Phải thùc hiƯn tÝnh 12 lÇn nh vËy.
- TËp trung theo dõi giáo viên trình bày.
thuật toán giải quyết bài toán 1, 2nhóm
viết thuật toán giải quyết bài toán 2 lên
bìa trong.
- Thu kt qu, chiếu kết quả lên bảng,
gọi học sinh nhóm khác lên nhận xét
đánh giá.
- ChuÈn ho¸ lại thuật toán cho học sinh
lần cuối.
toán.
Bớc 1: N0; S1/a;
Bớc 2: NN+1;
Bớc 3: Nếu N>100 thì chuyển đến bớc
5.
Bớc 4: SS+1/(a+N), quay lại bớc 2.
Bơc 5: Đa S ra màn hình rồi kết thúc.
- Thơng báo kết quả viết đợc.
- Nhận xét, đánh giá kết quả của nhóm
khác.
- Theo dõi và ghi nhớ
<i><b>2. Hoạt động 2: Tìm hiểu lệnh lặp For của gơn ngữ lập trình Pascal.</b></i>
<i>a. Mục tiêu</i>
- Học sinh biết đợc cấu trúc chung của lệnh For. Hiểu đợc ý nghĩa của các thành
phần trong lệnh. Biết đợc sự thực hiện của máy khi gặp For. Vẽ đợc sơ đồ thực hiện
đó.
<i>b. Néi dung</i>
- D¹ng tiÕn
CÊu tróc:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <lệnh cần lặp>;
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ị dầ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ện cần lặp, tăng
biến đếm 1 đơn vị, quay lại bớc 2.
Biến đếm:=giá trị đầu
biến đếm=giá trị
cí
Lệnh cần lặp
Biến đếm tăng 1
Biến đếm:=giá trị đầu
biến đếm=giá trị
cui
Lnh cn lp
Bin m gim
Sai
Đúng
- Dạng lùi:
Cu trúc: For <biến đếm>:=<giá trị cuối> downto <giá trị đầu> do
<lnh cn lp>;
Giá trị đâu phải lớn hơn hoặc bằng giá trị cuối.
Sự thực hiện của máy:
Bc 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, giảm
biến đếm 1 đơn vị, quay lại bớc 2.
Sơ đồ thực hiện:
Sai
c. C¸c bíc tiÕn hµnh
Hoạt động của giáo viên hoạt động của học sinh
1. Yêu cầu học sinh nghiên cứu SGK và
cho biÕt cÊ tróc chung cđa For?
<b>-</b> Gi¶i thÝch:
<biến đếm>: là biến kiểu nguyên, kí tự.
<b>-</b> Hỏi: ý nghĩa của <giá trị đầu>, <giỏ
1. Đọc SGK và trả lời
For <bin m>:=<giỏ tr u> to <giá
trị cuối> do <lệnh cần lặp>;
trÞ cuối>, kiểu dữ liệu của chúng.
<b>-</b> Hỏi trong bài toán gửi tiết kiệm, <giá
trị đầu>, <giá trị cuối> là bao nhiêu?
<b>-</b> Hỏi: trong bài toán tính tổng, <giá trị
đầu>, <giá trị cuối> là bao nhiêu?
<b>-</b> Dẫn dắt: Những lệnh nào cần lặp tại
sao li t sau Do?
<b>-</b> Hỏi: Khi nhiều lệnh khác nhau cần
lặp, ta viết nh thế nào?
<b>-</b> Hỏi: Trong bài toán gửi tiết kiệm,
lệnh nào cần lặp lại?
<b>-</b> Hỏi: Trong bai toán tính tổng, lệnh
nào cần lặp lại?
<b>-</b> Hỏi: Em có nhận xét gì về giá trị của
<giá trị đầu>, <giá trị cuối>?
<b>-</b> Dn dt: Khi đó lệnh For đợc gọi là
For tiến. Ngôn ngữ lập trình Pascal
cịn có một dạng For khác gọi l For
lựi.
2. Yêu cầu: HÃy trình bày cấu tróc
chung cđa For lïi.
<b>-</b> Hái: So s¸nh <gi¸ trị đầu>, <giá trị
cuối>.
<b>-</b> Hỏi: Trong hai bài toán trên, dùng
dạng lệnh For nào là phù hợp?
<b>-</b> Cựng kiu vi <bin m>
<b>-</b> <Giá trị đầu> là 1, <giá trị cuối> là
12
<b>-</b> <Giá trị đầu> là 1, <giá trị cuối> là
100.
<b>-</b> Phải sử dụng cấu trúc lệnh ghép
S:=S+0.015*S;
S:=S+1/(a+i);
<giá trị đầu> < <giá trị cuối>
2. Nghiờn cu SGK, suy ngh, so sánh
với cấu trúc của For tiến để trả lời.
For <biến đến>:=<giá trị cuối> downto
<giá trị đầu> do <lệnh cần lặp>;
<giá trị đầu> > <giá trị cuối>
- Sử dụng dạng For tiến là phù hợp
<i><b>3. Hoạt động 3: Rèn luyện kĩ năng vận dụng lệnh lặp for.</b></i>
<i>a. Mơc tiªu:</i>
- Sử dụng đúng lệnh lặp For để giải quyết đợc một bài tốn đơn giản.
<i>b. Nội dung:</i>
<i>VÝ dơ 1:</i> Viết chơng trình tính tổng.
S= 1/a+1/(a+1)+1/(a+2)+…+1/(a+100)
<i>VÝ dơ 2:</i> Mét ngêi cã sè tiỊn lµ S, ông ta gửi tiết kiệm ngân hang với lÃi suất
1.5%/tháng. Hỏi sau 12 tháng gửi tiết kiệm (không rút tiền lái hàng tháng), ông ta
có tổng số tiền là bao nhiêu?
c. Các bớc tiến hành:
Hot ng ca giáo viên hoạt động của học sinh
1. Nêu nội dung bài toán 1. Mục tiêu là
xác định đợc những nội dung chính cần
làm
+ Xác định giá trị đầu, giá trị cuối.
+ Xác định lệnh cần lặp lại.
<b>-</b> Yªu cầu học sinh tiếp tục hoàn thành
chơng trình ở nhà.
2. Nêu nội dung bài toán 2, mục tiêu là
viết đợc chơng trình hồn thiện.
- Định hớng những vấn đề chính
- Chia lớp làm 3 nhóm, u cầu học
sinh viết chơng trình lên giấy bìa trong.
- Thu phiếu học tập, chiếu lên bảng,
gọi học sinh nhóm khác lên nhận xét và
đánh giá.
1. Chó ý l¾ng nghe và trả lời các yêucầu
của giáo viên.
<b>-</b> <Giá trị đầu> là 1, <giá trị cuối> là
100
<b>-</b> S:=S+1/(a+i)
2. Chú ý lắng nghe nội dung và yêu cầu.
- Chuẩn hoá bài làm của học sinh bằng
chơng trình mẫu. <b>-</b> dẫn và ghi nhớ.Quan sát chơng trình giáo viên hớng
iv. Đánh giá cuối bài:
<i><b>1. Nhng ni dung ó hc:</b></i>
<b>-</b> Cấu trúc chung của lệnh lặp For. Sơ đồ thực hiện của lện lặp For
<i><b>2. Câu hỏi và bài tập v nh:</b></i>
<b>-</b> Giải bài tập 5a, 6 SGK trang 51.
Cấu trúc lặp (tiết 2/2)
i. mục tiêu
<i><b>1. Kiến thøc</b></i>
<b>-</b> Biết đợc ý của cấu trúc trúc lặp có số lần lặp cha xác định.
<i><b>-</b></i> Biết đợc cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal.
<i><b>2. Kĩ năng</b></i>
<b>-</b> Phõn bit c s ging v khỏc nhau giữa cấu trúc lặp For và While.
<i><b>-</b></i> Sử dụng đúng lệnh lặp While trong lập trình.
<i><b>-</b></i> Bớc đầu biết lựa chọn đúng dạng lệnh lặp để lập trình giải quyết đợc một số bài
toán đơn giản.
ii. đồ dùng dạy học
<i><b>1. Chuẩn bị của giáo viên</b></i>
<b>-</b> M¸y vi tÝnh, m¸y chiÕu Overhead, Projector, SGK, SGV.
<i><b>2.</b></i> <i><b>Chn bÞ cđa häc sinh</b></i>
<b>-</b> S¸ch gi¸o khoa.
iii. Hoạt động dạy học
<i><b>1. Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp có số lần cha xác định.</b></i>
<i>a. Mục tiêu:</i>
<b>-</b> Biết đợc sự cần thiết phải có cấu trúc lặp có số lần cha xỏc nh trong lp trỡnh.
<i>b. Ni dung:</i>
<i>Bài toán 1: </i>Viết phơng trình tính tổng:
S= 1/a+1/(a+1)+1/(a+2)++1/(a+N)+cho n khi 1/
(a+N)<0,0001
<i>Bi toỏn 2:</i> Một ngời có số tiền là S, ơng ta gửi tiết kiệm ngân hang với lãi suất
1.5%/tháng. Hỏi sau bao nhiêu tháng gửi tiết kiệm (không rút tiền lái hàng tháng),
ơng ta có tổng số tiền lớn hơn S1 ng?
<i>c.</i> Các bớc tiến hành:
Hot ng ca giỏo viờn Hoạt động của học sinh
1. Chiếu nội dung của bài toỏn 1
<b>-</b> Hỏi: Sự khác nhau gữa bài toán của
tiết này với bài toán ở tiết trớc?
<b>-</b> Hi: Lp bao nhiêu lần?
<b>-</b> Hỏi: Lặp đến khi nào?
2. ChiÕu néi dung của bài toán 2.
<b>-</b> Hỏi: Sự khác nhau gữa bài toán của
tiết này với bài toán ở tiết trớc?
<b>-</b> Hi: Lặp bao nhiêu lần?
<b>-</b> Hỏi: Lặp đến khi nào?
3. Tiểu kết vấn đề: Qua hai ví dụ, ta thấy
có một dạng bài tốn có sự lặp lại của
một lệnh nhng không biết trớc số lần
lặp. Cần có một cấu trúc điều khiển việc
lặp lại một cơng việc nhất định khi thoả
mãn một điều kiện nào đó thì dừng lại.
1. Chú ý lắng nghe, quan sát và suy nghĩ
để trả lời.
<b>-</b> Bài trớc cho giới hạn N
<b>-</b> Bài này cho giới hạn S
<b>-</b> Cha xác định ngay đợc.
<b>-</b> Đến khi điều kiện 1/(a+N)<0,0001
đợc thoả mãn.
2. Chú ý lắng nghe, quan sát và suy nghĩ
để trả lời.
<b>-</b> Bài trớc: Biết số tháng hỏi số tiền.
<b>-</b> Bài này: Biết số tiên hỏi số tháng.
<b>-</b> Cha biết trớc, đó là số tháng cần tìm.
<b>-</b> Đến khi số tiền thu đợc >S1 đồng
3. Theo dõi và ghi nhớ kết luận của giáo
viên.
<i><b>2. Hoạt động 2:</b></i>
<i>a. Mục tiêu:</i>
<b>-</b> Học sinh biết đợc cấu trúc chung của lệnh While. Hiểu đợc ý nghĩa của các
tành phần trong lệnh. Biết đợc sự thực hiện của máy khi gặp While. Vẽ đợc sơ
đồ sự thực hin ú.
Điều kiện
Lệnh cần lặp
Cấu trúc: While <điều kiện> Do <lệnh cần lặp>;
Điều kiện: là biểu thức quan hệ hoặc biểu thức logic.
Sự thực hiện của máy:
Bớc 1: Tính giá trị của <điều kiện>.
Bc 2: Nu iu kiện có giá trị đúng thì thực hiện lệnh cần lặp, quay lại
bíc 1.
Sơ đồ thc hiện:
Sai
§óng
<i>c.</i> Các bớc tiến hành:
Hot ng ca giỏo viờn Hot ng của học sinh
1. Yêu cầu học sinh ngiêm cứu SGKvà
cho biết cấu trúc của lệnh lặp While.
-Giải thích:
<iu kin> l biểu thức quan hệ hoặc
biểu thức logic, là điều kiện để lặp lại.
-Hỏi: Trong bài toán 1, điều kiện để
lặp lại là gì?
-Hỏi: Trong bài tốn 2, điều kiện để
lặp li l gỡ?
<lệnh cần lặp> là các lệnh cần phải lặp
lại.
-Hỏi: Trong hai bài toán trên, lệnh cần
lặp là gì?
-Hỏi: một sự khác nhau trong lệnh cần
lặp của For và While là gì?
-Dựa vào cấu trúc hÃy cho biết máy
thực hiƯn tÝnh <®iỊu kiƯn> tríc hay
thùc hiƯn lƯnh lỈp tríc?
2. u cầu học sinh vẽ sơ đồ cấu trúc
lên bảng.
-Gọi học sinh đánh giá nhận xét.
-Tiểu kết cho vấn đề bằng cách treo sơ
đồ mẫu và giải thớch.
3. Tham khảo SGK và trả lời.
-Cấu trúc chung:
While <điều kiện> Do <lệnh cần lặp>;
1/(a+M)>0.0001
S<S1
S:=S+0.015*S tớnh s tin
t:=t+1; để tính số tháng.
S:=S+1/(a+i) để tính tổng
i:=i+1; để tăng chỉ s.
-While phải có tăng biến chỉ số.
-Quan sát, suy nghĩ và trả lời:
Tính biểu thức điều kiện trớc
Thực hiện lệnh cần lặp sau.
2. Lờn bng v s cu trỳc của lệnh
While.
-NhËn xÐt, vµ bỉ sung.
-Học sinh bớc đầu biết sử dụng đúng lệnh While để lập trình giải quyết một số
bài tốn đơn giản.
<i>b. Néi dung:</i>
<i>Ví dụ 1:</i> Một ngời có số tiền là S, ông ta gửi tiết kiệm ngân hang với lãi suất
1.5%/tháng. Hỏi sau bao nhiêu tháng gửi tiết kiệm (không rút tiền lái hàng tháng),
ơng ta có tổng số tiền lớn hơn S1 đồng?
<i>Ví dụ 2:</i> Viết chơng trình, nhập vào hai số nguyên dơng a và b. Tìm ớc số chung
lớn nhất của hai số đó.
<i>c.</i> C¸c bíc tiÕn hµnh:
Hoạt động của giáo viên Hoạt động của học sinh
1. Nêu nội dung của bài toán 1. Mục
tiêu là viết chơng trình hồn thiện.
-Định hớng các vấn đề chính
Xác định điều kiện để tiếp tục lặp.
Xác định các lệnh cần lặp.
-Chia líp thµnh 3 nhóm. Yêu cầu học
sinh viết chơng trình hoàn thiệnlên bìa
trong.
-Thu phiếu trả lời, chiếu kết quả bằng
máy Overhead.
-Gi hc sinh nhóm khác nhận xét và
đánh giá.
-Chuẩn hoả chơng trình cho cả lớp.
2. Nêu nội dung của bài toán 2. Mục
tiêu là phân tích để xác định <điều
kiện>và <lệnh cần lặp>.
-LÊy mét vÝ dơ cơ thĨ khi t×m íc sè
chung cđa hai sè 15 vµ 25.
m n
15 25
15 10
5 10
5 5
Trả lời: 5 là ớc số chung lớn nhất
-Hỏi: Điêu kiện để tiếp tục lặp là gì?
-Hỏi: Các lệnh cần lặp là gì?
-Yêu cầu học sinh nêu thuật tốn để
tìm ớc số chung của hai số đó?
-Yªu cÇu häc sinh viết chơng trình
hoàn thiện bài toán ë nhµ.
-Yêu cầu học sinh chỉ ra hai câu hỏi
cần đặt khi gặp bài toán dạng này.
1. Chú ý lắng nghe và suy nghĩ trả lời
các câu hỏi định hớng của giáo viên.
- Điều kiện: S<S1
S:=S+0.015*5 để tính số tiền.
t:=t+1 để tính số tháng
- Tập trung làm việc theo nhóm
vit c chng trỡnh hon thin.
- Đánh giá và bổ sung
- Ghi nhớ những phần giáo viên sửa
chữa
2. Tp trung theo dõi để thấy đợc
những công việc cân thực hin
-Điều kiện: m<>n (?!)
-Lệnh cần lặp: m:=m-n hoặc n:=n-m
-Thuật toán:
B1: Nếu m=n thì UC=m, dừng.
B2: Nếu m>n thì m:=m-n ngợc l¹i
n:=n-m quay l¹i B1.
-Suy nghĩ và trả lời
+ Điều kiện nào để lặp lại?
+ Những lệnh nào cần lặp lại?
iv. đánh giá cuối bài.
<i><b>1. Những nội dung đã học:</b></i>
-ý nghĩa của cấu trúc lặp có số lần cha xác định.
-Sơ đồ thực hiện của lệnh lặp While
-Sự thực hiện của máy khi gạp lệnh lặp While.
<i><b>2. Câu hỏi và bài tập về nhà:</b></i>
-Giải bài tập 4, 5b, 7, 8 SGK trang 51
-Viết phơng trình tính tổng:
S= 1/a+1/(a+1)+1/(a+2)++1/(a+N)+cho n khi 1/(a+N)<0,0001
-Đọc lại bài lệnh rẽ nhánh IF và làm các bài tập liên quan, chuẩn bị cho tiÕt sau
thùc hµnh.
-Xem néi dung bµi thùc hµnh sè 2, SGK trang 49.
Bµi thùc hµnh sè 2
i. mơc tiªu
<i><b>1. KiÕn thøc</b></i>
-Nắm chắc cấu trúc và sơ đồ thực hiện của cấu trúc rẽ nhánh.
<i><b>2. Kĩ năng</b></i>
-RÌn lun kĩ năng sử dụng cấu trúc rẽ nhánh trong việc lập trình giải một số bài
toán cụ thể.
-Lm quen với các công cụ phục vụ và hiệu chỉnh chơng trình.
<i><b> 3. Thái độ</b></i>
-Tự giác, tích cực và chủ động trong thực hành.
ii. đồ dùng dạy học
<i><b>1. Chn bÞ cđa giáo viên</b></i>
-Phũng mỏy vi tớnh, mỏy chiu Projector hng dẫn
<i><b>2. Chuẩn bị của học sinh</b></i>
-Sách giáo khoa, sách bài tập và bài tập đã viết ở nhà.
iii. Hoạt dộng dạy học
<i><b>1. Hoạt động 1: Làm quen với một chơng trình và các cơng cụ hiệu chỉnh chơng </b></i>
trình.
<i>a. Mơc tiªu:</i>
-Học sinh hiểu đợc nội dung chơng trình và kết quả sau khi thực hiện chơng
trình.
-Biết các cơng cụ để hiệu chỉnh chơng trìnhkhi cần thiết nh: thực hiện từng bớc
và xem kết quả trung gian.
<i>b. Néi dung:</i>
-Ba số nguyên dơng a, b, c đợc gọi là bộ số Pitago nếu tổng bình phơng của hai
số bằng bỡnh phng s cũn li.
<i>-</i>Yêu cầu: Viết chơng trình, nhập từ bàn phím ba số nguyên dơng a, b, c vµ kiĨm
tra xem chóng cã lµ bé sè Pitago hay không.
<i>c. Các bớc tiến hành:</i>
Hot ng ca giỏo viờn Hoạt động của học sinh
1. Gợi ý để học sinh nờu khỏi nim v
bộ số Pitago
-Yêu cầu lấy một ví dơ cơ thĨ.
-Hỏi: để kiểm tra bộ số a, b, c bất kỳ
có phải là bộ Pitago, ta phải kiểm tra
các đẳng thức nào?
2. ChiÕu ch¬ng trình mẫu lên b¶ng.
Thùc hiƯn mÉu c¸c thao t¸c: lu, thực
hiện từng lệnh chơng trình, xem kết quả
trung gian, thùc hiÖn chơng trình và
nhập dữ liệu.
-Yêu cầu học sinh gõ chơng trình mẫu
vào máy.
-Yờu cu hc sinh lu chng trỡnh lờn
a vi tờn Pytago.pas
-Yêu cầu học sinh thực hiện từng lệnh
của chơng trình.
1. Theo dừi dn dắt của giáo viên để nêu
khái niêm về bộ số Pitago: tổng bình
ph-ơng của hai số bắng bình phph-ơng của số
cịn lại.
-Ví dụ về bộ số Pitago: 5 4 3
-Các đẳng thức cần kiểm tra:
b2<sub>=a</sub>2<sub>+c</sub>2
c2<sub>=b</sub>2<sub>+a</sub>2
2. So¹n chơng trình vào máy theo yêu
cầu của giáo viên
-Nhấn F2, gõ tên file và Enter.
-Yêu cầu học sinh xem các kết quả a2,
b2, c2.
-Yêu cầu học sinh tự tìm thêm một số
bộ a b c khác và so sánh.
-Chn menu Debug m ca s hiu
chnh.
-Quan sát quá trình rẽ nhánh của từng
bộ dữ liệu và trả lời.
<i><b>2. Hot ng 2: Rốn luyn k nng lập trình hồn thiện một bài tốn.</b></i>
<i>a. Mục tiêu:</i>
-Học sinh hiểu đề, phân tích u cầu của đề, từ đó chọn đợc cấu trúc dữ liệu và
lệnh phù hợp lp trỡnh.
<i>b. Nội dung:</i>
-Viết chơng trình giải phơng trình ax2<sub>+bx+c=0.</sub>
<i>c.</i> Các bớc tiến hành:
Hot ng ca giỏo viờn Hot động của học sinh
1. Nêu nội dung, mục đích, yêu cu ca
bài toán.
-Hi: Bc u tiờn gii bi toỏn?
-Hi: Để xác định ta đặt các câu hỏi
nh thế nào?
-Gọi học sinh đặt câu hỏi và gọi học
sinh trả lời cõu hi ú.
-Yêu cầu học sinh phác hoạ thuật
toán.
2. Yêu cầu học sinh gõ chơng trình vào
máy.
-Giỏo viờn tiếp cận từng học sinh để
hớng dẫn và sửa sai.
3. Yêu cầu học sinh nhập dữ liệu
-Nhập dữ liệu với test 1 2 -2
4. Yêu cầu học sinh xác định testcase,
nhập dữ liệu, đối sánh kết quả.
1. Chú ý theo dõi vấn đề đặt ra của giáo
viên.
-Xác định input, output và thuật tốn.
-Mục đích của giải phơng trình?
-Kết luận số nghiệm và trả lời nghiệm.
-Để tính đợc nghiệm x cần các đại
l-ợng nào?
-Cần các đại lợng a và b
-Có các bớc xử lý nh thế nào để tính
đợc x?
2. Độc lập soạn chơng trình vào máy.
-Thơng báo kết quả viết đợc.
3. NhËp d÷ liƯu theo test của giáo viên
và thông báo kÕt qu¶ cđa chơng
trình.
4. Tìm testcase
0 0 VSN
0 3 VN
2 3 -1.5
Nhập dữ liệu và thông báo kết quả.
iv. đánh giá cuối bài
<i><b>1. Những nội dung đã học:</b></i>
Các bớc để hồn thành một chơng trình:
-Phân tích bài tốn để xác định dữ liệu vào, dữ liệu ra
-Soạn chơng trình vào máy