Главная / Программирование /
Основы программирования на C# / Тест 15
Основы программирования на C# - тест 15
Упражнение 1:
Номер 1
Отметьте правильные высказывания:
Ответ:
 (1) регулярные выражения задают специальный класс языков 
 (2) для работы с регулярными выражениями в .Net Framework включено пространство имен RegularExpressions
 
 (3) объекты класса Match
создаются конструктором с параметрами 
 (4) объект Match
создается при вызове метода Match
 
 (5) регулярное выражение задает шаблон поиска подстроки в строке текста 
Номер 2
Словом будем называть непустую последовательность букв кириллицы, обрамленную белыми пробелами. Какой образец распознает слова, соответствующие этому определению?
Ответ:
 (1) @"\s\W+\s"
 
 (2) @"\s*[а-я]+\s"
 
 (3) @"[А-Яа-я]+"
 
 (4) @"\s[А-Яа-я]+\s"
 
 (5) @"\s[А-Яа-я]*\s"
 
Номер 3
Отметьте правильные высказывания:
Ответ:
 (1) регулярное выражение позволяет определить, является ли одна строка частью другой строки 
 (2) регулярное выражение позволяет определить, принадлежит ли строка языку, заданному регулярным выражением 
 (3) регулярное выражение позволяет определить, есть ли в строке подстрока, удовлетворяющая шаблону, заданному регулярным выражением 
 (4) метод Matches
находит все вхождения подстрок, удовлетворяющие шаблону 
 (5) метод Matches
находит все непересекающиеся вхождения подстрок, удовлетворяющие шаблону 
Упражнение 2:
Номер 1
Отметьте правильные высказывания
Ответ:
 (1) у класса Regex
есть метод Match
 
 (2) образец@"\w+"
распознает непустую последовательность букв и цифр 
 (3) образец @"\w+"
распознает непустую последовательность букв и цифр, начинающуюся с буквы 
 (4) свойство Success
метода Match в случае успеха распознавания возвращает найденную строку 
 (5) Знаки + и - в образце должны задаваться в виде \+ и \- 
Номер 2
Какие из трех образцов: @"\s*[а-я]+\s"
, @"[А-Яа-я]+"
, @"\s[А-Яа-я]+\s"
включат слово "папа" в результат найденного соответствия при поиске в строке "папа мама и я":
Ответ:
 (1) все три образца 
 (2) ни один из образцов 
 (3) 2-й и 3-й 
 (4) 1-й и 2-й 
Номер 3
Чтобы получить объект Match
можно:
Ответ:
 (1) создать его, передав конструктору регулярное выражение 
 (2) создать объект класса Regex
, вызвать метод Matches
и выбрать нужный объект из коллекции 
 (3) объявить объект Match
без инициализации, создать объект класса Regex
, вызвать метод Match
и его результат присвоить объекту Match
 
 (4) объявить объект Match
без инициализации, создать объект класса Regex
, вызвать свойство Group
и у полученной группы вызвать свойство Match
, результат которого присвоить объекту Match
 
Упражнение 3:
Номер 1
Какие слова принадлежат языку, заданному регулярным выражением: @“[A-Za-z]\w+=\w+[\+|\-|\*]\w+”
Ответ:
 (1) x=u+v+w
 
 (2) xyz=2x*y5
 
 (3) a = b-c
 
 (4) U=v+w
 
 (5) Agent007=James-Bond
 
Номер 2
Какие слова принадлежат языку, заданному регулярным выражением: @ “[a-zA-Z]\w*\s*=\s*\w+(\s*\+\s*\w+)+”
Ответ:
 (1) x=y+z
 
 (2) XYZ = 2 + 3 + 7
 
 (3) Agent007 = James + Bond
 
 (4) x5 = 5x
 
 (5) 5y= y5
 
Номер 3
Какие слова принадлежат языку, заданному регулярным выражением: @“\w\s=\s\w+(\+|\-\w+)+”
?
Ответ:
 (1) x=y+z
 
 (2) 7 = 5-2
 
 (3) x = 2 + y - 7
 
 (4) x1 = z-x
 
Упражнение 4:
Номер 1
Для выделения из текста подстроки, в которой x и y разделены знаком операции + или -, следует использовать шаблон:
Ответ:
 (1) @"(x+y)|(x-y)"
 
 (2) @"x[\+|\-]y"
 
 (3) @"x[+|-]y"
 
Номер 2
Слова языка LD задаются непустой последовательностью целых чисел, разделенных знаками арифметических операций, например 155/33+17-5*23+7. Какое регулярное выражение описывает этот язык?
Ответ:
 (1) @"\d+[{\+|\-|\*|/}\d+]*"
 
 (2) @"{\d+[\+|\-|\*|\/]\d+}+"
 
 (3) @"[\d+[+|-|*|/]\d+]+"
 
Номер 3
Класс Regex
имеет
Ответ:
 (1) открытый конструктор по умолчанию 
 (2) защищенный конструктор по умолчанию 
 (3) открытый конструктор с аргументом типа string
 
 (4) защищенный конструктор с аргументом типа string
 
Упражнение 5:
Номер 1
Для выделения из текста подстроки, состоящей из трех символов, в которой первый и третий символы являются буквами т или к, а второй символ произвольной буквой кириллицы в нижнем регистре, следует использовать шаблон:
Ответ:
 (1) @"т|к.т|k"
 
 (2) @"[т|к][а-я][т|к]"
 
 (3) @"[т|к]?[т|к]"
 
Номер 2
Слова языка LV задаются непустой последовательностью однобуквенных имен в латинице, разделенных знаками арифметических операций, например x/z+c-v*b+n
. Какое регулярное выражение описывает этот язык?
Ответ:
 (1) @"\w+[{\+|\-|\*|/}\w+]*"
 
 (2) @"\w{[\+|\-|\*|/]\w}+"
 
 (3) @"[A-Za-z][{\+|\-|\*|/}{A-Za-z}]*"
 
Номер 3
Правда ли, что:
Ответ:
 (1) метод Match
класса Regex
запускает поиск в заданной строке первого вхождения подстроки, удовлетворяющей образцу поиска 
 (2) методMatch
класса Regex
запускает поиск в заданной строке всех вхождений подстроки, удовлетворяющей образцу поиска 
 (3) метод Matches
класса Regex
запускает поиск в заданной строке всех непересекающихся вхождений подстроки, удовлетворяющей образцу поиска