Tải bản đầy đủ (.doc) (20 trang)

Một số bài tập và đáp án môn Pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (124.34 KB, 20 trang )

ĐỀ CƯƠNG NHẬP MÔN TIN HỌC

Câu 1
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n.
2. Đổi số n ra số nhị phân tương ứng.
3. Hiển thị kết quả.

*****Giải*****
Program cau1;
Uses crt;
Var st,st1:string;
n,i:integer;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
st:=’’;
while n>0 do
begin
str(n mod 2,st1);
st:=st+st1;
n:=n div 2;
end;
for i:=length(st) downto 1 do write(st[i]);
readln;
End.
Câu 2
Cho dãy Fibonaci xác định như sau:
F0=0, F1=1, Fn = Fn-1 + Fn-2 , với n >= 2
Viết chương trình thực hiện các công việc sau:


1. Nhập n nguyên > 0.
2. Tính S = F0 + F1 + F2 + ...+ Fn.
3. In kết quả S ra màn hình.

*****Giải*****
Program cau2;
Uses crt;
Var n,i,s:integer;
x:array[0..100] of integer;
Begin
1


clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
x[0]:=0;
x[1]:=1;
s:=x[0]+x[1];
for i:=2 to n do
x[i]:=x[i-1]+x[i-2];
i:=i+1;
for i:=2 to n do
if x[i]=x[i-1]+x[i-2] then s:=s+x[i];
writeln(‘tong s=’,s);
readln;
End.

Câu 3
Viết chương trình thực hiện các công việc sau:

1. Nhập n nguyên > 0.
2. Tính S là tổng của N số nguyên tố đầu tiên.
3. In kết quả S ra màn hình.

*****Giải*****
Program cau3;
Var n,i,dem,s:integer;
Function kt(j:integer):boolean;
var i:integer;
begin
kt:=false;
for i:=2 to trunc(sqrt(j)) do
if j mod i =0 then exit;
kt:=true;
end;
Begin
write(‘nhap n=’);
readln(n);
s:=0;
dem:=0;
i:=2
while dembegin
if kt(i) then
begin
inc(dem);
s:=s+i;
end;
2



inc(i);
end;
writeln(‘tong ‘,n,’ so nguyen to dau tien la:’,s);
readln;
End.
Câu 4
Viết chương trình thực hiện các công việc sau:
1. Nhập một chuỗi St.
Đếm xem trong St có bao nhiêu:
- Chữ cái A, B, C, ..., Z (không phân biệt chữ hoa, thường).
- Chữ số 0, 1, ..., 9.
- Kí tự trắng.
- Các kí tự khác.
Trong bốn loại trên loại nào nhiều nhất?

*****Giải*****
Program cau4;
Uses crt;
Var i,a,b,c,d : integer;
st:string;
Begin
clrcsr;
write(‘nhap chuoi st:’);
readln(st);
a:=0;
b:=0;
c:=0;
d:=0;
for i:=1 to length(st) do

Case st[i] of
‘A’..’Z’ : a:=a+1;
‘a’..’z’ : a:=a+1;
‘0’..’9’ : b:=b+1;
‘ ’ : c:=c+1
Else d:=d+1;
End;
Writeln(‘so luong chu cai la:’,a);
Writeln(‘so luong chu so la:’,b);
Writeln(‘so luong ki tu trang la:’,c);
Writeln(‘so luong ki tu khac:’,d);
If (a>b) and (a>c) and (a>d) then write(‘chu cai nhieu nhat’);
If (b>a) and (b>c) and (b>d) then write(‘chu so nhieu nhat’);
If (c>a) and (c>b) and (c>d) then write(‘ki tu trang nhieu nhat’);
If (d>a) and (d>b) and (d>c) then write(‘ki tu khac nhieu nhat’);
Readln;
3


End.
Câu 5
Viết chương trình thực hiện các công việc sau:
1. Nhập một danh sách gồm n tên sinh viên (n nhập từ bàn phím).
2. Đổi các tên sang chữ hoa.
3. Sắp xếp và in ra màn hình theo thứ tự A, B, C,...
Ví dụ nhập năm tên: lan, an, anh, thanh, bich, in ra : AN, ANH, BICH, LAN,
THANH

*****Giải*****
Program cau5;

Uses crt;
Var n, i, j : integer;
st, tg : string;
Begin
clrscr;
write(‘nhap so sinh vien:’);
readln(n);
for i:=1 to n do
begin
write(‘nhap ten sinh vien thu ‘,i,’:’);
readln(st[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if st[i]>st[j] then
begin
tg:=st[i];
st[i]:=st[j];
st[j]:=tg;
end;
writeln(‘danh sach sinh vien la:’);
for i:=1 to n do
begin
for j:=1 to length(st[i]) do st[i][j]:=upcase(st[i][j]);
write(st[i]:8);
end;
readln;
End.
Câu 6
Viết chương trình thực hiện các công việc sau:

1. Nhập một số nguyên dương n và một dãy số nguyên dương x1, x2, ..., xn.
2. Xây dựng dãy A là các số chẵn của dãy x.
3. Hiển thị hai dãy x, A ra màn hình, mỗi dãy trên một dòng.

4


*****Giải****
Program cau6;
Uses crt;
Var n,i:integer;
x:array[1..100] of integer;
Begin
clrcsr;
write(‘nhap so nguyen duong n=’);
readln(n);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
write(‘day x la:’);
for i:=1 to n do write(x[i]:4);
writeln;
write(‘day A gom cac so chan la:’);
for i:=1 to n do
if x[i] mod 2 =0 then write(x[i]:4);
readln;
End.
Câu 7

Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n và một dãy số nguyên dương x1, x2, ..., xn.
2. Xây dựng dãy A là các số lẻ của dãy x.
3. Hiển thị hai dãy x, A ra màn hình, mỗi dãy trên một dòng.

*****Giải****
Program cau7;
Uses crt;
Var n,i:integer;
x:array[1..100] of integer;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
wite(‘day x la:’);
for i:=1 to n do write(x[i]:4);
writeln;
5


write(‘day A gom cac so le la:’);
for i:=1 to n do
if x[i] mod 2<>0 then write(x[i]:4);
readln;
End.

Câu 8
Viết chương trình thực hiện các công việc sau:
1. Nhập một chuỗi St
2. Xây dựng chuỗi St1 là các ký tự của chuỗi St nhưng đảo ngược thứ tự
3. Đổi chuỗi St thành chữ hoa.
4. Đổi chuỗi St1 thành chữ thường.
Ví dụ cho St=‘AbcD12’, thì St1=‘21DcbA’, sau khi đổi ta được St= ‘ABCD12’ và
St1=‘21dcba’.

*****Giải****
Program cau8;
Uses crt;
Var st,st1:string;
i:integer;
Begin
clrscr;
write(‘nhap chuoi st:’);
readln(st);
st1:=’’;
for i:=length(st) downto 1 do st1:=st1+st[i];
writeln(‘chuoi st1 la:’,st1);
for i:=1 to length(st) do st[i]:=upcase(st[i]);
write(‘chuoi st chu hoa la:’);
for i:=1 to length(st[i]) do writeln(st);
for i:=1 to length(st1) do
if (st1[i]>=’A’) and (st1[i]<=’Z’) then
st1[i]:=chr(ord(st1[i])+32);
write(‘chuoi st1 chu thuong la:’);
for i:=1 to length(st1[i]) do write(st1);
readln;

End.

Câu 9
Viết chương trình thực hiện các công việc sau:
1. Nhập một chuỗi St.
2. Xóa bỏ các kí tự trắng thừa ở đầu chuỗi St.
3. Xóa bỏ các kí tự trắng thừa ở cuối chuỗi St.
4. Xóa bỏ các kí tự trắng của chuỗi St sao cho giữa hai từ chỉ có một đúng một kí tự
trắng.
5.Đổi chuỗi St thành chữ thường,riêng các chữ đầu từ thành chữ hoa.
6


Các câu lệnh
while st[1]=' ' do delete(st,1,1); {dùng để xoá kí tự trắng ở đầu
chuỗi}
while st[length(st)]=' ' do delete(st,length(st),1) {dùng để
xoá kí tự trắng ở cuối chuỗi}
while pos(#32#32,st)<>0 do delete(st,pos(#32#32,st),1);
{ #32 là dấu cách, tìm các vị trị có 2 dấu cách liên tiếp và xoá đ
i 1 cái }
for i:=1 to length(st) do if s[i]=#32 then s[i+1]:=upcase(s[i+1]);
{dùng để đổi các chữ đầu thành chữ hoa}

*****Giải****
Program cau9;
Uses crt;
Var st:string;
i,k:integer;
Begin

clrscr;
write(‘nhap chuoi st:’);
readln(st);
while st[1]=#32 do delete(st,1,1);
while st[length(st)]=#32 do delete(st,length(st),1);
k:=pos(‘ ‘,st);
{(‘ ‘,st) la (‘2dau cach’,st)}
while k>0 do
begin
delete(st,k,1);
k:=pos(‘ ‘,st);
end;
for i:=1 to length(st) do
if (st[i]>=’A’) and (st[i]<=’Z’) then st[i]:=chr(ord(st[i])+32);
write(‘chuoi st sau khi doi la:’);
for i:=1 to length(st) do
if st[i]=#32 then st[i+1]:=upcase(st[i+1]);
st[1]:=upcase(st[1]);
write(st);
readln;
End.
Câu 10
Viết chương trình thực hiện các công việc sau:
1. Nhập một chuỗi St.
7


2. Kiểm tra tính đối xứng của chuỗi. In kết quả ra màn hình.
Ví dụ: các chuỗi ‘BCD1DCB’ và ‘ABCCBA’ là đối xứng, còn ‘ABCDBA’ là không
đối xứng.


*****Giải****
Program cau10;
Uses crt;
Var st:string;
i:integer;
kt:Boolean;
Begin
clrscr;
write(‘nhap chuoi st:’);
readln(st);
kt:=true;
for i:=1 to length(st) do
if st[i]<>st[length(st)-i+1] then kt:=false;
if kt=false then write(‘chuoi st khong doi xung’)
else write(‘chuoi st doi xung’);
readln;
End.
Câu 11
Viết chương trình thực hiện các công việc sau:
1. Nhập một chuỗi St.
2. Đếm xem trong chuỗi có bao nhiêu chữ a không phân biệt viết hoa hay viết
thường.
3. In ra màn hình các vị trí xuất hiện chữ a đó.
Ví dụ St=‘Anh van la quan trong’ có 4 chữ a tại các vị trí 1, 6, 10, 14.

*****Giải****
Program cau11;
Uses crt;
Var st:string;

i,dem:integer;
Begin
Clrscr;
write(‘nhap chuoi st:’);
readln(st);
dem:=0;
for i:=1 to length(st) do
if (copy(st,i,1)=’a’) or (copy(st,i,1)=’A’) then dem:=dem+1;
if dem=0 then writeln(‘chuoi khong co chu a’)
8


else
begin
writeln(‘chuoi st co ‘,dem,’ chu a’);
write(‘xuat hien tai vi tri:’);
for i:=1 to length(st) do
if (copy(st,i,1)=’a’) or (copy(st,i,1)=’A’) then write(i:5);
end;
readln;
End.
Câu 12
Viết chương trình thực hiện các công việc sau:
1. Nhập hai chuỗi St và St1.
2. Đếm xem chuỗi St1 xuất hiện mấy lần trong chuỗi St.
3. In ra màn hình các vị trí xuất hiện chuỗi St1 trong chuỗi St.
Ví dụ St=‘pas12pas34’, chuỗi St1 =‘pas’ xuất hiện 2 lần tại các vị trí 1, 6.

*****Giải****
Program cau12;

Uses crt;
Var st,st1:string;
i,dem:integer;
Begin
Clrscr;
write(‘nhap chuoi st:’);
readln(st);
write(‘nhap chuoi st1:’);
readln(st1);
dem:=0;
for i:=1 to length(st) do
if (copy(st,i,length(st1))=st1 then dem:=dem+1;
if dem=0 then writeln(‘chuoi st1 khong xuat hien trong chuoi st’)
else
begin
writeln(‘chuoi ‘,st1 ,’ xuat hien ‘,dem,’ lan trng chuoi st’);
write(‘xuat hien tai vi tri:’);
for i:=1 to length(st) do
if (copy(st,i,length(st1))=st1) then write(i:5);
end;
readln;
End.
Câu 13
9


Viết chương trình thực hiện các công việc sau:
1. Nhập ba chuỗi St, St1, St2.
2. Tìm xem chuỗi St có chứa chuỗi St1 không? In thông báo ra màn hình.
3. Nếu chuỗi St có chứa chuỗi St1 thì thay thế chuỗi St1 trong St bằng chuỗi St2.

Ví dụ: cho St=‘ABC1234E’, St1=‘1234’ và St2 =‘*’. Sau khi thay thế ta được
St=‘ABC*E’.

*****Giải****
Program cau13;
Uses crt;
Var st,st1,st2:string;
i:integer;
Begin
Clrscr;
write(‘nhap chuoi st:’);
readln(st);
write(‘nhap chuoi st1:’);
readln(st1);
write(‘nhap chuoi st2:’);
readln(st2);
i:=pos(st1,st);
if i>0 then
begin
writeln(‘chuoi st chua chuoi st1’);
delete(st,i,length(st1));
insert(st2,st,i);
writeln(‘chuoi st moi la:’,st);
end
else write(‘chuoi st khong chua chuoi st1’);
readln;
End.
Câu 14
Viết chương trình thực hiện các công việc sau:
1. Viết một hàm tính k! với k nguyên dương bất kì.

2. Nhập 2 số nguyên dương n, k từ bàn phím (có kiểm tra điều kiện n  k 0).
3. Sử dụng hàm tính k! (câu 1) để tính số tổ hợp chập k của n theo công thức:
4. In kết quả Cnk ra màn hình.

*****Giải****
Program cau14;
Var n,k:integer;
10


tohop:real;
Function gt(k:integer):longint;
var i,g:integer;
begin
g:=1;
for i:=1 to k do g:=g*i;
gt:=g;
end;
Begin
write(‘nhap n=’);
readln(n);
repeat
write(‘nhap k=’);
readln(k);
until (k>=0) and (k<=n);
tohop:=gt(n)/(gt(k)*gt(n-k));
write(‘to hop chap ‘,k,’ cua ‘,n,’ la:’,tohop:6:0);
readln;
End.
Câu 15

Viết chương trình thực hiện các công việc sau:
1. Viết một hàm LT(x, k) để tính lũy thừa x k của số thực x bất kì với k nguyên dương.
2. Viết một hàm GT(k) để tính k! với k nguyên dương.
3. Nhập số thực x và số n nguyên dương. Sử dụng hàm LT(x, k) và hàm GT(k) để
tính gần đúng:
4. In kết quả S ra màn hình.

*****Giải****
Program cau15;
Var n,i:integer;
S,x:real;
Function Lt(x:real;k:byte):real;
var i:integer ; L:real;
begin
L:=1;
for i:=1 to k do L:=L*i;
Lt:=L;
end;
Function gt(k:byte):real;
var i,g:integer ; g:real;
begin
g:=1;
for i:=1 to k do g:=g*i;
11


gt:=g;
end;
Begin
write(‘nhap n=’);

readln(n);
write(‘nhap x=’);
readln(x);
s:=1;
for i:=1 to n do
s:=s+Lt(x,i)/gt(i);
write(‘EXP^x=’,s:0:3);
readln;
End.
Câu 16
Viết chương trình thực hiện các công việc sau:
1. Nhập số tự nhiên n và một dãy số thực x1, x2, ..., xn.
2. Tìm số lớn nhất trong dãy số xi (với i = 1..n).
3. Tìm số nhỏ nhất trong dãy số xi (với i = 1..n).

*****Giải****
Program cau16;
Uses crt;
Var n,i,max,min:integer;
x:array[1..100] of integer;
Begin
clrscr;
write(‘nhap so tu nhien n=’);
readln(n);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
write(‘day x la:’);

for i:=1 to n do write(x[i]:4);
writeln;
max:=x[1];
min:=x[1];
for i:=1 to n do
begin
if maxif min>x[i] then min:=x[i];
end;
12


writeln(‘so lon nhat day la:’,max);
writeln(‘so nho nhat day la:’,min);
readln;
End.
Câu 17
Viết chương trình thực hiện các công việc sau:
1. Nhập số tự nhiên n và một dãy số thực x1, x2, ..., xn.
2. Ðếm xem trong dãy số xi (với i = 1..n) có:Bao nhiêu số dương?Bao nhiêu số âm?
Bao nhiêu số 0 ? Số lượng loại nào nhiều nhất ?

*****Giải****
Program cau17;
Uses crt;
Var n,i,a,b,c:integer;
x:array[1..100] of integer;
Begin
clrscr;
write(‘nhap so tu nhien n=’);

readln(n);
write(‘nhap day x:’);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
write(‘day x la:’);
for i:=1 to n do write(x[i]:4);
writeln;
a:=0;
b:=0;
c:=0;
for i:=1 to n do
begin
if x[i]>0 then a:=a+1;
if x[i]<0 then b:=b+1;
if x[i]=0 then c:=c+1;
end;
writeln(‘co ‘,a,’ so duong’);
writeln(‘co ‘,b,’ so am’);
writeln(‘co ‘,c,’ so 0’);
if (a>b) and (a>c) then write(‘so duong nhieu nhat’);
if (b>a) and (b>c) then write(‘so am nhieu nhat’);
if (c>a) and (c>b) then write(‘so 0 nhieu nhat’);
readln;
13


End.

Câu 18
Viết chương trình thực hiện các công việc sau:
1,Nhập một số nguyên dương n và một dãy số nguyên x1, x2, ..., xn.
2, Hiển thị kết quả trên màn hình:
- Các số chẵn trong dãy số xi (với i = 1..n).
- Các số lẻ trong dãy số xi (với i = 1..n).yêu cầu mỗi loại trên một dòng

*****Giải****
Program cau18;
Uses crt;
Var n,i:integer;
x:array[1..100] of integer;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
write(‘nhap day x:’);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
write(‘day x la:’);
for i:=1 to n do write(x[i]:4);
writeln;
write(‘cac so chan cua day la:’);
for i:=1 to n do
if x[i] mod 2 = 0 then write(x[i]:4);
writeln;
write(‘cac so le cua day la:’);

for i:=1 to n do
if x[i] mod 2<>0 then write(x[i]:4);
readln;
End.
Câu 19
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n.
2. Xây dựng dãy số xi (với i = 0..n) là dãy Fibonaci trong đó x 0=1, x1=1 và xi được
tính theo công thức xi =xi-1 + xi-2 (với i = 2..n)
3. Hiển thị dãy số xi (với i = 0..n) ra màn hình

*****Giải****
Program cau19;
14


Uses crt;
Var n,i,s:integer;
x:array[0..100] of integer;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
x[0]:=1;
x[1]:=1;
for i:=2 to n do
x[i]:=x[i-1]+x[i-2];
i:=i+1;
write(‘day so x[i] la:’);
for i:=0 to n do write(x[i]:4);

readln;
End.
Câu 20
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n và một dãy số x1, x2, ..., xn.
2. Hãy tính :

3. Hiển thị kết quả S1, S2 ra màn hình.

*****Giải****
Program cau20;
Uses crt;
Var n,i:integer;
x:array[1..100] of integer;
s1,s2,t1,t2:real;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
t1:=0;
for i:=1 to n do
t1:=t1+x[i];
s1:=t1/n;
t2:=0;
for i:=1 to n do

15


t2:=t2+sqr(x[i]);
s2:=sqrt(t2);
writeln(‘s1=’,s1:3:3);
writeln(‘s2=’,s2:3:3);
readln;
End.
Câu 21
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n và một dãy số x1, x2, ..., xn.
2. Hiển thị ra màn hình dãy đảo ngược của dãy số x i (với i = 1..n).Ví dụ cho dãy 1 5
3 8 in ra: 8 3 5 1
3. Sắp xếp dãy số xi (với i = 1..n) theo chiều tăng dần và hiển thị dãy ra màn hình.

*****Giải****
Program cau21;
Uses crt;
Var n,i,tg,j:integer;
x:array[1..100] of integer;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;

write(‘day so da nhap la:’);
for i:=1 to n do write(x[i]:4);
writeln;
write(‘day so dao nguoc la:’);
for i:=n downto 1 do write(x[i]:4);
for i:=1 to n-1 do
for j:=i+1 to n do
if x[i]>x[j] then
begin
tg:=x[i];
x[i]:=x[j];
x[j]:=tg;
end;
writeln;
write(‘day sap xep tang la:’);
for i:=1 to n do write(x[i]:4);
readln;
End.
16


Câu 22
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n và một dãy số x1, x2, ..., xn.
2. Hiển thị ra màn hình dãy đảo ngược của dãy số x i (với i = 1..n). Ví dụ cho dãy 1 5
3 8, in ra: 8 3 5 1
4. Sắp xếp dãy số xi (với i = 1..n) theo chiều giảm dần và hiển thị dãy ra màn hình.

*****Giải****
Program cau22;

Uses crt;
Var n,i,tg,j:integer;
x:array[1..100] of integer;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
write(‘day so da nhap la:’);
for i:=1 to n do write(x[i]:4);
writeln;
write(‘day so dao nguoc la:’);
for i:=n downto 1 do write(x[i]:4);
for i:=1 to n-1 do
for j:=i+1 to n do
if x[i]begin
tg:=x[i];
x[i]:=x[j];
x[j]:=tg;
end;
writeln;
write(‘day sap xep giam la:’);
for i:=1 to n do write(x[i]:4);
readln;
End.

Câu 23
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n và hai dãy bất kỳ:
- xi (với i = 1..n).
- yi (với i = 1..n).
2. Xây dựng dãy thứ ba z1, z2, .., zn là tổng của hai dãy số xi (với i = 1..n) và dãy số yi
17


(với i = 1..n), tức là: zi= xi + yi.
3. Hiển thị ra màn hình ba dãy số xi , yi , zi (với i = 1..n) mỗi dãy trên một dòng.

*****Giải****
Program cau23;
Uses crt;
Var n,i:integer;
x,y,z:array[1..100] of integer;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
writeln(‘nhap day x:’);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
writeln(‘nhap day y:’);
for i:=1 to n do
begin

write(‘y[‘,i,’]=’);
readln(y[i]);
end;
for i:=1 to n do z[i]:=x[i]+y[i];
write(‘day so x la:’);
for i:=1 to n do write(x[i]:4);
writeln;
write(‘day so y la:’);
for i:=1 to n do write(y[i]:4);
writeln;
write(‘day so z la:’);
for i:=1 to n do write(z[i]:4);
readln;
End.
Câu 24
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n và một dãy số bất kỳ x1, x2, ..., xn.
2. Dãy số xi (với i = 1..n) có đối xứng không? (Ví dụ dãy 1 3 5 4 5 3 1 là đối xứng).
3. Hiển thị dãy xi ra màn hình.

*****Giải****
Program cau24;
Uses crt;
Var n,i:integer;
x:array[1..100] of integer;
18


kt:boolean;
Begin

clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
writeln(‘nhap day x:’);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
kt:=true;
for i:=1 to n do
if x[i]<>x[n-i+1] then kt:=false;
if kt=false then write(‘day x khong doi xung’)
else write(‘day x doi xung’);
write(‘day so x la:’);
for i:=1 to n do write(x[i]:4);
readln;
End.
Câu 25
Viết chương trình thực hiện các công việc sau:
1. Nhập một số nguyên dương n và một dãy số bất kỳ x1, x2, ..., xn.
2. Dãy số xi (với i = 1..n) có lập thành một cấp số cộng không ? (Ví dụ dãy 1 3 5 7 là
một cấp số cộng)
3. Hiển thị dãy xi ra màn hình.

*****Giải****
Program cau25;
Uses crt;
Var n,i:integer;
x:array[1..100] of integer;

kt:boolean;
Begin
clrscr;
write(‘nhap so nguyen duong n=’);
readln(n);
writeln(‘nhap day x:’);
for i:=1 to n do
begin
write(‘x[‘,i,’]=’);
readln(x[i]);
end;
kt:=true;
for i:=2 to n-1 do
19


if x[i]<>(x[i-1]+x[i+1])/2 then kt:=false;
if kt=false then writeln(‘day x khong la cap so cong’)
else writeln(‘day x la cap so cong’);
write(‘day so x la:’);
for i:=1 to n do write(x[i]:4);
readln;
End.

20



×