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

laba4

.pdf
Скачиваний:
15
Добавлен:
29.10.2021
Размер:
486.31 Кб
Скачать

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

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР) Кафедра безопасности информационных систем (БИС)

Отчет по лабораторной работе №4

по дисциплине «Основы программирования» Тема работы: Обработка текста.

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

_______Подойницын К.В.

31.05.2021

Принял Инженер научно-технического отдела ЦСП

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

31.05.2021

2021

Содержание Введение…………………………………………………………...3

Теоретические сведения по теме лабораторной работы………..4

Ход работы………………………………………………………...5-11

Заключение…………………………………………………………12

Список использованных источников…………………………….13

1 Введение

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

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

2 Теоретические сведения по теме лабораторной работы

Согласно условию задач, для решения задач в программах необходимо использовать обработку символов. Для описания символьных переменных служит тип char, соответственно массив символов можно объединить в строку. Для представления строк служит тип string. Символы также имеют коды. Для получения цифрового кода символа достаточно применить операцию перевода в целые: (int) c, где с – символьная переменная. Для получения по коду самого символа достаточно применить операцию по переводу целых в символьные (char) k, где k – целое число (код символа).

Для ввода и вывода масcива символов с клавиатуры можно использовать следующие команды: char[] rusalf; rusalf = Console.ReadLine().ToCharArray(); Console.WriteLine(rusalf); Работа с массивами символов ничем не отличается от работы с массивами других типов данных, их также можно сортировать пока какому либо признаку, выводить при помощи циклов и т.д. В C# есть специальный тип для хранения строк string, с переменными этого типа можно работать как с обычными переменными сразу задавая и изменяя им значения.

3 Ход работы

Задание 1

Составить программу, которая введенное слово напечатает в обратном порядке (например, слово «упал» превратится в «лапу»).

Представление алгоритма в виде блок-схемы:

Рисунок 1 – блок-схема Листинг исходного кода программы:

using System;

using System.Collections.Generic; using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace laba4._1

{

class Program

{

static void Main(string[] args)

{

string d; Console.WriteLine("Введите d: "); d = Console.ReadLine();

char[] str = d.ToCharArray(); Array.Reverse(str); Console.WriteLine(str);

}

}

}

Рисунок 2 – скриншот работы программы

Программа работает корректно.

Задание 2

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

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

Представление алгоритма в виде блок-схемы:

Рисунок 3 – блок-схема

Листинг исходного кода программы:

using System;

using System.Collections.Generic; using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace laba4._2

{

class Program

{

static void Main(string[] args)

{

char neededKey, pressedKey; int kod, a, d;

a = 0; d = 0;

Console.WriteLine("Введите 1 для продолжения на русском языке или 0, если хотите работать на английском:");

int x = int.Parse(Console.ReadLine()); if (x == 0)

{

Random rand = new Random();

Console.WriteLine($"Вводите символы которые видите на экране"); while (true)

{

kod = rand.Next(33, 122); neededKey = (char)kod; var key = ConsoleKey.Escape; Console.Write(neededKey);

pressedKey = Console.ReadKey().KeyChar; key = (ConsoleKey)pressedKey; Console.Write('\b');

if (key != ConsoleKey.Escape) if (neededKey != pressedKey)

{

Console.WriteLine("\nОшибка!"); Console.Beep();

d = 0;

}

else

{

d = d + 1; a = a + 1;

Console.WriteLine("\nПравильно: " + d);

}

else

{

Console.WriteLine("\n_Ваш рекорд: " + a); Console.ReadLine();

Environment.Exit(0);

}

}

}

else

{

Random rand = new Random();

Console.WriteLine($"Вводите символы которые видите на экране"); while (true)

{

kod = rand.Next(1040, 1103); neededKey = (char)kod; var key = ConsoleKey.Escape; Console.Write(neededKey);

pressedKey = Console.ReadKey().KeyChar; key = (ConsoleKey)pressedKey; Console.Write('\b');

if (key != ConsoleKey.Escape) if (neededKey != pressedKey)

{

Console.WriteLine("\nОшибка!"); Console.Beep();

d = 0;

}

else

{

d = d + 1; a = a + 1;

Console.WriteLine("\nПравильно: " + d);

}

else

{

Console.WriteLine("\n_Ваш рекорд: " + a); Console.ReadLine();

Environment.Exit(0);

}

}

}

}

}

}

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