Đề bài : Nhập vào thời gian 1 công việc nào đó là x giây. Hãy chuyển đổi và viết ra màn hình số thời gian trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây
Bài giải :
Mã:
Program DOI_GIO_PHUT_GIAY;
Uses crt;
Var gio, phut,giay, x: longint;
BEGIN
Clrscr;
Writeln('DOI SANG GIO PHUT GIAY');
Writeln('--------------------------------------');
Write('Nhap vao so giay: ');
readln(x);
gio:=x div 3600; x:=x mod 3600; phut:=x div 60; x:=x mod 60;
Writeln('Ket qua = ', gio,'gio: ', phut, 'phut: ', x, 'giay');
Readln;
END.
Hướng dẫn chi tiết :
Chúng ta sẽ khai báo thời gian nhập vào là biến x và các giá trị khác lần lượt là gio, phut, giay với giá trị là longint . longint cho biết đây là biến kiểu số nguyên, phạm vi giá trị từ -2147483648 đến 2147483647.
Mã:
Program Doi_gio_phut_giay; { Tên chương trình }
Uses crt;
Var gio, phut, giay, x: longint; {khai báo các biến }
Để chuyển từ giây sang các đơn vị như giờ, phút thì rất đơn giản. Chỉ cần lấy giá trị người dung nhập vào, tức số giây lần lượt chia cho 3600 và 60 thì sẽ có kết quả in ra bằng hàm writeln(). Trong bài này ta sẽ áp dụng phép chia lấy phần dư và chia lấy phần nguyên để tính kết quả. Ví dụ : x = 61 giây thì sẽ in ra màn hình : 0 giờ 1 phút 1 giây.
Các bạn lưu ý là nên viết hoa hai chữ BEGIN và END để dễ phân biệt nhé ! Ta có code :
Mã:
BEGIN
Clrscr; {xóa cache}
Writeln('DOI SANG GIO PHUT GIAY'); {In ra màn hình thông báo }
Writeln('--------------------------------------');
Write('Nhap vao so giay: '); {Yêu cầu nhập số giây cần chuyển đổi }
readln(x);
gio:=x div 3600; x:=x mod 3600; phut:=x div 60; x:=x mod 60; { thực hiện phép chuyển đổi}
Writeln('Ket qua = ', gio,'gio: ', phut, 'phut: ', x, 'giay'); { cho ra kết quả}
Readln;
END.
Chúc các bạn học tốt !