Лабораторные. Дагаев / Операционные_системы_ЛР_№1_Отчет
.docxМинистерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Федеральное государственное бюджетное образовательное учреждение Высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. Проф. М. А. Бонч-Бруевича» (СПбГУТ)
Факультет Информационных технологий и программной инженерии
Кафедра Программной инженерии
Лабораторная работа №1
По дисциплине: Операционные системы и сети
Выполнил студент:
Яковлев М. А. ИКПИ-32
Принял работу:
Дагаев А. В.
Дата выполнения:
«24» октября 2025 г.
Санкт-Петербург
2025 г.
Постановка задачи
Необходимо изучить команды Bash, которые выполняют подсчёт для статистики по словам в заданном текстовом файле. Необходимо построить график функции распределения и плотности распределения на основе полученных статистических данных.
Перечень функций
tr — выполняет замену или удаление символов в потоке текста; здесь используется для разделения слов и приведения текста к нижнему регистру.
sort — сортирует строки текста в алфавитном порядке; применяется перед и после uniq для подготовки данных к подсчёту.
uniq — удаляет повторяющиеся строки или, с параметром -c, считает количество повторений каждой строки.
awk — построчно обрабатывает текст по шаблонам и правилам; здесь форматирует вывод вида «слово — количество».
wc — подсчитывает количество строк, слов и символов в файле; может использоваться для отображения общего числа слов в исходном файле.
echo — выводит текстовые сообщения в консоль.
exit — завершает выполнение скрипта с указанным кодом выхода.
Описание алгоритма
Программа начинается с проверки количества аргументов командной строки: она ожидает единственный аргумент — имя входного текстового файла. Далее сохраняется имя входного файла, и задаётся имя выходного файла.
Затем выполняется предобработка текста. С помощью утилиты tr входные данные разбиваются на отдельные слова, при этом любые символы, кроме букв и цифр, рассматриваются как разделители. Вторая команда tr переводит все символы в нижний регистр для объединения одинаковых слов независимо от их исходного написания. Список слов сортируется в алфавитном порядке и обрабатывается командой uniq -c, которая подсчитывает количество повторений каждого уникального слова. Полученный список сортируется командой sort -nr по убыванию частоты появления.
На завершающем этапе команда awk переставляет местами слово и его частоту, добавляя между ними тире, а результат сохраняется в файл word_count_output.txt. После выполнения программы этот файл переносится в Excel, где данные группируются по интервалам, вычисляется относительная частота встречаемости слов, строятся графики плотности распределения и функция распределения для дальнейшего анализа.
Графики
Графики, построенные на основе полученной статистики. График плотности распределения и график функции распределения.
Рисунок 1. График плотности распределения
Рисунок 2. График функции распределения
График плотности распределения (рис. 1) — это непрерывная кривая, не опускающаяся ниже оси абсцисс. Сама функция плотности обозначается f(x), она определена только для непрерывных случайных величин и характеризует «плотность» вероятностей около каждой точки.
График функции распределения (рис. 2) — это неубывающая кривая, ограниченная значениями от 0 до 1 по оси Y. Функция распределения F(x) показывает вероятность того, что случайная величина примет значение, меньшее или равное x.
Программа
Текст программы (рис. 3):
Рисунок 3. Текст программы
Входной файл (рис. 4):
Рисунок 4. Входной файл
Выходной файл (рис. 5):
Рисунок 5. Выходной файл
Вывод
В ходе лабораторной работы были изучены команды на Bash, выполнен алгоритм, составляющий статистику по словам в текстовом файле. Использованы стандартные утилиты командной строки (tr, sort, uniq, awk). Результат выводится в читаемом виде в отдельный файл, что облегчает дальнейший анализ данных.
