Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.раб. поС#.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.88 Mб
Скачать

4. Выполнить задание на применение регулярных выражений. Выбрать одно по заданному номеру.

  1. Задан текст. Определить входит ли в него заданное слово и сколько раз.

  2. Задан текст. Определить является ли он кодом HTML : содержит теги <html>, <form>, <h1>.

  3. Задан текст. Определить является ли он текстом на английском языке.

  4. Задан текст. После каждой буквы «о» вставить сочетание «Oк».

  5. Задан текст. Определить является ли он текстом на русском языке.

  6. Задан текст. Определить содержит ли он цифры.

  7. Задан текст. Определить сколько предложений начинается со слова “Информатика”.

  8. Задан текст. Выбрать из него все 7-значные номера телефонов.

  9. Задан текст. Определить содержит ли он цифры.

  10. Задан текст. Выбрать из него все e-mail адреса.

  11. Задан текст, содержащий буквы и цифры. Найти произведение все чисел в тексте.

  12. Задано предложение. Распечатать все слова в столбик.

  13. Задан текст. Определить количество согласных букв в нем и распечатать их.

Лабораторная работа 2 Тема: Структуры и перечисления как частные виды классов. Классы. Интерфейсы

Цель работы:

  • Научиться создавать типы данных структуры и перечисление.

  • Изучить методы работы со структурами и перечислениями в программе на С#.

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

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

Перечисление - это частный случай класса. Перечисление задает конечное множество возможных значений, которые могут получать объекты класса перечисление. Поскольку у перечислений нет собственных методов, то синтаксис объявления этого класса упрощается - остается заголовок и тело класса, содержащее список возможных значений:

[Атрибуты][модификаторы]enum имя_перечисления[: базовый класс] {список_возможных_значений}

Особенности объявления перечислений:

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

  • константы разных перечислений могут совпадать. Имя константы всегда уточняется именем перечисления;

  • константы могут задаваться словами русского языка;

  • разрешается задавать базовый класс перечисления.

  • разрешается задавать не только базовый класс, но и указывать начальный элемент подмножества, на которое проецируется множество значений перечисления.

Часто бывает удобным создать набор значимых имен, которые будут представлять числовые значения. Представим себе, что вы создаете систему расчета заработной платы для сотрудников. Скорее всего, вам покажется более удобным вместо значений {0, 1, 2, 3} использовать понятные имена VP, Manager, Grunt и Contractor. Создание перечисле­ния для наших целей может выглядеть так:

Значения по умолчанию:

еnиm ЕmрТуре {

Manager, // = 0

Grunt, // = 1

Contractor, // = 2

VP // = 3

}

При необходимости можно задать значения:

enum EmpType {

Manager = 102,

Grunt, // = 103

Contractor, // = 104

VP // = 105

}

Для элементов перечисления вовсе не обязательно использовать строго после­довательные числовые значения.

class EnumClass {

public static void AskForBonus(EmpType e) {

switch(e) {

case EmpType.Contractor:

Console.WriteLine(“You are already get enough cash..."); break;

case EmpType.Grunt:

Console.WriteLine("You havve got to be kidding..."); break;

case EmpType.Manager:

Console.WriteLine(“How about stock options instead?"); break;

case'EmpType.VP:

Console.WriteLine(“VERY GOOD. Sir!"); break;

default: break;

} }

public static int Main(string[] args) {

EmpType fred;

fred = EmpType.Contractor;

AskForBonus(fred);

return 0;

}}

Структуры С# можно рассматривать как особую разновидность классов. С классами структуры роднит многое: для структур можно определять конструк­торы (только с параметрами), структуры могут реализовывать интер­фейсы. Синтаксис объявления структуры аналогичен синтаксису объявления класса:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]