Chia Sẻ Một số bài toán cơ bản trong Pascal (Phần 1)

0x2f0713

New Member
28/1/17
30
Ratings
31
0
Việt Nam
www.namhaiit.com
#1

Hôm nay được ngày cuối tuần mình sẽ chia sẻ một số bài toán cơ bản trong Pascal. Bài khá là cơ bản nên bạn đọc code cũng dễ hiểu thôi.
Bài 1: Nhập vào 2 cạnh của một hình chữ nhật. In ra màn hình diện tích và chu vi của nó.
Mã:
program DientichChuviHinhTron;
var
 dai,rong,chuvi,S: Real;
 (* Dùng biến có kiểu Real để chấp nhận dữ liệu đầu vào là số thập phân *)
begin
 write('Nhap vao chieu dai: ');
 readln(dai);
 write('Nhap vao chieu rong: ');
 readln(rong);
 chuvi := (dai + rong)*2;
 S := dai*rong;
 write('Chu vi: ',chuvi,'. Dien tich: ',S);
end.
Bài 2: Nhập vào bán kính của hình tròn. In ra màn hình diện tích và chu vi của nó.
Mã:
program Dientich;
var
 bankinh,chuvi,S: Real;
 (* Dùng biến có kiểu Real để chấp nhận dữ liệu đầu vào là số thập phân *)
begin
 write('Nhap vao ban kinh: ');
 readln(bankinh);
 chuvi := bankinh * bankinh * 3.14;
 S := bankinh * 2 *3.14;
 write('Chu vi: ',chuvi,'. Dien tich: ',S);
end.
Bài 3 : Tính tam giác: Nụâp vào ba số a,b,c bất kì. Kiểm tra xem nó có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình ' Khong la ba canh cua mot tam giac'. Ngược lại, thì in diện tích, chu vi của tam giác ra màn hình.
Mã:
program TinhTamGiac;
var
 a,b,c:byte;
 chuvi,nuachuvi,S: Real;
 (* Dùng biến có kiểu Real để dễ làm việc với kết quả là số thập phân *)
begin
 write('Nhap a: ');
 readln(a);
 write('Nhap b: ');
 readln(b);
 write('Nhap c: ');
 readln(c);
 if ((a + b>c) and (a+c>b) and (c+b>a)) then
 begin
  chuvi := a+b+c;
  nuachuvi := chuvi/2;
  nuachuvi := nuachuvi*(nuachuvi-a)*(nuachuvi-b)*(nuachuvi-c);
  (* Áp dụng công thức tính nửa chu vi mà không cần biết đường cao *)
  (* https://www.wikihow.vn/T%C3%ADnh-Di%E1%BB%87n-t%C3%ADch-H%C3%ACnh-Tam-gi%C3%A1c *)
  S := Sqrt(nuachuvi);
  write('Chu vi: ',chuvi,'. Dien tich: ',S);
 end
 else write('Khong la ba  canh cua mot tam  giac');
end.
Bài 4: Viết chương trình giải phương trình bậc 1 (ax + b=0)
Mã:
program GiaiPhuongTrinhBac1;
var
a,b:byte;
x: Real;
(* (* Dùng biến có kiểu Real để dễ làm việc với kết quả là số thập phân *)*)
begin
 write('Nhap a: ');
 readln(a);
 write('Nhap b: ');
 readln(b);
 if ( (a=0) and (b <> 0)) then
  begin
   write('Phuong trinh vo nghiem');
  end
  else if ((a=0) and (b=0)) then
   begin
    write('Phuong trinh co vo so nghiem');
   end
   else if (a <> 0) then
    begin
     x := -b/a;
     write('Phuong trinh co nghiem la: ',x);
    end;
end.
Bài 5: Viết chương trình giải bất phương trình bậc 1 (ax + b >= 0)
Mã:
program GiaiBatPhuongTrinhBac1;
var
a,b:byte;
x: Real;
(* (* Dùng biến có kiểu Real để dễ làm việc với kết quả là số thập phân *)*)
begin
 write('Nhap a: ');
 readln(a);
 write('Nhap b: ');
 readln(b);
 if ( a=0) then
  begin
   write('Phuong trinh vo nghiem');
  end
  else if (a < 0) then
   begin
    x := -b/a;
    write('Phuong trinh co tap nghiem: x >= ', x);
   end
   else if (a > 0) then
    begin
     x := -b/a;
     write('Phuong trinh co tap nghiem: x <= ', x);
    end;
end.
Bài 6: Viết chương trình giải phương trình bậc 2 (ax2 + bx + c =0)
Mã:
program GiaiPhuongTrinhBac2;
var
a,b,c:Integer;
delta: Real;
(* (* Dùng biến có kiểu Real để dễ làm việc với kết quả là số thập phân *)*)
begin
 write('Nhap a: ');
 readln(a);
 write('Nhap b: ');
 readln(b);
 write('Nhap c: ');
 readln(c);
 delta := (b*b)-(4*a*c);
 if ( delta=0) then
  begin
   write('Phuong trinh co nghiem kep x1=x2=,-b/2*a);
  end
  else if (delta < 0) then
   begin
    write('Phuong trinh vo nghiem');
   end
   else if (delta > 0) then
    begin
     writeln('Phuong trinh co 2 nghiem phan biet:');
     writeln('x1=,(-b+sqrt(delta))/2*a);
     writeln('x2=,(-b-sqrt(delta))/2*a);
    end;
end.
Bài 7: Tìm giá trị lớn nhất trong 4 số a, b, c, d (a, b, c, d được nhập từ bàn phím). Bài 8: Tìm giá trị nhỏ nhất trong 4 số a, b, c, d (a, b, c, d được nhập từ bàn phím).
Mã:
program max_min;
var a, b, c, d, max, min : integer;
begin
 write (‘Nhap a, b, c, d : ’);
 readln (a, b, c, d);
  max := a;
 if b > max then max := b;
 if c > max then max := c;
 if d > max then max := d;
 writeln (‘Gia tri lon nhat la: ’, max);
 min := a;
 if b < min then min := b;
 if c < min then min := c;
 if d < min then min := d;
 writeln (‘Gia tri nho nhat la: ’, min);
end.
Full bài viết: http://www.namhaiit.com/2018/02/Mot-so-bai-toan-co-ban-trong-Pascal-Phan-1.html
 
Nhấn vào đây để đăng nhập bằng tài khoản xã hội của bạn