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ể
Để giải bào toán này.
dùng vòng While (dk) do : - Có thể
dung vòng For…:

You might also like