giúp tớ về pascal với , trả lời 1 câu hỏi thui

  • Thread starter Thread starter otzi
  • Ngày gửi Ngày gửi

otzi

Dragon Quest
Tham gia ngày
2/4/06
Bài viết
1,375
Reaction score
0
program aa;
const max = 100 ;
type myarray = array[1..max] of real ;
var nhietdo : myarray;
dem , i , N : integer ;
trung_binh : real;
begin
write ('nhap so ngay :'); readln(N);
trung_binh := 0 ;
for i := 1 to N do
begin
write ('nhap nhiet do ngay ',i,':');
readln (nhietdo{i});
trung_binh := trung_binh + nhietdo
end;
trung_binh := trungbinh/N;
dem := 0 ;
for i := 1 to N do
if nhietdo > trung_binh then dem := dem+1;
writeln ('nhiet do trung binh N ngay : ',trung_binh);
writeln ('so ngay co nhiet do cao hon nhiet do trung binh :',dem);
readln;
end.

để bài : tính nhiệt độ trung bình N ngày .
cho mình hỏi :
1. tại sao phải có cái trung_binh := trung_binh + nhietdo ????
2. nếu mình muốn chỉ rõ ngày cao hơn nhiệt độ trung bình là ngày nào thì mình phải làm sao ?? ở trên là nó cho biết có bao nhiêu ngày thui ví dụ 2 ngày còn mình muốn nêu rõ ra ngày đó là ngày nào :|
 
Bữa sau đừng dùng trích dẫn nha, dùng khóa code dễ nhìn hơn:
trung_binh := trung_binh + nhietdo: trung_binh ở đây là biến tổng nhiệt độ của tất cả các ngày, nó cộng dồn vào từng nhiệt độ sau đó tính trung bình bằng cách chia cho N ngày: trung_binh := trung_binh/N;.
Muốn xuất ra ngày có nhiệt độ lớn hơn nhiệt độ trung bình thì sửa dòng này:
if nhietdo > trung_binh then dem := dem+1;
Thành:
if nhietdo > trung_binh then writeln ('Ngay co nhiet do cao hon nhiet do trung binh :',i);;
 
ah hiểu rùi tức là trung_binh := trung_binh + nhietdo
trung_binh ở đây không phải là nhiệt độ trung bình mà chỉ là tổng nhiệt độ của N ngày , sau đó cái trung_binh := trung_binh/N;. mới là nhiệt độ trung bình ::) okay . cảm ơn anh :D
 
Back
Top