Bài tập Pascal – Nhập ngày tháng năm sau đó tìm ngày tháng năm sau N ngày nhập vào

Bài tập Pascal - Nhập ngày tháng năm sau đó tìm ngày tháng năm sau N ngày nhập vào

Đề bài

Nhập ngày tháng năm. Hãy cho biết ngày tháng năm sau đó N ngày.

Phân tích

– Viết một hàm (Ví dụ: Songay) để tìm số ngày của tháng trong năm.

– Nhập vào ngày tháng năm hiện tại và N.

– Cuối cùng, bạn sẽ có được ngày tháng năm sau N ngày 😀

Code mẫu

var d,m,y,n:integer;
Function      Songay(thang,nam: Integer):Integer;
Var             sn:Integer;
Begin
  Case thang of
    1,3,5,7,8,10,12 : sn:= 31;
    4,9,11             : sn:= 30;
    2:   If  (nam MOD 4 = 0) Then
    sn:= 29
    Else
    sn:= 28;
  End;
  Songay:= sn;
End;
BEGIN
  Writeln('Nhap ngay thang nam');Readln(d,m,y);
  Writeln('Nhap N');Readln(N);
  d:=d+N;
  While d > Songay(m,y) Do
  Begin
    d:= d - Songay(m,y);
    m:= m+1;
    IF m > 12 Then
    Begin
      m:= 1;
      y:= y + 1;
    End;
  End;
  Writeln('Ket qua ',d,'/',m,'/',y);
  Readln;
END.

4.1 11 votes
Đánh giá bài viết
Nhận thông báo
Thông báo khi có
guest

2 Bình luận
cũ nhất
mới nhất vote nhiều nhất
Minh

có cách nào mà không dùng fuctions ko ạ???

TriDN

program day_of_the_week; uses crt; var ngay,thang,nam,thu,KQthu,i,i2,i3: Integer; chu_thu : string;       NKN: array[1..12] of integer = (31,28,31,30,31,30,31,31,30,31,30,31); NN: array[1..12] of integer = (31,29,31,30,31,30,31,31,30,31,30,31); begin clrscr; writeln(‘Nhap vao ngay: ‘); readln(ngay); writeln(‘Nhap vao thang: ‘); readln(thang); writeln(‘Nhap vao nam: ‘); readln(nam); thu := 0; for i := 1 to nam do begin  if (i mod 4 = 0) and (i mod 100 <> 0) then begin  for i2 := 1 to 12 do begin for i3 := 1 to NN[i2] do begin thu := thu + 1; if (i3 = ngay) and (i2 = thang) and (i = nam) then KQthu :=… Xem thêm »