Pascal: SOLUTIONS BÀI TẬP 1

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Bài tập 1.1:

Mã chương trình:

Program Chu_nhat;

uses crt;

Var a, b, S, CV: real;

Begin

     Write('Nhap chieu dai:'); readln(a);

     Write('Nhap chieu rong:'); readln(b);

     S := a*b;

     CV := (a+b)*2;

     Writeln('Dien tich hinh chu nhat la:',S);

     Writeln('Chu vi hinh chu nhat la:',CV:10:2);

     readln

end.

Nhận xét:

Lệnh write cho phép in ra màn hình một hoặc nhiều mục. Có thể định dạng được số in ra bằng cách qui định khoảng dành cho phần nguyên, khoảng dành cho phần thập phân.

Bài tập 1.2:

Mã chương trình:

Program HINH_VUONG;

uses crt;

Var canh: real;

Begin

     clrscr;

     Write('Nhap do dai canh:');readln(canh);

     Writeln('Chu vi hinh vuong la:',4*canh:10:2);

     Writeln('Dien tich hinh vuong la:',canh*canh:10:2);

     readln

end.

Nhận xét:

Bài tập 1.2 tiết kiệm được hai biến là CV và S vì lệnh write cho phép in một biểu thức. Trong lập trình việc tiết kiệm biến là cần thiết nhưng đôi lúc gây khó hiểu khi đọc, kiểm tra chương trình.

Bài tập 1.3:

Mã chương trình:

Program HINH_TRON;

uses crt;

Var r: real;

Begin

     clrscr;

     Write('Nhap ban kinh:'); readln(r);

     Writeln('Chu vi duong tron la:',2*pi*r:10:2);

     Writeln('Dien tich hinh tron la:',pi*r*r:10:2);

     readln

end.

Nhận xét:

pi là hằng số. Một hằng số có thể được người dùng khai báo hoặc do Pascal tự tạo. Pi là hằng do Pascal tự tạo nên người dùng không cần khai báo.

Bài tập 1.4:

Mã chương trình:

Program TAM_GIAC;

uses crt;

Var a,b,c,p,S: real;

Begin

     clrscr;

     Write('Nhap canh a:');readln(a);

     Write('Nhap canh b:');readln(b);

     Write('Nhap canh c:');readln(c);

     p:=(a+b+c)/2;

     S:= sqrt(p*(p-a)*(p-b)*(p-c));

     Write('Dien tich tam giac la:',s:10:2);

     readln

end.

Nhận xét:

Ở đây ta lại hai lần dùng biến trung gian p, s để chương trình sáng sủa, dễ theo dõi. sqrt là hàm có sẵn của turbo pascal. Nó cho phép tính căn bậc hai của một số không âm.

Bài tập 1.5:

Mã chương trình:

Program TB_Cong_4_So;

uses crt;

Var a, b, c, d: real;

Begin

     Clrscr;

     Write('Nhap so thu nhat:');readln(a);

     Write('Nhap so thu hai:');readln(b);

     Write('Nhap so thu ba:');readln(c);

     Write('Nhap so thu tu:');readln(d);

     Writeln('Trung binh cong: ',(a+b+c+d)/4):10:2);

     Readln

end.

Bài tập 1.6:

Mã chương trình:

Program TB_Cong_4_So;

uses crt;

Var s,a: real;

Begin

     Clrscr;

     S:=0;

     Write('Nhap so thu nhat:');readln(a); S:=S+a;

     Write('Nhap so thu hai:');readln(a); S:= S+a;

     Write('Nhap so thu ba:');readln(a); S:=S+a;

     Write('Nhap so thu tu:');readln(a); S:=S+a;

     Writeln('Trung binh cong: ',S/4:10:2);

     readln

end.

Nhận xét:

Câu lệnh gán S:= S+a thực hiện việc cộng thêm a vào biến S. Thực chất là thực hiện các bước: lấy giá trị của S cộng với a rồi ghi đè vào lại biến S. Ở đây ta cũng đã sử dụng biến a như là một biến tạm để chứa tạm thời giá trị được nhập từ bàn phím.

Bài tập 1.7:

Mã chương trình:

Program TB_nhan;

uses crt;

Var a, S: real;

Begin

    clrscr;

    S:=1;

    Write('Nhap so thu nhat: '); readln(a); S:=S*a;

    Write('Nhap so thu hai: '); readln(a); S:=S*a;

    Write('Nhap so thu ba: '); readln(a); S:=S*a;

    Write('Nhap so thu tu: '); readln(a); S:=S*a;

    Write('Trung binh nhan cua bon so la:',sqrt(sqrt(s)));

    readln

End.

Nhận xét:

Ta đã dùng hai lần khai phương để lấy căn bậc 4 của một số. Để cộng dồn giá trị vào một biến thì biến đó có giá trị ban đầu là 0. Để nhân dồn giá trị ban đầu vào biến thì biến đó cần có giá trị ban đầu là 1.

Bài tập 1.8:

Mã chương trình:

Program Doi_Gia_Tri;

uses crt;

var a, b, tam:real;

Begin

    clrscr;

    write('nhap a: '); readln(a);

    write('nhap b: '); readln(b);

    writeln('Truoc khi doi a =',a,' va b= ',b);

    readln;

    tam:=a;

    a:=b;

    b:=tam;

    writeln('Sau khi doi a =',a,' va b= ',b);

    readln

end.

Nhận xét:

Nếu thực hiện hai lệnh a:= b; b:=a để đổi giá trị hai biến thì sau hai lệnh này hai biến có giá trị bằng nhau và bằng b. Thực chất sau lệnh thứ nhất hai biến đã có giá trị bằng nhau và bằng b rồi! Trong thực tế để đổi chỗ số dầu ở hai bình cho nhau ta phải dùng thêm một bình phụ.

Bài tập 1.9:

Mã chương trình:

Program Doi_Gia_Tri;

uses crt;

var a, b:real;

Begin

    clrscr;

    write('nhap a: '); readln(a);

    write('nhap b: '); readln(b);

    writeln('Truoc khi doi a =',a,' va b= ',b);

    readln;

    a:=a+b;

    b:=a-b;

    a:=a-b;

    writeln('Sau khi doi a =',a,' va b= ',b);

    readln

end.

Nhận xét:

Giống sang dầu giữa hai bình nhưng không giống hoàn toàn!!!Kỹ thuật đổi giá trị biến cho nhau sẽ được sử dụng nhiều trong phần sắp xếp.

Bài tập 1.10:

Mã chương trình:

Program CHU_SO;

uses crt;

var n:integer;

begin

     clrscr;

     write('Nhap so n: ');readln(n);

     writeln('Chu so hang don vi: ',n mod 10);

     n:=n div 10;

     writeln('Chu so hang chuc: ',n mod 10);

     n:=n div 10;

     writeln('Chu so hang tram: ',n mod 10);

     readln

end.

Nhận xét:

Hãy sửa chương trình để có kết quả là hàng trăm, hàng chục, hàng đơn vị.

Mã chương trình:

Program CHU_SO;

uses crt;

var n:integer;

begin

     clrscr;

     write('Nhap so n: ');readln(n);

     writeln('Chu so hang trm: ',n div 100);

     n:=n mov 100;

     writeln('Chu so hang chuc: ',n div 10);

     n:=n div 10;

     writeln('Chu so hang tram: ',n);

     readln

end.

SIN(x): Trả về sin(x) theo radian

» Tiếp: Cấu trúc rẽ nhánh
« Trước: BÀI TẬP 1
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!