ĐỀ TÀI NHÓM 1. Wedsite Bài 7: Viết chương trình để người dung nhập vào một số là một tháng nào đó, chương trình sẽ in ra: đây là tháng mấy (bằng chữ) & số ngày của tháng đó. Bài giải: + Thuật toán: Bc_1: - Nhập n. (n là biến để nhập vào tháng.) Bc_2: - Kiểm tra n. (Vd: Bằng câu lệnh If). - Chuyển sang Bc_3. Bc_3: - Kết luận. + Sơ đồ khối: Nhập n
n=?
Kết luận
+ Cài đặt: Program date_of_month; Var n:integer; Begin write(‘Nhap vao thang bat ki: ’); readln(n); if (n=1) then writeln(‘Ban vua nhap vao thang 1, thang 1 co 31 ngay.’); if (n=2) then writeln(‘Ban vua nhap vao thang 2, thang 1 co 28/29 ngay.’); if (n=3) then writeln(‘Ban vua nhap vao thang 3, thang 1 co 31 ngay.’); if (n=4) then writeln(‘Ban vua nhap vao thang 4, thang 1 co 30 ngay.’); if (n=5) then writeln(‘Ban vua nhap vao thang 5, thang 1 co 31 ngay.’); if (n=6) then writeln(‘Ban vua nhap vao thang 6, thang 1 co 30 ngay.’); if (n=7) then writeln(‘Ban vua nhap vao thang 7, thang 1 co 31 ngay.’); if (n=8) then writeln(‘Ban vua nhap vao thang 8, thang 1 co 31 ngay.’); if (n=9) then writeln(‘Ban vua nhap vao thang 9, thang 1 co 30 ngay.’);
if (n=10) then writeln(‘Ban vua nhap vao thang 10, thang 1 co 31 ngay.’); if (n=11) then writeln(‘Ban vua nhap vao thang 11, thang 1 co 30 ngay.’); if (n=12) then writeln(‘Ban vua nhap vao thang 12, thang 1 co 31 ngay.’); readln; End.
+ Chú ý: - Bài toán chưa có yêu cầu ràng buộc khi nhập tháng (n). Khi ràng buộc, ta có 2 cách: 1. Thông báo cho người dùng giá trị có nghĩa của biến n trong bài toán. … write(‘Nhap vao thang bat ki (n:= 1->12): ’); ….
2. Kiểm tra n khi nhập vào, nếu n không thỏa điều kiện (n>=1) and (n<=12) thì thông báo lỗi khi nhập, ngược lại thì tiếp tục thực hiện chương trình. … write(‘Nhap vao thang bat ki: ’); readln(n); if (n>=1) and (n<=12) then begin if (n=1) then writeln(‘Ban vua nhap vao thang 1, thang 1 co 31 ngay.’); if (n=2) then writeln(‘Ban vua nhap vao thang 2, thang 1 co 28/29 ngay.’); if (n=3) then writeln(‘Ban vua nhap vao thang 3, thang 1 co 31 ngay.’); if (n=4) then writeln(‘Ban vua nhap vao thang 4, thang 1 co 30 ngay.’); if (n=5) then writeln(‘Ban vua nhap vao thang 5, thang 1 co 31 ngay.’); if (n=6) then writeln(‘Ban vua nhap vao thang 6, thang 1 co 30 ngay.’); if (n=7) then writeln(‘Ban vua nhap vao thang 7, thang 1 co 31 ngay.’); if (n=8) then writeln(‘Ban vua nhap vao thang 8, thang 1 co 31 ngay.’); if (n=9) then writeln(‘Ban vua nhap vao thang 9, thang 1 co 30 ngay.’); if (n=10) then writeln(‘Ban vua nhap vao thang 10, thang 1 co 31ngay.’); if (n=11) then writeln(‘Ban vua nhap vao thang 11, thang 1 co 30ngay.’); if (n=12) then writeln(‘Ban vua nhap vao thang 12, thang 1 co 31ngay.’); end; else writeln(‘Thang ban vua nhap vo khong dung !! Hay nhap lai’);
- Có thể dung dạng đủ của cấu trúc if-then. … if (n=1) then writeln(‘Ban vua nhap vao thang 1, thang 1 co 31 ngay.’) else if (n=2) then writeln(‘Ban vua nhap vao thang 2, thang 1 co 28/29 ngay.’) else if (n=3) then writeln(‘Ban vua nhap vao thang 3, thang 1 co 31 ngay.’) else if (n=4) then writeln(‘Ban vua nhap vao thang 4, thang 1 co 30 ngay.’) else if (n=5) then writeln(‘Ban vua nhap vao thang 5, thang 1 co 31 ngay.’) else if (n=6) then writeln(‘Ban vua nhap vao thang 6, thang 1 co 30 ngay.’) else if (n=7) then writeln(‘Ban vua nhap vao thang 7, thang 1 co 31 ngay.’) else if (n=8) then writeln(‘Ban vua nhap vao thang 8, thang 1 co 31 ngay.’) else if (n=9) then writeln(‘Ban vua nhap vao thang 9, thang 1 co 30 ngay.’) else if (n=10) then writeln(‘Ban vua nhap vao thang 10, thang 1 co 31 ngay.’) else if (n=11) then writeln(‘Ban vua nhap vao thang 11, thang 1 co 30 ngay.’)
else if (n=12) then writeln(‘Ban vua nhap vao thang 12, thang 1 co 31 ngay.’); ….
- Có thể dùng vòng While (dk) do : - Có thể dung vòng For…:
Để giải bào toán này.