Củng cố lại một số kiến thức cơ bảnđã họcRè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... Hãy tính
Trang 1Tr ư ờ n g T H PT A P h ủ 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 7Nế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ố 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.
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
ình
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
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.
Trang 14Gà
Khoai tây chiên
Coca-cola
… 55 000
35 000
…… 20 000
4
5