Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
392,5 KB
Nội dung
Để thực hiện chương trình được viết bằng một ngôn ngữ lập trình ta cần phải làm gì? KIỂM TRA BÀI CŨ: 1. Soạn thảo :Viết chương trình, nhập chương trình vào máy. 2. Dịch (Alt+F9): Phát hiện và thông báo lỗi cú pháp . 3. Thực hiện chương trình (Ctrl+F9). 4. Nhập vào các giá trị chạy thử - Nhấn Enter. chương 2: cấu trúcrẽnhánh và lặp CẤUTRÚCRẼNHÁNH Nội dung: 1. RẽNhánh 2. Câu Lệnh If-Then 3. Câu Lệnh Ghép 4. Một Số Ví Dụ Tháng 10 năm học 2008 CẤUTRÚCRẼNHÁNHRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ 1. RẼNHÁNH TRƯỜNG HỌC 1 HÃY ĐƯA RA MỆNH ĐỀ NẾU- THÌ THEO HÌNH VẼ 2 ? HS B HS A HÌNH VẼ 2 Nếu bạn A học trường 1 Thì rẽ bên trái Nếu bạn B học trường 2 Thì rẽ bên phải Nếu bạn A không học trường 2 Thì rẽ bên trái HÃY ĐƯA RA MỆNH ĐỀ NẾU- KHÔNG THÌ THEO HÌNH VẼ 2 ? HÌNH VẼ 1 TRƯỜNG HỌC 2 CẤUTRÚCRẼNHÁNHRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ Nhập a,b,c D b 2 -4ac D≥0? Thơng báo vơ Nghiệm, KT Tính và đưa ra Nghiệm, KT ĐS Sơ đồ thể hiện sự rẽnhánh 1. RẼ NHÁNHCẤUTRÚCRẼNHÁNHRẼNHÁNH CÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ Nhập a,b,c D b 2 -4ac D<0? Thơng báo Nghiệm kép, KT PT vơ Nghiệm, KT ĐS Sơ đồ thể hiện sự rẽnhánh 1. RẼNHÁNH D=0? Đ Thơng báo 2 Nghiệm, KT S CẤUTRÚCRẼNHÁNHRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ 2. CÂU LỆNH IF-THEN Điều kiện Đ S Câu lệnh Điều kiện Đ S Câu lệnh 1 Câu lệnh 2 IF <Điều kiện> Then <Câu lệnh>; a. Dạng thiếu IF <Điều kiện> Then <Câu lệnh 1> ELSE <Câu lệnh 2>; b. Dạng đủ Nếu điều kiện đúng câu lệnh được thực hiện, ngược lại câu lệnh sẽ bò bỏ qua. Nếu điều kiện đúng câu lệnh 1 được thực hiện, ngược lại câu lệnh 2 sẽ được thực hiện Sau mỗi câu lệnh được kết thúc bằng dấu ; nhưng câu lệnh trước ELSE không có dấu ; ? Có nhận xét gì về câu lệnh trước ELSE IF Then ELSE Tên dành riêng (từ khóa) Điều kiện : Là biểu thức quan hệ hoặc biểu thức logic Điều kiện : Là câu lệnh đơn Câu lệnh 1 Câu lệnh 2 : Câu lệnh Hãy so sánh hai cấutrúc trên? Chú ý: Dạng đủ có thể lồng nhau, khi đó Else sẽ gắn với If gần nhất. CẤUTRÚCRẼNHÁNHRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ If a mod 2=0 then Write( ‘ a la so chan ’); If (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (a+c>b) then Write(‘a, b, c la ba canh tam giac’) Else Write(‘ khong la ba canh tam giac’); 2. CÂU LỆNH IF-THEN Ví dụ 1: Kiểm tra xem số ngun a có phải là số chẳn khơng. Ví dụ 2: Kiểm tra xem a,b,c có phải 3 cạnh của tam giác khơng? a mod 2=0 Nhập a Đ a là số chẳn S a>0,b>0, c>0,a+b>c, b+c>a, a+c>b Nhập a,b,c Đ a,b,c là 3 cạnh tam giác S a,b,c kgơng là 3 cạnh tam giác CẤUTRÚCRẼNHÁNHRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ 3. CÂU LỆNH GHÉP Sau Then, Else nếu thực hiện nhiều hơn một câu lệnh thì phải được đặt giữa BEGIN END (câu lệnh ghép) <Các câu lệnh> If <Điều kiện> then Begin <Câu lệnh 1>; <Câu lệnh 2>; . . . . <Câu lệnh n>; End Else Begin <Câu lệnh 1>; <Câu lệnh 2>; . . . . <Câu lệnh n>; End; Ví du: ï Nhập 2 số ngun a,b. Đổi chổ 2 số sao cho số bé đứng trước, số lớn đứng sau. a=8; b=2; tg a b 8 2 If a>b then {doi cho b cho a} BEGIN tg:=a; a:=b; b:=tg; Write(‘doi cho b cho a, ket qua la’, a,b); END Else Write(‘khong doi cho’); Câu lệnh ghép 8 tg 2 a 8 b CẤUTRÚCRẼNHÁNHRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ 4. MỘT SỐ VÍ DỤ PROGRAM SOCHAN; Var a: word; BEGIN Write(‘Nhap vao so nguyen a’); Read(a); If a mod 2=0 then Write( ‘ a la so chan ’) Readln END. Program kiemtra; Uses Crt; Var a,b,c: integer; BEGIN Clrscr; Write(‘ Nhap vao 3 so nguyen a,b,c); Readln(a,b,c); If (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (a+c>b) then Write(‘a, b, c la ba canh tam giac’) Else Write(‘ khong la ba canh tam giac’); Readln END. VD2: Viết chương trình kiểm tra xem 3 số nguyên a, b, c nhập vào từ bàn phím có phải là 3 cạnh của tam giác không? VD1: Viết chương trình kiểm tra xem số nguyên a nhập vào từ bàn phím có phải là số chẳn không? CẤUTRÚCRẼNHÁNHRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ Program doicho; Var a,b,tg: Integer; BEGIN Write(‘ Nhap vao 2 so a,b’); readln(a,b); If a>b then {doi cho b cho a} Begin tg:=a; a:=b; b:=tg; Write(‘ Ket qua tim duoc la:’, a,b); End Else Write(‘khong doi cho’, a,b); END. VD3: Viết chương trình nhập 2 số a, b bất kỳ từ bàn phím, đổi chổ 2 số sao cho số bé đứng trước, số lớn đứng sau. [...]...RẼ NHÁNHCẤUTRÚCRẼNHÁNH CÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ BÀI TẬP 1 Viết chương trình kiểm tra xem số ngun a nhập vào có phải là tháng trong năm khơng? 2 Viết chương trình giải phương trình bậc 2: ax2+b+c=0... các trường hợp của delta (delta 0)) 3 Viết chương trình giải phương trình bậc nhất: ax+b=0 HD: xét các trường hợp của a,b : a≠0 ngược lại xét : b=0, ngược lại xét: b ≠ 0 RẼ NHÁNHCẤUTRÚCRẼNHÁNH CÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ VD4: Viết chương trình giải phương trình bậc 2: ax2+b+c=0 (a≠0) Program Giảipt_bac2; Var a,b, c,d: Integer; x,x1,x2: Real; BEGIN Write(‘ Nhap... D=0 Then Writeln(‘ Phuong trinh co nghiem kep x= ‘, -b/(2*a)) Else Begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b+sqrt(d))/2*a; Writeln(‘ phuong trinh co 2 nghiem la:’, ‘x1=‘,x1,’x2=‘,x2); End; END RẼ NHÁNHCẤUTRÚCRẼNHÁNHCÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ 2 CÂU LỆNH GHÉP Sau Then, Else nếu thực hiện nhiều hơn một câu lệnh thì phải được đặt giữa BEGIN END (câu lệnh ghép) Ví du: ï... a,b b=2; S a>b BEGIN Đ tg:=a; a:=b; Câu lệnh ghép b:=tg; Write(‘doi cho b cho a, ket qua la’, a,b); END Else Write(‘khong doi cho’); Kết quả là a,b 8 tg 2 a b tg a; a b; b tg Kết quả là a,b RẼ NHÁNHCẤUTRÚCRẼNHÁNH CÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ . cấu trúc rẽ nhánh và lặp CẤU TRÚC RẼ NHÁNH Nội dung: 1. Rẽ Nhánh 2. Câu Lệnh If-Then 3. Câu Lệnh Ghép 4. Một Số Ví Dụ Tháng 10 năm học 2008 CẤU TRÚC RẼ. Nghiệm, KT Tính và đưa ra Nghiệm, KT ĐS Sơ đồ thể hiện sự rẽ nhánh 1. RẼ NHÁNH CẤU TRÚC RẼ NHÁNH RẼ NHÁNH CÂU LỆNH IF-THEN CÂU LỆNH GHÉP MỘT SỐ VÍ DỤ Nhập