3 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 - P3)


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 - P3.
 
31. V iết chương trình nhập vào 1 số nguyên. Cho biết số vừa nhập là chẵn hay lẻ.

Program so_nguyen;
Uses crt;
Var a, i: integer;
Begin
Clrscr;
Write ('Nhap so nguyen n: ');
Readln (n);
i := 1;
If n mod 2 <> i then write ('So chan')
Else write ('So le');
Readln;
End.

32. Viết chương trình nhập vào điểm lý thuyết và điểm thực hành cho 1 học viên. Tính điểm trung bình cho học viên đó với:

dtb = (dlt * 2 + dth * 3)/5

Cho biết kết quả thi của học viên đó, biết rằng nếu dtb > 5 và không có diểm nào dưới 4 thì "Đậu", ngược lại "Rớt".

Program hoc_vien;
Uses crt;
Var dlt, dth, dtb: real;
Begin
Clrscr;
Write ('Nhap diem ly thuyet: ');
Readln (dlt);
Write ('Nhap diem thuc hanh: ');
Readln (dth);
dtb := (dlt * 2 + dth * 3)/5;
If (dtb >= 5) and (dtb > 4) then write ('Dau')
Else write ('Rot');
Readln;
End.

33. Viết chương trình tính tổng S = 1/2 + 2/3 + 3/4 + ... + n/(n + 1), với n là số nguyên dương được nhập từ bàn phím.

Program tong;
Uses crt;
Var n, i: integer;
s: real;
Begin
Clrscr;
Write ('Nhap n: ');
Readln (n);
s := 0;
For i := 1 to n do
s := s + i/(i + 1);
Writeln ('Tong: '), s : 8 : 2);
Readln;
End.

34. Viết chương trình tính tổng S = - 1 + 2 - 3 + 4 - ... +(-)nn, với n là số nguyên dương được nhập từ bàn phím. 

Program tong;
Uses crt;
Var n, s, i: integer;
Begin
Clrscr;
Write ('Nhap n: ');
Readln (n);
s := 0;
For i := 1 to n do
If ODD (i) then 
s := s - i
Else
s := s + i;
Writeln ('Tong: ', s);
Readln;
End.

35. Viết chương trình tính tổng S = 1 + 2 - 3 + 4  + 5 - 6 + 7 + 8 - 9 + ... +/-n, với n là số nguyên dương được nhập từ bàn phím.

Program tong;
Uses crt;
Var s, n, i: integer;
Begin
Clrscr;
Write ('Nhap so nguyen duong n: ');
Readln (n);
s := 0;
For i := 1 to n do
Begin
If ODD (i) then
s := s - i;
Else
s := s + i;
End;
Write ('Tong: ', s);
Readln;
End.

36. Viết chương trình tính tổng S = nSmS i + 2j, với n, m là số nguyên dương được nhập từ bàn phím.

Var n, m, i, j: integer;
s, s1, s2: longint;
Begin
Write ('Nhap n, m: ');
Readln (n, m);
s1 := 0;
For i := 1 to n do
s1 := s1 + i;
s2 := 0;
For j := 1 to m do
s2 := s2 + 2 * j;
s := s1 + s2;
Writeln ('Tong can tim la: ', s);
Readln;
End.

37. Viết chương trình tính e = 1 + x/1! - x2/2! + x3/3! + ... + (-1)n + 1xn/n!, với n là số nguyên dương, x là số thực được nhập từ bàn phím.

Var i, n: integer;
x, e: real;
gt: longint; lt: real;
Begin
Write ('Nhap n: ');
Readln (n);
Write ('Nhap x: ');
Readln (x);
e := 1; gt := 1; lt := 1;
For i := 1 to n do
Begin
gt := gt * i;
lt := lt * x;
If i mod 2 <> 0 then
e := e + lt/gt
Else e := e - lt/gt;
End;
Writeln ('e = ', e : 12 : 4);
Readln;
End.

38. Viết chương trình tính e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n!, với n là số nguyên dương được nhập từ bàn phím.

Program tong;
Uses crt;
Var n, i, j: integer;
gt: longint; s: real;
Begin
Clrscr;
Write ('Nhap so nguyen n: ');
Readln (n);
If n > 0 then
Begin
s := 1; gt := 1;
For i := 1 to n do
Begin
s := s + 1/gt;
For j := 1 to i do
gt := gt * j;
End;
Write ('Tong la: ', s : 6 : 2);
End
Else writeln ('Khong xet');
Readln;
End.

39. Viết chương trình tính e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n!, cho đến khi 1/(n + 1)! nhỏ hơn Epsilon, với Epsilon là 1 lượng khá nhỏ được nhập từ bàn phím.

Var e, esp, t: real;
i: integer;
gt: longint;
Begin
Readln (esp);
e := 1; gt := 1; i := 1;
Repeat
gt := gt * i;
t := 1/gt;
If t > esp then e := e + t;
Until t < esp;
Write ('e = ', e : 10 : 4);
Readln;
End.

40. Viết chương trình nhập vào 2 số nguyên dương. Tìm USCLN và BSCNN cho số đó.

Program USCLN_BSCNN;
Uses crt;
Var a, b, x, y, r: integer;
Begin
Clrscr;
Write ('Nhap vao 2 so a va b: ');
Readln (a, b);
x := a;
y := b;
Repeat
r := a mod b;
a := b;
b := r;
Until b = 0;
Writeln ('USCLN cua ', x, 'va', y, ' la: ', a);
Writeln ('BSCNN cua ', x, 'va', y, ' la: ', x * y/a : 8 : 0);
Readln;
End.

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