Hồ Diên Lợi - Bài tập_Thực hành_Pascal
   
http://hodienloi.page.tl
  Home
  Một số hình ảnh cá nhân
  Danh bạ website
  Danh sách lớp Tin4A
  Thực hành Word
  Bài tập_Thực hành_Pascal
  Bài giải_Thực hành Pascal
BÀI TẬP NGÔN NGỮ LẬP TRÌNH PASCAL
I.              Vẽ lưu đồ giải thuật:
1.      Nhập vào hai số x, y. Xuất ra màn hình tổng, hiệu, tích, thương của hai số trên.
2.      Nhập vào số nguyên n, kiểm tra xem n chẵn hay lẻ và xuất ra màn hình.
3.      Nhập vào ba cạnh a, b, c của tam giác. Xuất ra màn hình diện tích và chu vi nếu a, b, c là 3 cạnh của tam giác
4.      Nhập vào số nguyên n. Xuất n ra màn hình (Nếu n chẵn thì gấp đôi giá trị).
5.      Nhập vào số nguyên n. Nếu n>5 thì tăng n lên 2 đơn vị và trả về giá trị n, ngược lại trả về giá trị 0.
6.      Tính n!,           Với n 0
7.      Tính P(n) = 1.3.5…(2n+1),              Với n 0
8.      Tính S(n) = 1+3+5+…+(2n +1),            Với n0
9.      Tính S(n) = 1-2+3-4+…+(-1)n+1 n,               Với n >0
10.Tính S(n) =1+1.2+1.2.3+…+1.2.3…n,             Với n >0
11.Tính S(n) =12+22+32+…+n2,                Với n >0
12.Tính S(n) = 1+++…+,                Với n >0
13.(*) Tính S(n) = 1+++…+,                 Với n >0
14.Tính P(x, y) = xy.
15.Tính S(n) = 1+(1+2)+(1+2+3)+…+(1+2+3+…+n),                   Với n >0
16.Cho số nguyên n. Tính trị tuyệt đối của n.
17.Cho số nguyên dương n gồm k chữ số. Tìm chữ số có giá trị lớn nhất.
18.Đếm số lượng ước số chẵn của số nguyên dương n.
19.In ra chữ số đầu tiên của số nguyên dương n gồm k chữ số.
20.Cho 2 số nguyên dương a, b. Tìm ước số chung lớn nhất của a và b.
21.Cho 2 số nguyên dương a, b. Tìm bội số chung nhỏ nhất của a và b.
22.Cho số nguyên dương x. Kiểm tra xem x có phải là số nguyên tố không?
23.Cho số nguyên dương x. Kiểm tra xem x có phải là số chính phương không?
24.Cho số nguyên dương x. Kiểm tra xem x có phải là số hoàn thiện không?
25.Tính S(n) = 1+ 22+33+…+nn,               Với n 0
26.Tính S(n) =+++…+,          Với n >0
27.Tính S(n) = 1+++…+,              Với n >0
28.Tính S(n) = 1+++…+,                   Với n >0
29.Giải và biện luận phương trình: ax2 +bx +c =0
30.Giải và biện luận phương trình: ax4 +bx2 +c =0
31.(*) Tính S(n) =,                Với n >0
32.(**) Tính S(n) = ,                              Với n >0
II.           Cấu trúc if / if…else và case
1.      Nhập vào hai số nguyên a, b. In ra màn hình giá trị lớn nhất.
2.      Cho ba số a, b, c đọc vào từ bàn phím. Hãy tìm giá trị lớn nhất của ba số trên và in ra kết quả.
3.      Cho ba số a, b, c đọc vào từ bàn phím. Hãy in ra màn hình theo thứ tự tăng dần các số. (Chỉ được dùng thêm 2 biến phụ).
4.      Viết chương trình nhập vào một số nguyên n gồm 3 chữ số. Xuất ra màn hình chữ số lớn nhất
Ví dụ: n=291. Chữ số lớn nhất nằm ở hàng chục (9).
5.      Viết chương trình nhập vào một số nguyên n gồm 3 chữ số. Xuất ra màn hình theo thứ tự tăng dần của các chữ số.
Ví dụ: n=291. Xuất ra 129.
6.      Nhập vào ngày, tháng, năm. Kiểm tra xem ngày, tháng, năm đó có hợp lệ hay không? In kết quả ra màn hình.
7.      Nhập vào giờ, phút, giây. Kiểm tra xem giờ, phút, giây đó có hợp lệ hay không? In kết quả ra màn hình.
8.      Viết chương trình nhập vào ngày, tháng, năm hợp lệ. Cho biết năm này có phải là năm nhuần hay không? In kết quả ra màn hình.
9.      Viết chương trình tính diện tích và chu vi các hình: tam giác, hình vuông, hình chữ nhật và hình tròn với những thông tin cần được nhập từ bàn phím.
10.Viết chương trình tính tiền cước TAXI. Biết rằng:
-        KM đầu tiên là 5000đ
-        200m tiếp theo là 1000đ
-        Nếu lớn hơn 20km thì mỗi km thêm sẽ là 3000đ
-        Hãy nhập số km sau đó in ra số tiền phải trả.
11.Nhập vào 3 số nguyên dương a, b, c. Kiểm tra xem 3 số đó có lập thành tam giác hay không? Nếu có hãy cho biết tam giác đó thuộc loại nào? (Cân, vuông, đều,…).
12.Viết chương trình nhập vào số nguyên dương n. Kiểm tra xem n có phải là số chính phương hay không? ( Số chính phương là số khi lấy căn bậc 2 có kết quả là nguyên).
III.        Cấu trúc lặp
1.     Cho biết kết quả của đoạn chương trình sau:
a:=18;
for i:=1 to a do
            if (a mod i = 0) then
                        write(i, ‘   ’);
 
2.     Cho biết kết quả của đoạn chương trình sau:
for i:=1 to 5 do
Begin
            for j:=1 to i do
                        write(j, ‘   ’);
            writeln;
End;
 
3.     Cho biết kết quả của đoạn chương trinh sau:
i:= 10; s:=0;
while (i>0) do
Begin
            if (i mod 2 =0) then
                        s:=s+i
            else
                        if (i>5) then
                                    s:=s+2*i;
            i:=i-1;
End;
writeln(‘s= ’, s);
4.     Cho biết kết quả của đoạn chương trình sau:
a:=18; i:=1;
Repeat
            if (a mod i=0) then
                        write(i, ‘   ’);
            i:=i+1;
Until( i>a);
 
5.     Cho biết kết quả của đoạn chương trình sau:
a:=11; b:=16; i:=a;
while( i<b) do
Begin
            if (i mod 2=0) then
            Begin
                        write(i, ‘   ’);
                        break;
            End;
            i:=i+1;
End;
 
6.     Cho biết kết quả của đoạn chương trình sau:
a:=10; s:=0; i:=0;
while (i<a) do
Begin
            i:=i+1;
            if (i mod 2=0) then
                        continue
            else
                        s:=s+i;
End;
writeln(s, ‘   ’);
 
7.     Cho biết kết quả của đoạn chương trình sau:
i:=1: s:=0;
while(True)
Begin
            s:= s+i;
            i:=i+1;
            if(i mod 2 <>0) then
                        i:=i+2
            else
                        i:=i+1;
            if (i>20) then
                        break;
End;
writeln(s, ‘   ’);
 
8.     Viết chương trình in ra màn hình hình chữ nhật đặc kích thước m x n (m, n nhập từ bàn phím).
Ví dụ: Nhập m=5, n=4
                   *     *     *     *     *
                       *     *     *     *     *
                       *     *     *     *     *
                       *     *     *     *     *
9.     Viết chương trình in ra màn hình hình chữ nhật rỗng kích thước m x n (m, n nhập từ bàn phím).
Ví dụ: Nhập m=5, n=4
           *     *     *     *     *
           *                          *
           *                          *
           *     *     *     *     *
10.Viết chương trình in ra màn hình tam giác vuông cân đặc có độ cao h (h nhập từ bàn phím).
Ví dụ: Nhập h=4
           *
           *     *
           *     *     *
           *     *     *     *
11.Viết chương trình in ra màn hình tam giác cân rỗng có độ cao h (h nhập từ bàn phím).
Ví dụ: Nhập h=4
           *
           *     *
           *            *
           *     *     *     *
12.Viết chương trình in ra màn hình tam giác cân đặc có độ cao h (h nhập từ bàn phím).
Ví dụ: Nhập h=4
                                *
                         *     *     *
                  *     *     *     *     *
           *     *     *     *     *     *     *
          
13.Viết chương trình in ra màn hình tam giác cân rỗng có độ cao h (h nhập từ bàn phím).
Ví dụ: Nhập h=4
                                *
                         *            *
                  *                          *
           *     *     *     *     *     *     *
14.Viết chương trình nhập số nguyên dương n. Liệt kê n số nguyên tố đầu tiên.
15.Viết chương trình nhập vào hai số nguyên dương a và b. Tìm ước số chung lớn nhất và bội số chung nhỏ nhất của a và b.
16.Viết chương trình nhập vào 1 số nguyên n gồm tôi đa 10 chữ số (a bytes). In ra màn hình giá trị nhị phân của số trên. (Hướng dẫn: Chia lấy dư cho 2 và xuất theo thứ tự ngược lại dùng hàm gotoxy, wherex, wherey).
17.Viết chương trình đếm ước số của số nguyên dương N.
Ví dụ: N=12
            số ước số của 12 là 6.
18.Một số hoàn thiện là 1 số có tổng các ước số của nó (không kể nó) bằng chính nó. Hãy liệt kê các số hoàn thiện nhỏ hơn 5000.
Ví dụ: số 6 là số hoàn thiện vì tổng các ước số là 1+2+3=6.
19.Nhập vào ngày, tháng, năm. Cho biết đó là ngày thứ mấy trong năm.
20.In ra dãy số Fibonaci
f1=f0=1;
fn=f n-1+f n-2;              (n>1)
IV.        Phần chuỗi ký tự
1.      Viết chương trình nhập vào một chuỗi ký tự, đếm số ký tự có trong chuỗi.
2.      Viết chương trình đếm có bao nhiêu khoảng trắng trong chuỗi.
3.      Viết chương trình nhập vào một chuỗi, hãy loại bỏ những khoảng trắng thừa trong chuỗi.
4.      Viết chương trình nhập vào hai chuỗi s1 và s2, nối chuỗi s2 vào s1. Xuất chuỗi s1 ra màn hình.
5.      Đổi tất cả các ký tự có trong chuỗi thành chữ thường.
6.      Đổi tất cả các ký tự trong chuỗi sang chữ hoa.
7.      Viết chương trình đổi những ký tự đầu tiên của mỗi từ thành chữ hoa.
8.      Viết chương trình đổi chữ xen kẽ 1 chữ hoa và 1 chữ thường.
Ví dụ: nhập ABCDEfgh đổi thành AbCdEfGh
9.      Viết chương trình đảo ngược các ký tự trong chuỗi.
Ví dụ: nhập ABCDE, xuất ra màn hình là: EDCBA
10.Viết chương trình tìm kiếm 1 ký tự có trong chuỗi hay không, nếu có xuất ra vị trí của từ đó.
11.Viết 1 chương trình đếm một ký tự xuất hiện bao nhiêu lần trong chuỗi.
12.Viết chương trình tìm kiếm tên trong chuỗi họ tên. Nếu có thì xuất ra là tên này đã nhập đúng, ngược lại thông báo là đã nhập sai.
13.Viết chương trình đảo vị trí của từ đầu và từ cuối.
Ví dụ: nhập ‘bo an co’ xuat ra ‘co an bo’
14.Viết chương trình con cắt chuỗi họ tên thành chuỗi họ lót và chuỗi tên.
Ví du: chuỗi họ tên là: ‘Nguyen Van A’ cắt ra 2 chuỗi là họ lót: ‘Nguyen Van’, chuỗi tên là: ‘A’
15.Nhập một chuỗi bất kỳ, sau đó hỏi người dùng cần tách bắt đầu từ đâu trong chuỗi trở về sau.
Ví dụ: nhập chuỗi S1: ‘Truong Cao Đang Cong Thuong’. Người nhập muốn tách bắt đầu từ chữ ‘Cong’ thì sẽ xuất ra chuỗi ‘Cong Thuong’ ra màn hình.
16.Viết chương trình con kiểm tra xem chuỗi có đối xứng hay không?
17.Viết chương trình con kiểm tra xem trong chuỗi có ký tự số hay không nếu có tách ra thành một mảng số riêng.
18.Nhập một chuỗi bất kỳ, yêu cầu nhập 1 ký tự muốn xóa. Thực hiện xóa tất cả những ký tự đó trong chuỗi.
19.Viết chương trình tìm kiếm xem ký tự nào xuất hiện nhiều nhất trong chuỗi.
20.Viết chương trình xóa một cụm từ nào đó trong chuỗi.
Ví dụ: Chuỗi ban đầu: ‘Cao Dang Cong Thuong’
            Nhập: ‘Cong Thuong’, và kết quả xuất ra là ‘Cao Dang ‘
21.Đổi các từ đầu mỗi từ sang chữ hoa và những từ không phải đầu mỗi từ sang chữ thường.
Ví dụ: nGuYen vAN a            đổi thành        Nguyen Van A
22.(*) Viết chương trình đảo ngược thứ tự các từ có trong chuỗi
Ví dụ: Nhập Truong CD Cong Thuong TpHCM
            Xuất ra màn hình là: TpHCM Thuong Cong CD Truong
23.Nhập 1 chuỗi bất kỳ, liệt kê xem mỗi ký tự xuất hiện mấy lần.
24.Viết chương trình con kiểm tra xem trong 2 chuỗi có bao nhiêu ký tự giống nhau.
25.Viết chương trình chạy từ trái qua phải màn hình.
26.Viết 1 chương trình chèn 1 từ ở bất cứ vị trí nào mà người dùng yêu cầu.
27.(*) Viết chương trình nhập vào một chuỗi đếm xem chuỗi có bao nhiêu từ. Các từ cách nhau bằng khoảng trắng, dấu chấm câu: dấu chấm(.), dấu phẩy (,), dấu chấm phẩy (;), dấu hỏi(?) và dấu chấm than (!).
28.(**) Viết chương trình hiển thị một chuỗi ký tự. Chương trình cho phép di chuyển dấu nháy sang trái, sang phải, lên dòng hay xuống dòng bằng phím mũi tên, chèn hay xóa ký tự tại vị trí dấu nháy.
V.           Phần mảng một chiều
1.      Viết chương trình nhập xuất mảng 1 chiều các số thực.
2.      Viết chương trình khởi tạo giá trị phần tử là 0 cho mảng 1 chiều các số nguyên gồm n phần tử.
3.      Viết chương trình phát sinh ngẫu nhiên mảng 1 chiều các số nguyên âm.
4.      Viết chương trình phát sinh ngẫu nhiên mảng một chiều các số nguyên sao cho mảng có thứ tự tăng (không càn sắp xếp).
5.      Viết chương trình nhập mảng các số thực và xuất các phần tử âm trong mảng.
6.      Viết chương trình nhập mảng các số nguyên và xuất các phần tử lẻ có trong mảng.
7.      Viết chương trình nhập vào mảng một chiều các số nguyên và xuát ra các phần tử chẵn nhỏ hơn 20.
8.      Viết chương trình nhập vào mảng 1 chiều các số nguyên và xuất ra màn hình các phần tử là số nguyên tố.
9.      Viết chương trình nhập vào số nguyên n và liệt kê các số nguyên nhỏ hơn n, nếu mảng không tồn tại số nguyên tố nào nhỏ hơn n thì phải xuất ra một câu thông báo.
10.Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra màn hình các phần tử là số chính phương nằm tại những vị trí lẻ trong mảng.
11.Viết chương trình con tìm vị trí phần tử có giá trị x xuất hiện cuối cùng trong mảng.
12.Viết chương trình con tìm vị trí của phần tử nhỏ nhất trong mảng các số nguyên.
13.Viết chương trình con tìm vị trí của phần tử lớn nhất trong mảng các số nguyên.
14.Viết chương trình con in vị trí của các phần tử nguyên tố trong mảng các số nguyên.
15.Viết chương trình con in vị trí của các phần tử nguyên tố lớn hơn 23.
16.Viết chương trình con tìm vị trí phần tử âm đầu tiên trong mảng. Nếu không có phần tử âm trả về -1.
17.Viết chương trình con tìm vị trí phần tử lớn nhất trong mảng.
18.Viết chương trình con tìm vị trí phần tử dương đầu tiên trong mảng. Nếu không có phần tử âm trả về -1.
19.Viết chương trình con tìm vị trí phần tử dương bé nhất trong mảng.
20.Viết chương trình con in các phần tử là bội của 3 và 5.
21.Viết chương trình con tìm số chẵn cuối cùng có trong mảng, nếu không tồn tại số chẵn chương trình con trả về -1.
22.Viết chương trình con tìm số lẻ lớn nhất có trong mảng, nếu không tồn tại số lẻ chương trình con trả về -1.
23.Viết chương trình con tìm và đổi chỗ phần tử lớn nhất với phần tử nhỏ nhất trong mảng.
24.Nhập vào X. Viết chương trình con in ra màn hình những phần tử có giá trị từ 1 đến X có trong mảng.
25.Viết chương trình nhập vào một dãy số a gồm n số thực (n 100), nhập vào dãy số b gồm m số thực (m 100).
-        In ra những phần tử chỉ xuất hiện trong dãy a mà không xuất hiện trong dãy b.
-        In ra những phần tử xuất hiện ở cả 2 dãy.
26.Viết chương trình con đếm các phần tử âm, dương trong mảng.
27.Viết chương trình con đếm các phần tử chẵn, lẻ trong mảng.
28.Viết chương trình con đếm số lần xuất hiện của phần tử x trong mảng.
29.Viết chương trình con đếm các phần tử nhỏ hơn x trong mảng.
30.Viết chương trình con đếm các phần tử là số nguyên tố trong mảng.
31.Viết chương trình con đếm các phần tử là số hoàn thiện trong mảng.
32.Viết chương trình con đếm các phần tử là bội của 3 và 5 trong mảng các số nguyên.
33.Viết chương trình con tính tổng các phần tử chẵn trong mảng.
34.Viết chương trình con tính tổng các phần tử lẻ trong mảng các số nguyên.
35.Viết chương trình con tính tổng các phần tử nguyên tố trong mảng.
36.Viết chương trình con tính tổng các phần tử nằm ở vị trí chẵn trong mảng các số nguyên.
37.Viết chương trình con tính tổng các phần tử nằm ở vị trí nguyên tố trong mảng.
38.Viết chương trình con tính tổng các phần tử chia hết cho 5 có trong mảng.
39.Viết chương trình con tính tổng các phần tử cực đại trong mảng các số nguyên (phần tử cực đại là phần tử lớn hơn các phần tử xung quanh nó).
Ví dụ: 1 5 2 6 3 5 1 8 6
40.Viết chương trình con tính tổng các phần tử cực tiểu trong mảng các số nguyên (phần tử cực tiểu là phần tử nhỏ hơn các phần tử xung quanh nó).
Ví dụ: 6 4 2 9 5 3 7 1 5 8
41.Viết chương trình con tính tổng các phần tử là bội của 3 và 5 trong mảng các số nguyên.
42.Viết chương trình con tính tổng các phần tử là số hoàn thiện trong mảng các số nguyên.
43.Viết chương trình con tính giá trị trung bình của các số hoàn thiện trong mảng các số nguyên.
44.Viết chương trình con sắp xếp mảng theo thứ tự giảm dần.
45.Viết chương trình con sắp xếp mảng theo thứ tự tăng dần của các phần tử là số nguyên tố.
46.Viết chương trình con sắp xếp các phần tử lẻ tăng dần.
47.Viết chương trình con sắp xếp các phần tử chẵn giảm dần.
48.Viết chương trình con sắp xếp các phần tử chẵn nằm bên trái theo thứ tự tăng dần còn các phần tử lẻ bên phải theo thứ tự giảm dần.
49.Viết chương trình con sắp xếp các phần tử âm giảm dần từ trái sang phải, phần tử dương tăng dần từ phải sang trái.
50.Viết chương trình con xóa phần tử tại vị trí lẻ trong mảng.
51.Viết chương trình con xóa phần tử có giá trị lớn nhất trong mảng.
52.Nhập vào giá trị X. Viết chương trình con xóa tất cả các phần tử có giá trị nhỏ hơn X.
53.Nhập vào giá trị X. Viết chương trình con xóa phần tử có giá trị gần X nhất.
54.Viết chương trình con chèn phần tử có giá trị X vào vị trí đầu tiên của mảng.
55.Viết chương trình con chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng.
56.Viết chương trình con chèn phần tử có giá trị X vào trước phần tử có giá trị là số nguyên tố đầu tiên trong mảng.
57.Viết chương trình con chèn phần tử có giá trị X vào phía sau tất cả các phần tử có giá trị chẵn trong mảng.
58.Viết chương trình tách 1 mảng các số nguyên thành 2 mảng a và b, sao cho mảng a chứa toàn số lẻ và mảng b chứa toàn số chẵn.
Ví dụ: Mảng ban đầu:                        1 3 8 2 7 5 9 0 10
            Mảng a:           1 3 7 5 9
            Mảng b:          8 2 10
 
59.Cho 2 mảng số nguyên a và b kích thước lần lượt là n và m. Viết chương trình nối 2 mảng trên thành mảng c theo nguyên tắc chẵn ở đầu mảng và lẻ ở cuối mảng.
Ví dụ: Mảng a:           3 2 7 9           
            Mảng b:          1 8 10 4 12 6
            Mảng c:          6 12 4 10 2 8 3 1 7 5 9
60.Viết chương trình nhập vào mảng A gồm n phần tử, trong quá trình nhập kiểm tra các phần tử nhập vào không được trùng, nếu trùng thông báo và yêu cầu nhập lại.
61.Viết chương trình con tính tổng của từng dãy con giảm có trong mảng.
62.(*) Cho mảng các số nguyên a gồm n phần tử (n 30000) và số dương k (kn). Hãy chỉ ra số hạng lớn thứ k của mảng.
Ví dụ: Mảng a:           6 3 1 10 11 18
            k=2    
            Kết quả:          10
63.(*) Cho 2 dãy A, B các số nguyên (kích thước dãy A nhỏ hơn dãy B). Hãy kiểm tra xem A có phải là con của B hay không?
64.Viết chương trình con liệt kê các bộ 4 số a, b, c, d trong mảng các số nguyên (có ít nhất 4 phần tử và đôi một khác nhau) sao cho a+b =c+d.
65.(*) Viết chương trình tính trung bình cộng của các tổng các dãy tăng dần có trong mảng các số nguyên.
Ví dụ: 1 2 3 4 2 3 5 6 4 5 6 TB =15
66.Viết chương trình tính tổng tất cả các phần tử xung quanh trên mảng các số nguyên. (Phần tử xung quanh là 2 phần tử bên cạnh cộng lại bằng chính nó. Ví dụ: 1 2 3 1,2 là 2 phần tử xung quanh của 3).
Ví dụ: 1 3 2 5 3 9 6 Tổng 17
67.(**) Viết chương trình nhập vào 2 số lớn a, b nguyên (a, b từ 20 chữ số trở lên). Tính tổng, hiệu, tích, thương của 2 số trên.
68.Viết chương trình con tính tổng các phần tử là số Amstrong (số Amstrong là số có đặc điểm như sau: số có k ký số, tổng của các lũy thừa bậc k của các ký số bằng chính số đó).
Ví dụ: 153 là số có các ký số 13+53+33 =153 là một số Amstrong
69.Viết chương trình con tìm và xóa tất cả các phần tử trùng với x trong mảng 1 chiều các số nguyên, nếu không tồn tại phần tử x trong mảng thì trả về -1.
70.Viết chương trình con xóa tất cả những phần tử trùng nhau trong dãy chỉ giữ lại một phần tử trong đó.
Ví dụ: 1 6 2 3 2 4 6 5  1 6 2 3 4 5
71.(**) Viết chương trình con xóa những phần tử sao cho mảng kết quả có thứ tự tăng dần và số lần xóa là ít nhất.
72.Cho dãy a gồm n số nguyên có thứ tự tăng dần. Nhập vào 1 phần tử nguyên X, viết chương trình con chèn X vào dãy số sao cho dãy vẫn có thứ tự tăng dần (không sắp xếp).
73.Viết chương trình tìm số lẻ nhỏ nhất lớn hơn mọi số chẵn có trong mảng.
74.Viết chương trình con tìm giá trị chẵn nhỏ nhất nhỏ hơn mọi giá trị lẻ trong mảng các số nguyên.
75.Viết chương trình con tìm phần tử xuất hiện nhiều nhất trong mảng các số nguyên.
76.Viết chương trình đếm và liệt kê các mảng con tăng dần trong mảng một chiều các số nguyên.
Ví dụ: 6 5 3 2 3 4 2 7 các dãy con tăng dần là 2 3 4 và 2 7.
77.Viết chương trình tìm mảng con tăng dần có tổng lớn nhất trong mảng một chiều.
78.(*) Viết chương trình nhập vào 1 dãy số a gồm n số nguyên (n100). Tìm và in ra dãy con tăng dài nhất.
Ví dụ: Nhập dãy a:     1 2 3 6 4 7 8 4 5 6 7 8 9 4 5         
            Dãy con tăng dần dài nhất:    4 5 6 7 8 9
79.(**) Viết chương trình tách 1 mảng các số nguyên thành 2 mảng a và b, sao cho kết quả thu được là:
-        Mảng a chứa toàn bộ số lẻ tăng dần.
-        Mảng b chứa toàn số chẵn giảm dần.
(không dùng sắp xếp).
Hướng dẫn: Tìm vị trí chèn thích hợp khi trích phần tử mảng ban đầu.
Ví dụ: Mảng ban đầu:                        9 3 8 2 7 5 1 0 10
            Mảng a:           1 3 5 7 9
            Mảng b:          10 8 2
80.(**) Viết chương trình in ra tam giác Pascal (dùng mảng một chiều).
81.Viết chương trình nhập vào dãy số a gồm n số thực (n100), nhập vào dãy số b gồm m số thực (m100).
-        Hãy sắp xếp hai dãy số theo thứ tự tăng dần.
-        (*) Trộn 2 dãy trên thành dãy c sao cho dãy c vẫn có thứ tự tăng.
-        Xuất dãy a, b, c ra màn hình.
82.(*) Cho mảng C có n phần tử (n <200), các phần tử là các chữ số trong hệ đếm cơ số 16 (Hexa) (điều kiện mỗi phần tử <= n). Hãy tách mảng C ra các mảng con theo điều kiện sau: các mảng con được giới hạn bởi lần xuất hiện thứ 2 của con số trong dãy.
Ví dụ: 123A4518B23  có dãy con là 123A451, 23A4518B2, 3A4518B23.
83.(**) Cho 2 số nguyên dương A, B. Hãy xác định 2 số C, D tạo thành từ 2 số A, B sao cho C là số lớn nhất, D là số nhỏ nhất. Khi gạch đi 1 số chữ số trong C (D), thì các số còn lại giữ nguyên tạo thành A, các chữ số bỏ đi giữ nguyên tạo thành B.
Ví dụ: A= 52568, B= 462384 C = 54625682384, D = 45256236884.
84.Viết chương trình nhập vào dãy số a gồm n số nguyên (n100).
-        Hãy đảo ngược dãy đó.
Ví dụ: Nhập a: 3 4 5 2 0 4 1
            Dãy sau khi đảo:        1 4 0 2 5 4 3
-        (*) Hãy kiểm tra xem dãy đã cho có thứ tự chưa (dãy được gọi là thứ tự khi là dãy tăng hoặc dãy giảm).
85.Cho mảng A có n phần tử hãy cho biết mảng này có đối xứng hay không.
86.(**) Hãy viết chương trình phát sinh ngẫu nhiên mảng các số nguyên gồm 10.000 phần tử, mỗi phần tử có giá trị từ 0 đến 32.000 và xây dựng chương trình con thống kê số lần xuất hiện các phần tử trong mảng, sau đó cho biết phần tử nào xuất hiện nhiều lần nhất.
Ví dụ: Mảng: 5 6 11 4 4 5 4
                        5 xuat hien 2 lan
                        6 xuat hien 1 lan
                        11 xuat hien 1 lan
                        4 xuat hien 3 lan
            4 xuat hien nhieu lan nhat
87.Cho mảng A có n phần tử. Nhập vào số nguyên k (k 0), dịch phải xoay vòng mảng A k lần.
Ví dụ: Mảng A:          5 7 2 3 1 9
            Nhập k=2
            Dịch phải xoay vòng mảng A:           1 9 5 7 2 3
VI.        Chương trình con
1.      Cài đặt lại tất cả các bài tập ở phần IV và V bằng cách dùng chương trình con.
2.      Viết chương trình tính diện tích và chu vi hình chữ nhật với chiều dài và chiều rộng được nhập từ bàn phím.
3.      Viết chương trình tính diện tích và chu vi hình tròn với bán kính được nhập từ bàn phím.
4.      Nhập số nguyên dương n (n>0). Liệt kê tất cả các số nguyên tố nhỏ hơn n.
5.      Nhập số nguyên dương n (n>0). Liệt kê n số chính phương đầu tiên.
6.      Nhập số nguyên dương n (n>0). Đếm xem có bao nhiêu số hoàn thiện nhỏ hơn n.
7.      Nhập số nguyên dương n (0<= n <100) và in ra cách đọc của n.
Ví dụ: Nhập n= 105. In ra màn hình: Mot tram le nam.
8.      Viết chương trình tính tiền thuê máy dịch vụ internet và in ra màn hình kết quả. Với dữ liệu nhập vào là giờ bắt đầu thuê (GBD), giờ kết thúc thuê (GKT), số máy thuê (Somay).
-     Điều kiện cho dữ liệu nhập: 6<= GBD< GKT<=21. Giờ là số nguyên.
-     Đơn giá: 2500đ cho mỗi giờ máy trước 17:30 và 3000đ cho mỗi giờ máy sau 17:30.
9.      Viết chương trình tính tiền lương ngày cho công nhân, cho biết trước giờ vào ca, giờ ra ca của mỗi người.
Giả sử rằng:
-     Tiền trả cho mỗi giờ trước 12 giờ là 6000đ và sau 12 giờ là 7500đ.
-     Giờ vào ca sớm nhất là 6h sáng và giờ ra ca trễ nhất là 18h (giả sử giờ nhập vào nguyên).
10.Nhập vào 2 số nguyên p, q và tính biểu thức sau:
(-q2+(p327+q24)12)13 +( -q2-(p327+q24)12)13
11.Nhập vào 3 số thực a, b, c và kiểm tra xem chúng có thành lập thành 3 cạnh của 1 tam giác hay không? Nếu có hãy tính diện tích, chiều dài mỗi đường cao của tam giác và in kết quả ra màn hình.
-     Công thức tính diện tích s =sqrt(p*(p-a)*(p-b)*(p-c))
-     Công thức tính các đường cao: ha=2sa, hb=2sb, hc=2sc.
(với p là nửa chu vi của tam giác).
12.Nhập vào 6 số thực a, b, c, d, e, f. Giải hệ phương trình sau:
13.Viết chương trình nhập 2 số nguyên dương a, b. Tìm USCLN và BSCNN của 2 số nguyên đó.
14.Viết chương trình tính tổng nghịch đảo của n giai thừa.
15.Cho 2 số nguyên a, b. Viết chương trình con hoán vị giá trị 2 số trên.
16.(*) Viết chương trình nhập số nguyên dương gồm 5 chữ số, kiểm tra xem các chữ số n có phải là đối xứng hay không.
Ví dụ: Đối xứng:        13531
            Không đối xứng         13921
17.Viết chương trình nhập số nguyên dương n gồm k chữ số (0< k 5), đếm xem n có bao nhiêu chữ số chẵn và bao nhiêu chữ số lẻ.
18.Viết chương trình nhập số nguyên dương n gồm k chữ số(0< k 5), đếm xem n có bao nhiêu chữ số là số nguyên tố.
19.Viết chương trình nhập số nguyên dương n gồm k chữ số(0< k 5), tính tổng các ước số dương của n.
Ví dụ: Nhập n=6
            Tổng các ước số từ 1 đến n: 1+2+3+6=12
20.Viết chương trình nhập số nguyên dương n gồm k chữ số(0< k 5), tìm ước số lẻ lớn nhất của n.
Ví dụ: Ước số lẻ lớn nhất của 27 là 9.
21.Viết chương trình nhập số nguyên dương n gồm k chữ số(0< k 5), kiểm tra xem các chữ số của n có toàn lẻ hay toàn chẵn không.
22.(*) Viết chương trình nhập số nguyên dương n gồm k chữ số(0< k 5), sắp xếp các chữ số của n theo thứ tự tăng dần.
Ví dụ: Nhập n = 1536
            Kết quả sau khi sắp xếp: 1356.
23.Viết chương trình nhập số nguyên dương n gồm k chữ số(0< k 5), sau đó nhập một số nguyên x, tìm vị trí xuất hiện của chữ số có giá trị x trong n.
Ví dụ: Nhập n = 1526,           x=2
            Kết quả: Chu so 2 o vi tri thu 3.
24.Viết chương trình nhập số nguyên dương n gồm k chữ số(0< k 5), kiểm tra xem các chữ số của n có được sắp thứ tự không.
Ví dụ: Nhập n = 1569 hoặc n =8521
            Kết quả: Có thứ tự.
25.Viết chương trình nhập 2 số a, b sao cho: số lớn nhất trong 2 số phải là một số dương và chia hết cho 7. Nếu nhập sai phải yêu cầu nhập lại cho đến khi đúng.
26.Viết chương trình nhập số nguyên dương n gồm k chữ số (0< k 5), tính giá trị trung bình các chữ số chẵn trong n.
27.(*) Viết chương trình in ra màn hình ngày/tháng /năm của ngày hiện tại, cho phép sử dụng các phím mũi tên lên, xuống để tăng hoặc giảm 1 ngày.
 
28.(*) Viết chương trình in ra màn hình giờ : phút : giây hiện tại, cho phép sử dụng các phím mũi tên lên, xuống để tăng hoặc giảm một giây.


   
This website was created for free with Own-Free-Website.com. Would you also like to have your own website?
Sign up for free