PDA

View Full Version : Bài tập chương trình con Pascal



kakzon120
19-03-2011, 15:49
1.Viết chương trình con tính N!.Sau đó gọi chương trình con tính S=2N!+3N!+4N!+5N! và đưa kết quả S ra màn hình.
Còn mấy bài sau thì nó có căn + số nhiều quá em làm đại cái word post lên mấy anh giúp dùm em:D Hôm bửa nghĩ học nữa nên cũng k biết rõ lắm mấy anh làm giúp em vài bài mẫu em tham khảo:D
Hình em chụp đây:
http://cB9.upanh.com/20.44.26931828.oxK0/baitap.jpg

Còn đây là link dow: http://www.mediafire.com/?ir8u0t9tug9tbwz
Em xin cảm ơn trước

nbni
19-03-2011, 17:47
ko xem hinh duoc ban oi

HGMinh95
19-03-2011, 18:10
Đây là đoạn code chính của bài 1:


{*** Function tính N! ***}
Function NGt(n:byte):longint;
var i:byte;
P:longint;
begin
P:=1;
For i:=1 to n do
P:=P*i;
NGt:=P;
end;
{*** Đoạn tính S=... ***}
S:=14*Ngt(N);

Những bài sau cũng tương tự thế, bạn tự làm nha!!

ko xem hinh duoc ban oi
Mình vẫn xem bình thường mà

nbni
20-03-2011, 19:12
uhm mình xem được rùi bạn

[=========> Bổ sung bài viết <=========]

câu 2 nè bạn:
var p:real;
function lt(a:real; b:integer):real;
var tich:real;
i:integer;
begin
tich:=1;
for i:=1 to b do
tich:=tich*a;
lt:=tich;
end;
begin
p:=lt(99,2)/lt(sqrt(999),3);
write(p:2:2);
readln
end.

[=========> Bổ sung bài viết <=========]

câu 3 gần giống câu 2 bạn chiụ khó thây ở chương trình chính là được rùi.
câu 4 thì giống câu 1 đó có công thức ruì bạn thây phần chương trình chính giống baì 3 là ok rùi.

kakzon120
22-03-2011, 18:45
Số mũ nó lớn lắm bạn ơi k biết chạy đc k nữa?.Mình xin cảm ơn bạn
Bài 1 chỗ S:=14*Ngt(N); mình thấy k ổn phải là S:=1*Ngt(N); chứ??
Có bạn làm cho mình thế này các bạn xem thử nhé.
Bài 1+4
function GT(n: DWord): DWord;
begin
if n<=1 then exit(1)
else exit(n*GT(n-1));
end;

var A,S1,i,N: DWord; S4:Extended;

BEGIN
write('N= '); readln(N);
A:=GT(N);
writeln('N! = ',A);

for i:=2 to 5 do
S1:=S1+i*A;
writeln('S1= ',S1);

S4:=sqrt(A)+sqr(A);
{hay S4:=A/sqrt(A)+sqr(A)}
writeln('S4= ',S4);

readln;
END.

Bài 2+3
function MU(X,N:Real):Real;
begin exit(Exp(ln(X)*N); end;

var P1,P2:Real;

BEGIN
P1:=MU(99,2)/MU(999,0.5*3);
{hoặc P1:=sqr(99)/MU(sqrt(999),3);
writeln('Bai 1 = ',P1);

P2:=MU(2,2009)+MU(3,2003)-MU(4,2002)+1;
{hoặc P2:=MU(2,2009)+MU(3,2003)-(MU(4,2002)-MU(1,2008));}
writeln('Bai 2 = ',P2);
readln;
END.

HGMinh95
22-03-2011, 20:31
Bài 1 chỗ S:=14*Ngt(N); mình thấy k ổn phải là S:=1*Ngt(N); chứ??

S = 2N! + 3N! + 4N! + 5N! = 14N! vậy thì S:=14*Ngt(N) là đúng chứ bạn.

hotatdang
18-04-2011, 17:32
var s:real;
n,x,i:integer;
function gt(x:integer):real;
var t:real;
i:integer;
begin
t:=1;
for i:=1 to n do
t:=t*i;
gt:=t;
end;
begin
s:=0;
writeln('nhap n,c:=');readln(n,x);
for i:=2 to x do
s:=s+i*gt(n);
writeln('ket qua:',s:0:3);readln;
end.
{tổng quát hơn tý}