Giải một số bài toán Pascal

Por wkhaiw

5.3K 3 0

Más

Giải một số bài toán Pascal

5.3K 3 0
Por wkhaiw

1 lập chương trình con tính giá trị của hàm f(a,k)=ak

sử dụng chương trình con tính tổng s= 1k+2k+...+ nk. với n,k nguyên dương nhập từ bàn phím

.........................................................

uses crt;

var

i,n,k:integer;

s:longint;

function mu(a,k:integer): longint;

var i:integer;

t: longint;

t:=1;

for i:=1 to k do

t:=t*a;

mu:=t;

end;

clrscr;

write('Nhap vao so n= '); readln(n);

write('Nhap vao so k= '); readln(k);

s:=0;

for i:=1 to n do

s:=s+mu(i,k);

write('Tong S= ',s);

readln;

end.

..........................................

1. lập chương trình con tính giai thừa của một số a bất kỳ (a nguyên dương). Sử dụng chương trình con tính s=1!+2!+...+ n! n nguyên duong nhập từ bàn phím

uses crt;

var

i,n:integer;

s:longint;

function gt(a:integer): longint;

var i:integer;

t: longint;

t:=1;

for i:=1 to a do

t:=t*i;

gt:=t;

end;

clrscr;

repeat

write('Nhap vao so n= '); readln(n);

until (n>0);

s:=0;

for i:=1 to n do

s:=s+gt(i);

write('Tong S= ',s);

readln;

end.

.............................................

3. viết chương trình nhập 2 ma trận A,B vuông cấp n các phần tử nguyên. Tính tổng 2 ma trận C=A+B.

uses crt;

type mt=array[1..100,1..100] of integer;

var a,b,c:mt;

n,m:integer;

procedure nhap(var x:mt; var hang,cot:integer);

var i,j:integer;

for i:=1 to hang do

for j:=1 to cot do

write('nhap vi tri thu ',i,',',j,'=');

readln(x[i,j]);

end;

end;

procedure xuat(var x:mt; hang,cot:integer);

var i,j:integer;

for i:=1 to hang do

for j:=1 to cot do

write(x[i,j],' ');

writeln;

end;

end;

procedure cong(var x,y,z:mt; hang,cot:integer);

var i,j:integer;

for i:=1 to hang do

for j:=1 to cot do

z[i,j]:=x[i,j]+y[i,j];

end;

clrscr;

write('nhap so hang n='); readln(n);

write('nhap so cot m='); readln(m);

writeln('nhap ma tran a:');

nhap(a,n,m);

clrscr;

writeln('nhap ma tran b;');

nhap(b,n,m);

writeln('ma tran a vua nhap la:');

xuat(a,n,m);

writeln('ma tran b vua nhap la:');

xuat(b,n,m);

cong(a,b,c,n,m);

writeln('tong 2 ma tran la;');

xuat(c,n,m);

readln;

end.

..................................

4 viết chương trình nhập 1 dãy số thực gồm n phần tử từ bàn phím. Tính trung bình cộng các số dương , âm.

uses crt;

var a:array[1..100] of integer;

i,n,b,d:integer;

ta,td:real;

clrscr;

write('nhap so cac pt cua mang n='); readln(n);

{nhap day}

writeln('nhap cac pt cua day:');

for i:=1 to n do

write('a[',i,']=');

readln(a[i]);

end;

for i:=1 to n do

if a[i]>0 then

td:=td+a[i];

d:=d+1; {dem so duong}

end;

if a[i]<0 then

ta:=ta+a[i];

b:=b+1;

end;

end;

if d<>0 then

write('tbc cac so duong la:',td/d:6:2)

else

write('khong co so duong nao trong day!!');

writeln;

if b<>0 then

write('tbc cac so am la :',ta/b:6:2)

else

write('khong co so am nao trong day!!');

readln;

end.

..............................................

5. viết chương trình nhập 1 dãy số thực gồm n phần tử. sắp xếp lại theo chiều ko giảm dần các phần tử trong dãy.

program ds5;

uses crt;

var a:array[1..100] of integer;

i,n,j,tg:integer;

clrscr;

write('nhap n=');

readln(n);

for i:=1 to n do

write('nhap a[',i,']=');

readln(a[i]);

end;

writeln('day vua nhap la:');

for i:=1 to n do

write(a[i]:5);

writeln;

for i:=1 to n-1 do

for j:=i+1 to n do

if (a[i]>a[j]) then

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

end;

writeln('day sau khi sap xep:');

for i:=1 to n do

write(a[i]:5);

readln;

end.

........................................

6. Lập hàm f(k)=k! , g(x,k)=xk. Lập trình nhập x(thực), n(nguyên dương) rồi tính SIN(x) theo công thức khai triển macloranh: S=x-x3/3!+x5/5!-x7/7!+...+(-1)n+1*x2n-1/(2n-1)!

program ds6;

uses crt;

var i,n,j:integer;

ms:longint;

ts,s,x:real;

function gt(k:integer): longint;

var j:integer;

nhan:longint;

nhan:=1;

for j:=1 to k do

nhan:=nhan*j;

gt:=nhan;

end;

function mu(a:real; k:integer): real

; var j:integer;

nhan:real;

nhan:=1;

for j:=1 to k do

nhan:=nhan*a;

mu:=nhan;

end;

clrscr;

write('nhap x= ');

readln(x);

repeat

write('nhap n= ');

readln(n);

until n>0;

s:=x;

for i:=1 to n do

ts:=mu(-1,i)*mu(x,2*i+1);

ms:=gt(2*i+1);

s:=s+ts/ms;

end;

writeln('sin(x)=',s:3:2);

readln;

end.

............................................................

7. viết chương trình nhập 1 dãy số nguyên gồm n phần tử từ bàn phím. Tính trung bình cộng các số chẵn, lẻ.

(Câu này từ từ nhé:)

...........................................................

10. Lập hàm f(k)=k! , g(x,k)=xk. với x và sai số eps nhập từ bàn phím(x thực, 0<eps<1) rồi tính cos(x) theo công thức khai triển macloranh:

S=1-x2/2!+x4/4!-x6/6!+...+(-1)n*x2n/(2n)!+...

...........

uses crt;

var

exp, s,x:real;

n,i:integer;

function gt(k:integer):longint;

var i:integer;

t:longint;

t:=1;

for i:=1 to k do

t:=t*i;

gt:=t;

end;

function mu(a:real;n:integer):real;

var i:integer;

t:real;

t:=1;

for i:=1 to n do

t:=t*a;

mu:=t;

end;

clrscr;

write('Nhap so x can tinh cos: ');

readln(x);

write('Nhap so exp: ');

readln(exp);

n:=0;

repeat

n:=n+1;

until mu(x,2*n)/gt(2*n) <= exp ;

s:=1;

for i:=1 to n do

s:=s+mu(-1,i)*mu(x,2*i)/gt(2*i);

writeln('Cos(',x:3:2,')= ',s:3:2);

write('n= ',n);

readln;

end.

...................................

11. lập hàm g(x,k)=xk áp dụng tính tổng sau:

S=1+x/2+x2/3+..+xn/(n+1) với x(thực), n nguyên dương.

uses crt;

var

x,s:real;

i,n:integer;

function mu(a:real; k:integer): real;

var j:integer;

nhan:real;

nhan:=1;

for j:=1 to k do

nhan:=nhan*a;

mu:=nhan;

end;

clrscr;

write('Nhao vao so x= '); readln(x);

write('Nhap vao so n= '); readln(n);

s:=1;

for i:=1 to n do

s:=s+mu(x,i)/(n+1);

write('S= ',s:5:2);

readln;

end.

...........................................................

12. lập hàm g(x,k)=xk, , g(x,k)=xk, với x(thực), n nguyên dương

Tính s=1-x+ x2/2!- x3/3!+...+(-1)n* xn/n!

uses crt;

var

s,x:real;

i,n:integer;

function gt(k:integer):longint;

var i:integer;

t:longint;

t:=1;

for i:=1 to k do

t:=t*i;

gt:=t;

end;

function mu(a:real;n:integer):real;

var i:integer;

t:real;

t:=1;

for i:=1 to n do

t:=t*a;

mu:=t;

end;

clrscr;

write('Nhao vao so x= '); readln(x);

repeat

write('Nhao vao so n= '); readln(n); until n>0;

s:=1;

for i:=1 to n do

s:=s+mu(-1,i)*mu(x,i)/gt(i);

write('S= ',s:5:2);

readln;

end.

................................................

13. lập hàm max(x,y) trả về GTLN của 2 số x,y. viết chương trình nhập 4 số a,b,c,d sau đó tìm GTLN va GTNN trong 4 số vừa nhập.

uses crt;

var

a,b,c,d:integer;

function solon(x,y:integer):integer;

var max:integer;

max:=x;

if (max<y) then

max:=y;

solon:=max;

end;

clrscr;

write('nhap a='); readln(a);

write('nhap b='); readln(b);

write('nhap c='); readln(c);

write('nhap d='); readln(d);

write('so lon nhat la: ',solon(solon(a,b),solon(c,d)));

readln;

end.

..............................................

14. lập hàm g(x,k)=xk, , g(x,k)=xk tính s với vòng lặp while : S=1+x/1!+x2/2!+..+xn/n!

uses crt;

var

s,x:real;

i,n:integer;

function gt(k:integer):longint;

var i:integer;

t:longint;

t:=1;

for i:=1 to k do

t:=t*i;

gt:=t;

end;

function mu(a:real;n:integer):real;

var i:integer;

t:real;

t:=1;

for i:=1 to n do

t:=t*a;

mu:=t;

end;

clrscr;

write('Nhap vao so x= '); readln(x);

repeat

write('Nhap vao so n= '); readln(n);

until n>0;

i:=0;

s:=1;

while i<n do

i:=i+1;

s:=s+mu(x,i)/gt(i);

end;

write('S= ',s:5:2);

readln;

end.

............................................

15. cho ma trận vuông cấp n. tính tổng các ptử nằm trên đường chéo chính.

program ttduong_cheo_chinh;

uses crt;

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

i,j,n,s:integer;

clrscr;

write('nhap so hang va cot n='); readln(n);

{nhap ma tran}

for i:=1 to n do

for j:=1 to n do

clrscr;

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

readln(a[i,j]);

end;

clrscr;

writeln('ma tran vuong vua nhap la:');

{xuat ma tran}

for i:=1 to n do

for j:=1 to n do

write(a[i,j]:5);

writeln;

end;

{tinh tong cac so tren duong cheo chinh}

s:=0;

for i:=1 to n do

for j:=1 to n do

if i=j then

s:=s+a[i,j];

write('tong cac so tren duong cheo chinh s=',s);

readln;

end.

.....................................

17. viết chương trình nhập 1 dãy số thực gồm n phần tử , nhập k(0<k<=n) chèn thêm 2 số x,y vào vị trí k,k+1 (x,y thực).

uses crt;

var a:array[1..100] of integer;

i,n,x,y,k:integer;

clrscr;

write('nhap n=');

readln(n);

for i:=1 to n do

write('a[',i,']=');

readln(a[i]);

end;

writeln('day vua nhap la:');

for i:=1 to n do

write(a[i]:5);

writeln;

write('nhap k='); readln(k);

write('nhap x,y='); readln(x,y);

for i:=n downto k do

a[i+2]:=a[i];

a[k]:=x;

a[k+1]:=y;

writeln('day sau khi chen la:');

for i:=1 to n+2 do

write(a[i]:5);

readln;

end.

.............................

18. viết chương trình nhập 1 dãy số nguyên gồm n phần tử, nhập thêm số x, ktra xem số x vừa nhập có trong dãy ko. Nếu ko có thì đưa ra thong báo số vừa nhập ko có trong dãy..

uses crt;

var

dayso : array[1..100] of integer;

x:integer;

i,n,j:integer;

clrscr;

j:=0;

write('Nhap vao so phan tu cua day so ');

readln(n);

clrscr;

for i:=1 to n do

write('so thu ',i,' = '); read(dayso[i]);

clrscr;

end;

{in ra day vua nhap}

writeln('day vua nhap la:');

for i:=1 to n do

write(dayso[i],' ');

{nhap phan tu x}

writeln; {xuong dong}

write('nhap so x can dem trong day ');

readln(x);

for i:=1 to n do

if dayso[i]=x then

j:=j+1; { dem so lan xuat hien so x}

if j=0 then write('khong co so ',x,' trong day') else

write('so ',x,' xuat hien ',j,' lan tai vi tri: '); {thong bao so lan xuat hien}

for i:=1 to n do

if dayso[i]=x then

write(i,' '); {vi tri xuat hien}

end;

readln;

end.

................................................

26. lập chương trình đọc x(dương), n nguyên dương(số lượng dấu căn) tính s:

S=sqrt(x+sqrt(x+sqrt(x+sqrt(x+...+sqrt(x))))).

uses crt;

var x,n,i:integer;

s:real;

clrscr;

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

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

s:=0;

for i:=1 to n do

s:=sqrt(x+s);

writeln('tong s=',s:5:2);

readln;

end.

......................................................

33. nhập 1 dãy số n pt nguyên đã sắp xếp theo chiều tăng dần. nhập số x, CHÈN X VÀO ĐÚNG VỊ TRÍ.

uses crt;

var

a: array[1..100] of integer;

n,i,k,tg,j,x:integer;

clrscr;

repeat

write('Nhap vao so phan tu cua day: ');

readln(n);

until (n>0)and(n<=100);

for i:=1 to n do

write('so thu ',i,' = ');

readln(a[i]);

end;

write('day vua nhap la: ');

for i:=1 to n do

write(a[i],' ');

writeln;

for i:=1 to n do

for j:=i+1 to n do

if a[i]>a[j] then

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

end;

write('day sau khi xap xep la: ');

for i:=1 to n do

write(a[i],' ');

writeln;

write('Nhap so x can chen x= '); readln(x);

k:=1;

for i:=1 to n do

if x>a[i] then k:=k+1;

{chen}

for i:=n downto k do

a[i+1]:=a[i];

a[k]:=x;

n:=n+1;

write('day sau khi chen la: ');

for i:=1 to n do

write(a[i],' ');

readln;

end.

.......................................................

uses crt;

var

s,d:string;

i,l,j,m,n:integer;

clrscr;

writeln;

write('nhap vao chuoi x: '); readln(s);

d:=s;

l:=length(s);

i:=l+1;

repeat

i:=i-1;

for j:=i-1 downto 1 do

if d[i]=d[j] then

delete(d,j,1);

i:=i-1;

end;

until i=1;

writeln('Chuoi vua nhap la: ',s);

m:=0;

{ tim so lan xuat hien nhieu nhat}

for i:=1 to length(d) do

n:=0;

for j:=1 to l do

if d[i] = s[j] then

n:=n+1;

if n>m then m:=n;

end;

{doc ki tu xuat hien nhieu nhat}

write('ky tu xuat hien nhieu nhat la: ');

for i:=1 to length(d) do

n:=0;

for j:=1 to l do

if d[i]=s[j] then

n:=n+1;

if (n=m)and (d[i] =' ') then write('dau cach,') else

if (n=m)and (d[i]<>' ') then write(d[i],',');

end;

writeln;

write('xuat hien nhieu nhat ',m,'lan');

readln;

end.

......................................

39. nhập một xâu có từ'ha noi' trong sâu hãy chuyển thành 'HA NOI'..

uses crt;

var

s:string;

i,l,k:integer;

clrscr;

write('Nhap chuoi s: ');

readln(s);

l:=length(s);

k:=0;

for i:=1 to l do

if (copy(s,i,5)='hanoi')or(copy(s,i,6)='ha noi') then k:=k+1;

if k=0 then write('khong co chu hanoi trong xau') else

for i:=1 to l do

if copy(s,i,5)='hanoi' then

s[i]:=upcase(s[i]);

s[i+1]:=upcase(s[i+1]);

s[i+2]:=upcase(s[i+2]);

s[i+3]:=upcase(s[i+3]);

s[i+4]:=upcase(s[i+4]);

end;

if copy(s,i,6)='ha noi' then

s[i]:=upcase(s[i]);

s[i+1]:=upcase(s[i+1]);

s[i+2]:=upcase(s[i+2]);

s[i+3]:=upcase(s[i+3]);

s[i+4]:=upcase(s[i+4]);

s[i+5]:=upcase(s[i+5]);

end;

end;

write('Chuoi sau khi doi la: ',s);

end;

readln;

end.

...............................................................

22. viết chương trình nhập ma trận A (n hàng, m cột) các pt là thực. nhập k, tìm GTNN của cột k

uses crt;

type

mt=array[1..100,1..100] of integer;

var a:mt;

i,j,k,n,m,min:integer;

procedure nhap(var x:mt; var y,z:integer);

var i,j:integer;

for i:=1 to m do

for j:=1 to n do

write('nhap vi tri hang:',i,' cot:',j,'=');

readln(x[i,j]);

end;

end;

procedure xuat(var x:mt; var y,z:integer);

var i,j:integer;

for i:=1 to m do

for j:=1 to n do

write(a[i,j],' ');

writeln;

end;

end;

clrscr;

write('nhap so hang m='); readln(m);

write('nhap so cot n='); readln(n);

nhap(a,m,n); writeln;

xuat(a,m,n); writeln;

repeat

write('nhap {1<=k<=m} k=');

readln(k);

until

(1<=k) and (k<=m);

min:=a[k,1];

for j:=2 to n do

if (a[k,j]<min) then

min:=a[k,j];

writeln('gt nn hang ',k,' la:',min);

readln;

end.

..........................

31. nhập một dãy số tách dãy vừa nhập thành 2 dãy âm và dương riêng biệt

uses crt;

type chuoi=array[1..100] of integer;

var

s,s1,s2: chuoi;

i,j,k,n:integer;

clrscr;

write('Nhap vao so phan tu cua day: '); readln(n);

for i:=1 to n do

write('Nhap vao so thu',i,' = ');

readln(s[i]);

end;

write('Day vua nhap la: ');

for i:=1 to n do

write(s[i]:3);

{ tim cac so chan va dua vao s1}

j:=0;

for i:=1 to n do

if s[i] mod 2 = 0 then

j:=j+1;

s1[j]:=s[i];

end;

{tim cac so le va dua vao s2 }

k:=0;

for i:=1 to n do

if s[i] mod 2 <> 0 then

k:=k+1;

s2[k]:=s[i];

end;

writeln;

write('Day cac so chan: ');

for i:=1 to j do

write(s1[i]:3);

writeln;

write('Day cac so le: ');

for i:=1 to k do

write(s2[i]:3);

readln;

end.

..............................................

32. nhập 1 dãy số. xóa tất cả các số có giá trị =0 trong dãy

uses crt;

var a:array[1..100] of integer;

i,j,n:integer;

clrscr;

write('nhap n=');

readln(n);

for i:=1 to n do

write('a[',i,']=');

readln(a[i]);

end;

writeln('day nhap la:');

for i:=1 to n do

write(a[i]:5);

writeln;

for i:=n downto 1 do

if (a[i]<0) and (a[i] mod 2<> 0) then

for j:=i to n do

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

n:=n-1;

end;

end;

for i:=1 to n do

write(a[i]:5);

readln;

end.

Seguir leyendo

También te gustarán

148K 1.9K 5
Có nước tiểu play, np,... Đủ thể loại khách nho ^^
389K 26.2K 164
Tác phẩm: Toàn thế giới đều đang đợi người động tâm Tác giả: Tố Tây Người gõ: Mia của bạn nè Beta: Hoa Hoa của bạn đây (Truyện vẫn đang được beta) **...
108K 3K 37
"Anh, em thật sự rất thích dáng vẻ anh khi nằm dưới thân em, biểu cảm vừa căm ghét lại vừa bất lực khuất nhục này của anh... Thật đẹp..." Xiềng xích...
5.4K 561 40
Mục đích chuyễn ver vì muốn đọc truyện mình thích dưới góc nhìn cpl mình thích, và đăng lên đây để lưu đọc offline (sẽ viết nguồn ở phần giới thiệu)...