Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ массив с нечтными элементами и средним геометрическим

Автор: Таша 22.01.2010 21:12

Не доганяю, помогите!

Задача: По данной функции s=arcsin (i/2) сформировать одномерный массив, состоящий из 20-40 элементов, при изменении аргумента в заданном интервале. Организовать форматный вывод массива с заголовками и индексами.
В сформированном массив определить и вывести с заголовками: количество нечетных элементов массива, а так же среднее геометрическое этих элементов.

Помогите разобрать с условием:
1) Массив надо заполнять путем нахождения результата функции и переноса его в массив???
2) Какие могут быть заголовки если массив одномерный??
3) При нахождении нечетного элемента выдает ошибку for i:=1 to n do
if a[i] mod 2 <> 0 then begin n:=n+1; Почему??
4) и самое последнее, что такое среднее геометрическое и какая у него формула????

Автор: volvo 22.01.2010 21:25

Цитата
Массив надо заполнять путем нахождения результата функции и переноса его в массив???
Да. Находишь значение функции при очередном аргументе, и заносишь его в массив.
Цитата
Какие могут быть заголовки если массив одномерный??

Цитата
Количество нечетных элементов:
10
Среднее геометрическое:
20
Первая и третья строка - заголовки, вторая и четвертая - результаты вычислений. Что-то не так?
Цитата
При нахождении нечетного элемента выдает ошибку
А вот с этого вопроса надо было начинать smile.gif
Как описан массив? Он у тебя целочисленный? Четность/нечетность - это признак целого числа. А у тебя наверняка массив вещественных чисел...
Цитата
и самое последнее, что такое среднее геометрическое и какая у него формула????

http://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B5%D0%B4%D0%BD%D0%B5%D0%B5_%D0%B3%D0%B5%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5

Автор: Таша 22.01.2010 21:37

Массив описан как integer, ошибку выдает при выполнении программы Runtime.
А по поводу заголовка и индекса я все равно не поняла((
И еще по поводу функции: там указан диапозон (-1,2;2,7), как я понимаю ее нужно считать через цикл. А чему равен шаг???

Автор: volvo 22.01.2010 21:52

Цитата
Массив описан как integer, ошибку выдает при выполнении программы Runtime.
Если не вылетаешь за пределы массива - ошибок быть не должно. Какой хоть номер ошибки выдает? Телепатов-то нет здесь.

Цитата
как я понимаю ее нужно считать через цикл. А чему равен шаг???
Вообще-то обычно это делается так:
var
i: integer;
f, step: double;

const
n = 10;
start = -1.2;
finish = 2.7;

begin
step := (finish - start) / n;
f := start;
for i := 0 to n do
begin
writeln(f:10:5);
f := f + step;
end;
end.

Автор: TarasBer 22.01.2010 21:54

Ничего не понял. Если функция - арксинус, то откуда целые элементы и чётность-нечётность (которая, кстати, проверяется "функцией" odd(), а не делением на два)?

Автор: Таша 22.01.2010 21:58

я в математике вообще не сильна, а условие как правило преподы дают)

Добавлено через 4 мин.
то есть если через odd, то значение должно быть правдой??
спасибки, я этого не знала и всегда решала через mod