27.02.2012, 12:35 | #1 (permalink) |
Member
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Pascal. Работа с одномерными массивами
|
27.02.2012, 12:35 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Рекомендую поискать информацию в похожих темах Паскаль. Работа с двумерными массивами Помогите, пожалуйста. Работа с одномерными массивами, Паскаль Помогите с массивами в Pascal Задача с массивами Помогите с массивами Работа с текстовым файлом, Pascal |
27.02.2012, 14:13 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Код:
Var a,b:Array[1..30] of Integer; P,gm:Real; i:byte; Begin Randomize; P:=1.0; writeln('Initial array:'); for i:=1 to 30 do begin a[i]:=Random(90)+10; write(a[i]:4); P:=P*a[i]; end; writeln; gm:=Exp(Ln(P)/30); writeln('Geometric mean is ',gm:0:3); writeln('New array:'); for i:=1 to 30 do begin b[i]:=a[i]-Round(gm); write(b[i]:4); end; readln End. |
27.02.2012, 20:13 | #5 (permalink) |
Member
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо, очень помогли!!!!!!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
26.03.2012, 18:43 | #6 (permalink) |
Member
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
вот только не могу понять,что такое Р,gm. и почему P:=1.0; P:=P*a[i]; и вот эти строки:
gm:=Exp(Ln(P)/30); writeln('Geometric mean is ',gm:0:3); writeln('New array:') совсем запутался.. |
26.03.2012, 20:16 | #8 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну что же, раз Вы пытаетесь разобраться, а не, как некоторые, просто тупо переписать и не глядя сдать - помогу с превеликим удовольствием.Сейчас распутаю, потерпите.
Для начала - проясним суть задания: прежде всего, нужно найти среднее геометрическое 30 чисел. По определению это значит, что нужно найти произведение этих чисел, а затем извлечь из него корень тридцатой степени. Из этого и будем исходить.Идентификаторы. P - это произведение 30-ти чисел, gm - искомое среднее геометрическое.Потому что именно так ищется произведение элементов массива: присваивается исходное значение, равное 1, а затем последовательно домножается на каждый элемент.А это есть извлечение корня 30-й степени. Если Вы не в курсе, то извлечение корня степени n эквивалентно возведению в степень 1/n. Возведение же числа в произвольную степень делается так: берется логарифм основания, умножается на показатель и от результата берется экспонента. Несколько подробнее об этом здесь, в самом конце.Выдача на экран сообщения (на англ. языке) "Среднее геометрическое есть" и дальше полученный результат. Формат 0:3 означает "показать три знака после десятичной точки, а до нее - уж как получится".Вывод на экран заголовка "Новый массив:"Потому что Ваш вариант допускает a[i]=0, каковое значение при вычислении среднего геометрического является запретным. У меня поставлен диапазон от 10 до 99. Можете другой взять, лишь бы не допустить появления среди элементов массива нуля. |
26.03.2012, 20:34 | #10 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
паскаль; турбо; паскаль |
|
|