Thứ Sáu, 31 tháng 8, 2018

Bài tập Pascal 4


Bài1/ Viết chương trình nhập vào tọa độ hàng x cột y của bàn cờ vua. Thông báo ra màn hình ô cờ ở tọa độ x, y là màu gì. Biết rằng ô có tọa độ 1, 1 là màu trắng (ô góc trên cùng phía trái)
Ví dụ:
x=1, y=3 èmàu trắng
x=7, y=8èmàu đen
x=6, y=8èmàu trắng

Bài 2: Viết chương trình nhập 2 số nguyên a và b từ bàn phím. in ra màn hình số có giá trị lớn nhất trong hai số.
ví dụ:
a=5
b=8
số có giá trị lớn nhất là 8
Bài 3: Viết chương trình nhập 2 số nguyên a và b từ bàn phím. in ra màn hình kết quả so sánh hai số đó.
ví dụ:
a=5

b=8
a nhỏ hơn b
Bài 4: Viết chương trình nhập 2 số nguyên a và b từ bàn phím. in ra màn hình số theo thứ tự tăng.
Bài 5: Một trong những điều kiện để được kết nạp Đoàn là từ 15 tuổi
 trở lên. Viết chương trình nhập vào năm sinh của một học sinh, thông báo học sinh này đã đủ tuổi để kết nạp Đoàn chưa.
Bài 6: Viết chương trình nhập vào số nguyên a là năm dương lịch. Thông báo ra màn hình năm đó có là năm nhuận hay không
Trường hợp đơn giản: Năm nhuận là năm chia hết cho 4
Trường hợp khó hơn: Năm nhuận là năm chia hết cho 4. Nhưng những năm chẵn trăm thì phải chia hết cho 400
(các em làm trường hợp đơn giản nhé)
ví dụ: 
năm=2000 thì là năm nhuận, năm=1999 không nhuận
Trường hợp khó
năm=2000 thì là năm nhuận, năm=1700 không nhuận
năm=20  là năm nhuận, năm 1999 không nhuânk
*Nếu muốn làm được trường hợp khó thì cần nghiên cứu phép toán AND+OR trong Pascal
+Phép AND (và) hoạt động như Excel
 cú pháp
         (btđk1)and(btđk2)and(btddk3)....and(btđkn)
ví dụ:  phép 8<=a<=20 trong Toán thì được biểu diễn bằng Pascal như sau
  (a>=8)and(a<=20)


35 nhận xét:

  1. uses crt;
    var a,b:real;
    begin
    clrscr;
    write('nhap a=');
    readln(a);
    write('nhap b=');
    readln(b);
    if a>b then writeln('so lon nhat=',a)
    else writeln('so lon nhat=',b);
    readln
    end.
    bài 2 nha

    Trả lờiXóa
  2. uses crt;
    var a,b:real;
    begin
    clrscr;
    write('nhap a=');
    readln(a);
    write('nhap b=');
    readln(b);
    if a>b then writeln('a lon hon b')
    else writeln('a nho hon b');
    readln
    end.
    bài 3

    Trả lờiXóa
  3. uses crt;
    var a,b:real;
    begin
    clrscr;
    write('nhap a=');
    readln(a);
    write('nhap b=');
    readln(b);
    if a>b then writeln(b,',',a)
    else writeln(a,',',b);
    readln
    end.
    bài 4

    Trả lờiXóa
  4. program b1;
    uses crt;
    var
    x,y:integer;
    begin
    write('nhap x=');
    readln(x);
    write('nhap y=');
    readln(y);
    if((x+y) mod 2=0) then
    write('mau trang');
    if((x+y) mod 2=1) then
    write('mau den');
    readln;
    end.

    Trả lờiXóa
  5. program b2;
    uses crt;
    var
    a,b:integer;
    begin
    write('nhap a=');
    readln(a);
    write('nhap b=');
    readln(b);
    if a>b then
    write('so lon nhat trong 2 so la ',a);
    if a<b then
    write('so lon nhat trong 2 so la ',b);
    readln;
    end.

    Trả lờiXóa
  6. program b3;
    uses crt;
    var
    a,b:integer;
    begin
    write('nhap a=');
    readln(a);
    write('nhap b=');
    readln(b);
    if a>b then
    write('ket qua so sanh ',a,'>',b);
    if a<b then
    write('ket qua so sanh ',a,'<',b);
    if a=b then
    write('ket qua so sanh ',a,'=',b);
    readln;
    end.

    Trả lờiXóa
  7. program b4;
    uses crt;
    var
    a,b:integer;
    begin
    write('nhap a=');
    readln(a);
    write('nhap b=');
    readln(b);
    if a>b then
    write(b,',',a);
    if a<b then
    write(a,',',b);
    readln;
    end.

    Trả lờiXóa
  8. program b5;
    uses crt;
    var
    a:integer;
    begin
    write('nhap nam sinh cua ban= ');
    readln(a);
    if 2019-a>= then
    write('ban da du tuoi ket nap doan');
    if 2019-a<a then
    write('ban chua du tuoi ket nap doan');
    readln;
    end.

    Trả lờiXóa
    Trả lời
    1. Thầy cho em sửa lại
      program b5;
      uses crt;
      var
      a:integer;
      begin
      write('nhap nam sinh cua ban= ');
      readln(a);
      if 2019-a>=15 then
      write('ban da du tuoi ket nap doan');
      if 2019-a<15 then
      write('ban chua du tuoi ket nap doan');
      readln;
      end.

      Xóa
  9. Bạn Huyền rất xuất sắc (đặc biệt là làm được bài 1). Bài 5 em cần so sánh 2019-a với 15 nhé (chắc viết thiếu thôi)
    Bạn Phát bài 3 so sánh 2 số a và b chưa làm trường hợp hai số bằng nhau nhé, còn bài 5 Phát cần đọc kỹ đề nhé

    Trả lờiXóa
  10. uses crt;
    var a,b:real;
    begin
    clrscr;
    write('nhap x=');
    readln(x);
    write('nhap y=');
    readln(y);
    if (x+y) mod 2=0 then writeln('day la o mau trang')
    else writeln('day la o mau den');
    readln
    end.

    Trả lờiXóa
  11. uses crt;
    var a,b:real;
    begin
    clrscr;
    write('nhap nam sinh cua ban=');
    readln(a);
    if 2019-a>=15 then writeln('ban du tuoi ket nap vo doan')
    else writeln('ban chua du tuoi ket nap vo doan');
    readln
    end.

    Trả lờiXóa
  12. uses crt;
    var a:integer;
    begin
    clrscr;
    writeln('nhap nam ');
    readln(a);
    if a mod 4=0 then writeln('day la nam nhuan')
    else writeln('day la nam khong nhuan');
    readln
    end.
    trường hợp đơn giản

    Trả lờiXóa
  13. uses crt;
    var a:integer;
    begin
    clrscr;
    write('nhap nam ');
    readln(a);
    if (a mod 4=0)or(a mod 100=0)and(a mod 400=0) then writeln('day la nam nhuan')
    else writeln('day la nam khong nhuan')
    readln
    end.
    trường hợp khó

    Trả lờiXóa
  14. Bài năm nhuận của Phát trường hợp khó chưa đúng nhé
    ví dụ: năm =1700 không phải năm nhuận

    Trả lờiXóa
  15. sửa bài năm nhuận trường hợp khó
    uses crt;
    var a:integer;
    begin
    clrscr;
    write('nhap nam ');
    readln(a);
    if (a mod 4=0)and(a mod 100<>0)or(a mod 4=0)and(a mod 100=0)and(a mod 400=0) then writeln('day la nam nhuan')
    else writeln('day la nam khong nhuan')
    readln
    end.

    Trả lờiXóa
  16. Bạn Phát đã làm đúng. Nhưng nếu Phát tinh ý thì (a mod 4=0)and(a mod 100=0)and(a mod 400=0) sẽ
    rút gọn đơn giản thành (a mod 400=0) là đủ (Suy nghĩ điều này nhé, cần tư duy logic cao một tý)

    Trả lờiXóa
  17. duong
    bai 1
    x,y:integer;
    begin
    write('nhap x=');readln(x);
    write('nhap y=');readln(y);
    if ((x+y) mod 2=1) then write('o den');
    if ((x+y) mod 2=0) then write('o trang');
    readln;
    end.

    Trả lờiXóa
  18. duong 8/1
    bai
    var
    a,b:integer;
    begin
    write('nhap a=');readln(a);
    write('nhap b=');readln(b);
    if a>b then write('so lon nhat la a') else write('so lon nhat la b');
    readln;
    end.

    Trả lờiXóa
  19. chúc mừng bạn Dương đã làm chính xác 2 bài

    Trả lờiXóa
  20. var
    x,y:integer;
    begin
    write('nhap x='); readln(x);
    write('nhap y='); readln(y);
    if ((x+y) mod 2=0) then
    write('o trang');
    if((x+y) mod 2=1) then
    write('o den');
    readln;
    end.

    Trả lờiXóa
  21. bai2
    var
    a,b:integer;
    begin
    write('nhap a:'); readln(a);
    write('nhap b:'); readln(b);
    if a>b then write('so co gia tri lon nhat la:',a)
    else
    write('so co gia tri lon nhat la:',b);
    readln;
    end.

    Trả lờiXóa
  22. Nhận xét này đã bị tác giả xóa.

    Trả lờiXóa
  23. bai3
    var
    a,b:integer;
    begin
    write('nhap a='); readln(a);
    write('nhap b='); readln(b);
    if a<b then write('ket qua so sanh la:',a,'<',b')
    else
    if b<a then write('ket qua so sanh la:',b,'<',a)
    else
    write('ket qua so sanh la:',a,'=',b');
    end.

    Trả lờiXóa
  24. Nhận xét này đã bị tác giả xóa.

    Trả lờiXóa
  25. bai4
    var
    a,b:integer;
    begin
    write('nhap a='); readln(a);
    write('nhap b='); readln(b);
    if a<b then write('theo thu tu tang dan la:',a,';',b)
    else
    if b<a then write('theo thu tu tang dan la:',b,';',a);
    readln;
    end.

    Trả lờiXóa
  26. bai5
    var
    a:integer;
    begin
    write('nhap nam sinh cua ban:'); readln(a);
    if (2020-a)>=15 then write('ban du tuoi de ket nap doan')
    else
    write('ban chua du tuoi de ket nap doan');
    end.

    Trả lờiXóa
  27. bai6 (th1)
    var
    a:integer;
    begin
    write('nhap nam:'); readln(a);
    if a mod 4=0 then write('nam nhuan')
    else
    write('nam khong nhuan');
    end.

    Trả lờiXóa
  28. bai6 (th2)
    var
    a:integer;
    begin
    write('nhap nam:'); readln(a);
    if (a mod 4=0) and (a mod 100<>0) or (a mod 400=0) then write('nam nhuan')
    else
    write('nam khong nhuan');
    readln;
    end.

    Trả lờiXóa
    Trả lời
    1. Em nên đặt thêm ngoặc như sau
      if ((a mod 4=0) and (a mod 100<>0)) or (a mod 400=0) then write('nam nhuan')
      else
      write('nam khong nhuan');

      Xóa
  29. nguyendinhduong2007nqlúc 22:45 6 tháng 10, 2020

    bai 6
    var
    a: integer;
    begin
    write('nhap nam: '); readln(a);
    TH de: if a mod 4 =0 then writeln(' day la nam nhuan') else
    writeln(' day la nam khong nhan');
    th kho: if (a mod 4=0) and (a mod 100<>0) or (a mod 100=0) and (a mod 400=0)
    then writeln('day la nam nhuan') else writeln('day la nam khong nhuan');
    readln;
    end.

    Trả lờiXóa
    Trả lời
    1. Dương nên rút ngắn điều kiện lại một chút nữa:
      if ((a mod 4=0) and (a mod 100<>0)) or (a mod 400=0) then

      Xóa
  30. Nhận xét này đã bị quản trị viên blog xóa.

    Trả lờiXóa