Giáo án tin học 9 - Câu lệnh lựa chọn - Pdf 19

Giáo án tin học 9
BÀI

Câu lệnh lựa chọn

KIẾN THỨC YÊU CẦU:
 Biết xác định vấn đề nào có sử dụng đến câu lệnh
chọn lựa, cách dùng câu lệnh chọn lựa nào cho phù
hợp.
 Biết khi nào phải dùng câu lệnh ghép.

KIẾN THỨC ĐẠT ĐƯỢC
 Biết và nắm vững các câu lệnh chọn lựa trong
Pascal, cách dùng câu lệnh cho phù hợp, khi nào sẽ
dùng câu lệnh If không có Else, khi nào có dùng Else,
câu lệnh If lồng nhau, câu lệnh Case.
 Biết thực hiện câu lệnh ghép chính xác.

I/ Câu lệnh if … then … else … ;
1. Câu lệnh if … then …;
iF <Điều kiện> THEN
Câu lệnh;
Ý nghĩa: Sẽ xét điều kiện theo sau iF. Nếu đúng
thì thực hiện các lệnh theo sau THEN, nếu sai thì coi
như lệnh này đã thực hiện xong. Điều kiện đơn giản
là biểu thị trong các quan hệ =, <>, >, <, >=, <=. Điều
kiện phức hợp có sử dụng các phép toán Logic như
NOT, AND, OR trên những điều kiện đơn giản.
Ví dụ:
Program iF_THEN;
Var

END;
Ví dụ:
Program iF_THEN; {Co dùng lệnh ghép}
Var
x : integer;
y : integer;
Ketqua : Longint;
Begin
Write(‘Ban nhap vao gia tri cua x = ‘);
Readln(x);
Write(‘Ban nhap vao gia tri cua y = ‘);
Readln(y);
Write(‘Ban doan x + y = ‘);
Readln(Ketqua);
if (Ketqua=x+y) Then
Begin
Writeln(‘Hoan ho ban da doan
dung’);
Writeln(‘Ban hoc toan rat tot’);
End;
if (Ketqua<>x+y) Then
Begin
Writeln(‘Rat tiec ban da doan
sai’);
Writeln(‘Ban can co gang hoc tot
hon’);
End;
Readln;
End.



3. Câu lệnh if … then … else …; (lồng nhau).
Các bạn có thể xem phát biểu if … then … else
lồng nhau như ở ví dụ sau:
Ví dụ:
Program iF_THEN_ELSE_Longnhau;
Var
Toan : integer;
Ly : integer;
Hoa : integer;
Ketqua : integer;
Begin
Write(‘Ban nhap diem Toan (toi da la 10)
: ‘);
Readln(Toan);
Write(‘Ban nhap diem Ly (toi da la 10) :
‘);
Readln(Ly);
Write(‘Ban nhap diem Hoa (toi da la 10) :
‘);
Readln(Hoa);
Ketqua := Toan + Ly + Hoa;
if (Ketqua >= 25) Then
Writeln(‘Dau vao dai hoc, khong can
xet diem khong che’)
Else
Begin
if ((ketqua>=21) And (Toan>=7)
And (Ly>=7) And (Hoa>=7) Then
Writeln(‘Hoc sinh nay dau, vi

Case (x) of
1: Writeln(‘Day la thang gieng’);
2: Writeln(‘Day la thang Hai’);
3: Writeln(‘Day la thang Ba’);
4: Writeln(‘Day la thang Tu’);
5: Writeln(‘Day la thang Nam’);
6: Writeln(‘Day la thang Sau’);
7: Writeln(‘Day la thang Bay’);
8: Writeln(‘Day la thang Tam’);
9: Writeln(‘Day la thang Chin’);
10: Writeln(‘Day la thang Muoi’);
11: Writeln(‘Day la thang Muoi mot’);
12: Writeln(‘Day la thang Muoi hai’);
End;
Readln;
End.
 Trong phát biểu Case này, nếu bạn nhập một số
không phải từ 1 đến 12, chương trình sẽ không thông
báo gì cả, phát biểu Case xem như chấm dứt.
 Để khi nhập vào một số không thuộc từ 1 đến 12,
chương trình phải báo ra một câu nào đó, chúng ta
phải dùng lệnh Case … of … else … end như sau:
2. Câu lệnh Case … of … else … end;
CASE <Biểu thức chọn> OF
Chon 1 : Lệnh 1;
Chon 2 : Lệnh 2;
………………….
…………………
Chon N : Lệnh n;
Else Câu lệnh;

Begin
Writeln(‘Khong co thang nay’);
Writeln(‘Ban khong biet cac
thang trong nam’);
End;
End;
Readln;
End.
 Trong câu lệnh Case … of của Pascal, nếu có
nhiều chọn có cùng một giá trị, chúng ta có thể gộp
lại. Bạn xem ví dụ sau:
Program CASE_goplai;
Var
x : integer;
Begin
Write(‘Ban nhap con so cua thang ‘);
Readln(x);
Case (x) of
1,3,5,7,8,10,12: Writeln(‘Thang: ’,x, ‘ co
31 ngay’);
4,6,9,11: Writeln(‘Thang: ‘,x, ‘ co 30
ngay’);
2: Writeln(‘Thang: ‘, x, ‘ co 28 ngay’);

Else
Begin
Writeln(‘Khong co thang nay’);
Writeln(‘Ban khong biet cac thang
trong nam’);
End;

a, b, So : integer;
Begin
Clrscr;
Write(‘Nhap vao 2 so a va b : ‘);
Readln(a,b);
So := a;
if So < b then So := b;
Writeln (x);
Readln;
End.
a. Hãy giải thích từng lệnh và cho biết chương
trình trên làm việc gì?
b. Hãy bổ sung những thông báo cần thiết vào
chương trình trên để làm dễ dàng cho người sử dụng.
2. Viết chương trình nhập vào chiều dài và chiều rộng
của hình chữ nhật. Nếu kết quả bằng chiều dài nhân
với chiều rộng, thông báo đúng và cho kết quả, ngược
lại báo sai cho người sử dụng biết.
3. Viết chương trình nhập 3 số a, b, c bất kỳ, Hãy
kiểm tra xem ba số đó có thể là độ dài của các cạnh
trong một tam giác hay không, thông báo thoả hay
không thoả trong từng trường hợp tương ứng.
4. Có người viết chương trình tìm số lớn nhất trong 3
số như sau:
Program Max_3so;
Var
a, b, c : Real;
Begin
Write(‘Nhap vao 3 so ‘);
Readln(a,b,c);

Else Lamduoc := False;
End;
if Lamduoc then Writeln(‘Ket qua se la :
‘, Ketqua)
Else Writeln(‘Khong lam duoc’);
End.
Giải thích từng câu lệnh trong chương trình, cho
biết chương trình trên thực hiện điều gì. Bạn thấy
chương trình trên đúng hay sai, có hay không?
6. Viết chương trình nhập vào một mùa Xuân, Hạ,
Thu, Đông (mùa Xuân, nhập X, mùa Hạ, nhập H,
mùa Thu nhập T và mùa Đông nhập D), dùng phát
biểu Case … of có Else.
Nếu nhập X sẽ báo câu ‘Mua Xuan rat dep, toi
rat thich’
Nếu nhập H sẽ báo câu ‘Mua Ha rat nong va
buon, vi xa Thay va ban be’
Nếu nhập T sẽ báo câu ‘Mua Thu la vang rat
dep, canh troi tho mong’
Nếu nhập D sẽ báo câu ‘Mua dong lanh leo,
nhung rat thich’
Nếu khác 4 ký tự trên sẽ báo câu ‘Khong co
mua nay, ban nhap lai’.
7. Viết chương trình nhập vào 3 số a, b, c. Máy sẽ hỏi
để người sử dụng nhập vào kết quả:
a. Đố bé a+b+c bằng bao nhiêu ? (nhập vào)
b. Đố bé a+b-c bằng bao nhiêu ? (nhập vào)
c. Đố bé a-b+c bằng bao nhiêu ? (nhập vào)
Sau khi nhập xong 3 câu hỏi trên, nếu nhập kết quả
đúng hoặc sai tuỳ từng trường hợp, chương trình sẽ


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status