Главная / Программирование /
Основы программирования на 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 запускает поиск в заданной строке всех непересекающихся вхождений подстроки, удовлетворяющей образцу поиска