summaryrefslogtreecommitdiff
path: root/asvt/labview/lab8/lab8.tex
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2020-12-02 22:40:17 +0400
committerAndrew <saintruler@gmail.com>2020-12-02 22:40:17 +0400
commitde3b6386f7647e294d01359b1f6682844bec362b (patch)
tree78788098d7861642fc31989227080028f4eec11b /asvt/labview/lab8/lab8.tex
parent667ff787804dcbcbb02e03dcedf3d33d25c38b11 (diff)
parent5a26d20d17f8ba26d282334b75cce5853a25c4e0 (diff)
Merge branch 'master' of github.com:saintruler/UniPersonalWorks
Diffstat (limited to 'asvt/labview/lab8/lab8.tex')
-rw-r--r--asvt/labview/lab8/lab8.tex263
1 files changed, 263 insertions, 0 deletions
diff --git a/asvt/labview/lab8/lab8.tex b/asvt/labview/lab8/lab8.tex
new file mode 100644
index 0000000..efd225b
--- /dev/null
+++ b/asvt/labview/lab8/lab8.tex
@@ -0,0 +1,263 @@
+\documentclass[bachelor, och, labwork]{SCWorks}
+% параметр - тип обучения - одно из значений:
+% spec - специальность
+% bachelor - бакалавриат (по умолчанию)
+% master - магистратура
+% параметр - форма обучения - одно из значений:
+% och - очное (по умолчанию)
+% zaoch - заочное
+% параметр - тип работы - одно из значений:
+% referat - реферат
+% coursework - курсовая работа (по умолчанию)
+% diploma - дипломная работа
+% pract - отчет по практике
+% параметр - включение шрифта
+% times - включение шрифта Times New Roman (если установлен)
+% по умолчанию выключен
+
+\usepackage{subfigure}
+\usepackage{tikz,pgfplots}
+\pgfplotsset{compat=1.5}
+\usepackage{float}
+
+%\usepackage{titlesec}
+\setcounter{secnumdepth}{4}
+%\titleformat{\paragraph}
+%{\normalfont\normalsize}{\theparagraph}{1em}{}
+%\titlespacing*{\paragraph}
+%{35.5pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
+
+\titleformat{\paragraph}[block]
+{\hspace{1.25cm}\normalfont}
+{\theparagraph}{1ex}{}
+\titlespacing{\paragraph}
+{0cm}{2ex plus 1ex minus .2ex}{.4ex plus.2ex}
+
+% --------------------------------------------------------------------------%
+
+
+\usepackage[T2A]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\graphicspath{ {./images/} }
+\usepackage{tempora}
+
+\usepackage[sort,compress]{cite}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{amsthm}
+\usepackage{fancyvrb}
+\usepackage{listings}
+\usepackage{listingsutf8}
+\usepackage{longtable}
+\usepackage{array}
+\usepackage[english,russian]{babel}
+
+\usepackage[colorlinks=true]{hyperref}
+\usepackage{url}
+
+
+\newcommand{\eqdef}{\stackrel {\rm def}{=}}
+
+\renewcommand\theFancyVerbLine{\small\arabic{FancyVerbLine}}
+
+\newtheorem{lem}{Лемма}
+
+\begin{document}
+
+% Кафедра (в родительном падеже)
+\chair{}
+
+% Тема работы
+\title{Ввод/вывод данных в файловую систему, Вариант 9}
+
+% Курс
+\course{2}
+
+% Группа
+\group{231}
+
+% Факультет (в родительном падеже) (по умолчанию "факультета КНиИТ")
+\department{факультета КНиИТ}
+
+% Специальность/направление код - наименование
+%\napravlenie{09.03.04 "--- Программная инженерия}
+%\napravlenie{010500 "--- Математическое обеспечение и администрирование информационных систем}
+%\napravlenie{230100 "--- Информатика и вычислительная техника}
+%\napravlenie{231000 "--- Программная инженерия}
+\napravlenie{10.05.01 "--- Компьютерная безопасность}
+
+% Для студентки. Для работы студента следующая команда не нужна.
+% \studenttitle{Студентки}
+
+% Фамилия, имя, отчество в родительном падеже
+\author{Гущина Андрея Юрьевича}
+
+% Заведующий кафедрой
+% \chtitle{} % степень, звание
+% \chname{}
+
+%Научный руководитель (для реферата преподаватель проверяющий работу)
+\satitle{ассистент} %должность, степень, звание
+\saname{А.~А.~Трунов}
+
+% Руководитель практики от организации (только для практики,
+% для остальных типов работ не используется)
+% \patitle{к.ф.-м.н.}
+% \paname{С.~В.~Миронов}
+
+% Семестр (только для практики, для остальных
+% типов работ не используется)
+%\term{8}
+
+% Наименование практики (только для практики, для остальных
+% типов работ не используется)
+%\practtype{преддипломная}
+
+% Продолжительность практики (количество недель) (только для практики,
+% для остальных типов работ не используется)
+%\duration{4}
+
+% Даты начала и окончания практики (только для практики, для остальных
+% типов работ не используется)
+%\practStart{30.04.2019}
+%\practFinish{27.05.2019}
+
+% Год выполнения отчета
+\date{2020}
+
+\maketitle
+
+% Включение нумерации рисунков, формул и таблиц по разделам
+% (по умолчанию - нумерация сквозная)
+% (допускается оба вида нумерации)
+% \secNumbering
+
+
+% \tableofcontents
+
+% Раздел "Обозначения и сокращения". Может отсутствовать в работе
+
+
+% Раздел "Определения". Может отсутствовать в работе
+%\definitions
+
+% Раздел "Определения, обозначения и сокращения". Может отсутствовать в работе.
+% Если присутствует, то заменяет собой разделы "Обозначения и сокращения" и "Определения"
+% \defabbr
+
+\section{Лабораторная работа \#8}
+
+\subsection{Задание}
+Создать файл, куда записать n целых чисел. Массив создать из
+исходного файла. Внести в него числа, расположенные в файле между
+минимальным и максимальным элементами.
+
+Виртуальный прибор должен формировать исходный файл,
+выполнять задание и сохранять результат в новом файле
+
+\subsection{Ход работы}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.9\textwidth]{program.png}
+ \caption{Блок-диаграмма программы}
+\end{figure}
+
+Для заполнения исходного файла я генерирую в цикле $n$ случайных чисел
+и записываю их в файл.
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.6\textwidth]{generation.png}
+ \caption{Заполнение исходного файла}
+\end{figure}
+
+Для считывания массива из файла я использую цикл, в котором используется
+блок <<Scan From String>> для считывания числа по одному из строки.
+Результатами этого блока являются оставшаяся строка после отсканированного
+значения и само отсканированное значение. Отсканированные значения я передаю
+в туннель из блока цикла.
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.6\textwidth]{loop.png}
+ \caption{Блок-диаграмма цикла, считывающего массив из файла}
+\end{figure}
+
+При этом в <<Tunnel mode>> необходимо указать
+<<Indexing>>, чтобы в результате получился массив из всех значений (по
+стандарту возвращается последнее значение, вычисленное в цикле).
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{indexing.png}
+ \caption{Режим <<Indexing>> для туннеля}
+\end{figure}
+
+Для получения результата я использую блок <<Max \& Min>> для массивов
+из которого беру индексы минимального и максимального элементов.
+Пусть индекс минимального значения --- $i_{min}$, а
+индекс максимального значения --- $i_{max}$.
+Индекс начала искомого массива --- это $\min (i_{min}, i_{max}) + 1$.
+Длина искомого массива --- это $|i_{min} - i_{max}| - 1$.
+
+Чтобы получить искомый массив, можно применить блок <<Array subset>>,
+к исходному массиву, указав значения index и length.
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{subset.png}
+ \caption{Алгоритм получения результата}
+\end{figure}
+
+Для вывода массива я использовал блок <<Array to Spreadsheet string>>.
+В качестве формата я указал ``\%d'', в качестве разделителя указал
+запятую и применил к искомому массиву. В результате получилась строка,
+состящая из элементов массива, разделённых запятыми.
+Её записываем в указанный файл.
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{print.png}
+ \caption{Вывод массива}
+\end{figure}
+
+\subsection{Тесты}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.4\textwidth]{template.png}
+ \caption{Лицевая панель виртуального прибора}
+\end{figure}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.7\textwidth]{test1.png}
+ \caption{Тест 1}
+\end{figure}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.7\textwidth]{test2.png}
+ \caption{Тест 2}
+\end{figure}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.7\textwidth]{test3.png}
+ \caption{Тест 3}
+\end{figure}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.7\textwidth]{test4.png}
+ \caption{Тест 4}
+\end{figure}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.7\textwidth]{test5.png}
+ \caption{Тест 5}
+\end{figure}
+
+\end{document}