Trường THPT A Phủ Lý
Chuyên đề
Luyện tập cấu trúc
rẽ nhánh
Giáo viên: Nguyễn Thị Trang
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
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
Tì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.
BÀ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
Bộ 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;
Chươ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.
Sale 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!
Chươ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
SALE 2
Nếu may mắn mua hàng với
số gà = 25,
số khoai tây chiên = 12
và số coca-cola = 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.
Chươ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
Sale 3
Chương trình
Chươ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
Một số lỗi thường gặp
Kết thúc câu lệnh không có dấu chấm phẩy (;)
Khai báo sai kiểu dữ liệu
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)
Trước else có dấu chấm phẩy
Thiếu dấu chấm phẩy sau end khi sử dụng câu lệnh ghép.

Khoai tây chiên
Coca-cola
…..............55 000
....35 000
……....20 000
4
5
nguon VI OLET