26 tháng 4, 2014

Tổng hợp các bài tập lập trình trên Turbo Pascal (Phần tiếp theo - P8)


Trong bài viết sau đây sẽ chia sẻ đến bạn tổng hợp các bài tập cơ bản lập trình trên phần mền Turbo Pascal. Hy vọng, nó sẽ giúp ích cho bạn khi mới bắt đầu làm quen với ngôn ngữ lập trình cơ bản. Các bài tập tổng hợp bao gồm: các lệnh nhập xuất đơn giản, các câu lệnh điều khiển, dữ liệu kiểu mảng, chương trình con ... Phần tiếp theo - P8.
 
61. Xây dựng thủ tục in ra 10 dấu * trên cùng 1 hàng. Viết chương trình chính in ra hình chữ nhật đặt chiều ngang là 10 và chiều đứng là 6.

Procedure in10sao;
Begin
Writeln ('**********');
End;
Var i: integer;
Begin
For i := 1 to 6 do
in10sao;
Readln;
End.

62. Xây dựng thủ tục in ra n dấu * trên cùng 1 hàng. Viết chương trình chính in ra hình chữ nhật đặt chiều ngang là n và chiều đứng là m.

Procedure innsao (n: integer);
Begin
For i := 1 to n do
Write ('*');
Writeln;
End;
Var n, m, i: integer;
Begin
Write ('Nhap n, m: ');
Readln (n, m);
For i := 1 to m do
innsao (n);
Readln;
End.

63. Xây dựng thủ tục hoán vị 2 số nguyên. Viết chương trình chính minh họa.

Procedure hoanvi (var x, y: integer);
Var t: integer;
Begin
t := x;
x := y;
y := t;
End;
Var a, b: integer;
Begin
Write ('Nhap 2 so can hoan vi: ');
Readln (a, b);
Writeln ('Truoc khi hoa vi: ', 'a = ', a, ' ', 'b = ', b);
hoanvi (a, b);
Writeln ('Sau khi hoan vi: ', 'a = ', a, ' ', 'b = ', b);
Readln;
End.

64. Xây dựng thủ tục tính tổng n số nguyên dương đầu tiên. Viết chương trình chính minh họa.

Procedure Tong (n: integer; var t: longint);
Var i: integer;
Begin
t := 0;
For i := 1 to n do
t := t + 1;
End;
Var n: integer; kq: longint;
Begin
Write ('Nhap n= ');
Readln (n);
Tong (n, kq);
Writeln ('Tong ', n, ' so nguyen duong dau tien la: ', kq);
Readln;
End.

65. Xây dựng hàm tìm số lớn nhất trong 3 số nguyên. Viết chương trình chính minh họa.

Function Max (a, b, c: integer): integer;
Var t: integer;
Begin
If a > b then t := a
Else t := b;
If c > t then t := c;
max := t;
End;
Var a, b, c: integer;
Begin
Write ('Nhap 3 so a, b, c: ');
Readln (a, b, c);
Writeln ('So lon nhat trong 3 so la: ', Max (a, b, c));
Readln;
End.

66. Xây dựng hàm tính n!. Viết chương trình tính S = 1 + 2/2! + 3/3! + ... + n/n!.

Function Giaithua (n: integer): longint;
Var t: longint; i: integer;
Begin
t := 1;
For i := 1 to n do
t := t * i;
Giaithua := t;
End;
Var n, i: integer; s: real;
Begin
Write ('Nhap n = ');
Readln (n);
s := 1;
For i := 2 to n do
s := s + i/Giaithua (i);
Writeln ('Tong s = ', s : 12 : 6);
Readln;
End.

67. Xây dựng hàm tính tổng n số nguyên dương đầu tiên, viết chương trình chính minh họa.

Function Tong (n: integer): longint;
Var i: integer; t: longint;
Begin
t := 0;
For i := 1 to n do
t := t + i;
Tong := t;
End;
Var n: integer; kq: longint;
Begin
Write ('Nhap n = ');
Readln (n);
kq := Tong (n);
Writeln ('Tong ', n, 'so nguyen duong dau tien la: ', kq);
Readln;
End.

68. Xây dựng hàm tìm USCLN của 2 số nguyên dương và cho biết USC đó là chẵn hay lẻ. Viết chương trình chính minh họa.

Function USC (a, b: integer; var le: boolean): integer;
Var t: integer;
Begin
While a mod b <> 0 do
Begin
t := a mod b;
a := b;
b := t;
End;
If a mod 2 <> 0 then le := true
Else le := false;
USC := b;
End;
Var x, y, t: integer; le: boolean;
Begin
Write ('Nhap x va y: ');
Readln (x, y);
t := USC (x, y, le);
If le = true then 
Write ('USC cua ', x, ' va ', y, ' la ', t, ' la so le')
Else write ('USC cua ', x, ' va ', y, ' la ', t, ' la so chan');
Readln;
End.

69. Xây dựng chương trình con chọn hình thức giải trí thích hợp dựa vào nhiệt độ bên ngoài. Viết chương trình chính minh họa.

Procedure gt1;
Begin
Writeln ('Troi lanh, nen o nha xem ti vi');
End;
Procedure gt2;
Begin
Writeln ('Troi mat me, nen di da ngoai');
End;
Procedure gt3;
Begin
Writeln ('Troi hoi nong, nen di Vung Tau');
End;
Procedure gt4;
Begin
Writeln ('Troi nong nuc, nen di Da Lat');
End;
Begin
If t <= 20 then gt1
Else If t <= 25 then gt2
Else if t <= 30 then gt3
Else gt4;
End;
Var t: real;
Begin
Write ('Cho biet nhiet do cua ngay hom nay');
Readln (t);
Writeln ('Hom nay');
Giaitri (t);
Readln;
End.

70. Xây dựng chương trình con tính tổng các số nguyên tố trong n số nguyên dương đầu tiên. Viết chương trình chính minh họa.

Function Tongnt (n: integer): longint;
Var t: longint; i: integer;
Function ngto (m: integer): boolean;
Var i: integer;
Begin
i := 1;
Repeat 
i := i + 1;
Until (m mod i = 0) or (i = m);
If i = m then ngto := true
Else ngto := false;
End;
Begin
t := 0;
For i := 1 to n do
If ngto (i) = true  then t := t + i;
Tongnt := t;
End.

Chúc bạn thành công!