Bài giảng Tin học 11 - Bài 9: Cấu trúc rẽ nhánh (Trường THPT A Phủ Lý) được biên soạn nhằm củng cố lại một số kiến thức cơ bản đã học; rèn luyện cách sử dụng cấu trúc rẽ nhánh; một số lỗi thường gặp; giải quyết một số vấn đề phát sinh khi chạy chương trình.
Trang 1Trường THPT A Phủ Lý
Chủ đề
cấu trúc rẽ nhánh
Tiết bài tập
Trang 2Củng cố lại một số kiến thức cơ bảnđã học
Rèn luyện cách sử dụng cấu trúc rẽ
nhánh
Củng cố lại một số lỗi thường gặp
Giaỉ quyết một số vấn đề phát sinh khi chạy chương trình
Trang 3Tình huống giả định
| Em là nhân viên thu ngân
trong cửa hàng bán đồ ăn
nhanh.
| Hãy tính và in ra hóa đơn
thanh toán cho khách
hàng
Trang 4BÀI TOÁN
Input
Output
| Lập trình tính và in ra
màn hình tổng số tiền
cần thanh toán của
khách hàng.
| Với số lượng các
món ăn được nhập
vào từ bàn phím.
Số lượng các món:
Ga, Ktc, Coca
Tổng tiền thanh toán:
tongtien
Trang 5Bộ câu hỏi định hướng
Sử dụng những biến nào? Kiểu dữ liệu
gì?
Sử dụng lệnh nào để in dữ liệu ra màn
hình?
Sử dụng lệnh nào để đọc dữ liệu vào từ bàn phím?
Tính tổng tiền bằng công thức nào?
Tongtien = ga*55 + ktc*35 + coca*20;
Trang 6Chương trình
PROGRAM IN_HOA_DON;
USES crt;
VAR ga, ktc,coca : integer;
tongtien: longint;
BEGIN
CLRSCR;
writeln(‘******KINH CHAO QUY KHACH*****’);
write(‘Ga : ‘); readln(ga);
write(‘Khoai tay chien : ‘); readln(ktc); write(‘Coca cola : ‘); readln(coca);
tongtien:= ga*55 + ktc*35 + coca*20;
writeln(‘Tong tien la:’, tongtien, ‘000 dong’);
writeln(‘****CAM ON QUY KHACH!HEN GAP LAI!*****’);
READLN
END
Trang 7Sale 1
N u ế khách hàng mua t ừ 30 ph n gà ầ
tr lên ở thì đ ượ c t ng m t PIZZA ặ ộ
đ c bi t! ặ ệ
Trang 8Chương trình
PROGRAM IN_HOA_DON;
USES crt;
VAR ga, ktc,coca : integer;
tongtien: longint;
BEGIN
CLRSCR;
writeln(‘******KINH CHAO QUY KHACH*****’);
write(‘Ga : ‘); readln(ga);
write(‘Khoai tay chien : ‘); readln(ktc); write(‘Coca cola : ‘); readln(coca);
tongtien:= ga*55 + ktc*35 + coca*20;
writeln(‘Tong tien la:’, tongtien, ‘000 dong’);
if (ga >= 30) then
writeln(‘ SALE 1 – CHUC MUNG QUY KHACH NHAN DUOC MOT PIZZA DAC BIET!!!’);
writeln(‘****CAM ON QUY KHACH!HEN GAP LAI!*****’);
READLN
END
SALE 1
Trang 9SALE 2
N u ế may m n mua hàng v i ắ ớ
s gà = 25 ố ,
s khoai tây chiên = 12 ố
và s cocacola = 17 ố
thì s nh n đ ẽ ậ ượ c m t phi u ộ ế
ăn gà mi n phí trong vòng ễ
m t tháng t i nhà hàng ộ ạ
Trang 10Chương trình
PROGRAM IN_HOA_DON;
USES crt;
VAR ga, ktc,coca : integer;
tongtien: longint;
BEGIN
CLRSCR;
writeln(‘******KINH CHAO QUY KHACH*****’);
……
if (ga >= 30) then
writeln(‘ SALE 1 – CHUC MUNG QUY KHACH NHAN DUOC MOT PIZZA DAC BIET!!!’);
if (ga = 25) and (ktc = 12) and (coca = 17) then
writeln(‘ SALE 2 – QUY KHACH MAY MAN NHAN DUOC MOT PHIEU AN GA MIEN PHI TRONG VONG 1 THANG TAI CUA HANG!!!’);
writeln(‘****CAM ON QUY KHACH!HEN GAP LAI!*****’);
READLN
END
SALE 2
SALE 1
Trang 11Sale 3
Ch ươ
ng tr
ìn h Tri ân khách hàng
| Áp dụng với tất cả các khách
hàng khi thanh toán hóa đơn được nhận ưu đãi giảm giá 30%
| Đặc biệt, nếu khách hàng thanh
toán tổng tiền >= 5 000 000
đồng thì được hưởng ưu đãi
giảm giá lên đến 70%
Trang 12Chương trình
BEGIN
………
if (ga >= 30) then
writeln(‘ SALE 1 – CHUC MUNG QUY KHACH NHAN DUOC MOT PIZZA DAC BIET!!!’);
if (ga = 25) and (ktc = 12) and (coca = 17) then
writeln(‘SALE 2 – QUY KHACH MAY MAN NHAN DUOC MOT PHIEU AN GA MIEN PHI TRONG VONG 1 THANG’);
if (tongtien >= 5000) then
begin
writeln(‘SALE 3 – QUY KHACH DUOC GIAM GIA LEN DEN 70%’); writeln(‘– TONG TIEN THANH TOAN LA:’,tongtien*0.03);
end
Else
begin
writeln(‘ SALE 3 – QUY KHACH DUOC GIAM GIA 30%’);
writeln(‘ – TONG TIEN THANH TOAN LA: ’,tongtien*0.07);
end;
writeln(‘****CAM ON QUY KHACH!HEN GAP LAI!*****’);
READLN
END
SALE 2
SALE 1
SALE 3
Trang 13Một số lỗi thường gặp
N Kết thúc câu lệnh không có dấu chấm phẩy (;)
N Khai báo sai kiểu dữ liệu
N Chưa biết cách định dạng dữ liệu ra màn hình
(đối với số nguyên và số thực)
N Trước else có dấu chấm phẩy
N Thiếu dấu chấm phẩy sau end khi sử dụng câu
lệnh ghép.
Trang 14à
Khoai tây chiên
Coca-cola
… 55 000
35 000
…… 20 000
4
5