IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Найти среднее арифметическое значение X и среднее квадратное отклонение σ:
natali_cortocova
сообщение 5.06.2012 18:27
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Мальчики помогите.
Дан массив X(N). Найти среднее арифметическое значение X и среднее квадратное отклонение σ.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
IUnknown
сообщение 5.06.2012 18:43
Сообщение #2


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Репутация: -  627  +


Цитата
и среднее квадратное отклонение σ.
Среднеквадратическое отклонение (оно же корень квадратный из дисперсии)

for i := 1 to N do
aver := aver + X[ i ];
aver := aver / N;

for i := 1 to N do
sigma := sigma + sqr(X[ i ] - aver);
sigma := sqrt(sigma / N);
Всё просто.

Сообщение отредактировано: IUnknown - 5.06.2012 18:44
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
natali_cortocova
сообщение 5.06.2012 19:06
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Цитата(IUnknown @ 5.06.2012 19:43) *

Среднеквадратическое отклонение (оно же корень квадратный из дисперсии)

for i := 1 to N do
aver := aver + X[ i ];
aver := aver / N;

for i := 1 to N do
sigma := sigma + sqr(X[ i ] - aver);
sigma := sqrt(sigma / N);
Всё просто.



Спасибочки blum.gif а как с "Найти среднее арифметическое значение X"?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 5.06.2012 19:32
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Сложить все числа и разделить на количество.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
IUnknown
сообщение 5.06.2012 19:50
Сообщение #5


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Репутация: -  627  +


Среднее арифметическое X находится в моем коде в переменной aver, если что. Без среднего арифметического посчитать сигму... Хм... как бы это сказать... Несколько затруднительно, поэтому мы сначала ищем среднее арифметическое элементов, а потом с его помощью - отклонение.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
natali_cortocova
сообщение 5.06.2012 20:39
Сообщение #6





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Цитата(IUnknown @ 5.06.2012 20:50) *

Среднее арифметическое X находится в моем коде в переменной aver, если что. Без среднего арифметического посчитать сигму... Хм... как бы это сказать... Несколько затруднительно, поэтому мы сначала ищем среднее арифметическое элементов, а потом с его помощью - отклонение.


Что я сделала не так? Пишет что "нельзя преобразовать тип real к integer".

Const
n=10;

Var
X:array [1..n] of integer;
i,aver:integer;

begin
Write('Введите массив: ');
For i:=1 to n do
Read(X[i]);
Readln;

for i := 1 to N do
aver := aver + X[ i ];
aver := aver / N;

for i := 1 to N do
sigma := sigma + sqr(X[ i ] - aver);
sigma := sqrt(sigma / N);

Writeln('среднее арифметическое - ',aver);
Writeln('отклонение - ',sigma);
Readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 5.06.2012 20:46
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Потому что среднее арифметическое это вещественное число,а у вас оно обьявлено, как целое. Надо обьявить его, как вещественное и все.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
IUnknown
сообщение 5.06.2012 20:52
Сообщение #8


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Репутация: -  627  +


Цитата
и все.
Ну, не всё smile.gif Сигма вон вообще не объявлена. Она, кстати, тоже вещественная. И это, не забывай обнулять переменные перед суммированием. Я этого не сделал - потому что набросок, а в программе лучше обнулять...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 5.06.2012 20:59
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


А я,как турбо паскаль,до первой ошибки smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
natali_cortocova
сообщение 5.06.2012 21:34
Сообщение #10





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Я плохо знаю что такое отклонение правильно ли оно выводится?

Const
nn=10;

Var
X:array [1..nn] of integer;
i, n :integer;
aver, sigma :real;

begin
Write('Количество элементов? '); Readln(n);
For i:=1 to n do
Read(X[i]);
Readln;

for i := 1 to N do
aver := aver + X[ i ];
aver := aver / N;

for i := 1 to N do
sigma := sigma + sqr(X[ i ] - aver);
sigma := sqrt(sigma / N);

Writeln('среднее арифметическое - ',aver);
Writeln('отклонение - ',sigma);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 7.06.2012 9:07
Сообщение #11


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Цитата(IUnknown @ 5.06.2012 19:50) *

Без среднего арифметического посчитать сигму... Хм... как бы это сказать...

Это правильнее, когда данные идут одно за другим (например, в результате многократного повторения эксперимента), а отдельно хранить их нельзя.
Надо всего лишь отдельно считать сумму квадратов и применить одну формулу.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.04.2024 11:41
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"