CÂU LỆNH ĐIỀU KIỆN (tt) I.Mục tiêu:

Một phần của tài liệu giáo an tin học 9 (cả năm) (Trang 84 - 91)

II. Môi trường làm việc của TP Pascal

CÂU LỆNH ĐIỀU KIỆN (tt) I.Mục tiêu:

I.Mục tiêu:

Học sinh hiểu được:

-Cú pháp của câu lệnh. -Dạng đầy đủ của lệnh IF

-Giải thích được sơ đồ biểu diễn dạng đầy đủ của lệnh IF.

II-Phương pháp: -Thuyết trình -Giảng giải -Nêu vấn đề III-Chuẩn bị: Giáo án Sách TP lớp 10, 9 IV-NộI dung: 1./Ổn định lớp: 1’ 2./Kiểm tra bài cũ:

HS: Trình bày sơ đồ của lệnh IF ( dạng thiếu) 3./Nội dung bài mới:

HOẠT ĐỘNG CỦA GIÁO VIÊN NỘI DUNG GHI BẢNG

Ở dạng này nếu Biểu thức điều kiện đúng thì máy thực hiện <câu lệnh 1>, còn nếu sai máy sẽ thực hiện <câu lệnh 2>.

GV giải thích cách thực hiện của sơ đồ biểu diễn.

2,Dạng đầy đủ: *Cú pháp:

IF <Biểu thức điều kiện> THEN <Câu lệnh 1>

ELSE <Câu lệnh 2>; *Sơ đồ biểu diễn lệnh:

Đ S

*Cách thực hiện: Chương trình kiểm tra giá trị của biểu thức điều kiện. Nếu điều kiện đúng thì <câu lệnh 1> được thực hiện, xong thực hiện các câu lệnh tiếp theo. Nếu

Điều kiện

Lệnh 1 Lệnh 2

Các câu lệnh tiếp theo

?Số chẳn là số như thế nào. Gọi 1 HS lên viết chương trình HS khác nhận xét

GV sửa sai.

hiện rồi thực hiện các câu lệnh tiếp theo.

*Chú ý: Lệnh trước ELSE không có dấu

chấm phẩy “;”.

Ví dụ: Viết chương trình kiểm tra số nhập

vào từ bàn phím là số chẳn hay số lẻ. Program kiemtra; Var x: integer; Begin Writeln(‘ Nhập x: ‘); Readln (x); IF (x mod 2) = 0 THEN Writeln( x, ‘ là số chẳn’) ELSE Writeln( x, ‘ là số lẻ’); Readln; End. 4./Củng cố: -Lệnh điều kiện IF có 2 cú pháp:

• IF <Biểu thức điều kiện > THEN <câu lệnh>;

• IF <Biểu thức điều kiện > THEN <câu lệnh 1> ELSE <câu lệnh 2>;

Nếu giá trị biểu thức điều kiện là TRUE thì câu lệnh 1 được thực hiện, ngược lại thực hiện câu lệnh 2.

-Câu lệnh trước ELSE không kết thúc bằng dấu chấm phẩy (;). -Bài tập: Viết chương trình giải phương trình bậc nhất: ax + b = 0

5./Hướng dẫn - dặn dò:

-Xem lại cú pháp của lệnh IF. -Làm bài tập tiết sau thực hành.

-Bài tập: Viết chương trình giải phương trình bậc nhất: ax + b = 0 Hướng dẫn: Vô số nghiệm: a=0, b=0

Vô nghiệm: a=0, b<> 0 Có nghiệm duy nhất: a <> 0

Ngày soạn:31/3/2008

THỰC HÀNHI.Mục tiêu: I.Mục tiêu:

-Học sinh áp dụng câu lệnh điều kiện và các câu lệnh liên quan để viết được các chương trình đơn giản .

-Học sinh tự chạy và nhập dữ liệu vào cho các biến một cách thành thạo. -Thoát khỏi Turbo Pascal và thoát máy đúng quy trình.

II.Phương pháp: -Quan sát -Nêu vấn đề -Thực hành III.Chuẩn bị: -Hệ thống bài tập

-Sách bài tập Turbo Pascal của Quách Tuấn Ngọc -Sách bài tập Turbp Pascal 7.0 của NXB thống kê.

IV.Bài mới: 1./Ổn định lớp: 2./Kiểm tra bài cũ:

HS: Nêu cú pháp lệnh IF, vẽ và giải thích sơ đồ lệnh IF ( dạng đầy đủ). 3./Nội dung thực hành

HOẠT ĐỌNG CỦA GIÁO VIÊN NỘI DUNG GHI BẢNG

-HS ghi bài tập vào vở.

-Bật máy -> Khởi động Turbo Pascal.

-Làm lần lượt các bài tập vào máy và lưu lại.

? Bài tập 1 có bao nhiêu biến.

? Hãy nhập giá trị của x và y cụ thể để xem kết quả.

BÀI TẬP

Câu 1: Viết chương trình thực hiện công

việc sau: Nếu nhập vào ký tự ‘S’ thì màn hình xuất hiện tổng của 2 số x, y. Nếu nhập vào ký tự ‘P’ thì màn hình xuất hiện tích của 2 số x, y, hai số x, y được nhập vào từ bàn phím.

Câu 2: Viết chương trình thực hiện giải

phương trình bậc nhất: ax+b=0.

Câu 3: Viết chương trình tìm USCLN và

BSCNN của hai số a và b được nhập vào từ bàn phím.

BÀI GIẢI:

Câu 1:

Program kytu;

Var x, y,ketqua: integer; kytu :Char;

Begin

Writeln(‘Nhập vào số x:= ‘); Readln (x);

Writeln(‘Nhập vào số y:= ‘); Readln (y);

Writeln(‘Nhập vào ký tự : ‘); Readln (kytu);

Tiết 57, 58

? Với giá trị khác của x và y thì kết quả có gì khác so với kết quả ban đầu.

? Vì sao ta phải dùng lệnh Readln ; trước từ khoá End.

? Đối với bài tập 2, ta cần khai báo bao nhiêu biến.

?Để giải phương trình bậc nhất ta cần kiểm tra những điều kiện nào.

GV: Ta phải kiểm tra 3 trường hợp +Vô số nghiệm nếu a = 0 và b = 0 +Vô nghiệm nếu a = 0 và b <> 0 +Có một nghiệm nếu a <> 0.

? Để tìm USCLN của hai số a, b ta phải làm như thế nào.

? Để tìm BSCNN của hai số a, b ta phải làm như thế nào.

? USCLN là bao nhiêu. ?BSCNN là bao nhiêu.

IF kytu:=’P’ Then Writeln(‘Tich:= ‘,x*y) Readln;

End.

Câu 2:

Program ptrinh; Var a,b: Integer; x: Real; Begin

Write(‘Nhập vào giá trị của a: = ‘); Readln (a) ;

Write(‘Nhập vào giá trị của b: = ‘); Readln (b) ;

If a = 0 then If b = 0 then

Writeln(‘PT có vô số nghiệm’) Else

Writeln(‘PT vô nghiệm’) Else Begin x:= -b/a; Writeln(‘PT có nghiệm là : ‘ , x : 0: 2); End; Readln; End. Câu 3: Program UCBC; Var a,b,aa,bb: Integer; Begin Write(‘Nhập a: = ‘); Readln(a); Write(‘Nhập b: = ‘); Readln(b); aa:=a ; bb:=b; While aa <> bb Do Begin If aa > bb then aa:= aa – bb Else bb:=bb-aa; End ; Writeln(‘ USCLN là: ‘ , aa );

Writeln(‘BCNN là: ‘ , a*b DIV aa ); Readln;

End.

4./Củng cố:

-Lệnh điều kiện IF có 2 cú pháp:

• IF <Biểu thức điều kiện > THEN <câu lệnh 1> ELSE <câu lệnh 2>;

Nếu giá trị biểu thức điều kiện là TRUE thì câu lệnh 1 được thực hiện, ngược lại thực hiện câu lệnh 2.

-Câu lệnh trước ELSE không kết thúc bằng dấu chấm phẩy (;).

5./Hướng dẫn - dặn dò:

Bài tập: Viết chương trình giải phương trình bậc hai: ax2 + bx + c = 0 Hướng dẫn:

- Khai báo

-Nhập các hệ số a,b,c -Tính Delta := b*b – 4 a*c -Biện luận:

Delta <0: Phương trình vô nghiệm

Delta =0: Phương trình có nghiệm kép x:= -b/(2*a) Delta >0: Phương trình có hai nghiệm phân biệt

THỰC HÀNHI.Mục tiêu: I.Mục tiêu:

-Học sinh áp dụng câu lệnh điều kiện và các câu lệnh liên quan để viết được các chương trình đơn giản .

-Học sinh tự chạy và nhập dữ liệu vào cho các biến một cách thành thạo. -Thoát khỏi Turbo Pascal và thoát máy đúng quy trình.

II.Phương pháp: -Quan sát -Nêu vấn đề -Thực hành III.Chuẩn bị: -Hệ thống bài tập

-Sách bài tập Turbo Pascal của Quách Tuấn Ngọc -Sách bài tập Turbp Pascal 7.0 của NXB thống kê.

IV.Bài mới: 1./Ổn định lớp: 2./Kiểm tra bài cũ:

HS: Viết chương trình kiểm tra một số nhập vào từ bàn phím là số chẵn hay số

lẻ.

3./Nội dung thực hành

HOẠT ĐỌNG CỦA GIÁO VIÊN NỘI DUNG GHI BẢNG

-HS ghi bài tập vào vở.

-Bật máy -> Khởi động Turbo Pascal.

-Làm lần lượt các bài tập vào máy và lưu lại.

?Ta cần khai báo những biến nào.

?Để giải phương trình bậc nhất ta cần dựa vào điều kiện gì.

Delta = ?

GV yêu cầu HS biện luận theo 3

BÀI TẬP

Câu 1: Viết chương trình giải phương trình

bậc hai ax2 + bx + c = 0 ( a # 0)

Câu 2: Viết chương trình tìm số lớn nhất

của hai số a và b nhập từ bàn phím.

BÀI GIẢI:

Câu 1:

Program giaipt; Var a,b,c: integer; x, x1, x2 : real ; delta: real; Begin

Writeln(‘Nhập vào số a:= ‘); Readln (a); Writeln(‘Nhập vào số b:= ‘); Readln (b); Writeln(‘Nhập vào số c : ‘); Readln (c); Delta:=b*b-4*a*c; If delta < 0 then

Writeln(‘Phương trình vô nghiệm’) Else

Tiết 59, 60

trường hợp của Delta.

GV yêu cầu HS lên bảng viết chương trình để thực hiện bài tập 2.

Gọi HS khác nhận xét

GV nhận xét, chửa sai sau đó cho HS thực hành trên máy. If Delta = 0 then Begin x:=-b/2*a; Writeln(‘Nghiệm là: ‘ , x:2:2); End Else Begin x1:=(-b+SQRT(Delta))/2*a; x2:=(-b-SQRT(Delta))/2*a; Writeln(‘Nghiệm 1 là: ‘ , x1:2:2); Writeln(‘Nghiệm 2 là: ‘ , x2:2:2); End; Readln; End. Câu 2:

Program KTsolon nhat; Var a,b: Integer;

Begin

Write(‘Nhập vào giá trị của a: = ‘); Readln (a) ;

Write(‘Nhập vào giá trị của b: = ‘); Readln (b) ; If a > b then Writeln(‘số lớn nhất là ’, a ) Else Writeln(‘số lớn nhất là ‘, b); Readln; End. 4./Củng cố: -Lệnh điều kiện IF có 2 cú pháp:

• IF <Biểu thức điều kiện > THEN <câu lệnh>;

• IF <Biểu thức điều kiện > THEN <câu lệnh 1> ELSE <câu lệnh 2>;

Nếu giá trị biểu thức điều kiện là TRUE thì câu lệnh 1 được thực hiện, ngược lại thực hiện câu lệnh 2.

-Câu lệnh trước ELSE không kết thúc bằng dấu chấm phẩy (;).

5./Hướng dẫn - dặn dò:

Ngày soạn: 06/4/08

Một phần của tài liệu giáo an tin học 9 (cả năm) (Trang 84 - 91)