Для данного n сформировать массив X(n), являющийся последовательностью чисел Фибоначчи, и выполнить заданные действия - Pascal ABC
Формулировка задачи:
Для заданного значения n сформировать массив X(n), являющийся последовательностью чисел Фибоначчи. Определить, насколько отличается положение элемента, наиболее близкого к среднему арифметическому значению массива X, от положения элемента, наиболее близкого к среднему геометрическому значению этого же массива.
Помогите пожалуйста те, кто может осилить эту задачу. Заранее спасибо
Решение задачи: «Для данного n сформировать массив X(n), являющийся последовательностью чисел Фибоначчи, и выполнить заданные действия»
textual
Листинг программы
program pr; uses crt; const n = 50; var x: array [0..n-1] of integer; i, num1, num2: integer; sr_arifm, sr_geom, el1, el2: real; begin x[0] := 0; x[1] := 1; write(x[0],' ', x[1], ' '); sr_arifm := 1; sr_geom := 1; for i := 2 to n-1 do begin x[i] := x[i-1] + x[i-2]; write(x[i], ' '); sr_arifm := sr_arifm + x[i]; sr_geom := sr_geom * x[i]; end; sr_arifm := sr_arifm/n; sr_geom := exp((1/n)*ln(sr_geom)); writeln(); writeln('ср. арифметическое ', sr_arifm:5:3); writeln('ср. геометрическое ', sr_geom:5:3); num1:=0; num2:=0; el1:=sr_arifm; el2:=sr_geom; for i:=1 to n-1 do begin if (abs(sr_arifm-x[i])<el1) then begin el1:=abs(sr_arifm - x[i]); num1:=i; end; if (abs(sr_geom-x[i])<el2) then begin el2:=abs(sr_geom - x[i]); num2:=i; end; end; writeln('эл-т, наиболее близкий к ср. арифметическому ', x[num1], ' № ', num1); writeln('эл-т, наиболее близкий к ср. геометрическому ', x[num2], ' № ', num2); writeln('их положение отличается на ', abs(num1-num2)); end.
Объяснение кода листинга программы
- Создается программа pr, которая использует библиотеку crt.
- Задается константа n, которая представляет собой максимальное значение индекса элемента массива X.
- Создается переменная x, которая представляет собой массив из n элементов типа integer.
- Создаются переменные i, num1, num2, sr_arifm и sr_geom, которые представляют собой индексы, числа Фибоначчи и их суммы, а также коэффициенты для вычисления среднего арифметического и геометрического.
- Заполняется массив x числами Фибоначчи: x[0] = 0, x[1] = 1, а затем, используя цикл for, вычисляются все остальные элементы массива.
- Вычисляются среднее арифметическое и геометрическое: sr_arifm = сумма чисел Фибоначчи, деленная на n, и sr_geom = экспонента от суммы чисел Фибоначчи, деленной на n.
- Вычисляются два элемента, наиболее близкие к среднему арифметическому и геометрическому: num1 и num2, а также соответствующие элементы x[num1] и x[num2].
- Выводится информация о наиболее близких элементах, а также их разнице.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д