12 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 - P4)


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 - P4.
 
41. Viết chương trình nhập vào chiều dài và chiều rộng cho 1 hình chữ nhật. In ra hình chữ nhật đó bằng các dấu *.

Program hcn;
Uses crt;
Var cd, cr, i, j: integer;
Begin
Clrscr;
Write ('Nhap cd: ');
Readln (cd);
Write ('Nhap cr: ');
Readln (cr);
Begin
For i := 1 to cd do 
Begin
For j := 1 to cr do
Write ('*');
Writeln ('*');
End;
End;
Readln;
End.

42. Viết chương trình nhập vào số nguyên dương n. In ra tam giác có dạng '@'.

Program tg;
Uses crt;
Var n, i, j: integer;
Begin
Clrscr;
Write ('Nhap so nguyen duong n: ');
Readln (n);
Begin
For i := n downto 1 do
Begin
For j := i + 1 to n + 1 do
Write ('@');
Writeln;
End;
End;
Readln;
End.

43. Viết chương trình nhập vào lần lượt các số nguyên, quá trình nhập kết thúc khi nhập số nguyên là 0. Cho biết có bao nhiêu số dương, bao nhiêu số âm trong các số nguyên đã nhập.

Uses crt;
Var n, d, a: integer;
Begin
Clrscr;
d := 0;
a := 0;
Repeat
Write ('Nhap vao 1 so nguyen: ');
Readln (n);
If n > 0 then d := d + 1;
If n < 0 then a := a + 1;
Until n = 0;
Writeln ('So duong da nhap: ', d);
Writeln ('So am da nhap: ', d);
Readln;
End.

44. Viết chương trình nhập vào lần lượt các số thực, quá trình nhập kết thúc khi số nhập vào là 0. Cho biết trị trung bình của các số đã nhập.

Var n, tb, s, d: real;
Begin
Clrscr;
s := 0;
d := 0;
Repeat
Write ('Nhap so thuc: ');
Readln (n);
s := s + n;
d := d + 1;
tb := s/d;
Until n = 0;
Writeln ('Tri trung binh cua cac so da nhap: ', tb);
Readln;
End.

45. Viết chương trình làm nhiều lần công việc sau: Nhập 1 số thực, in số đối của số thực đó. Chương trình kết thúc khi nào số thực nhập vào là 0.

Uses crt;
Var n: real;
Begin
Clrscr;
Repeat
Write ('Nhap so thuc n: ');
Readln (n);
n := n * (-1);
If n <> 0 then write ('So doi: ', n);
Until n = 0;
Readln;
End.

46. Viết chương trình nhập vào 1 số nguyên dương, in ra ước số lẽ lớn nhất của nó. Ví dụ: Nhập số 60 thì in ra 15.

Uses crt;
Var n, i: integer;
Begin
Clrscr;
Write ('Nhap so n: ');
Readln (n);
If (n mod 2) <> 0 then writeln ('USLLN: ', n)
Else
Begin
i := n div 2;
While (n mod i <> 0) or (i mod 2 = 0) do i := i - 1;
Write ('USLLN: ', i);
End;
Readln;
End.

47. Viết chương trình in ra tất cả các số nguyên tố < N, N là giá trị nhập. 

Uses crt;
Var n, i, j: integer;
Begin
Clrscr;
Write ('Nhap so n: ');
Readln (n);
Write ('Cac so nguyen to nho hon ', n, ' la: ');
For i := 2 to n - 1 do
Begin
j := 2;
While (i mod j) <> 0 do j := j + 1;
If i = j then write (i, ',');
End;
Readln;
End.

48. Viết chương trình tính số hạng thứ n của dãy Fibonaci. Hướng dẫn: Dãy Fibonaci là dãy số gồm các số hạng F (n) với F (n) = F (n - 1) + F (n - 2) và F (1) = F (2) = 1.

Ví dụ: Dãy Fibonaci gồm 10 số hạng đầu tiên là 1 1 2 3 5 8 13 21 34 55

Uses crt;
Var i, n: integer;
f, f1, f2: longint;
Begin
Clrscr;
Write ('Nhap so n: ');
Readln (n);
f := 1;
f1 := 1;
For i := 3 to n do
Begin
f2 := f1 + f;
f := f1;
f1 := f2;
End;
Writeln ('So hang cua day Fibonaci: ', f2);
Readln;
End.

49. Viết chương trình phân tích 1 số nguyên dương n thành tích của các thừa số nguyên tố.

Uses crt;
Var i, n: integer;
Begin
Clrscr;
Write ('Nhap so nguyen duong n: ');
Readln (n);
i := 2;
While n <> 1 do
If n mod i = 0 then
Begin
Write (i, ' ');
n := n div i;
End
Else i := i + 1;
Readln;
End.

50. Viết lại chương trình của bài: 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, bằng lệnh nhảy goto.

Uses crt;
Label Lap;
Var n, i: integer;
s: real;
Begin
Clrscr;
Write ('Nhap n: ');
Readln (n);
s := 0; i := 1;
Lap: 
s := s + i/(i + 1);
i := i + 1;
If i <= n then goto Lap;
Writeln ('Tong: ', s : 8 : 2);
Readln;
End.

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