Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Labolatornaya_rabota_4_po_OP

.pdf
Скачиваний:
5
Добавлен:
27.11.2022
Размер:
814.53 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Факультет безопасности (ФБ)

Кафедра безопасности информационных систем (БИС)

ОБРАБОТКА ТЕКСТА Отчет по лабораторной работе №4

по дисциплине «Основы программирования»

Студент гр. 731-2

__________ А.С.Батаев

__________

Принял Инженер КИБЭВС

__________ __________ Д.Р. Уразаев

__________

Томск 2022

2

Оглавление

1

Введение.................................................................................................................

3

2

Ход работы.............................................................................................................

4

3

Заключение ..........................................................................................................

10

4

Список используемой литературы ....................................................................

11

3

1 Введение

Цель работы: Овладеть навыками обработки текстов при помощи строкового, символьного типов, регулярных выражений и закрепить навыки работы циклами и массивами.

Задание: составить консольное приложение для решения нижеприведенных задач согласно варианту, согласованному с преподавателем,

вводя данные в ходе выполнения программы. Для выполнения предварительно ознакомьтесь с соответствующими разделами данного пособия.

Примечание: для задания 1 под строками понимаются массивы символьных переменных, тип данных string использовать нельзя, для задания 2

если это необходимо можно использовать тип string.

4

2 Ход работы

2.1 Теоретические сведения

Массив – это структура данных, которая содержит ряд переменных одного типа, доступ к которым осуществляется по индексу. Массивы в С#

могут быть одномерными, многомерными, пустыми, также в С# массивы могут быть зубчатыми (массивы массивов)

Язык программирования C# позволяет представлять два вида массивов:

одномерные массивы;

многомерные массивы.

Вмногомерных массивах различаются двумерные и многомерные прямоугольные массивы. Кроме того, язык программирования C# имеет средства для организации работы с так называемыми ступенчатыми массивами.

2.2 Первое задание

Поставленная задача для варианта 3, выглядит так:

Дан текст, заканчивающийся точкой. Является ли этот текст правильной записью целого числа (возможно, со знаком).

Создается код, выполняющий данный алгоритм действий. Он представлен ниже.

Console.WriteLine("Введите целое число по одному символу, закончите с помощью точки: ");

bool isEnd = false;

char[] mass = new char[1000]; int i = 0;

while (!isEnd)

{

mass[i] = Convert.ToChar(Console.ReadLine()); if (mass[i] == '.')

{

isEnd = true;

}

i++;

}

5

bool isNumber = false;

for (int j = 0; j < int.MaxValue; j++)

{

if (mass[j] != '.')

{

//проверяем - первый это символ или нет (первый символ может быть '-' и ему незачем начинаться на '0', поэтому условия для первого символа и всех остальных разные)

if (j == 0)

{

if (mass[0] == '-' || mass[0] == '1' || mass[0] == '2' || mass[0] == '3' || mass[0] == '4' || mass[0] == '5' ||

mass[0] == '6' || mass[0] == '7' || mass[0] == '8' || mass[0] == '9')

{

isNumber = true;

}

else

{

isNumber = false; break;

}

}

else

{

if (mass[j] == '0' || mass[j] == '1' || mass[j] == '2' || mass[j] == '3' || mass[j] == '4' || mass[j] == '5' ||

mass[j] == '6' || mass[j] == '7' || mass[j] == '8' || mass[j] == '9')

{

isNumber = true;

}

else

{

isNumber = false; break;

}

}

}

else

{

break;

}

}

if (isNumber)

{

Console.WriteLine("Это целое число");

}

else

{

Console.WriteLine("Это не целое число");

}

Проверка корректности написания при запуске и вводе переменных

представлена на рисунке 2.1-2.2.

6

Рисунок 2.1 – Проверка корректности кода

Рисунок 2.2 – Проверка корректности кода

2.3 Вторая задача

Поставленная задача, Разработать программу – клавиатурный тренажер.

В ходе работы программы должны генерироваться символы, которые необходимо вводить пользователю, количество правильно введенных символов должно подсчитываться, при вводе неверного символа, счетчик правильно введенных символов должен обнуляться, по завершению работы тренажера

7

результат верно введенных символов должен выводиться на экран. Выход из режима тренажера должен осуществляться по нажатию клавиши «Esc». При вводе неверного символа необходимо выдавать звуковое сопровождение

(системный звук). При запуске приложения должен предоставляться выбор набор символов какого языка необходимо тренировать: русский или английский.

Создается код, выполняющий данный алгоритм действий. Он изображен ниже.

char[] rusMass = new char[33] { 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П',

'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ч', 'Ц', 'Ш', 'Щ', 'Ъ',

'Ы', 'Ь', 'Э', 'Ю', 'Я' };

char[] enMass = new char[26] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',

'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };

char answer;

int countRightAnswer = 0;

Console.Write("Какой набор символов будем тренировать? Напишите 1, если набор русских символов и 2, если английских: ");

int varQuest = Convert.ToInt32(Console.ReadLine());

if (varQuest == 1)

{

Console.WriteLine("Вы выбрали набор русских символов.");

func(rusMass, 34);

}

else if (varQuest == 2)

{

Console.WriteLine("Вы выбрали набор английских символов.");

func(enMass, 27);

}

void func(char[] mass, int count)

{

while (true)

{

Random rnd = new Random();

char symbol = mass[rnd.Next(0, count)]; Console.WriteLine("Напечатайте " + symbol);

answer = Convert.ToChar(Console.ReadLine());

if (answer == symbol || char.ToUpper(answer) == symbol)

{

Console.WriteLine("Правильно!"); countRightAnswer++;

}

else

{

Console.WriteLine("Неверно!"); Console.Beep();

8

countRightAnswer = 0;

}

Console.WriteLine("Продолжить? Нажмите любую кнопку, чтобы продолжить и Esc, чтобы завершить.");

ConsoleKeyInfo ki = Console.ReadKey(true); if (ki.Key == ConsoleKey.Escape)

{

Console.WriteLine("Выход. Ваш результат: " + Convert.ToString(countRightAnswer));

break;

}

}

}

Проверка корректности написания при запуске представлена на рисунке

2.3-2.4.

Рисунок 2.3 – Результат работы кода

9

Рисунок 2.4 – Результат работы кода

10

3Заключение

Входе работы были приобретены навыки работы с текстом.

Соседние файлы в предмете Основы программирования