Labolatornaya_rabota_5_po_OP
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Факультет безопасности (ФБ)
Кафедра безопасности информационных систем (БИС)
ТЕКСТОВЫЕ ФАЙЛЫ Отчет по лабораторной работе №5
по дисциплине «Основы программирования»
Студент гр. 731-2
__________ А.С.Батаев
__________
Принял Инженер КИБЭВС
__________ __________ Д.Р. Уразаев
__________
Томск 2022
2
Оглавление
1 |
Введение................................................................................................................. |
3 |
2 |
Ход работы............................................................................................................. |
4 |
3 |
Заключение .......................................................................................................... |
10 |
4 |
Список используемой литературы .................................................................... |
11 |
3
1 Введение
Цель работы: Овладеть навыками работы с текстовыми файлами. Задание: составить консольное приложение для решения нижеприведенных задач согласно варианту, согласованному с преподавателем, вводя данные в ходе выполнения программы. Для выполнения предварительно ознакомьтесь с соответствующими разделами данного пособия.
Примечание: следующие задания требуется решить с использованием текстовых файлов. Во всех заданиях предусмотреть в программе: формирование текстового файла, записав в него 20 случайных чисел от –100 до 100, по одному на строке. Используя созданный выше файл как входной, сформировать выходной файл по указанному для каждого варианта правилу.
4
2 Ход работы
2.1 Теоретические сведения
Массив – это структура данных, которая содержит ряд переменных одного типа, доступ к которым осуществляется по индексу. Массивы в С#
могут быть одномерными, многомерными, пустыми, также в С# массивы могут быть зубчатыми (массивы массивов)
Язык программирования C# позволяет представлять два вида массивов:
одномерные массивы;
многомерные массивы.
Вмногомерных массивах различаются двумерные и многомерные прямоугольные массивы. Кроме того, язык программирования C# имеет средства для организации работы с так называемыми ступенчатыми массивами.
2.2 Первое задание
Поставленная задача для варианта 3, выглядит так:
Записать выходной файл, вычтя из каждого числа наибольшее число файла Создается код, выполняющий данный алгоритм действий. Он представлен
ниже.
Random rnd = new Random();
StreamWriter sw = new StreamWriter("C:\\test.txt"); for (int i = 0; i < 20; i++)
{
sw.WriteLine(rnd.Next(-100, 101));
}
sw.Close();
int max = 0; Console.WriteLine("Содержимое файла:");
StreamReader sr = new StreamReader("C:\\test.txt"); string line = sr.ReadLine();
while (line != null)
{
if (Convert.ToInt32(line) > max)
{
max = Convert.ToInt32(line);
}
5
Console.WriteLine(line); line = sr.ReadLine();
}
sr.Close();
Console.WriteLine("\nНаибольшее число: " + max);
Console.WriteLine("\nДанные получившегося файла: ");
StreamWriter sw2 = new StreamWriter("C:\\test2.txt"); StreamReader sr2 = new StreamReader("C:\\test.txt"); line = sr2.ReadLine();
while (line != null)
{
sw2.WriteLine(Convert.ToInt32(line) - max); Console.WriteLine(Convert.ToInt32(line) - max); line = sr2.ReadLine();
}
sr2.Close();
sw2.Close();
File.Delete("C:\\test.txt");
File.Delete("C:\\test2.txt");
Проверка корректности написания при запуске и вводе переменных
представлена на рисунке 2.1-2.2.
6
Рисунок 2.1 – Проверка корректности кода
7
Рисунок 2.2 – Проверка корректности кода
2.3 Вторая задача
8
Поставленная задача,
Создается код, выполняющий данный алгоритм действий. Он изображен ниже.
Dictionary<char,int> text = new Dictionary<char,int>(); StreamReader sr = new StreamReader(@"E:\Лабы по ОП\text.txt"); string alltext = sr.ReadToEnd();
foreach (char item in alltext)
{
if (text.Keys.Contains(Char.ToUpper(item)) || text.Keys.Contains(Char.ToLower(item)))
{
text[Char.ToLower(item)] += 1;
}
else
{
text.Add(Char.ToLower(item), 1);
}
}
sr.Close();
StreamWriter sw = new StreamWriter(@"E:\Лабы по ОП\test.txt"); foreach (char item in text.Keys)
{
if (item != ' ' || item != '\n')
{
sw.WriteLine(Convert.ToString(item) + " - " + text[item]);
}
}
sw.Close();
9
Проверка корректности написания при запуске представлена на рисунке 2.3-2.4.
Рисунок 2.3 – Результат работы кода
10
3Заключение
Входе работы были приобретены навыки работы с текстовыми файлами.