Среднее арифметическое на языке D

Среднее арифметическое на языке D

Сегодня я расскажу вам, как посчитать среднее арифметическое дробных чисел из файла на языке программирования D. Вроде бы простая задача, но давайте разберем её на практике и научимся работать с файлами, обрабатывать данные и записывать результат в другой файл.

Что такое среднее арифметическое?

Прежде чем перейти к кодированию, давайте вспомним, что такое среднее арифметическое. Это сумма всех чисел, деленная на количество этих чисел. Например, для чисел 1, 2 и 3 среднее арифметическое будет:

Среднее арифметическое=1+2+33=2\text{Среднее арифметическое} = \frac{1 + 2 + 3}{3} = 2

Подготовка

Прежде чем мы начнем, убедитесь, что у вас установлен компилятор D. Если нет, скачайте и установите его с официального сайта.

Теперь давайте создадим два файла: input.txt и output.txt. В input.txt запишем несколько дробных чисел, каждое с новой строки:

3.14
2.71
1.41
6.28
4.67

Написание кода

Шаг 1: Чтение данных из файла

Начнем с того, что прочитаем числа из файла input.txt. Для этого создадим файл main.d и напишем следующий код:

import std.stdio;
import std.file;
import std.string;

void main() {
    string inputFileName = "input.txt";
    string[] lines = readText(inputFileName).splitLines();

    double[] numbers;

    foreach (line; lines) {
        if (!line.empty) {
            numbers ~= line.to!double;
        }
    }

    writeln(numbers);
}

Здесь мы:

  1. Считываем содержимое файла input.txt.
  2. Разделяем содержимое на строки.
  3. Преобразуем строки в числа и сохраняем их в массив numbers.

Шаг 2: Подсчет среднего арифметического

Теперь, когда у нас есть массив чисел, можем посчитать их среднее арифметическое:

double calculateMean(double[] numbers) {
    double sum = 0;
    foreach (num; numbers) {
        sum += num;
    }
    return sum / numbers.length;
}

void main() {
    string inputFileName = "input.txt";
    string[] lines = readText(inputFileName).splitLines();

    double[] numbers;

    foreach (line; lines) {
        if (!line.empty) {
            numbers ~= line.to!double;
        }
    }

    double mean = calculateMean(numbers);
    writeln("Среднее арифметическое: ", mean);
}

Здесь мы добавили функцию calculateMean, которая принимает массив чисел, суммирует их и делит на количество чисел. В итоге мы получаем среднее арифметическое и выводим его на экран.

Шаг 3: Запись результата в файл

Теперь запишем результат в файл output.txt:

void writeResultToFile(string fileName, double result) {
    File file = File(fileName, "w");
    file.writeln("Среднее арифметическое: ", result);
    file.close();
}

void main() {
    string inputFileName = "input.txt";
    string outputFileName = "output.txt";
    string[] lines = readText(inputFileName).splitLines();

    double[] numbers;

    foreach (line; lines) {
        if (!line.empty) {
            numbers ~= line.to!double;
        }
    }

    double mean = calculateMean(numbers);
    writeResultToFile(outputFileName, mean);
}

Здесь мы добавили функцию writeResultToFile, которая открывает файл для записи, записывает в него результат и закрывает файл.

Полный код программы

Вот полный код нашей программы:

import std.stdio;
import std.file;
import std.string;

double calculateMean(double[] numbers) {
    double sum = 0;
    foreach (num; numbers) {
        sum += num;
    }
    return sum / numbers.length;
}

void writeResultToFile(string fileName, double result) {
    File file = File(fileName, "w");
    file.writeln("Среднее арифметическое: ", result);
    file.close();
}

void main() {
    string inputFileName = "input.txt";
    string outputFileName = "output.txt";
    string[] lines = readText(inputFileName).splitLines();

    double[] numbers;

    foreach (line; lines) {
        if (!line.empty) {
            numbers ~= line.to!double;
        }
    }

    double mean = calculateMean(numbers);
    writeResultToFile(outputFileName, mean);
}

Теперь запустите этот код, и результат будет записан в файл output.txt.

Мы рассмотрели, как на языке программирования D считать среднее арифметическое дробных чисел, прочитанных из файла, и записать результат в другой файл. Это простая, но полезная задача, которая может пригодиться в различных проектах, будь то анализ данных или простая автоматизация рутинных задач.

Что дальше?

Попробуйте усложнить задачу: добавить проверку на ошибки, учесть пустые строки или строки с некорректными данными, расширить функциональность программы. Язык D предоставляет множество возможностей для этого.

Надеюсь, этот пример был полезен для вас. Удачи в ваших проектах и до новых встреч!


Карпов Ярослав

Автор статьи:

Обновлено:

24.05.2024


Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *