vỡ sao: Do căn bậc hai của một số õm.
- Sửa lại:
- Tiếp tục sửa lại:
- x1 = 2.00 x2 = 3.00
- GV yờu cầu học sinh đọc và gừ chương trỡnh Giai_PTB2 như trờn bảng.
- GV yờu cầu học sinh thực hiện cỏc nhiệm vụ sau:
+ Lưu chương trỡnh bằng cỏch nhấn phớm F2 với tờn PTB2.PAS.
+ Dịch và sửa lỗi cỳ phỏp với tổ hợp phớm Alt+F9.
+ Thực hiện chương trỡnh với tổ hợp phớm Ctrl+F9.
+ Nhập cỏc giỏ trị 1; -3; và 2. Thụng bỏo kết quả của mỏy đưa ra.
+ Trở về màn hỡnh soạn thảo bằng phớm Enter.
+ Tiếp tục thực hiện chương trỡnh + Nhập cỏc giỏ trị 1 ; 0 ; -2. Thụng bỏo kết quả của mỏy đưa ra.
HỎI: Vỡ sao lại cú lỗi xuất hiện?
+ Sửa lại chương trỡnh trờn khụng dựng đến biến D và thực hiện chương trỡnh đó sửa.
+ Sửa lại chương trỡnh bằng cỏch thay đổi cụng thức tớnh của x2.
program Giai_PTB2; uses crt; var a, b , c, D: real; x1, x2: real; begin clrscr; write(‘ a, b, c: ‘); readln(a, b, c); D:=b*b - 4a*b*c; x1:= (-b - sqrt(D))/ (2*a); x2:= -b/a - x1; write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘, x2 : 6 : 2); readln end. readln(a, b, c); x1:= (-b - sqrt(b*b - 4a*b*c))/(2*a); x2:= -b - x1; write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘, x2 : 6 : 2); readln(a, b, c); x1:= (-b - sqrt(b*b - 4a*b*c))/(2*a); x2:= (-b + sqrt(b*b - 4a*b*c))/(2*a);
- Thụng bỏo lỗi với lý do delta của pt là số õm.
+ Thực hiện chương trỡnh đó sửa với bộ dữ liệu 1 ; - 5 ; 6. Thụng bỏo kết quả.
+ Thực hiện chương trỡnh với bộ dữ liệu 1 ; 1 ; 1. Thụng bỏo kết quả.
write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘, x2 : 6 : 2); - x1 = 2.00 x2 = 3.00
Hoạt động 3: Rốn luyện thờm về kỹ năng lập trỡnh cho học sinh
TG Hoạt động của học sinh Hoạt động của giỏo viờn Ghi bảng
35’ - Nghe và nhận nhiệm vụ.
- Phõn tớch theo yờu cầu của giỏo viờn: + Dữ liệu vào ba cạnh a; ; b ; c + Dữ liệu ra S: + p:= (a+b+c)/2 S: = sqrt(sqr(p-a)*sqr(p- b)*sqr(p-c))
- Thực hiện theo yờu cầu của giỏo viờn: + Soạn chương trỡnh + Bấm phớm F2 để lưu chương trỡnh. +Bấm Alt+F9 để dịch lỗi cỳ phỏp. + Bấm Ctrl+F9 để chạy chương trỡnh.
+ Thụng bỏo kết quả cho giỏo viờn.
- Học sinh thụng bỏo kết quả.
- GV yờu cầu học sinh hóy viết một chương trỡnh tớnh diện tớch một tam giỏc khi biết độ dài ba cạnh của nú.
- GV định hướng để học sinh phõn tich bài toỏn.
+ Dữ liệu vào (Input) +Diệu liệu ra (Output) + Cỏch tớnh:
- GV yờu cầu học sinh soạn và chạy chương trỡnh lờn đĩa.
- GV yờu cầu học sinh nhập dữ liệu và thụng bỏo kết quả ; a = 3; b = 6; c = 5
a = 2; b = 5; c = 10;
Hoạt động 4: Củng cố buổi thực hành và bài tập về nhà.
TG Hoạt động của học sinh Hoạt động của giỏo viờn Ghi bảng
10’ - Chỳ ý và ghi nhớ. Gv nhắc lại cỏc bước khi 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/ ra.
+ Xỏc định thuật toỏn. + Soạn chương trỡnh + Lưu chương trỡnh + Biờn dịch chương trỡnh
- Về nhà làm bài tập trang 35 và 36.
chương trỡnh.
- Làm bài tập trang 35 và 36.
Ngày soạn :16/10/07
Tiết thứ:……Bài 9 : CẤU TRÚC RẼ NHÁNH.
I. Mục tiờu bài dạy:
1. Kiến thức:
- Hiểu nhu cầu của cỏu trỳc rẽ nhỏnh trong biểu diễn thuật toỏn.
- Học sinh nắm vững ý nghĩa và cỳ phỏp của cõu lệnh rẽ nhỏnh dạng khuyết và dạng đủ, hiểu được cỏch sử dụng cõu lệnh ghộp.
2. Kĩ năng:
- Sử dụng cấu trỳc rẽ nhỏnh trong mụ tả thuật toỏn của một số bài toỏn đơn giản.
- Viết được cỏc lệnh rẽ nhỏnh khuyết, rẽ nhỏnh đầy đủ và ỏp dụng được để thể hiện thuật toỏn của một số bài toỏn đơn giản
II. Chuẩn bị:
- Giỏo viờn: + Soạn giỏo ỏn.
+ Chuẩn bị bảng phụ sau:
- Trũ: học bài cũ, đọc và chuẩn bị bài mới.
III.
Phương phỏp truyền thụ:
Giảng giải + hoạt động của học sinh.
IV. Tiến trỡnh bài dạy: 1. Ổn định lớp: 2. Kiểm tra bài cũ:
Bài toỏn: cho 2 số nguyờn a, b; tỡm Max(a,b).
Yờu cầu: viết phần tờn, phần khai bỏo, và cõu lệnh nhập a, b. Nờu thuật toỏn tỡm Max(a,b).
Hoạt động 1:
TG Hoạt động của giỏo viờn Hoạt động của học sinh Ghi bảng GV: Giao nhiệm vụ cho HS .
H:Làm thế nào để tỡm Max(a,
HS: Thực hiện lần lượt cỏc
yờu cầu.
Đ: So sỏnh:
Program baitap;
Var a, b, max : integer; Begin Cõu lệnh IF Điều kiện Đ S Cõu lệnh 1 IF Điều kiện Đ S Cõu lệnh 2
b)?
H: Để thể hiện thuật toỏn trờn
trong TP cỏc em làm như thế nào? - Nếu a > b thỡ max = a - Nếu a < b thỡ max = b. Đ: Chưa thể làm. readln(a,b); end. 3. Bài mới: Hoạt động 2:
TG Hoạt động của giỏo viờn Hoạt động của học sinh Ghi bảng H: Cho vớ dụ về 1 cõu điều
kiện?
GV: Chọn hai cõu làm vớ dụ.
Từ đú phõn tớch cho học sinh thấy cấu trỳc rẽ nhỏnh thể hiện trong vớ dụ này.
Đ:+ Nếu em thuộc bài thỡ 10
điểm…
+ Nếu tối nay trời mưa thỡ em nghỉ học ngược lại thỡ em đi học…. (Cú thể cú nhiều cõu khỏc nhau). 1. Rẽ nhỏnh: * Một số mệnh đề cú dạng điều kiện: + Dạng thiếu: Nếu…thỡ… + Dạng đủ: Nếu … thỡ … nếu khụng thỡ … * Cấu trỳc dựng để mụ tả cỏc mệnh đề như trờn được gọi là cấu trỳc rẽ nhỏnh thiếu và đủ. * Mọi ngụn ngữ lập trỡnh đều cú cỏc cõu lệnh để mụ tả cấu trỳc rẽ nhỏnh.
Hoạt động 3:
TG Hoạt động của giỏo viờn Hoạt động của học sinh Ghi bảng GV: Nờu cỳ phỏp cõu lệnh rẽ
nhỏnh dạng đủ và dạng khuyết.
GV: Treo bảng phụ và giải
thớch quỏ trỡnh thực hiện cõu lệnh rẽ nhỏnh dạng đủ và dạng khuyết.
H: Gọi học sinh viết cõu lệnh
so sỏnh để tỡm Max(a, b) bằng 2 cỏch.
GV: Cú thể chỉ dựng 1 cõu
lệnh khuyết?
max:=a; if a < b then max:=b;
GV: lưu ý cỏc em trước từ
khoỏ Else khụng cú dấu ; và sau then, sau else chỉ cú 1 lệnh chương trỡnh.
GV: Với 2 dạng này, dạng nào
thuận tiện hơn?
HS: Quan sỏt và ghi chộp.
HS: Lờn bảng viết:
If a > b then max:= a; If a < b then max:= b; Hoặc: If a > b then max:=a Else max:=b; HS: tỡm cõu trả lời. -> tuỳ trường hợp cụ thể. 2. Cõu lệnh IF – THEN: * Để mụ tả cấu trỳc rẽ nhỏnh, Pascal dựng cõu lệnh: a. Dạng khuyết:
IF <điều kiện> THEN <cõu lệnh>;
b. Dạng đủ:
IF <điều kiện> THEN <cõu lệnh 1> ELSE < cõu lệnh 2>;
Trong đú:
- Điều kiện là biểu thức lụgic. - Cõu lệnh, cõu lệnh 1, cõu lệnh 2 là 1 cõu lệnh của Pascal.
Hoạt động 4:
TG Hoạt động của giỏo viờn Hoạt động của học sinh Ghi bảng
lệnh sau if hoặc sau then thỡ làm thế nào?
→ Dẫn đến khỏi niệm và cỏch
dựng cõu lệnh ghộp: nếu trong cấu trỳc rẽ nhỏnh, sau THEN cú từ 2 lệnh trở lờn thỡ gộp thành cõu lệnh ghộp, đặt cỏc lệnh đú trong cặp từ khoỏ Begin…end; với Pascal
H: Gọi học sinh nờu thuật
toỏn giải PT bậc hai?
GV: Nhận xột, bổ sung.
GV: Phõn nhúm và yờu cầu
học sinh thảo luận nhúm để viết chương trỡnh thể hiện thuật toỏn trờn. Ghi lời giải vào bảng phụ.
GV: Yờu cầu đại diện nhúm
lờn treo bảng lời giải và trỡnh bày.
Cho cỏc nhúm khỏc nhận xột.
GV: chớnh xỏc hoỏ lời giải
của HS và cho điểm.
mỡnh. Đ: B1: Nhập a, b, c. B2: Tớnh d = b2 – 4ac; B3: + Nếu d < 0 thỡ pt vụ nghiệm. + Ngược lại thỡ pt cú 2 nghiệm x1,2 = a d b 2 ± −
HS: Thảo luận theo nhúm
và trỡnh bày lời giải vào bảng phụ:
HS: Đại diện nhúm lờn treo
bảng lời giải và trỡnh bày. Cỏc nhúm khỏc nhận xột.
* Trong ngụn ngữ Pascal cõu
lệnh ghộp cú dạng: Begin
<cỏc cõu lệnh>; End;
* Vớ dụ: Viết chương trỡnh giải
phương trỡnh bậc hai. Program ptb2; Var a, b, c, d, x1, x2: real; Begin Write(‘ Nhap a, b, c:’); Readln(a,b,c); d := b*b – 4*a*c; If d < 0 then Write(‘ PT vo nghiem’) else Begin Write(‘ PT co nghiem :’); x1:= (- b – sqrt(d))/(2*a); x2:= (- b + sqrt(d))/(2*a); Write(x1:6:2, x2:6:2); End; Readln end.