Как найти среднее геометрическое pascal

  • В этой теме 0 ответов, 1 участник, последнее обновление 6 лет, 2 месяца назад сделано Васильев Владимир Сергеевич.
  • Сообщения

    • Написать программу, которая выводит среднее геометрическое двух и трех вещественных чисел.

      Решение:

      Среднее геометрическое двух чисел определяется по формуле:
      $$sqrt{|a|cdot|b|}$$
      Аналогично для трех и более чисел.

      program line_5;
      uses crt;
      var
        a, b, c, g: real;
      begin
        clrscr;
        write('a = '); readln(a);
        write('b = '); readln(b);
        write('c = '); readln(c);
        g:=exp(1/3*ln(Abs(a)*Abs(b)*Abs(c)));
        write('Среднее геометрическое = ', g:4:2);
        readkey;
      end.

      Для вычисления корня квадратного в этой программе используется возведение экспоненты в степень (функция exp) и натуральный логарифм (функция ln), так как:
      $$
      a^b = e^{bcdot log_e{a}}
      $$
      В данном случае нужно извлечь корень кубический — ведь считаем среднее геометрическое для трех чисел, поэтому b = 1/3.

  • Автор

    Сообщения

  • Для ответа в этой теме необходимо авторизоваться.

I wanna solve this problem with your support.
Assume that, there is an array in variable named $ar, and exist 5 numbers in this array, so i want to calculate geometric average of these numbers through Pascal or PHP programming language. How can i do ?

asked May 19, 2012 at 15:56

xaal's user avatar

Here is PHP version:

function geometric_average($a) {  
   foreach($a as $i=>$n) $mul = $i == 0 ? $n : $mul*$n;  
   return pow($mul,1/count($a));  
}

//usage
echo geometric_average(array(2,8)); //Output-> 4

answered May 19, 2012 at 16:05

Engineer's user avatar

EngineerEngineer

47.6k12 gold badges88 silver badges91 bronze badges

6

Possible solution in «standard» Pascal:

program GeometricAvarage;

const SIZE = 5;

function GeoAvg(A:array of real):real;
var
  avg: real;
  i: integer;

begin
avg := 1;
for i:=0 to (SIZE) do
  avg := avg * A[i];
avg :=Exp(1/SIZE*Ln(avg));
Result:=avg;
end;

begin

var
ar: array [1..SIZE] of real :=(1,2,3,4,5);

writeln('Geometric Avarage = ', GeoAvg(ar)); {Output should be =~2.605}
readln;
end.

If you want to use dynamic arrays this should be done in Delphi or ObjectPascal for example.

answered May 25, 2012 at 9:29

Razor's user avatar

RazorRazor

111 silver badge4 bronze badges

For someone that had an issue with this, as I have stated in the comment to the PHP answer, that answer may not be suitable for everyone, especially with ones looking to find geometric average/mean for large numbers or large number of numbers as PHP will simply not store it.

Pretty easy solution is to split the initial array into chunks, calculate mean and then multiply them:

function geometricMean(array $array)
{
    if (!count($array)) {
        return 0;
    }

    $total = count($array);
    $power = 1 / $total;

    $chunkProducts = array();
    $chunks = array_chunk($array, 10);

    foreach ($chunks as $chunk) {
        $chunkProducts[] = pow(array_product($chunk), $power);
    }

    $result = array_product($chunkProducts);
    return $result;
}

Note the 10 — it’s the number of elements in a chunk, you may change that if you need to do so. If you get INF as a result, try lowering that.

answered Oct 14, 2015 at 12:16

Sergey Telshevsky's user avatar

Среднее арифметическое в pascal

Среднее арифметическое равняется сумме чисел деленное на их количество. Рассчитывается по формуле: S=(x1+x2+x3+. +xn)/n, где n – количество элементов. В Turbo Pascal среднее арифметическое найти можно как с массивом, так и без него. Во втором случае необходимо предусмотреть ввод количества элементов n (как в примере ниже), либо при каждой новой записи в цикле производить ее инкремент.

writeln(‘Введите количество чисел’);

writeln(‘Введите ‘,i,’ число’);

writeln(‘Среднее арифметическое =’,s/n:5:2);

Среднее геометрическое в pascal

Среднее геометрическое положительных чисел – число, которым можно заменить, каждое из заданных элементов, при этом произведение остается неизменным. Рассчитывается по формуле: (x1*x2*x3*. *xn) 1/n , где n – количество элементов. В Turbo Pascal среднее геометрическое находится аналогично среднему арифметическому за исключением знака операции и того, что результат необходимо не делить на общее количество элементов n, а возвести в степень обратного числа (1/n). Возвести в дробную степень можно, используя универсальную функцию возведения в степень.

Среднее арифметическое – Вычисление среднего арифметического в Паскале

Среднее арифметическое без наибольшего и наименьшего – Программа аналогичная предыдущей, не учитывая максимальный и минимальный элементы

Условие задачи : Вычислить среднее арифметическое кубов двух чисел и среднее геометрическое их модулей (Язык Pascal).

Сложность : легкая .

Для начала продумаем наше решение. Оно ну очень простое. Введем числа, потом просто подставим их в формулу среднего арифметического и среднего геометрического и всё)

Для того чтобы решить задачу нам понадобятся следующее переменные :

1. Переменные num1 и num2 — для наших двух чисел
2. Переменная sredA — для среднего арифметического
3. Переменная sredG — для среднего геометрического

Начнем мы с каркаса нашей программы :

Тут мы объявили переменные и попросили пользователя ввести значения. Теперь стоит сказать как находятся среднее арифметическое и геометрическое.

1. Среднее арифм. — это сумма всех чисел деленная на кол-во чисел, т.е. в нашем случае два числа, значит будет (num1+num2)/2

2. Среднее геометр. — это корень из произведения всех чисел, т.е. надо умножить все числа и извлечь корень.

И так сначала давайте для среднего арифметического :

Тут всё просто. Дальше для среднего геометрического, в условии сказано что там модуль чисел, поэтому :

Вот и всё. Осталось только вывести результаты.

Дана кв. матрица
6 3 2 5
1 4 7 9
3 8 10 11
5 3 6 9
Найти среднее геометрич положительных эл-тов массива,у которых сумма номеров строки и столбца есть нечётное число.

Только не надо говорить что это легко( я это и сама знаю), но не могу решить(((. Помогите.

Главная » Решебник Абрамяна » Ввод и вывод данных, оператор присваивания: группа Begin (1-40) » Begin9. Решебник Абрамяна М. Э.

Даны два неотрицательных числа a и b. Найти их среднее геометрическое, то есть квадратный корень из их произведения: √a·b

Решение Pascal

program Begin9;

var

  a,b,SG: Real;

begin

  Write(‘Введите число a: ‘);

  Readln(a);

  Write(‘Введите число b: ‘);

  Readln(b);

  SG:=sqrt(a*b);

  Writeln(‘Среднее геометрическое a и b равно: ‘,SG);

end.

Решение C++

#include <stdio.h>

#include <math.h>

int main(void)

{

    float a, b;

    printf(«a:»);

    scanf («%f», &a);

    printf(«b:»);

    scanf («%f», &b);

    printf(«%fn»,sqrt(a*b));

    return 0;

}

Оцените решение

Загрузка…

Begin9. Решебник Абрамяна М. Э.: 2 комментария

  • Umid

    20.10.2020

    Permalink

    double a, b, sum;

    Console.WriteLine(«a: «);
    a = Convert.ToDouble(Console.ReadLine());
    Console.WriteLine(«b: «);
    b = Convert.ToDouble(Console.ReadLine());

    sum = (double)Math.Sqrt(a + b);

    Console.WriteLine(sum);

    Ответ

  • Аноним

    22.05.2022

    Permalink

    #include
    #include
    using namespace std;

    int main() {
    int a, b;
    cin >> a >> b;
    double sum = sqrt(a * b);
    cout << sum;
    return 0;
    }

    Ответ

Добавить комментарий

Понравилась статья? Поделить с друзьями:
  • Как составить клиентскую базу данных
  • Http error 404 the requested resource is not found как исправить
  • Как исправить повреждение обоев
  • Буферизация видео как исправить
  • Как найти ток двигателя формула