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
Phản hồi nội tuyến
Xem tất cả các bình luận
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 »