CÂU LỆNH IF
lượt xem 20
download
Cú pháp, lưu đồ và ý nghĩa: Cú pháp : IF Ðiềukiện THEN LệnhP ; Ðiềukiện là một biểu thức lôgic cho kết qủa TRUE (đúng) hay FALSE (sai). LệnhP có thể là một lệnh đơn giản hoặc một lệnh có cấu trúc. Nếu LệnhP là một lệnh ghép, tức là gồm nhiều lệnh, thì nhớ là các lệnh này phải được đặt trong khối: begin và end .
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: CÂU LỆNH IF
- CÂU LỆNH IF 8.1.1. Câu lệnh IF dạng 1: 8.1.1.1. Cú pháp, lưu đồ và ý nghĩa: Cú pháp : IF Ðiềukiện THEN LệnhP ; Ðiềukiện là một biểu thức lôgic cho kết qủa TRUE (đúng) hay FALSE (sai). LệnhP có thể là một lệnh đơn giản hoặc một lệnh có cấu trúc. Nếu LệnhP là một lệnh ghép, tức là gồm nhiều lệnh, thì nhớ là các lệnh này phải được đặt trong khối: begin và end . Ý nghĩa: Tùy theo Ðiềukiện là đúng hay sai mà quyết định có làm LệnhP hay không. Nếu Ðiềukiện là đúng thì làm LệnhP rồi chuyển sang lệnh
- kế tiếp ở phía dưới. Nếu Ðiềukiện là sai thì không làm LệnhP mà chuyển ngay sang lệnh kế tiếp. Sơ đồ?cú pháp của lệnh IF được vẽ trong hình 8.1. 8.1.1.2. Các ví dụ : Ví dụ 8.1: Nhập vào hai số a và b, tìm và in lên màn hình số lớn nhất của hai số đó. Ta dùng một biến phụ đặt tên là Max để chứa gía trị lớn nhất phải tìm. Thuật toán gồm hai bước: Bước 1: Gán số thứ nhất vào Max, tức là: Max:=a; Bước 2: Kiểm tra nếu Max nhỏ hơn số thứ hai thì gán số thứ hai vào Max: If Max < b then Max:=b; Bước 3: In gía trị Max lên màn hình. Giải thích: Sau bước 1, biến Max có gía trị bằng a. Sang bước 2, có thể xảy ra hai tình huống :
- * Hoặc là Max < b , tức b là số lớn nhất, khi đó gía trị lớn nhất b được gởi vào biến Max * Hoặc là Max >= b, tức gía trị của Max là lớn nhất rồi nên không phải làm gì nữa. Chương trình cụ thể như sau: PROGRAM VIDU81; { Tim Max của hai so } Var a, b, max : Real; Begin Write(‘ Nhap a va b :’); Readln(a,b); Max :=a ; If Max < b then Max:=b ; Writeln(‘ So lon nhat la: ‘ , Max:6:2);
- Readln; End. Chạy Chép file nguồn Nhận xét: Việc tìm số nhỏ nhất của hai số a, b cũng tương tự, ta dùng biến phụ Min chứa gía trị nhỏ nhất, và thực hiện các lệnh sau: Min:=a; If Min > b then Min:=b; Có thể mở rộng thuật toán trên để tìm số lớn nhất trong ba số hoặc nhiều hơn. Ðầu tiên ta tìm số lớn nhất của hai số a và b, ký hiệu là Max, sau đó tìm số lớn nhất của hai số Max và c, cũng vẫn ký hiệu là Max. Dưới đây là các lệnh chính để tìm số lớn nhất trong ba số a, b, c : Max:=a; If Max < b then Max:=b; { Max là số lớn nhất của a và b }
- If Max < c then Max:=c; { Max là số lớn nhất của a, b và c } Ví dụ 8.2: Nhập vào họ tên và điểm trung bình (DTB) của một sinh viên. Hãy phân loại sinh viên theo DTB như sau: Loại là Kém nếu DTB
- DTB: Real; Loai: String[6]; Begin Write(‘ Nhap ho va ten :’); Readln(Ho_ten); Write(‘ Nhap điem trung binh :’); Readln(DTB); { phân loại theo DTB } If DTB< 5 then Loai:=‘Kem’; If (DTB>= 5) and (DTB= 7) and (DTB< 9) then Loai:=‘Kha’; If DTB >= 9 then Loai:=‘Gioi’; Writeln(Ho_ten, #32 , DTB:4:1 , #32 , Loai); { #32 là ký tự trắng } Readln;
- End. Chạy Chép file nguồn Ví dụ 8.3: Nhập vào ba hệ số A, B, C, (A 0) rồi giải và biện luận phương trình bậc hai: Ax2 + Bx + C = 0 Việc đầu tiên là phải tính Delta : Delta = B2 - 4AC Sau đó biện luận theo Delta: Nếu Delta 0: phương trình có hai nghiệm :
- Chương trình cụ thể như sau: PROGRAM VIDU83; { Giải phương trình bậc 2 } Var A, B, C, Delta, X1, X2 : Real; Begin Repeat Write( ‘ Nhap he so A khac khong :’); Readln(A); Until A0; Write( ‘ Nhap cac he so B, C: ‘); Readln(B, C); Delta:=B*B - 4*A* C;
- If Delta < 0 then Writeln( ‘ Ptrinh vô nghiệm! ‘); If Delta = 0 then begin X1:=-B/(2*A); Writeln(‘ Có ng. kép X1=X2= ‘ , X1:8:2); end; If Delta > 0 then begin X1 := (-B+ Sqrt(Delta) ) / (2*A); X2 := (-B - Sqrt(Delta) ) / (2*A); Writeln(‘ Có hai nghiệm : ’); Writeln(‘X1= ‘ , X1:8:2); Writeln(‘X2= ‘ , X2:8:2); end;
- Readln; End. Chạy Chép file nguồn Trong chương trình có ba lệnh IF xét riêng từng trường hợp Delta âm, bằng không hoặc dương. Chú ý rằng khi Delta=0 thì phải làm hai lệnh: X1:=-B/(2*A); Writeln(‘ Có ng. kép X1=X2= ‘ , X1:8:2); nên hai lệnh này phải được đặt giữa hai từ khóa begin và end để tạo thành một câu lệnh ghép. Tương tự, khi Delta>0 thì phải làm năm lệnh, và do đó cả năm lệnh cũng phải để trong khối begin và end. Chương trình có sử dụng lệnh Repeat ... Until (sẽ trình bày ở phần sau) để buộc người dùng phải nhập hệ số A 0, nếu nhập A=0 thì phải nhập lại cho đế n k hi A 0 mới cho làm tiếp các lệnh ở phía dưới. 8.1.2. Câu lệnh IF dạng 2:
- Cú pháp : IF Ðiềukiện THEN LệnhP ELSE LệnhQ ; Chú ý : Trước từ khóa ELSE không có dấu chấm phẩy. LệnhP và LệnhQ có thể là một lệnh ghép, tức là gồm nhiều lệnh được đặt trong khối begin và end. Ý nghĩa của lệnh: Tùy theo Ðiềukiện là đúng hay sai mà quyết định làm một trong hai lệnh: LệnhP hoặc LệnhQ . Nếu Ðiềukiện là đúng thì làm LệnhP, không làm LệnhQ, mà chuyển ngay sang thực hiện lệnh kế tiếp ở sau LệnhQ. Ngược lại, nếu Ðiềukiện là sai thì không làm LệnhP mà làm LệnhQ rồi chuyển sang lệnh kế tiếp ở sau LệnhQ.
- Ví dụ 8.4: Ðể tìm số lớn nhất của hai số a và b, dùng lệnh: If a
- Readln(a,b); If a < b then begin Max:= b; Min:= a; end else { trước else không có dấu ; } begin Max:= a; Min:= b; end; Writeln(‘ So lon nhat la: ‘ , Max:6:2); Writeln(‘ So nho nhat la: ‘ , Min:6:2); Readln;
- End. Chạy Chép file nguồn 8.1.3. Câu lệnh IF lồng nhau : Trong câu lệnh IF, nếu LệnhP hoặc LệnhQ, hoặc cả hai, lại là câu lệnh IF thì ta có cấu trúc IF lồng nhau. Chẳng hạn dưới đây là hai câu lệnh IF... ELSE lồng nhau : IF Ðiềukiện1 THEN If Ðiềukiện2 then LệnhP else LệnhQ ELSE LệnhR ;
- Ví dụ 8.5: Nhập vào họ tên một chủ hộ, chỉ số điện kế tháng trước (chiso1) và chỉ số điện kế tháng này (chiso2), tính tiền điện tháng này cho hộ, biết rằng : Mỗi kw trong 60 kw đầu tiên có đơn gía là 5đ, Từ kw thứ 61 đến kw thứ 160 có đơn giá 8đ, Từ kw thứ 161 trở lên có đơn gía 10đ. Ví dụ, ông A có chỉ số điện tháng trước là chiso1=1020 và chỉ số điện tháng này là chiso2=1070, lượng điện tiêu thụ tính ra là Ldtt= 1070- 1020=50, do lượng điện tiêu thụ < 60 nên số tiền sẽ là: Tien = 50*5= 250đ. Nếu chiso2=1150 thì Ldtt = 1150-1020=130, do lượng điện tiêu thụ vượt qúa 60 kw nhưng chưa vượt qúa 160 kw nên tiền điện được tính là: Tien=60*5 + (130-60) *8 = 860 đ. Nếu chiso2=1234, thì Ldtt = 1234-1020= 214, do lượng điện tiêu thụ vượt qúa 160 kw nên tiền điện sẽ là: Tien=60*5 + 100*8 + (214-160)*10= 300+800+54*10= 1640 đ.
- Chương trình được viết như sau: PROGRAM VIDU85; { Tính tiền điện } Var Ho_ten: String[18]; chiso1, chiso2, Ldtt, Tien : Real; Begin Write(‘ Nhap ho va ten :’); Readln(Ho_ten); Write(‘ Nhap chỉ số tháng trước, chỉ số tháng này: ‘); Readln( chiso1, chiso2); Ldtt:=chiso2- chiso1; If Ldtt
- if Ldtt 0, ta có:
- Vậy : Chương trình như sau: PROGRAM VIDU86; { Tinh can bac ba cua x } Var x, y : Real; Begin Write(‘ Nhap x :’); Readln(x); { tinh y }
- If x= 0 then y:=0 else If x> 0 then y:=Exp( 1/3*ln(x) ) else y:= - Exp( 1/3*ln(-x) ); Writeln(‘ gia tri y= ‘ , y:8:4); Readln; End. Chạy Chép file nguồn Ví dụ 8.7: Nhập tên của ba sinh viên, in các tên đó lên màn hình theo thứ tự đã sắp xếp theo vần A, B, C, ...Ví dụ, nhập ba tên là MAI, TUAN, BINH, thì in ra là BINH, MAI, TUAN. PROGRAM VIDU87; { Sắp xếp ba tên}
- Var T1, T2, T3 : String[8]; Begin Write( ‘Nhập tên thứ nhất: ‘); Readln(T1); Write( ‘Nhập tên thứ hai: ‘); Readln(T2); Write( ‘Nhập tên thứ ba: ‘); Readln(T3); Writeln(‘ Các tên được sắp thứ tự là:’); IF T1
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Các câu lệnh và hàm cơ bản trong Visual Basic 6
7 p | 1554 | 92
-
Câu lệnh Switch case
3 p | 975 | 63
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 5 - Các câu lệnh điều kiện
17 p | 172 | 18
-
Bài giảng Ngôn ngữ lập trình C - Chương 2: Các câu lệnh rẽ nhánh
9 p | 115 | 10
-
Bài giảng Ngôn ngữ lập trình C: Cấu trúc rẽ nhánh - TS. Ngô Hữu Dũng
33 p | 79 | 9
-
Bài giảng Chương 1: Cơ bản về ngôn ngữ lập trình Java
19 p | 109 | 8
-
Bài giảng Cơ sở lập trình: Các cấu trúc điều khiển (Control statements) - Trịnh Tấn Đạt
78 p | 25 | 7
-
Bài giảng Nhập môn lập trình: Bài 2 - Trần Duy Thanh
18 p | 104 | 7
-
SLIDE - TIN HỌC CƠ SỞ - CÂU LỆNH ĐIỀU KIỆN
0 p | 107 | 7
-
Bài giảng Tin đại cương: Bài 4 - Vũ Thương Huyền
27 p | 26 | 4
-
Bài 6 Câu lệnh điều khiển
24 p | 81 | 4
-
Bài giảng Tin học đại cương: Bài 5 - Phạm Xuân Cường
25 p | 25 | 4
-
Bài giảng Tin đại cương - Bài 4: Câu lệnh lựa chọn
22 p | 85 | 3
-
Bài thực hành Nhập môn lập trình số 4: Làm quen với cấu trúc lệnh if-else và switch-case
3 p | 34 | 3
-
Bài giảng Phương pháp lập trình: Bài 3 - TS. Ngô Hữu Dũng
33 p | 46 | 2
-
Bài giảng Tin học đại cương: Bài 5 - Nguyễn Mạnh Hiển
21 p | 41 | 2
-
Bài giảng Tin đại cương: Bài 6 - Trương Xuân Nam
26 p | 120 | 1
-
Bài giảng Tin học đại cương: Bài 6 - Bùi Thị Thu Cúc
19 p | 33 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn