Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 9 Текст информ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
225.79 Кб
Скачать

Лабораторная работа № 9 обработка текстовой информации

1 Цель и порядок работы

Цель работы - изучить операторы, используемые при организации программ обработки строковых переменных, получить практические навыки в составлении программ.

Порядок выполнения работы:

  • ознакомиться с описанием лабораторной работы;

  • получить задание у преподавателя по вариантам;

  • разработать алгоритм решения задачи;

  • написать программу, ввести программу, отладить и выполнить ее на ЭВМ;

  • оформить отчет.

2 Общие сведения

С точки зрения практического программирования одним из самых важных его аспектов является обработка текстовой информации, и любой современный язык программирования имеет для решения задач данного типа свои средства. Поскольку любой текст можно рассматривать и как последовательность отдельных символов и как строку, то функциональные возможности наиболее современного языка С# должны быть достаточно полны для выполнения разнообразных преобразований всех видов текстовой информации. Типы данных в С# позволяют работать и с отдельными символами, и с массивами символов, и с различного типа строками. Рассмотрим эти возможности.

2.1 Символьный тип char

Символьный тип char базируется на стандартном классе Char библиотеки .NET из пространства имен System. Он является встроенным типом языка и предназначен для хранения символов в Unicode.

Класс System.Char объединяет в себе целый ряд методов (табл. 1), которые позволяют намного облегчить написание программ обработки символьной информации. Набор методов этого класса позволяют распознавать символы различного назначения и выполнять над ними распространенные операции.

Таблица 1 - Основные методы класса System.Char

Метод

Пояснение

1

GetNumericValue

Возвращает числовое значение символа, если он является цифрой, и -1 в противном случае

2

GetUnicodeCategory

Возвращает категорию Unicodе-символа

3

IsControl

Возвращает truе, если символ является управляющим

4

IsDigit

Возвращает truе, если символ является десятичной цифрой

5

IsLetter

Возвращает truе, если символ является буквой

6

IsLetterOrDigit

Возвращает truе, если символ является буквой или цифрой

7

IsLower

Возвращает truе, если символ задан в нижнем регистре

8

IsNumber

Возвращает truе, если символ является числом (десятичным

или шестнадцатеричным)

9

IsPunctuation

Возвращает truе, если символ является знаком препинания

10

IsSeparator

Возвращает truе, если символ является разделителем

11

IsUpper

Возвращает truе, если символ записан в верхнем регистре

12

IsWhiteSpace

Возвращает truе, если символ является пробельным (пробел,перевод строки и возврат каретки)

13

Раrse

Преобразует строку в символ (строка должна состоять из одного символа)

14

ToLower

Преобразует символ в нижний регистр

15

ТоUрреr

Преобразует символ в верхний регистр

16

МахValuе, МinValuе

Возвращают символы с максимальным и минимальным кодами (эти символы не имеют видимого представления)

Пример 1. Целью данного примера является демонстрация возможностей некоторых приведенных выше методов класса System.Char.

Листинг 1

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

char q;

do

{

Console.WriteLine( "Введите символ: ");

q = char.Parse (Console.ReadLine());

if (char.IsLetter(q)) Console.WriteLine("Буква");

if (char.IsUpper(q)) Console.WriteLine("Верхний рег.");

if (char.IsLower(q)) Console.WriteLine("Нижний рег.");

if (char.IsControl(q)) Console.WriteLine("Управляющий");

if (char.IsNumber(q)) Console.WriteLine("Число");

if (char.IsPunctuation(q)) Console.WriteLine("Разделитель");

}

while (q!='/');

}

}

}

В программе в цикле с постусловием запрашивается символ и далее с помощью ряда условных операторов определяется: к какой категории введенный символ относится. Выход из цикла организован по символу “/”.

Результаты работы программы: