Thứ Hai, 17 tháng 9, 2018

Bài tập Pascal 7

2/ Nhập từ bàn phím 3 số nguyên dương a, b, c. Hỏi 3 số đó có thỏa mãn là độ dài 3 cạnh của một tam giác hay không? Nếu thỏa đưa ra thông báo đó là tam giác gì (vuông, cân, đều, thường).
ví dụ 1:
a=3
b=4
c=5
Thỏa mã là độ dài 3 cạnh tam giác vuông
ví dụ 2:
a=9
b=9
c=9
Thỏa mã là độ dài 3 cạnh tam giác đều
ví dụ 3:
a=9
b=5
c=20
Không thỏa mã là độ dài 3 cạnh tam giác

3/ Nhập vào hai số nguyên dương là tháng và năm dương lịch. thông báo tháng của năm vừa nhập có bao nhiêu ngày
ví dụ 1:
tháng=3
năm=2000 
thông báo: tháng 3 năm 2000 có 31 ngày
ví dụ 2:
tháng=2
năm=2000 
thông báo: tháng 2 năm 2000 có 29 ngày
ví dụ 3:
tháng=2
năm=2001
thông báo: tháng 2 năm 2001 có 28 ngày

16 nhận xét:

  1. Bài 2
    var
    a,b,c:integer;
    begin
    write('nhap a=');readln(a);
    write('nhap b=');readln(b);
    write('nhap c=');readln(c);
    if (a>=b+c) or (b>=a+c) or (c>=a+b) then
    writeln('khong la ba canh cua tam giac');
    else
    if(a=b) and (b=c) then
    writeln('tam giac deu');
    else
    if (a=b) or (b=c) or (c=a) then
    writeln('tam giac can');
    else
    if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then
    writeln('tam giac vuong')
    else
    if (a<b+c) or (b<a+c) or (c<b+a) then
    writeln('tam giac thuong');
    readln;
    end.

    Trả lờiXóa
    Trả lời
    1. Bạn Thắng làm bài tốt. Tuy nhiên với trường hợp tam giác thường thì ko cần điều kiện if nữa. chỉ cần else writeln('tam giac thuong'); vì mình đã loại hết các trường hợp không là tam giác, đều, cân, vuông ở trên rồi và nhớ là trước else không có ;

      Xóa
  2. Bài 3
    var
    n,t:integer;
    begin
    write('nhap thang=');readln(t);
    write('nhap nam=');readln(n);
    if (t=1) or (t=3) or (t=5) or (t=7) or (t=8) or (t=10) or (t=12) then
    writeln('31 ngay');
    if (t=4) or (t=6) or (t=9) or (t=11) then
    writeln('30 ngay');
    if t=2 then
    if (n mod 400=0) or ((n mod 4=0) and (n mod 100<>0)) then
    writeln('29 ngay')
    else
    writeln('28 ngay');
    readln;
    end.

    Trả lờiXóa
  3. uses crt;
    var a,n,b,c,d,f:integer;
    begin
    clrscr;
    writeln('nhap so tien=');
    readln(n);
    f:=n mod 5000;
    a:=n div 5000;
    n:=n-a*5000;
    if n>499 then
    begin
    f:=n mod 2000;
    b:=n div 2000;
    n:=n-b*2000;
    end;
    if n>499 then
    begin
    f:=n mod 1000;
    c:=n mod 1000;
    n:=n-c*1000;
    end;
    if n>499 then
    begin
    f:=n mod 500;
    d:=n div 500;
    n:=n-d*500;
    end;
    writeln('doi ra duoc',a,'to 5000',b,'to 2000',c,'to 1000',d,'to 500 va con du',f);
    readln
    end.

    Trả lờiXóa
  4. Var a,b,c:integer ;
    Begin
    Writeln(‘nhap so a = ’);
    Readln(a);
    Writeln(‘nhap so b = ’);
    Readln(b);
    Writeln(‘nhap so c = ’);
    Readln(c);
    If (a+b>c) or (a+c>b) or (c+b>a) then
    Writeln(‘day la hinh tam giac’);
    If (a+b<=c) or (a+c<=b) or (c+b<=a) then
    Writeln(‘day ko phai la 1 hinh tam gia’)
    Else
    If (a=b) or (b=c) or (a=c) then
    Writeln(‘day la hinh tam giac can)
    Else
    If (a=b) and (b=c) and (a=c) then
    Writeln(‘day la hinh tam giac can)
    Else
    If (a*a=b*b+c*c) or (c*c=b*b+a*a) or (b*b=a*a+c*c) then
    Writeln(‘day la tam giac can);
    Readln;
    End.

    Trả lờiXóa
    Trả lời
    1. bài này Khoa còn làm nhầm giữa các loại tam giác nhé. Em tham khảo bài làm của bạn Thắng ở trên nhé

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

    var
    t,n:integer;
    begin
    if (t=1) or (t=3) or (t=5) or (t=7) or (t=8) or (t=10) or (t=12) then
    writeln('31 ngay');
    if (t=4) or(t=6) or(t=9) or (t=11) then writeln('30 ngay');
    if t=2 then
    if (n mod 4=0) and (n mod 100<>0) or (n mod 400=0) then
    writeln('29 ngay') else writeln('28 ngay');
    readln;
    end.

    Trả lờiXóa
  6. nguyendinhduong2007nqlúc 21:39 8 tháng 10, 2020

    var
    a,b,c:integer;
    begin
    write('nhap a= ');readln(a);
    write('nhap b= ');readln(b);
    write('nhap c= ');readln(c);
    if (a>=b+c) or (b>=a+c) or (c>=a+b) then
    writeln('day ko phai la ba canh cua tam giac') else
    if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then
    writeln('day la tam giac can') else
    if (a=b) and (b=c) and (a=c) then writeln('day la tam giac deu') else
    if (a=b) or (a=c) or (b=c) then writeln('day la tam giac can') else
    writeln('day la tam giac thuong');
    readln;
    end.

    Trả lờiXóa
  7. nguyendinhduong2007nqlúc 21:41 8 tháng 10, 2020

    e sua lai cai if thu 2 la " tam giac can "

    Trả lờiXóa
  8. nguyendinhduong2007nqlúc 21:42 8 tháng 10, 2020

    tam giac vuong ..... lộn hòai

    Trả lờiXóa
    Trả lời
    1. Chính Xác, tuy nhiên trường hợp tam giác đều rút ngắn điều kiện lại
      chỉ cần if (a=b) and (b=c) then...........
      áp dụng tính chất bắc cầu

      Xóa
  9. nguyendinhduong2007nqlúc 20:37 9 tháng 10, 2020

    ok thầy

    Trả lờiXóa
  10. bài 2
    var
    a,b,c:integer;
    begin
    write('nhap a=');readln(a);
    write('nhap b=');readln(b);
    write('nhap c=');readln(c);
    if (a>=b+c) or (b>=a+c) or (c>=a+b) then
    writeln('khong la ba canh cua tam giac')
    else
    if(a=b) and (b=c) then
    writeln('tam giac deu')
    else
    if (a=b) or (b=c) or (c=a) then
    writeln('tam giac can')
    else
    if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then
    writeln('tam giac vuong')
    else writeln('tam giac thuong');
    readln;
    end.

    Trả lờiXóa
  11. bài 3
    var
    x,y:integer;
    begin
    write('nhap thang=');readln(x);
    write('nhap nam=');readln(y);
    if (x=1) or (x=3) or (x=5) or (x=7) or (x=8) or (x=10) or (x=12) then
    writeln('31 ngay');
    if (x=4) or (x=6) or (x=9) or (x=11) then
    writeln('30 ngay');
    if x=2 then
    if (y mod 400=0) or ((y mod 4=0) and (y mod 100<>0)) then
    writeln('29 ngay')
    else
    writeln('28 ngay');
    readln;
    end.

    Trả lờiXóa
    Trả lời
    1. Chúc mừng bạn Thùy Dương đã làm chính xác nhé. Mong em tiếp tục phát huy nhé

      Xóa