Đến nội dung

Hình ảnh

pascal,help me!


  • Please log in to reply
Chủ đề này có 7 trả lời

#1
phuongpro

phuongpro

    Hạ sĩ

  • Thành viên
  • 60 Bài viết
1.Dùng câu lệnh lặp tính
$S=1-\dfrac{ x^{2} }{2!}+\dfrac{ x^{4} }{4!}-...+ (-1)^{n}\dfrac{ x^{2n} }{(2n)!}$
2.Viết các lệnh của pascal để diễn tả thuật toán sau:
Khi n>1 thì lặp công việc sau:
Nếu n chia hết cho u thì thực hiện các việc:
+)Viết ra màn hình giá trị của u
+)n gán bằng (n div u)
Ngược lại thì tăng u lên 1 đơn vị.

Thanks nhiều.

#2
hoangnamfc

hoangnamfc

    IVMF

  • Thành viên
  • 700 Bài viết

1.Dùng câu lệnh lặp tính
$S=1-\dfrac{ x^{2} }{2!}+\dfrac{ x^{4} }{4!}-...+ (-1)^{n}\dfrac{ x^{2n} }{(2n)!}$
2.Viết các lệnh của pascal để diễn tả thuật toán sau:
Khi n>1 thì lặp công việc sau:
Nếu n chia hết cho u thì thực hiện các việc:
+)Viết ra màn hình giá trị của u
+)n gán bằng (n div u)
Ngược lại thì tăng u lên 1 đơn vị.

Thanks nhiều.

éc
mình nói cho bạn hướng giải rồi khi nào rảnh up luôn bài giải(chắc là cuối tuần)
1) Đầu tiền; Làm function giai thừa và mũ;
Mà cái này là x và n nhập từ bàn phím nữa chứ;
Nhập x và n;
for i:=1 to n do
s:=1+((-1)^n*{gọi tên function mũ)x^2n)/{gọi tên function giai thừa)
write ra;
2) xét If n >1 then
if n/u=0 then Write(u);
n:=n div u
else inc(u);
else exit;{cái này là nếu n<1)

#3
phuongpro

phuongpro

    Hạ sĩ

  • Thành viên
  • 60 Bài viết

éc
mình nói cho bạn hướng giải r�#8220;i khi nào rảnh up luôn bài giải(chắc là cuối tuần)
1) Đầu tiền; Làm function giai thừa và mũ;
Mà cái này là x và n nhập từ bàn phím nữa chứ;
Nhập x và n;
for i:=1 to n do
s:=1+((-1)^n*{gọi tên function mũ)x^2n)/{gọi tên function giai thừa)
write ra;
2) xét If n >1 then
if n/u=0 then Write(u);
n:=n div u
else inc(u);
else exit;{cái này là nếu n<1)

Bạn nói rõ cho mình cái mẫu của biểu thức được không.Nói chung là mối quan hệ giữa mẫu số số hạng sau với mẫu số số hạng trước.Với lại câu 2 phải lặp mà.

Bài viết đã được chỉnh sửa nội dung bởi phuongpro: 27-10-2009 - 22:25


#4
Merlyn

Merlyn

    Phạm Duy Hiệp

  • Thành viên
  • 324 Bài viết
Bài 1 nếu để ý sẽ thấy các số hạng của vế phải có thể viết dưới dạng đệ quy $P_{n+1} = (-1)\dfrac{x^2}{(2n+1)(2n+2)}P_n$. Vì vậy không cần thiết phải xây dựng hàm tính giai thừa và mũ, hơn nữa nếu làm thế thì độ phức tạp sẽ tăng đáng kể, việc gọi đi gọi lại các hàm nhiều lần rất dễ gây tràn stack.
phuongpro thử làm theo hướng này nhé : Sử dụng biến P để lưu số hạng thứ i+1 của vế phải, khởi tạo bằng 1, trong thân vòng lặp tính P rồi cộng ngay vào S, chẳng hạn :
P &#58;= &#40;-1&#41;*x*x/&#40;2*i+1&#41;/&#40;2*i+2&#41;*P;
S &#58;= S+P;
Bài 2 theo anh nên có thêm một phép so sánh u với $\sqrt{n}$. Em hiểu ý tưởng của thuật toán là gì không ? :)

Bài viết đã được chỉnh sửa nội dung bởi Merlyn: 27-10-2009 - 23:41


#5
phuongpro

phuongpro

    Hạ sĩ

  • Thành viên
  • 60 Bài viết

Bài 1 nếu để ý sẽ thấy các số hạng của vế phải có thể viết dưới dạng đệ quy $P_{n+1} = (-1)\dfrac{x^2}{(2n+1)(2n+2)}P_n$. Vì vậy không cần thiết phải xây dựng hàm tính giai thừa và mũ, hơn nữa nếu làm thế thì độ phức tạp sẽ tăng đáng kể, việc gọi đi gọi lại các hàm nhiều lần rất dễ gây tràn stack.
phuongpro thử làm theo hướng này nhé : Sử dụng biến P để lưu số hạng thứ i+1 của vế phải, khởi tạo bằng 1, trong thân vòng lặp tính P rồi cộng ngay vào S, chẳng hạn :

P &#58;= &#40;-1&#41;*x*x/&#40;2*i+1&#41;/&#40;2*i+2&#41;*P;
S &#58;= S+P;
Bài 2 theo anh nên có thêm một phép so sánh u với $\sqrt{n}$. Em hiểu ý tưởng của thuật toán là gì không ? :)

Hiểu na ná thì hình như là tím số nhỏ nhất lớn hơn u để n chia hết cho u.

#6
hoangnamfc

hoangnamfc

    IVMF

  • Thành viên
  • 700 Bài viết

Bài 1 nếu để ý sẽ thấy các số hạng của vế phải có thể viết dưới dạng đệ quy $P_{n+1} = (-1)\dfrac{x^2}{(2n+1)(2n+2)}P_n$. Vì vậy không cần thiết phải xây dựng hàm tính giai thừa và mũ, hơn nữa nếu làm thế thì độ phức tạp sẽ tăng đáng kể, việc gọi đi gọi lại các hàm nhiều lần rất dễ gây tràn stack.
phuongpro thử làm theo hướng này nhé : Sử dụng biến P để lưu số hạng thứ i+1 của vế phải, khởi tạo bằng 1, trong thân vòng lặp tính P rồi cộng ngay vào S, chẳng hạn :

P &#58;= &#40;-1&#41;*x*x/&#40;2*i+1&#41;/&#40;2*i+2&#41;*P;
S &#58;= S+P;
Bài 2 theo anh nên có thêm một phép so sánh u với $\sqrt{n}$. Em hiểu ý tưởng của thuật toán là gì không ? :)

làm thủ tục cũng dễ thôi mà
đâu phức tạp. Chỉ cần xem xét cho cẩn thận thôi

#7
Merlyn

Merlyn

    Phạm Duy Hiệp

  • Thành viên
  • 324 Bài viết
Độ phức tạp mà anh nói là khối lượng phép tính mà máy cần thực hiện, còn giải thuật thì chả có gì ghê gớm cả.
Bài 2 là phân tích một số ra thừa số nguyên tố, vì thế không cần thiết phải kiểm tra xem n có chia hết cho các số lớn hơn $\sqrt{n}$ hay không :)

#8
hoangnamfc

hoangnamfc

    IVMF

  • Thành viên
  • 700 Bài viết
để phân tích thì chạy 1 vòng repeat until là ra thôi
repeat
wirte('nhap n:');
readln(n);
i:=2;
while (n mod i<>0 do) and (i<n) do
Begin
i:=i+1;
Write(i);
n:=n div i;
until n=1;
readln;
end.




1 người đang xem chủ đề

0 thành viên, 1 khách, 0 thành viên ẩn danh