You are on page 1of 3

ĐỀ TÀI NHÓM 1.

Wedsite

Bài 7: Viết chương trình để người dung nhập vào một số là một tháng nào đó, chương trình sẽ in ra: đây
là tháng mấy (bằng chữ) & số ngày của tháng đó.

Bài giải:
+ Thuật toán:
Bc_1: - Nhập n. (n là biến để nhập vào tháng.)
Bc_2: - Kiểm tra n. (Vd: Bằng câu lệnh If).
- Chuyển sang Bc_3.
Bc_3: - Kết luận.

+ Sơ đồ khối:

Nhập n

n=?

Kết luận

+ Cài đặt:
Program date_of_month;
Var n:integer;
Begin
write(‘Nhap vao thang bat ki: ’);
readln(n);
if (n=1) then writeln(‘Ban vua nhap vao thang 1, thang 1 co 31 ngay.’);
if (n=2) then writeln(‘Ban vua nhap vao thang 2, thang 1 co 28/29 ngay.’);
if (n=3) then writeln(‘Ban vua nhap vao thang 3, thang 1 co 31 ngay.’);
if (n=4) then writeln(‘Ban vua nhap vao thang 4, thang 1 co 30 ngay.’);
if (n=5) then writeln(‘Ban vua nhap vao thang 5, thang 1 co 31 ngay.’);
if (n=6) then writeln(‘Ban vua nhap vao thang 6, thang 1 co 30 ngay.’);
if (n=7) then writeln(‘Ban vua nhap vao thang 7, thang 1 co 31 ngay.’);
if (n=8) then writeln(‘Ban vua nhap vao thang 8, thang 1 co 31 ngay.’);
if (n=9) then writeln(‘Ban vua nhap vao thang 9, thang 1 co 30 ngay.’);
if (n=10) then writeln(‘Ban vua nhap vao thang 10, thang 1 co 31 ngay.’);
if (n=11) then writeln(‘Ban vua nhap vao thang 11, thang 1 co 30 ngay.’);
if (n=12) then writeln(‘Ban vua nhap vao thang 12, thang 1 co 31 ngay.’);
readln;
End.

+ Chú ý:
- Bài toán chưa có yêu cầu ràng buộc khi nhập tháng (n).
Khi ràng buộc, ta có 2 cách:
1. Thông báo cho người dùng giá trị có nghĩa của biến n trong bài toán.

write(‘Nhap vao thang bat ki (n:= 1->12): ’);
….
2. Kiểm tra n khi nhập vào, nếu n không thỏa điều kiện (n>=1) and (n<=12) thì
thông báo lỗi khi nhập, ngược lại thì tiếp tục thực hiện chương trình.

write(‘Nhap vao thang bat ki: ’);
readln(n);
if (n>=1) and (n<=12) then
begin
if (n=1) then writeln(‘Ban vua nhap vao thang 1, thang 1 co 31 ngay.’);
if (n=2) then writeln(‘Ban vua nhap vao thang 2, thang 1 co 28/29 ngay.’);
if (n=3) then writeln(‘Ban vua nhap vao thang 3, thang 1 co 31 ngay.’);
if (n=4) then writeln(‘Ban vua nhap vao thang 4, thang 1 co 30 ngay.’);
if (n=5) then writeln(‘Ban vua nhap vao thang 5, thang 1 co 31 ngay.’);
if (n=6) then writeln(‘Ban vua nhap vao thang 6, thang 1 co 30 ngay.’);
if (n=7) then writeln(‘Ban vua nhap vao thang 7, thang 1 co 31 ngay.’);
if (n=8) then writeln(‘Ban vua nhap vao thang 8, thang 1 co 31 ngay.’);
if (n=9) then writeln(‘Ban vua nhap vao thang 9, thang 1 co 30 ngay.’);
if (n=10) then writeln(‘Ban vua nhap vao thang 10, thang 1 co 31ngay.’);
if (n=11) then writeln(‘Ban vua nhap vao thang 11, thang 1 co 30ngay.’);
if (n=12) then writeln(‘Ban vua nhap vao thang 12, thang 1 co 31ngay.’);
end;
else writeln(‘Thang ban vua nhap vo khong dung !! Hay nhap lai’);

- Có thể dung dạng đủ của cấu trúc if-then.



if (n=1) then writeln(‘Ban vua nhap vao thang 1, thang 1 co 31 ngay.’)
else if (n=2) then writeln(‘Ban vua nhap vao thang 2, thang 1 co 28/29 ngay.’)
else if (n=3) then writeln(‘Ban vua nhap vao thang 3, thang 1 co 31 ngay.’)
else if (n=4) then writeln(‘Ban vua nhap vao thang 4, thang 1 co 30 ngay.’)
else if (n=5) then writeln(‘Ban vua nhap vao thang 5, thang 1 co 31 ngay.’)
else if (n=6) then writeln(‘Ban vua nhap vao thang 6, thang 1 co 30 ngay.’)
else if (n=7) then writeln(‘Ban vua nhap vao thang 7, thang 1 co 31 ngay.’)
else if (n=8) then writeln(‘Ban vua nhap vao thang 8, thang 1 co 31 ngay.’)
else if (n=9) then writeln(‘Ban vua nhap vao thang 9, thang 1 co 30 ngay.’)
else if (n=10) then writeln(‘Ban vua nhap vao thang 10, thang 1 co 31 ngay.’)
else if (n=11) then writeln(‘Ban vua nhap vao thang 11, thang 1 co 30 ngay.’)
else if (n=12) then writeln(‘Ban vua nhap vao thang 12, thang 1 co 31 ngay.’);
….
- Có thể dùng vòng While (dk) do :
Để giải bào toán này.
- Có thể dung vòng For…:

You might also like