1. Trang chủ
  2. » Công Nghệ Thông Tin

CÂU LỆNH IF pptx

22 396 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 3,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ý 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... Nếu Ðiềukiện là sai thì không làm LệnhP mà c

Trang 1

Ý 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

Trang 2

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

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 :

Trang 3

* 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

If Max < b then Max:=b ;

Writeln(‘ So lon nhat la: ‘ , Max:6:2);

Trang 4

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 }

Trang 5

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<5,

là Tbình nếu 5 DTB<7,

là Khá nếu 7 DTB<9,

là Giỏi nếu DTB 9

In họ tên, điểm trung bình và phân loại sinh viên

Trong chương trình, ta dùng một biến phụ đặt tên là Loai để lưu trữ phân

loại của sinh viên Vì có năm loại cầ? lưu trữ là các chuỗi ‘Kem’, ‘Tbinh’,

‘Kha’, ‘Gioi’, nên biến Loai phải có kiểu dữ liệu là kiểu chuỗi

PROGRAM VIDU82;

{ Phân loại sinh viên }

Var

Ho_ten: String[18];

Trang 6

If (DTB>= 5) and (DTB<7) then Loai:=‘Tbinh’;

If (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;

Trang 7

Sau đó biện luận theo Delta:

Nếu Delta<0 : phương trình vô nghiệm

Nếu Delta=0 : phương trình có nghiệm kép :

Nếu Delta > 0: phương trình có hai nghiệm :

Trang 9

If Delta < 0 then Writeln( ‘ Ptrinh vô nghiệm! ‘);

Trang 10

Readln;

End

Chạy<VD83.EXE>

Chép file nguồn <VD83.PAS>

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:

8.1.2 Câu lệnh IF dạng 2:

Trang 12

Ví dụ 8.4: Ðể tìm số lớn nhất của hai số a và b, dùng lệnh:

If a<b then Max:=b else Max:=a;

Chương trình dưới đây sẽ nhập vào hai số a và b, tìm và in số nhỏ nhất và

Trang 13

Writeln(‘ So lon nhat la: ‘ , Max:6:2);

Writeln(‘ So nho nhat la: ‘ , Min:6:2);

Readln;

Trang 14

End

Chạy<VD84.EXE>

Chép file nguồn <VD83.PAS>

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 :

Trang 15

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à:

Trang 16

Chương trình được viết như sau:

Write(‘ Nhap chỉ số tháng trước, chỉ số tháng này: ‘);

Readln( chiso1, chiso2);

Ldtt:=chiso2- chiso1;

If Ldtt<= 60 then Tien:=Ldtt*5

else

Trang 17

if Ldtt <=160 then Tien:=60*5+(Ldtt - 60)*8

else

Tien:=60*5 + 100*8 + (Ldtt - 160) * 10;

Writeln(‘ Họ và tên là ‘, Ho_ten);

Writeln(‘ Tiền phải trả là ‘ , Tien:10:2);

Trong Turbo Pascal không có hàm tính căn bậc ba của x Ðể tính

ta phải dùng hai hàm Exp(x) và Ln(x)

Áp dụng công thức toán học: x = e lnx với x>0, ta có:

Trang 19

Chép file nguồn <VD86.PAS>

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}

Trang 21

Chép file nguồn <VD87.PAS>

Lệnh IF trong chương trình trên lồng nhau nhiều cấp nên rất phức tạp Khi học cấu trúc mảng ta sẽ giải bài toán này gọn hơn

Trang 22

Chú y?/strong>: Trong câu lệnh IF lồng nhau, cách xác định từ khóa ELSE nào đi với từ khóa IF nào là như sau: xét ngược từ dưới lên, ELSE luôn đi với IF gần nhất ở phía trên nó mà chưa có ELSE để bắt cặp

Ngày đăng: 19/06/2014, 09:20

TỪ KHÓA LIÊN QUAN

w