Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Nguyễn Ngọc Tường Vy |
Ngày 10/05/2019 |
64
Chia sẻ tài liệu: Bài 9. Cấu trúc rẽ nhánh thuộc Tin học 11
Nội dung tài liệu:
Câu 1. Câu lệnh nào sau đây dùng để nhập dữ liệu cho biến x?
A. Realdn(x);
B. Write(`Nhap du lieu cho bien x:`);
KIỂM TRA BÀI CŨ
C. Writeln(`nhap du lieu cho bien x:`);
D. Readln(x);
Câu 2: Trường hợp nào dưới đây không phải là tên biến trong Pascal ?
A. Giai_Ptrinh_Bac_2;
B. Ngaysinh;
C. _Noisinh;
D. 2x;
KIỂM TRA BÀI CŨ
Câu 3: Câu lệnh nào sau đây dùng để hiển thị giá trị của x lên màn hình?
Readln(x);
B. Read(x);
C. Writeln(`x`);
D. Writeln(x);
KIỂM TRA BÀI CŨ
Câu 4: Cú pháp để khai báo tên một chương trình Pascal là:
Program;
B.
C. Program
D. Không có đáp án nào đúng;
KIỂM TRA BÀI CŨ
CHUYÊN ĐỀ 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Thời gian thực hiện (09 tiết): từ tiết 10 đến tiết 18
§9. CẤU TRÚC RẼ NHÁNH
Thời gian thực hiện (02 tiết): từ tiết 10 đến tiết 11
Đặt vấn đề: Một cửa hàng photocopy tính tiền
khách hàng đến photo theo bảng giá như sau?
CHUYÊN
ĐỀ
3
Giả sử hôm nay lớp phải photo bài tập cho các bạn dùng X tờ A4, photo 2 mặt thì cửa hàng cho biết tiền họ phải trả được tính theo qui định tương ứng như trên bảng giá như thế nào?
CHUYÊN
ĐỀ
3
Nếu X <= 200 thì số tiền phải trả là X*300 (đồng);
Nếu X > 200 thì số tiền phải trả là X*280;
Có 2 trường hợp tính tiền:
CHUYÊN
ĐỀ
3
Nếu X <= 200 thì số tiền phải trả là X*300 (đồng);
Nếu X > 200 thì số tiền phải trả là X*280;
Bước 1:
Nhập vào X;
Bước 2 :
Bước 3:
Bước 4:
Kết thúc;
Xây dựng thuật toán tính tiền cho khách hàng trong
trường hợp trên:
Thuật toán
CHUYÊN
ĐỀ
3
?
?
Thuật toán ở trên viết cho người hiểu tiếng Việt.
Bây giờ ta phải viết chương trình cho máy tính thực
hiện tính tiền cho khách hàng thì viết thế nào?
CHUYÊN
ĐỀ
3
Nếu X <= 200 thì số tiền phải trả là X*300.
Nếu X > 200 thì số tiền phải trả là X*280.
2 mệnh đề trên cho biết việc làm cụ thể nào? Và điều kiện đó là gì ?
2 mệnh đề trên có đề cập đến việc gì sẽ xảy ra khi điều kiện đó không được thỏa mãn không?
- Dạng thiếu: Nếu . thì .
Nhận xét:
1. Câu lệnh IF..THEN
Điều kiện
Điều kiện
Việc làm
Việc làm
CHUYÊN
ĐỀ
3
?
?
a. Dạng thiếu
- Cú pháp:
If
<Điều kiện>
Then
;
Trong đó:
If
Then
,
: Từ khóa
<Điều kiện>
: Biểu thức so sánh hoặc lôgic
: Là một câu lệnh của Pascal
1. Câu lệnh IF..THEN
CHUYÊN
ĐỀ
3
- Ý nghĩa:
Nếu điều kiện nhận giá trị đúng thì thực hiện câu lệnh
- Sơ đồ khối:
Điều kiện
Đúng
Câu lệnh
Sai
Câu lệnh
Đúng
Câu lệnh
Điều kiện
Điều kiện
a. Dạng thiếu: If <điều kiện> Then
1. Câu lệnh IF..THEN
CHUYÊN
ĐỀ
3
Nếu X <= 200 thì số tiền phải trả là X*300 (đồng);
Nếu X <= 200 thì số tiền phải trả là X*300 (đồng);
Nếu X > 200 thì số tiền phải trả là X*280;
Ví dụ 1:
a. Dạng thiếu: If <điều kiện> Then
1. Câu lệnh IF..THEN
If Then
X <= 200
Writeln (‘So tien phai tra la `, X* 300, `dong ‘);
If Then
X > 200
Writeln (‘So tien phai tra la `, X* 280, `dong‘);
CHUYÊN
ĐỀ
3
Program Photocopy; {chuong trinh 1}
Uses Crt;
Var X : longint;
Begin
ClrScr;
Writeln (‘ Nhap so luong to: ‘); Readln(X);
IF X <= 200 Then Writeln (‘So tien phai tra la `, X* 300, `dong ‘);
IF X > 200 Then Writeln (‘So tien phai tra la `, X* 280, `dong‘);
Readln;
End.
1. Câu lệnh IF..THEN
CHUYÊN
ĐỀ
3
Nếu m chia hết cho 2 thì m là số chẵn
Nếu m không chia hết cho 2 thì m là số lẻ
Viết câu lệnh rẽ nhánh dạng thiếu.
If m mod 2 = 0 then Write(m,` la so chan`);
If m mod 2 <> 0 then Write(m,` la so le`);
Ví dụ 2:
CHUYÊN
ĐỀ
3
Ví dụ 3:
Viết đoạn chương trình kiểm tra một số nguyên dương m là số chẵn hay số lẽ. In kết quả ra màn hình.
Program chan_le;
Var m : word;
Begin
Write(‘nhap m: ’);
Readln(m);
If m mod 2 = 0 then Write(m,‘ la so chan’);
If m mod 2 <> 0 then Write(m,‘ la so le’);
Readln;
End.
CHUYÊN
ĐỀ
3
CỦNG CỐ TIẾT HỌC
HS cần nắm vững các nội dung sau đây:
+ Ý nghĩa của cấu trúc rẽ nhánh: Cú pháp câu lệnh if – then dạng thiếu trong Pascal.
+ Viết được chương trình đơn giản trong Pascal, trong đó có sử dụng câu lệnh if – then dạng thiếu.
CHUYÊN
ĐỀ
3
1. Xem lại nội dung bài cấu trúc rẽ nhánh dạng thiếu.
2. Làm bài tập: Viết chương trình kiểm tra và in ra màn hình số lớn nhất trong 2 số nguyên a và b.
3. Xem trước nội dung bài cấu trúc rẽ nhánh dạng đủ và câu lệnh ghép.
DẶN DÒ
CHUYÊN
ĐỀ
3
Câu Hỏi: Chương trình trên đã dùng 2 lần kiểm tra điều kiện X. Chỉ cần một lần kiểm tra điều kiện của
X chúng ta có giải quyết được bài toán không?
CHUYÊN
ĐỀ
3
Nếu điều kiện X <=200 đúng thì điều kiện X > 200 sẽ thế nào?
Nếu X<=200 sai thì X sẽ thế nào so với 200?
Như vậy một số X chỉ có thể thuộc vào một trong 2
khả năng nhỏ hơn hoặc bằng 200 hay là lớn hơn 200.
Diễn đạt mệnh đề như sau:
Nếu X <= 200 thì số tiền phải trả là x*300 đồng
Nếu không thì số tiền phải trả là x*280 đồng
Nếu … Thì … Nếu không thì ….
b. Dạng đủ
IF <Điều kiện> THEN
Điều kiện
Đúng
Câu lệnh 1
Sai
Câu lệnh 2
Nếu <điều kiện> đúng thì
ngược lại thì
Điều kiện
Câu lệnh 1
Câu lệnh 2
Điều kiện
Câu lệnh 1
Điều kiện
kiểm tra một số nguyên dương m là số chẵn hay số lẽ
If m mod 2 = 0 then Write(m,‘ la so chan’)
Else Write(m,‘ la so le’);
d. Ví dụ:
Var m : word;
Begin
Write(‘nhap m: ’);
Readln(m);
If m mod 2 = 0 then
Write(m,‘ la so chan’)
Else Write(m,‘ la so le’);
Readln;
End.
Chương trình (dạng đủ):
Viết đoạn chương trình kiểm tra một số nguyên dương m là số chẵn hay số lẽ. In kết quả ra màn hình.
Var a, b, c: integer; d, x1, x2: real;
Begin
Writeln(‘nhap gia tri cho a, b, c: ’);
Readln(a, b, c);
d:=b*b – 4*a*c;
If d<0 then
write(‘pt vo nghiem’)
Else
x1:=(-b+sqrt(d))/(2*a));
x2:=(-b-sqrt(d))/(2*a));
Writeln(‘x1 = ’,x1:4:1, ‘ x2 = ’,x2:4:1);
Readln; End.
2. Hãy chạy chương trình dưới đây với các bộ dữ liệu:
* 1, -3, 2
* 2, 2, 4
Chương trình:
Var a, b, c: integer; d, x1, x2: real;
Begin
Writeln(‘nhap gia tri cho a, b, c: ’);
Readln(a, b, c);
d:=b*b – 4*a*c;
If d<0 then
write(‘pt vo nghiem’)
Else
x1:=(-b+sqrt(d))/(2*a));
x2:=(-b-sqrt(d))/(2*a));
Writeln(‘x1 = ’,x1:4:1, ‘ x2 = ’,x2:4:1);
Readln; End.
3. Câu lệnh ghép:
- Cú pháp:
Begin
End;
- Tác dụng:
Gộp nhiều câu lệnh thành một câu lệnh ghép
4. Một số ví dụ
Viết chương trình giải phương trình bậc hai:
CỦNG CỐ
1. Dưới đây là chương trình kiểm tra và in ra màn hình số lớn nhất trong 2 số a và b. Chương trình có một số lỗi, chỉ ra các lỗi đó. Hãy sửa lại để được một chương trình đúng.
Var a, b:integer;
Begin
Write(‘nhap gia tri cho a va b:’); readln(a,b);
If a Else Write(b,‘ la so lon nhat);
Readln;
End.
2. Viết chương trình tính và in ra màn hình Z biết:
(x, y được nhập từ bàn phím).
Hướng dẫn:
T
F
Z=x*x+y*y, in Z ra
màn hình
Z=sqrt(x+y), in Z ra
màn hình
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Ngọc Tường Vy
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)