Вопрос задан 16.07.2023 в 12:22. Предмет Информатика. Спрашивает Митченко Анна.

Написать функцию, которая подсчитывает количество элементов файла f, меньших чем среднее

арифметическое всех элементов этого файла.Type reals = file of real; var f:reals. Написать программу с процедурами на языке Паскаль
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Пашкявичюс Герман.

===== PascalABC.NET =====

type

 reals = file of real;

 

procedure CreateReals(fn: string; var f: reals);

begin

 Rewrite(f, fn);

 for var i := 1 to 101 do

   Write(f, Random(-50.0, 50.0));

 f.Close

end;

function GetAverage(f: reals): real;

begin

 Result := f.Elements.Average;

end;

function CountElements(f: reals; m: real) :=

 f.Elements.Where(p -> p < m).Count;

begin

 var f: reals;

 var fn := 'Reals.bin';

 CreateReals(fn, f);

 Reset(f, fn);

 var avg := GetAverage(f);

 avg.Println;

 CountElements(f, avg).Println

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на языке Паскаль, которая содержит функцию CountElementsLessThanAverage, которая подсчитывает количество элементов файла, меньших чем среднее арифметическое всех элементов этого файла:

pascal
type reals = file of real; var f: reals; function CountElementsLessThanAverage(var f: reals): Integer; var sum: real; count: Integer; avg: real; value: real; begin sum := 0; count := 0; Reset(f); // Открываем файл для чтения // Считываем все элементы файла и суммируем их while not Eof(f) do begin Read(f, value); sum := sum + value; Inc(count); end; // Вычисляем среднее арифметическое avg := sum / count; // Перемещаем указатель на начало файла Reset(f); count := 0; // Подсчитываем количество элементов меньше среднего арифметического while not Eof(f) do begin Read(f, value); if value < avg then Inc(count); end; Close(f); // Закрываем файл Result := count; end; begin Assign(f, 'input.txt'); // Укажите путь к вашему файлу writeln('Количество элементов файла, меньших чем среднее арифметическое:', CountElementsLessThanAverage(f)); end.

В этом примере предполагается, что у вас есть файл input.txt с вещественными числами, каждое число на новой строке. Вы можете заменить 'input.txt' в коде на путь к вашему файлу данных.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос