victory no badgmail com nguyôn thþ huª thpt t©n yªn ii – b¾c giang bµi tëp pascal 1 mét sè ®o¹n lönh cçn nhí 1 1 cêu tróc mét ch­¬ng tr×nh pascal phçn khai b¸o khai b¸o tªn ch­¬ng tr×nh program

28 5 0
victory no badgmail com nguyôn thþ huª thpt t©n yªn ii – b¾c giang bµi tëp pascal 1 mét sè ®o¹n lönh cçn nhí 1 1 cêu tróc mét ch­¬ng tr×nh pascal phçn khai b¸o khai b¸o tªn ch­¬ng tr×nh program

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

- LÆp víi sè lÇn biÕt tríc:.. + KiÓm tra xem m¶ng cã ®èi xøng qua ®êng chÐo chÝnh kh«ng.. T¬ng tù víi ma trËn). uses crt;.[r]

(1)

Bài tập Pascal 1 Một số đoạn lệnh cần nhớ

1.1 Cấu trúc chơng trình Pascal

{ Phần khai báo}

- Khai báo tên chơng trình:program <tên chơng trình>; - Khai báo th viên: uses <tên th viện>;

- Khai báo hằng: const <tên hằng> : <giá trị hằng>; - Khai báo biến: var <tên biến> : <kiểu liệu>;

- Khai báo chơng trình con:

Thủ tục: procedure <tên thủ tục> [ (danh sách tham số) ] <phần khai báo biến dùng thủ tục>;

Begin

<d·y c¸c lƯnh>

End;

Hàm: function <tên hàm> [(danh sách tham số)] : <kiểu liệu> <phần khai báo biến dùng thđ tơc>;

Begin

<d·y c¸c lƯnh>

<tên hàm> : <biểu thức>: { trả lại giá trị cho hàm}

End;

{Phần thân chơng trình}

Begin

<D·y c¸c lƯnh>;

End.

1.2 Một số kiểu liệu hay dùng - Kiểu nguyên:

Byte: Từ đến 255 Integer: Từ -215 đến 215-1.

Word: Từ đến 216 -1.

Longint: Từ -231 đến 231- 1.

- KiÓu thùc:

Real: có giá trị tuyệt đối nằm phạm vi từ 10-38 đến 1038

(2)

Char: 256 kÝ tù bé m· ASCII - KiĨu logic:

Boolean: có giá trị True False 1.3 Thủ tục chuẩn vào/ đơn giản

- Nhập liệu từ bàn phím:

Read (<danh sách biến vào>);

Hoặc Readln (<danh sách biến vào>); - Xuất liệu hình:

Write (<danh sách kết ra>);

Hoặc Writeln (<danh sách kết ra>); 1.4 Câu lệnh rẽ nhánh

- If - then:

Dạng thiếu: If <điều kiƯn> then <c©u lƯnh>;

Dạng đủ: If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

- Case - of:

Case <biÓu thøc> of

<h»ng 1> : <lÖnh 1>; <h»ng 2> : <lÖnh 2>; …

<h»ng n - 1> : <lÖnh n - 1>;

Else

<h»ng n> : <lÖnh n>;

End;

1.5 Câu lệnh lặp

- Lặp với số lần biết trớc:

Dng tin: For <biến đếm> := <giá trị đầu> to <giá tri cuối> <câu lệnh>;

Dạng lùi: For <biến đếm> := <giá trị cuối> downto <giá trị đầu>

do <câu lệnh>;

- Lặp với số lần cha biết trớc:

While <điều kiện> <lƯnh>; Repeat

(3)

Until <®iỊu kiện>;

1.6 Mảng chiều - Khai báo Trực tiếp:

Var <tên biến mảng> : array [ kiĨu chØ sè ] of <kiĨu phÇn tư>;

Gián tiếp:

Type <tên kiểu mảng> = array [ kiểu số ] of <kiểu phần tử>; Var <tên biến mảng> : <tên kiểu mảng>;

- Nhập mảng

For i:= to n Begin

Write (‘ nhap A[‘,i,’] = ’); Readln (a[i]);

End; - In m¶ng

For i:= to n Write (A[i] : 5); 1.7 M¶ng chiỊu

- Khai báo Trực tiếp:

Var <tên biến mảng> : array [ kiĨu chØ sè hµng, kiĨu chØ sè cét] of

<kiểu phần tử>; Gián tiếp:

Type <tên kiểu mảng> = array [ kiểu số hàng, kiểu số cột] of <kiểu phần tử>;

Var <tên biến mảng> : <tên kiểu mảng>;

- NhËp m¶ng

For i:= to n For j:=1 to m

Begin

Write (‘ nhap A[’,i,’,’,j,’] = ’); Readln (a[i,j]);

(4)

- In m¶ng

For i:= to n Begin

For j:=1 to m Write (A[i,j]:5 ); Readln;

End; 1.8 Xâu

- Khai báo

Var <tên biến xâu> : String [ <độ dài lớn xâu> ];

- NhËp x©u

Write ( nhap vao xau: ); readln ( <tên xâu>);

- In xâu

Write (xau: , <tên xâu>);

2 Một số thuật toán bản

2.1 Kiểm tra N có số chẵn (tơng tự số lẻ)

If N mod 2=0 then write (‘N la so chan); 2.2 Kiểm tra N có phải số phơng (số phơng số bình phơng số nguyên dơng)

If Sqr(Round(Sqrt(N)))= N then write(N la so chinh phuong’);

2.3 KiÓm tra N cã số nguyên tố (số nguyên tố số nguyên dơng có ớc nguyên dơng chÝnh nã)

i := 2;

m := Round ( Sqrt (N)); { i m khai báo kiểu nguyªn} While (i<=m) and (N mod i <> 0) i := i + 1; If i>m then Write (‘ N la so nguyen to’);

2.4 KiÓm tra N có số hoàn hảo (số hoàn hảo số nguyên dơng có tổng ớc trừ nã)

S := 0; { S khai b¸o cïng kiĨu víi N} For i := to N -

If N mod i = then S := S + i ;

(5)

2.5 Kiểm tra N có số đẹp (số hồn hảo số nguyên dơng, đọc từ trái sang phải nó, chữ số đứng trớc <= chữ số đớng sau)

{BiÕn kt khai b¸o kiĨu logic} Str (N, S); { S khai báo kiểu xâu} Kt := True; i := 1;

While (kt = true) and (i < length(S)) Begin

If S[i+1] < S[i] then kt := False; I := i+1;

End;

(6)

3 Bài tập

3.1 Bài tập hình học

Bài 1: Cho tam giác có độ dài cạnh a, b, c Tính chu vi, diện tích, độ dài đ-ờng cao Kiểm tra xem tam giác vng, hay cân?

uses crt;

var a,b,c, cv:integer; p, dt: real;

begin clrscr;

write(' nhap dai canh:'); readln(a,b,c); if (a+b<c) or (a+c<b) or (b+c<a) then

write(' nhap kich thuoc canh sai') else

begin

cv := a+b+c;

writeln(' chu vi tam giac: ',cv); p:=cv/2;

dt:= sqrt(p*(p-a)*(p-b)*(p-c));

writeln('dien tich tam giac: ',dt:6:2); if (a*a+b*b=c*c) or (b*b+c*c=a*a) or (c*c+a*a=b*b) then

begin

writeln(' day la tam giac vuong'); if (a>b) and (a>c) then

begin writeln('do dai duong cao thu nhat: ',b); writeln('do dai duong cao thu hai: ',c);

writeln('do dai duong cao thu ba: ',dt/a:6:2); end;

(7)

begin

writeln('do dai duong cao thu nhat: ',a); writeln('do dai duong cao thu hai: ',c); writeln('do dai duong cao thu ba:

',dt/b:6:2); end;

if (c>b) and (c>a) then begin

writeln('do dai duong cao thu nhat: ',a); writeln('do dai duong cao thu hai: ',b); writeln('do dai duong cao thu ba:

',dt/c:6:2); end;

end else begin

if (a=b) and (b=c) and (a=c) then

writeln('day la tam giac deu')

else

if (a=b) or (b=c) or (a=c) then

writeln('day la tam giac can'); writeln('do dai duong cao thu nhat: ',dt/b:6:2);

writeln('do dai duong cao thu hai: ',dt/c:6:2);

writeln('do dai duong cao thu ba: ',dt/a:6:2);

(8)

end

Bài 2: Cho điểm A(xa,ya), B(xb,yb), C(xc,yc), D(xd,yd) Cho biết vị trí tơng đối D tam giác ABC

var ax, bx, cx, dx, ay, by, cy, dy:real; a,b,c:real;

p, p1, p2, p3:real; s, s1, s2, s3: real; d1, d2, d3: real; begin

writeln('nhap toa cho cac diem:'); write('diem A:'); readln(ax,ay);

write('diem B:'); readln(bx,by); write('diem C:'); readln(cx,cy); write('diem D:'); readln(dx,dy);

a:=sqrt(sqr(bx-ax)+sqr(by-ay)); {AB} b:=sqrt(sqr(bx-cx)+sqr(by-cy)); {BC} c:=sqrt(sqr(ax-cx)+sqr(ay-cy)); {CA} p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

d1:=sqrt(sqr(ax-dx)+sqr(ay-dy)); {AD} d2:= sqrt(sqr(bx-dx)+sqr(by-dy)); {BD} d3:= sqrt(sqr(cx-dx)+sqr(cy-dy)); {CD} p1:=(c+d1+d3)/2; { ACD }

p2:=(a+d1+d2)/2; { ABD } p3:=(b+d2+d3)/2; { BCD }

(9)

s2:= sqrt(p2*(p2-d1)*(p2-d2)*(p2-a)); s3:= sqrt(p3*(p3-d2)*(p3-d3)*(p3-b));

if abs(s-s1-s2-s3)<0.001 then write('D thuoc tgiac ABC')

else if abs(s1)<0.001 then write('D nam tren AC')

else if abs(s2)<0.001 then write('D nam tren AB')

else if abs(s3)<0.001 then write('D nam tren BC')

else write('D nam ngoai tgiac ABC');

readln; end

Bµi 3:

3.2 Bµi tËp vỊ sè nguyên

Bài 1: Nhập vào số nguyên dơng a b Tính in hình: tổng, hiệu, tích, thơng a/b UCLN(a,b)

Uses crt;

Var a,b, tong, hieu, tich, ucln: integer; Thuong: real;

Begin Clrscr;

Write (‘nhap a va b: ‘); readln (a,b); Writeln (‘Tong‘,a,‘+’,b,’=’,a + b); Writeln (‘Hieu‘,a,‘-’,b,’=’,a - b); Writeln (‘Tich‘, a,‘*’,b ,’=’,a * b);

(10)

If a>b then a := a-b Else b:=b-a; Writeln (‘UCLN(‘,a,‘va’,b,’)=’, a ); Readln;

End

Bài 2: Giải phơng trình trùng phơng: ax4 + bx2+c = 0.

uses crt;

var a,b,c:integer; d,t,t1,t2:real; begin

clrscr;

writeln('he so a,b,c:'); readln(a,b,c);

if (a=0) then writeln('nhap lai') else

begin

{dat t=x*x}

d:=b*b-4*a*c;

if d<0 then write('PT vo ng') else

if d=0 then begin

t:=-b/(2*a); if t>0 then begin

writeln('PT co 2ng:');

writeln('x1=',-sqrt(t):6:2);

writeln('x2=',sqrt(t):6:2);

end else

(11)

else writeln('Pt vo ng'); end

else {d>0}

begin

t1:=(-b-sqrt(d))/(2*a); t2:=(-b+sqrt(d))/(2*a);

if (t1<0) and (t2<0) then write('Pt vo ng'); if (t1=0) and (t2=0) then write('Pt co ng x=0');

if (t1>0) and (t2>0) then begin

writeln('PT co ngh:');

write('x1=',-sqrt(t1):6:2,'x2=',sqrt(t1):6:2); write('x3=',-sqrt(t2):6:2,'x2=',sqrt(t2):6:2);

end;

if (t1>0) and (t2<0) then

begin

writeln('PT co ng:');

write('x1=',-sqrt(t1):6:2,'x2=',sqrt(t1):6:2);

end;

if (t1<0) and (t2>0) then

begin

writeln('PT co ng:');

write('x1=',sqrt(t2):6:2,'x2=',sqrt(t2):6:2);

end;

end; end; readln; end

(12)

1 1

2 2

a x+b y=c a x+b y=c 

 

uses crt;

var a1, b1, c1, a2, b2, c2:integer; d, dx, dy:real;

begin clrscr;

writeln('nhap cac he so a1,b1,c1:'); readln(a1,b1,c1);

writeln('nhap cac he so a2,b2,c2:'); readln(a2,b2,c2);

d:=a1*b2-a2*b1; dx:=c1*b2-c2*b1; dy:=a1*c2-a2*c1;

if (d=0) and ((dx<>0) or (dy<>0)) then writeln('HPT vo ng')

else

if (d=0) and (dx=0) and (dy=0) then writeln('HPT co vo so ng')

else begin

writeln('HPT co ng:');

writeln('x=',dx/d:3:2,'y=',dy/d:3:2); end;

readln; end

Bài 4: Nhập vào số nguyên Kiểm tra: + N chia hÕt cho kh«ng?

(13)

uses crt;

var n,m,t:word; s,s1:string; i:byte;

begin

clrscr;

write(' N=');readln(n);

if n mod 3=0 then writeln(n,' chia het cho 3') else writeln(n,' khong chia het cho 3');

m:=n; i:=0; t:=0; while m>0

begin

i:=i+1;

t:=t+m mod 10; m:=m div 10; end;

writeln('so cac chu so cua ',n,':',i); writeln('tong cac chu so cua ',n,':',t); str(n,s);

for i:=length(s) downto s1:=s1+s[i]; writeln(' so dao nguoc cua ',n,':',s1); readln;

end

Bài 5: tính tổng N nghìn VND từ lo¹i tiỊn: 1000 VND, 2000 VND, 5000 VND LËp trình tất phơng án

uses crt;

var i,j,k,n,d: integer; begin

clrscr;

(14)

readln(n); d:=0;

for i:=1 to n

for j:=1 to n div for k:=0 to n div if n=i+j*2+k*5 then begin

d:=d+1;

writeln('phuong an thu ',d,' :');

write(n,'000 VND = ',i,'*1000 + ',j,'*2000 +',k,'*5000');

writeln; end;

readln; end

Bài 6: Tính giá trị đa thøc f(x) = anxn+ an-1xn-1+… a1x1+a0 var x,n,i:integer;

f:real;

a:array [0 100] of integer; begin

write('x=');readln(x); write('n=');readln(n);

writeln('nhap cac he so:'); for i:=0 to n

begin

write('A[',i,']=');readln(a[i]); end;

f:=a[n];

(15)

f:=f+a[0];

writeln('KQ: ',f:7:2); readln;

end

3.3 Bài tập mảng

Bài 1: Thực phép tính cộng, trừ, nhân ma trận vuông

(Chú ý: cộng trừ thực đợc với ma trận cỡ n x m Nhân ma trận thực với ma trận có dang: Anxmx Bmxl)

uses crt;

var a,b,c,d: array[1 10,1 10] of integer; m,n,l,i,j,k:byte;

begin

clrscr;

write('n=');readln(n); for i:=1 to n

for j:=1 to n begin

write('A[',i,',',j,']='); readln(a[i,j]);

end;

for i:=1 to n for j:=1 to n begin

write('B[',i,',',j,']='); readln(b[i,j]);

end;

(16)

c[i,j]:=a[i,j]+b[i,j]; d[i,j]:=a[i,j]-b[i,j]; end;

writeln('ma tran tong:'); for i:=1 to n

begin

for j:=1 to n write(c[i,j]:5); writeln;writeln;

end;

writeln('ma tran hieu:'); for i:=1 to n

begin

for j:=1 to n write(d[i,j]:5); writeln;writeln;

end;

for i:=1 to n for k:=1 to n begin

c[i,k]:=0;

for j:=1 to n c[i,k]:=c[i,k] +a[i,j]*b[j,k];

end;

writeln('ma tran tich:'); for i:=1 to n

begin

for j:=1 to n write(c[i,j]:6); writeln;writeln;

(17)

Bài 2: Nhập mảng chiỊu cÊp nxn

+ Kiểm tra xem mảng có đối xứng qua đờng chéo khơng + Đa phần tử lớn nhất, nhỏ mảng

+ Có số ớc số không? Có số bội số không? uses crt;

var a: array[1 10,1 10] of integer; n,i,j,max,min:byte;

kt:boolean; begin

clrscr;

write('n=');readln(n); for i:=1 to n

for j:=1 to n begin

write('A[',i,',',j,']='); readln(a[i,j]);

end;

for i:=1 to n begin

for j:= to n write(a[i,j]:5); writeln;

end;

kt:=true; i:=1; j:=1;

while (i<=n) and (j<=n) and (kt=true) begin

if a[i,j]<>a[j,i] then kt:=false; i:=i+1;

(18)

if kt=true then writeln('MT doi xung qua duong cheo chinh')

else writeln('Mt ko doi xung qua duong cheo chinh');

max:=a[1,1]; min:=a[1,1]; for i:=1 to n

for j:=1 to n begin

if a[i,j]>max then max:=a[i,j]; if a[i,j]<min then min:=a[i,j]; end;

writeln('GTLN cua mang:', max,' GTNN cua mang:',min);

kt:=true;

for i:=1 to n

if a[i] mod <>0 then kt:=false;

if kt=true then writeln(a[i],'la uoc cua moi so') else writeln('ko co so nao la uoc cua moi so'); kt:=true;

for i:=1 to n

if max mod a[i] <> then kt:=false;

if kt=true then write(max,'la boi cua moi so') else writeln('ko co so nao la boi cua moi so'); readln;

end

Bài 3: Nhập ma trận vuông nxn

+ Tính tổng phần tử dòng cột

+ Tính tổng phần tử đờng chéo đờng chéo phụ uses crt;

(19)

begin

clrscr;

write('n=');readln(n); for i:=1 to n

for j:=1 to n begin

write('A[',i,',',j,']='); readln(a[i,j]);

end;

for i:=1 to n begin

for j:=1 to n write(a[i,j]:5); writeln; writeln;

end; t1:=0;

for i:=1 to n t1:=t1+a[2,i]+a[i,2]; t1:=t1-a[2,2];

writeln('tong cac phan tu o dong cot 2: ',t1); t2:=0;

for i:=1 to n t2:= t2 + a[i,i] + a[i,n-i+1]; if n mod <>0 then t2:=t2-a[(n div 2)+1,(n div 2)+1];

writeln('tong cac phan tu tren duong cheo chinh va duong cheo phu: ',t2);

readln; end

Bµi 4: Nhập vào dÃy số nguyên Sắp xếp lại thành dÃy không giảm uses crt;

(20)

var a:mt;

n,i,j,t,cv:byte;

procedure hoan_vi(var x,y:integer); var tg:integer;

begin

tg:=x; x:=y; y:=tg; end;

procedure nhap_day(var a:mt;n:integer); begin

for i:=1 to n begin

write('A[',i,']=');readln(a[i]); end;

end;

procedure in_day(var a:mt;n:integer); begin

writeln;

for i:=1 to n write(a[i]:7); end;

procedure sx_lua_chon(var a:mt;n:integer); var m:integer;

begin

for i:=1 to n begin

m:=1;

for j:=1 to i+1

if a[j]>a[m] then m:=j;

(21)

end; end;

procedure sx_chen(var a:mt;n:integer); var x:integer;

begin

for i:=2 to n begin

x:=a[i]; j:=i-1;

while x<a[j] begin

a[j+1]:=a[j]; j:=j-1;

end;

a[j+1]:=x; end;

end;

procedure sx_trao_doi(var a:mt;n:integer); begin

for i:=n downto for j:=1 to i-1

if a[j]>a[j+1] then hoan_vi(a[j],a[j+1]);

end; begin

clrscr;

write('n=');readln(n); nhap_day(a,n);

writeln;

(22)

in_day(a,n);

writeln('ban chon kieu sap xep nao:'); writeln('1 sap xep lua chon');

writeln('2 sap xep chen');

writeln('3 sap xep trao doi'); writeln('4 thoat');

write('chon: ');readln(cv); case cv of

1: sx_lua_chon(a,n); 2: sx_chen(a,n); 3: sx_trao_doi(a,n); 4: exit;

end;

writeln('day sau sap xep:'); in_day(a,n);

readln; end

Bài 5: Nhập vào dãy số nguyên, xếp theo thứ tự không giảm, đọc thêm số từ bàn phím chèn vào dãy cho thứ tự không đổi

uses crt;

var a:array[1 100] of integer; i,j,tg,m,n:integer;

begin

clrscr;

write('n=');readln(n); for i:=1 to n

begin

(23)

end;

writeln('day ban dau:');

for i:=1 to n write(a[i]:7); writeln; for i:=n downto

for j:=1 to i-1

if a[j]>a[j+1] then begin

tg:=a[j];

a[j]:=a[j+1]; a[j+1]:=tg; end;

writeln('day sau sap xep:');

for i:=1 to n write(a[i]:7); writeln; write('chen vao so:');readln(m);

i:=1;

while (m>a[i]) and (i<n) i:=i+1; writeln('vi tri chen: ',i);

if i>n then a[i]:=m else

begin

for j:=n downto i a[j+1]:=a[j]; a[i]:=m;

end;

writeln('day sau chen:');

for i:=1 to n+1 write(a[i]:6); readln;

end

Bài 6: Nhập vào dãy số nguyên, đa phần tử dãy số đẹp (Tơng tự với số chẵn, số lẻ, số nguyên tố, số phơng, số hồn hảo Tơng tự với ma trận)

(24)

var a:array[1 100] of integer; n,i:integer;

function sd(var x:integer):boolean; var s:string; kt:boolean;

begin

str(x,s); kt:=true;

for i:=1 to length(s)-1

if s[i]>s[i+1] then kt:=false; sd:=kt;

end; begin

clrscr;

write('n=');readln(n); for i:=1 to n

begin

write('A[',i,']=');readln(a[i]); end;

writeln('nhung so hoan hao day:'); for i:=1 to n

if sd(a[i])=true then writeln(a[i],' la so hoan hao');

readln; end

Bài 7: Phần tử ma trận đợc gọi phần tử yên ngựa nh bé hàng lớn cột, lớn hàng bé cột

NhËp vµo ma trËn vµ cho biÕt cã phàn tử phần tử yên ngựa, ơe vị trí nào?

uses crt;

var a: array[1 10,1 10] of integer; d,n,m,i,j:byte;

(25)

begin

clrscr;

write('n=');readln(n); write('m=');readln(m); for i:=1 to n

for j:=1 to m begin

write('A[',i,',',j,']='); readln(a[i,j]);

end;

for i:=1 to n begin

for j:=1 to m write(a[i,j]:7); writeln; writeln;

end;

for i:=1 to n

begin {lon nhat tren dong} maxd[i]:=a[i,1];

for j:=2 to m

if maxd[i]<a[i,j] then maxd[i]:=a[i,j]; end;

for i:=1 to n write(maxd[i]:6); writeln; for i:=1 to n

begin {nho nhat tren dong} mind[i]:=a[i,1];

for j:=2 to m

if mind[i]>a[i,j] then mind[i]:=a[i,j]; end;

for i:=1 to n write(mind[i]:6); writeln; for j:=1 to m

begin {lon nhat tren cot} maxc[j]:=a[1,j];

for i:=2 to n

if maxc[j]<a[i,j] then maxc[j]:=a[i,j]; end;

for j:=1 to m write(maxc[j]:6);writeln; for j:=1 to m

(26)

for i:=2 to n

if minc[j]>a[i,j] then minc[j]:=a[i,j]; end;

for j:=1 to m write(minc[j]:6); writeln; d:=0;

for i:=1 to n for j:=1 to m

if ((a[i,j]=maxd[i]) and (a[i,j]=minc[j])) or

((a[i,j]=mind[i]) and (a[i,j]=maxc[j])) then

begin

d:=d+1;

writeln(a[i,j],' o dong ',i,' cot ',j,' la PT yen ngua');

end;

if d=0 then write('ko co PT yen ngua nao') else write('co ',d,' PT yen ngua');

readln; end

Bài 8: Hai số đợc gọi sinh đơi số ngun tố có hiệu Nhập dãy số nguyên cho biết cso cặp số sinh đôi

uses crt;

var a:array[1 20] of byte; i,j,n,d:byte;

function nt(var x:byte):boolean; var k,m:byte; kt:boolean;

begin

kt:=false; k:=2;

m:=trunc(sqrt(x));

while (k<=m) and (x mod k<>0) k:=k+1; if (x>1) and (k>m) then kt:=true;

nt:=kt; end;

begin

clrscr;

write('n=');readln(n); for i:=1 to n

begin

write('A[',i,']=');readln(a[i]); end;

(27)

writeln;

for i:=1 to n d:=0;

for i:=1 to n-1 for j:=i+1 to n

if ((nt(a[i])=true) and (nt(a[j])=true)) and (abs(a[i]-a[j])=2) then

begin

writeln(a[i],' va ',a[j],' la so sinh doi');

d:=d+1; end;

if d=0 then write('ko co cap so sinh doi nao') else write('co ',d,' cap so sinh doi');

readln; end

Bài 8: Viết hàm tính ƯCLN(a,b) Nhập vào ma trận A, đa dÃy B có phần tử ƯCLN dòng (tơng tự cột)

uses crt;

var a:array [1 10,1 10] of longint; b:array [1 10] of longint;

i,j,m,n,d,k:longint;

function ucln(var x,y:longint):longint; begin

while x<>y

if x>y then x:=x-y else y:=y-x; ucln:=x;

end; begin

clrscr;

write('n=');readln(n); write('m=');readln(m); for i:=1 to n

for j:=1 to m begin

write('A[',i,',',j,']='); readln(a[i,j]);

end;

for i:=1 to n begin

for j:=1 to m write(a[i,j]:6); writeln;writeln;

(28)

for i:=1 to n begin

d:=ucln(a[i,1],a[i,2]);

for j:=3 to m d:=ucln(d,a[i,j]); writeln('ucln cua dong ',i,' la ',d); b[i]:=d;

end;

writeln('day ucln cua tung dong:'); for i:=1 to n write(b[i]:7); readln;

end

Bµi 9: NhËp vµo ma trËn A cì nxm In dÃy B có phần tử tổng cột (tơng tự với dÃy B tổng phần tử hàng)

Bài 10: Nhập vào d·y råi cho biÕt cã bao nhiªu sè chØ xuÊt lần, số T51-55

3.4 Bài tập xâu kí tự 3.5 Bài tập file

Ngày đăng: 12/04/2021, 20:49

Tài liệu cùng người dùng

Tài liệu liên quan