Для данного n сформировать массив X(n), являющийся последовательностью чисел Фибоначчи, и выполнить заданные действия - Pascal ABC

  1. Для заданного значения n сформировать массив X(n), являющийся последовательностью чисел Фибоначчи. Определить, насколько отличается положение элемента, наиболее близкого к среднему арифметическому значению массива X, от положения элемента, наиболее близкого к среднему геометрическому значению этого же массива. Помогите пожалуйста те, кто может осилить эту задачу. Заранее спасибо


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.


Похожие ответы
  1. Заполнить числами, начиная с единицы, квадратный массив из NxN элементов «змейкой». Пример, для массива 4х4: Код 1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13 Реализовать ввод размерности с клавиатуры

  1. Pascal1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 const x = 0.29;   var y, sv, sz, fact, st: real; i, j, zn: integer;   begin sz := 0; writeln('cycles for and while'); writeln('vnutr suma zovn suma'); for j := 4 to 12 do begin fact := 6; i := 1; sv := 0; zn := -1; st := x; while i <= 10 do begin y := zn * ((sqrt(i) * Ln(x + 1)) / (sqrt(j) + fact)); i := i + 1;st := st * x; sv := sv + y; fact := fact * (i + 2); zn := -zn; end; sz := sz + sv; writeln(sv:10:6, sz:14:6); end; writeln('zagalna suma=', sz:10:6); end.

  1. Pascal1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 program l7; var F1,F2:text;     R,K:real;     i:byte;     begin assign(F1,'E:\file1.txt'); rewrite(F1); assign(F2,'E:\file2.txt'); rewrite(F2); for i:=1 to 50 do begin R:=random(50); writeln(F1,R); end; begin repeat begin readln(F1,R); if R mod 2 = 1 then K:=sqr(R); writeln(F2,R); end; until K<50; end; close(F1); close(F2); end.

  1. Дан целочисленный вектор А(n). Отсортировать его элементы методом просеивания.Добавлено через 3 часа 24 минуты

  1. Скажу честно и прямо, сделайте за меня. Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм их цифр, если число a меньше числа b. Например, число 124 лучше числа 123, так как у первого из них сумма цифр равна семи, а у второго — шести. Также, число 3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше. Дано число n. Найдите такой его делитель d (само число n и единица считаются делителями числа n), что любой другой делитель c числа n лучше, чем d. Входные данные Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 105000). Выходные данные В выходной файл OUTPUT.TXT выведите ответ на задачу. Примеры INPUT.TXT 10 OUTPUT.TXT 10 ----------------------- INPUT.TXT 239 OUTPUT.TXT 1 P.S. знаю подобное есть в инете, но оно не совсем правильно работает

  1. Доброго времени суток . Напишите "функцию голосования" function Election (x, y, z:boolean): boolean (Pascal), возвращающую то значение (true или false), которое среди значений ее аргументов x, y, z встречается чаще. Входные данные Вводится 3 числа - x, y и z (x, y и z равны 0 или 1, 0 соответствует значению false, 1 соответствует значению true). Выходные данные Необходимо вывести значение функции от x, y и z. Примеры входные данные 0 0 1 выходные данные 0 я только начал функции и процедуры , прошу подробно расписать заранее спасибо

  1. на натуральном отрезке [a,b] найдите и выведите число N с наибольшей суммой своих делителей Через Repeat или While

  1. Даны отрезки a,b,c,d. Для каждой тройки этих отрезков , из которых можно построить треугольник, напечатать площадь данного треугольника. Определить процедуру Plo(x,y,z), печатающую площадь треугольника со сторонами , если такой треугольник существует.

  1. Ввести a>=1. Найти значение какого из выражений больше: 1/а чи sin(а). Проверьте пожалуйста.

  1. Определить, равны ли первая и последняя цифры заданного с клавиатуры числа.