Chủ đề: Bài tập Pascal!
-
06-30-2010, 05:54 PM #1
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 2
Bài tập Pascal!
1. Viết chương trình nhập vào mẫu thống kê kích thước n: x1, x2, x3, ..., xn và tính hạng cho các phần tử của mẫu theo quy tắc thống kê : giả sử dãy x1, x2, ... , xn đã sắp xếp tăng dần thì hạng của các phần tử bằng nhau được tính là trung bình cộng các chỉ số của các phần tử bằng nhau đó (nếu không có phần tử nào bằng với phần tử xk thì hạng của xk = k).
2. Lập chương trình nhập vào mẫu ngẫu nhiên của đại lượng ngẫu nhiên X có kích thước mẫu n. tìm kì vọng và phương sai mẫu.
:book:
-
06-30-2010, 09:05 PM #2
Silver member
- Ngày tham gia
- Sep 2015
- Bài viết
- 95
Bài 1 thì tớ làm được rồi. còn bài 2 không biết công thức tính kì vọng và phương sai mẫu
-
06-30-2010, 10:46 PM #3
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 2
Đây là chương trình bài 1 mình đã viết và chạy đúng rồi. Nhưng cách viết hơi khó theo dõi mong bạn đọc và hiểu!
Ý tưởng là như thế này: Ban đầu sắp xếp dãy tăng dần, sau đó đếm số lượng phần tử giống nhau và tìm trung bình các chỉ số đó(bằng cách tìm vị trí bắt đầu và kết thúc của các phần tử giống nhau) để tìm hạng của các phần tử
Mã:Var A:array[1..100] of integer; i,k,N,j,tg,d,bd,kt,S:integer; h:real; Begin write('Nhap vao so phan tu:'); Readln(N); For i:=1 to N do Begin write('Phan tu thu:',i,':'); Readln(A[i]); End; For i:=1 to N-1 do For j:=i+1 to N do if A[i]>A[j] then Begin tg:=A[i]; A[i]:=A[j]; A[j]:=tg; End; {Day sau khi sap xep la} write('Day sau khi sap xep la:'); For i:=1 to N do write(A[i]:3);writeln; i:=1; While i<=N do Begin bd:=i;d:=0; while A[i]=A[bd] do Begin inc(d); inc(i); End; kt:=i-1; if d>1 then Begin For k:=bd to kt do S:=S+k; h:=S/d End else cs:=kt; writeln('phan tu ', A[i-1],'chi so tu', bd, ' den ',kt); writeln('phan tu ', A[i-1], 'co hang la', h:3:2); End; Readln End.
-
07-01-2010, 12:12 AM #4
Silver member
- Ngày tham gia
- Aug 2015
- Bài viết
- 11
Cảm ơn bạn Hằng![IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]
Giúp mình bài này nha:
Lập chương trình tính tiền điện khi biết số Kw tiêu thụ. Biết rằng 100 số đầu giá 500, 50 số tiếp theo giá 650 và các số trên 150 giá 1200 đồng.
Mình dùng câu lệnh if ... then ... else mà không hiểu sao lại không chạy đúng.
-
07-01-2010, 12:16 AM #5
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 3
Cảm ơn bạn nhiều nhiều nha. Hihi!
-
07-01-2010, 03:38 AM #6
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 2
Mã:uses crt; var tiendien,sodien,d:longint; begin clrscr; readln(sodien); d:=0; if d=0 then begin if sodien <=100 then tiendien:=sodien*500 else begin sodien:=sodien-100; tiendien:=100*500; inc(d); end; end; if d=1 then begin if sodien <=50 then tiendien:=tiendien+sodien*650 else begin sodien:=sodien-50; tiendien:=tiendien+50*650; inc(d); end; end; if d=2 then tiendien:=tiendien+sodien*1200; write(tiendien); readln; end.
-
07-01-2010, 05:30 AM #7
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 4
Lời giải rất đơn giản như sau bạn ah!, sao sacklove viết phức tạp thế nhỉ lại còn dùng thêm biến d làm gì!
Mã:Var i,sd:integer; T:longint; Begin write('Nhap vao so dien tieu thu:'); Readln(sd); if sd>150 then T:=100*500+50*650+(sd-150)*1200 else if sd>=100 then T:=100*500+(sd-100)*650 else T:=sd*500; write('Vay so tien la:',T); Readln End.
-
07-01-2010, 05:56 AM #8
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Về cơ bản thì đâu có khác nhau. Chỉ là trình bày ra thì khác thôi.
Biến d của mình dùng để kiểm soát 3 trường hợp xảy ra.
-
07-01-2010, 06:26 AM #9
Silver member
- Ngày tham gia
- Mar 2016
- Bài viết
- 5
cảm ơn bạn
nhờ bài của bạn mình biết cái sai trong bài của mình rồi, phải chọn kiểu longint cho sodien và tiendien mới được.
các bạn có thể xem cách làm của mình, mình thấy ngắn gọn hơn:
var n, T: longint;
begin
write(' nhap so dien n =');readln(n);
if n<=100 then T:=n*500
else if n<=150 then T:=100*500+(n-100)*650
else T:=100*500+50*650+(n-150)*1200;
write(T);
readln;
end.
-
07-01-2010, 06:30 AM #10
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
cảm ơn bạn Lehang nữa nha. (bây giờ mới thấy bài của bạn).
Để đáp ứng nhu cầu ngày càng đa dạng của khách hàng trong các lĩnh vực chuyên biệt, 3D Thinking đang tập trung phát triển các trung tâm dịch vụ chuyên sâu theo ngành. Mỗi trung tâm sẽ phụ trách...
Đưa công nghệ quét 3D vào lĩnh vực mỹ thuật và tạo hình