Study Lập Trình

Học lập trình dành cho người mới bắt đầu!

ads

Bài 3. Viết chương trình tính tuổi

1. Bài toán:

Yêu cầu: Viết chương trình nhập vào năm sinh của bạn và tính xem bạn bao nhiêu tuổi?
  • Input: Nhập năm sinh của bạn
  • Output: In ra màn hình tuổi của bạn

2. Thuật toán:


Bước 1. Nhập thông tin;
  • Bước 1.1. Nhập năm sinh của bạn;
  • Bước 1.2. Nhập năm hiện tại;
Bước 2. Xử lý: Tuổi = Năm hiện tại - năm sinh;
Bước 3. Xuất dữ liệu ra màn hình.

3. Code Pascal:

Program Tinh_Tuoi;
uses crt;
var 
    namsinh, namhientai,tuoi: Integer;
Begin
  clrscr;  
  write('Nhap nam sinh cua ban: ');
  readln(namsinh);
  namhientai := 2021;
  writeln('Nam hien tai: ',namhientai);
  tuoi := namhientai - namsinh;
  writeln('Ban sinh nam ',namsinh,' => Hien tai ban ',tuoi,' tuoi!');
  readln; 
End.

Code lấy năm của hệ thống

Program Tinh_Tuoi;
uses crt, sysutils;			{Khai báo thêm sysutils}
var year, month, day:Word;	{Khai báo thêm year, month, day:Word;}
    namsinh, namhientai,tuoi: Integer;
Begin
  clrscr;  
  write('Nhap nam sinh cua ban: ');
  readln(namsinh);
  DecodeDate(Date,year,month,day); 	 {Thêm thủ tục DecodeDate}
  namhientai := year;
  writeln('Nam hien tai: ',namhientai);
  tuoi := namhientai - namsinh;
  writeln('Ban sinh nam ',namsinh,' => Hien tai ban ',tuoi,' tuoi!');
  readln; 
End.

Code Lấy giá trị năm hiện tại từ hàm Now

Program TinhTuoi;
uses crt,sysutils;
var namSinh, namHienTai, tuoi: Integer;
begin
clrscr;
writeln('Nhap nam sinh cua ban:');
readln(namSinh);

namHienTai := StrToInt(FormatDateTime('yyyy', Now));
writeln('Nam hien tai: ', namHienTai);

tuoi := namHienTai - namSinh;
writeln('Ban sinh nam ', namSinh, ' => Hien tai ban ', tuoi, ' tuoi!');

readln;
end.

4. Giải thích Code:

Dong code Ý nghĩa
Program Tinh_tuoi; Khai báo tên chương trình là Tinh_tuoi
uses crt, sysutils; Khai báo các hàm thư viện
var year, month, day:Word;
namsinh, namhientai,tuoi: Integer;
Khai báo các biến cần sử dụng trong chương trình
namsinh(Năm sinh), namhientai(Năm hiện tại), tuoi(Tuổi) theo kiểu số nguyên Integer
year, mont, day bắt buộc khai báo word vì hàm DecodeDade được khai báo là word.
clrscr; Dùng để xóa màn hình khi chạy chương trình
write('Nhap nam sinh cua ban: '); In ra màn hình dòng Nhap nam sinh cua ban:
readln(namsinh); Nhập từ bàn phím để gán giá trị cho biến namsinh
DecodeDate(Date,year,month,day); DecodeDate giải mã Năm, Tháng và Ngày được lưu trữ trong Date và trả về chúng trong các biến Năm , Tháng và Ngày .
namhientai := year; Gán giá trị năm trong hàm DecodeDate vào biến namhientai
writeln('Nam hien tai: ',namhientai); In ra màn hình dòng chữ "Nam hien tai:" và in năm hiện tại ra màn hình
tuoi:= namhientai - namsinh; Gán giá trị cho biến tuoi(Tuổi) bằng namhientai(n=Năm hiện tại) trừ cho namsinh(Năm sinh)
writeln('Ban sinh nam ',namsinh,' => Ban ',tuoi,' tuoi'); In ra màn hình dòng chữ.
Ví dụ: Ban sinh nam 1984 => Ban 36 tuoi.
▫ Bạn thấy 1984 là được lấy ra từ biến namsinh mà bạn đã nhập từ trên.
▫ 36 là được lấy ra từ biến tuoi được gán ở trên.
readln; Dừng màn hình khi chạy chương trình cho bạn xem.

5. Kết quả Pascal:

Dùng Ctrl + F9 để chạy chương trình và màn hình kết quả như sau
Kết luận:
◈ Bài này chúng ta chỉ xét ở 2 mức độ lấy năm hiện tại là nhập trực tiếp và sử dụng năm của hệ thống nhé!
◈ Nói thêm về thủ tục DecodeDate
Procedure DecodeDate(
    Date: TDateTime;
    out Year: Word;
    out Month: Word;
    out Day: Word
);
➺ Ta thấy khi ta khai báo trong chương trình các biến year, mont, day bắt buộc khai báo word vì hàm DecodeDade được khai báo là word.

Không có nhận xét nào:

Đăng nhận xét