Trong 1 năm, các tháng 1,3, 5, 7, 8, 10, 12 có 31 ngày còn các tháng 4, 6, 9, 11 thì có 30 ngày. Riêng tháng 2 có 29 hoặc 28 ngày. Để viết chương trình thông báo số ngày của 1 tháng, 1 năm được nhập vào từ bàn phím ta sử dụng biến d để chỉ là việc tính số ngày của tháng 2 phụ thuộc vào năm đó có phải là năm nhuận hay không
a, Hãy mô tả điều kiện để để dữ liệu năm và tháng được nhập vào bàn phím là hợp lệ
b, Hãy mô tả điều kiện để tháng nhập vào từ bàn phím thuộc tập hợp các số 1, 3, 5, 7, 8, 10, 12 và thuộc tập hợp các số 4, 6, 9, 10, 11
( Giúp mình với ạ, ngày mai mình nộp rồi )
điều kiện của tháng phải là giá trị nguyên lớn hơn 0 và bé hơn 13.
Chương trình:
Program songay;
uses crt;
var n,t:integer;
begin
clrscr;
repeat
write(‘Nhap thang: ‘); readln(t);
if (t<1) or (t>12) then
begin
writeln(‘Thang phai tu 1 den 12’);
readln;
clrscr;
end;
until (t>0) and (t<13);
write(‘Nhap nam: ‘); readln(n);
case t of
1,3,5,7,8,10,12:write(‘Thang ‘,t,’ cua nam ‘,n,’ co 31 ngay’);
4,6,9,11:write(‘Thang ‘,t,’ cua nam ‘,n,’ co 30 ngay’);
2:if n mod 4=0 then write(‘Thang ‘,t,’ cua nam ‘,n,’ co 29 ngay’)
else write(‘Thang ‘,t,’ cua nam ‘,n,’ co 28 ngay’);
end;
readln;
end.
uses crt;
var n,t:integer;
k: boolean;
begin
clrscr;
write(‘Nhap nam :’); readln(n);
if (n mod 100=0) then k:=(n mod 400)=0 else k:=(n mod 4 )=0;
if k=true then
begin
repeat
clrscr;
write(‘Nhap thang: ‘); readln(t);
until (t>0) and (t<13);
case t of
2: write(‘Co 29 ngay’);
1,3,5,7,8,10,12: write(‘Co 31 ngay’);
4,6,9,11: write(‘Co 30 ngay’);
end;
end;
if (not k) then
begin
repeat
clrscr;
write (‘Nhap thang: ‘); readln(t);
until (t>0) and (t<13);
case t of
2: write(‘Co 28 ngay’);
1,3,5,7,8,10,12: write(‘Co 31 ngay’);
4,6,9,11: write(‘Co 30 ngay’);
end;
end;
readln;
end.