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.
Bạn đang đọc truyện trên: TruyenTop.Vip