Главная / Искусственный интеллект и робототехника / Введение в генерацию программного кода

Введение в генерацию программного кода - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Курс посвящен методам создания программ, автоматически генерирующих код приложений.
Смотрите также:
Что такое генерация исходного кода?
(1) это разработка исходного кода программы вручную
(2) это автоматическое создание программного кода специальным приложением, при котором по заданным условиям полностью или частично формируется исходный код программы
(3) это применение всех шагов цикла разработки программного кода
(4) это такая модификация исходного кода, при котором генератор его понимает
Дан файл со следующими комментариями: //a=1 //b=a+2 //c=6 //a=c-b Также имеется приведенный ниже программный код: List<string> program = new List<string>(); List<string> vars = new List<string>(); string line; string var; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); var = line[2].ToString(); if (!vars.Contains(var)) { program.Add("int " + line.Substring(2) + ";"); vars.Add(var); } else program.Add(line.Substring(2)); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?
(1) int a; a=1; int b; b=a+2; int c; c=6; a=c-b;
(2) int a=1; int b=a+2; int c=6; int a=c-b;
(3) int a=1; int b=a+2; int c=6; a=c-b;
(4) int a=1; int b; b=a+2; int c=6; a=c-b;
Технология T4 это
(1) объектная модель документа
(2) язык преобразований XSL
(3) инструмент для генерации кода на основе шаблонов
(4) приложение, выполняющее генерацию кода
Технология XSLT это:
(1) стили, которые применяются к документам XML
(2) язык программирования для генерации кода
(3) каскадные шаблоны стилей
(4) язык для преобразования документов XML
Как генерируется код с применением технологии CodeDom?
(1) с примением классов из пространства имен CodeDom строится дерево кода и генерируется программный код
(2) с помощью провайдера кода одного из языков создается модель кода, применением классов CodeDom формируется сгенерированный код
(3) строится модель кода с примением классов из пространства имен CodeDom, провайдером кода одного из языков эта модель конвертируется в программный код на этом языке
(4) строится шаблон T4 с примением классов из пространства имен CodeDom, провайдером кода одного из языков шаблон трансформируется в программный код на этом языке
Для генерации кода необходимо наличие следующих ключевых составляющих:
(1) базы данных, промежуточный уровень и пользовательский интерфейс
(2) шаблоны, базы данных и пользовательский интерфейс
(3) метаданные, базы данных и генератор
(4) шаблоны программного кода, метаданные, правила предметной области
Дана следующая программа List<string> program = new List<string>(); List<string> vars = new List<string>(); string line; string var; string rest; int k; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); if (line.Contains("//")) k = 2; else k = 0; var = line[k].ToString(); rest = line.Substring(k); if (!vars.Contains(var)) { program.Add("int " + rest + ";"); vars.Add(var); } else program.Add(rest + ";"); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Каким должен быть входной файл, чтобы на выходе работы программы получить следующий результат? int a=1; int b=a+2; int c=6; a=c-b;
(1) a=1 //b=a+2 c=6 //a=c-b
(2) //int a=1; //int b=a+2; //int c=6; a=c-b;
(3) //a=1 //b=a+2 //c=6 //a=c-b
(4) a=1 b=a+2 c=6 a=c-b
Блок кода это:
(1) часть шаблона, содержащая выражение и заключенная между знаками <#= и #>
(2) часть шаблона, содержащая метод и заключенная между знаками <#+ и #>
(3) часть шаблона, содержащая программный код и заключенная между знаками <# и #>
(4) часть шаблона, содержащая код на языке C# или Visual Basic и заключенная между знаками <#% и #>
Как работает XSLT:
(1) процессор XSLT на основе заданного документа XML и выходного документа формирует стиль XSLT
(2) процессор XSLT на основе заданного документа XML и стиля XSLT выполняет преобразование, результатом которой является выходной документ
(3) на основе заданного документа XML стиль XSLT выполняет трансформацию, результатом которой является выходной документ
(4) на основе заданного документа XML и процессора XSLT выполняется преобразование, результатом которой является выходной документ
Каким методом генерируется код из корневого элемента дерева?
(1) GenerateCodeFromNamespace
(2) GenerateCodeFromMember
(3) GenerateCodeFromStatement
(4) GenerateCodeFromCompileUnit
Шаблоны программного кода это:
(1) образцы, по которым генерируется программный код
(2) сгенерированный программный код
(3) структура, которая моделируется в сгенерированной программе
(4) правила, которые определяют структуру и поведение метаданных предметной области
Дан файл со следующими комментариями: //read x y=x+5; //write y //z=2*x+y //write z Также имеется приведенный ниже программный код: List<string> program = new List<string>(); string line; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); if (line.Contains("read")) program.Add("Console.Read(" + line[7].ToString() + ");"); else if (line.Contains("write")) program.Add("Console.WriteLine(" + line[8].ToString() + ");"); else if (line.Contains("//")) program.Add("int " + line.Substring(2) + ";"); else program.Add(line); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?
(1) int x; Console.Read(x); int y; y=x+5; Console.WriteLine(y); int z; z=2*x+y; Console.WriteLine(z);
(2) Console.Read(x); y=x+5; Console.WriteLine(y); z=2*x+y; Console.WriteLine(z);
(3) int x; int y; int z; Console.Read(x); y=x+5; Console.WriteLine(y); z=2*x+y; Console.WriteLine(z);
(4) Console.Read(x); y=x+5; Console.WriteLine(y); int z=2*x+y; Console.WriteLine(z);
Блок директив это:
(1) часть шаблона, содержащая простой текст, выводимый в результат шаблона без изменений
(2) это блок кода, вспомогательных методов и выражений
(3) часть шаблона, содержащая правила его обработки и заключенная между знаками <#@ и #>
(4) часть шаблона, содержащая вспомогательный метод и заключенная между знаками <#& и #>
Что включает в себя модель XSLT?
(1) документы XML, стили XSLT
(2) документы XML, стили XSLT, процессор XSLT
(3) стили XSLT, процессор XSLT, входные документы
(4) документы XML, стили XSLT, процессор XSLT, выходные документы
Для инициализации пространства имен используется объект класса
(1) CodeNamespaceImport
(2) CodeNamespace
(3) MyGenericNameSpace
(4) MyNameSpace
Метаданные предметной области это:
(1) образцы, по которым генерируется программный код
(2) сгенерированный программный код
(3) структура, которая моделируется в сгенерированной программе
(4) правила, которые определяют структуру и поведение метаданных предметной области
Чем является следующий код? <#@ template debug="false" language="C#" #> <#@ output extension=".cs" #> <# string[] vars = new string [] {"A", "B", "C"}; #> class MyClass { <# foreach (string variable in vars) { #> private int <#= variable #> = 0; <# } #> }
(1) шаблоном XSLT
(2) кодом на ASP
(3) незавершенным кодом
(4) шаблоном T4
Какое назначение у директивы template:
(1) устанавливает параметры, которые передаются в шаблон
(2) указывает правила обработки файла шаблона
(3) указывает расширение и кодировку выходного файла
(4) указывает, является ли файл шаблоном
Выберите верные утверждения:
(1) xsl:template содержит правила, по которым будет преобразовываться документ XML
(2) xsl:apply-templates служит для вызова шаблона по имени
(3) xml-stylesheet указывает на то, что данный XML-файл является файлом стиля и содержит все остальные XSLT-элементы
(4) xsl:stylesheet служит для указания пути к файлу стиля
CodeVariableDeclarationStatement позволяет
(1) создать новый объект
(2) создать новую команду
(3) присвоить выражение переменной
(4) объявить переменную
Правила предметной области это:
(1) образцы, по которым генерируется программный код
(2) сгенерированный программный код
(3) структура, которая моделируется в сгенерированной программе
(4) правила, которые определяют структуру и поведение метаданных предметной области
Чем является незавершенный код с точки зрения генерации кода?
(1) код, генерация которого завершилась неудачно
(2) любая часть завершенного кода
(3) сгенерированный код, который нуждается в последующей ручной модификации для возможности применения его в приложении
(4) код приложения, часть которого была сгенерирована автоматически без ручной модификации, а часть была разработана вручную
Какое назначение у директивы assembly:
(1) импортирует в шаблон пространства имен и позволяет использовать простые имена классов вместо полных имен
(2) загружает в шаблон сборку и позволяет применять ее классы и методы
(3) включает в шаблон содержимое другого файла
(4) заключает содержимое данного шаблона внутрь содержимого другого шаблона
xsl:for-each служит для
(1) установки условия над содержимым документа XML
(2) выполнения проверки сразу по нескольким условиям
(3) извлечения значения из документа XML и вывода в результат трансформации
(4) циклического прохождения по узлам документа, которые соответствуют критерию выборки
Для создания цикла используется объект класса
(1) InitStatement
(2) CodeIterationStatement
(3) IncrementStatement
(4) CodeAssignStatement
Что является преимуществами применения генерации кода?
(1) структурированность и согласованность исходного кода приложения
(2) согласованность на уровне архитектуры приложения
(3) необходимость сопровождения генератора
(4) высокое качество кода и облегченное исправление ошибок
Выберите верные утверждения касательно применения генераторов
(1) для генерации кода необходимо создать шаблоны, ввести метаданные, разработать генератор и запустить его
(2) практически всегда в программном проекте имеется код, который требуется разработать вручную
(3) если имеется генератор, то применение кода, разработанного вручную не имеет никаких приемуществ
(4) если требования и генерируемому коду изменились, то достаточно только изменить шаблоны, чтобы учесть их
Укажите назначение данной директивы <#@ template debug="false" hostspecific="true" language="C#" #>
(1) требуется отладка шаблона, нужен доступ к службам Visual Studio, в коде шаблона используется язык C#
(2) требуется отладка шаблона, доступ к службам Visual Studio не нужен, в коде шаблона используется язык C#
(3) отладка шаблона не требуется, нужен доступ к службам Visual Studio, в коде шаблона используется язык C#
(4) отладка шаблона не требуется, доступ к службам Visual Studio не нужен, в коде шаблона используется язык C#
Выберите верные утверждения:
(1) функция position() возвращает номер последней позиции
(2) функция last() возвращает номер позиции данного контекста
(3) xsl:import позволяет одному стилю XSLT импортировать другой стиль
(4) xsl:variable позволяет декларировать переменные
Что дает генерация пользовательского интерфейса?
(1) возможность ее тестирования
(2) абстрагирование бизнес процесса от конкретной реализации пользовательского интерфейса
(3) возможность систематизировать пользовательский интерфейс
(4) гибкость к изменениям
Что является недостатком применения генерации кода?
(1) структурированность и согласованность исходного кода приложения
(2) согласованность на уровне архитектуры приложения
(3) необходимость сопровождения генератора
(4) высокое качество кода и облегченное исправление ошибок
Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для переименования полей таблиц, подобные этому? alter table equipment rename column id to equipment_id
(1) имя таблицы, имя поля, тип поля
(2) имя таблицы, имя поля
(3) имя таблицы, имя поля, новое имя поля
(4) имя таблицы, имя поля, новый тип поля
Как работают шаблоны T4?
(1) на первом шаге выполняется компиляция шаблона, на втором шаге запускается скомпилированный код, который генерирует код, и этот код запускается на третьем шаге
(2) на первом шаге запускается код шаблона, на втором шаге компилируется сгенерированный код
(3) на первом шаге производится отладка шаблона, а на втором выполняется его компиляция
(4) на первом шаге выполняется компиляция шаблона, на втором шаге запускается скомпилированный код, который генерирует текст
Дан следующий XML-файл: <?xml-stylesheet type="text/xsl" href="style.xsl"?> <package> <procedure name="prc_save_record"> <parameter name="id" type="number" in="true" out="true"/> <parameter name="name" type="varchar2" in="true"/> <parameter name="title" type="varchar2"/> <parameter name="save_date" type="date" out="true"/> </procedure> <procedure name="prc_delete_record"> <parameter name="id" type="number"/> </procedure> </package> И следующий файл стиля: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:for-each select="package/procedure"> procedure <xsl:value-of select="@name"/> (<xsl:for-each select="parameter"> <xsl:value-of select="@name"/> <xsl:text> </xsl:text> <xsl:if test="@in='true'">in </xsl:if> <xsl:if test="@out='true'">out </xsl:if> <xsl:value-of select="@type"/> <xsl:if test="not(position()=last())">, </xsl:if> </xsl:for-each>); <xsl:if test="not(position()=last())"><BR/><BR/></xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet> Каким будет результат?
(1) procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
(2) procedure prc_save_record ( id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
(3) procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
(4) procedure prc_save_record ( id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record ( id number);
Выгодами генерации документации являются:
(1) более точная и актуальная документация, согласованная с программным кодом
(2) экономия времени и усилий, требуемых для разработки документации
(3) гибкость к изменению формата и шаблонов документации
(4) уменьшение времени, необходимое для проектирования документации
Какие применяются основные методы генерации кода?
(1) метод полного перебора
(2) манипуляции текстом
(3) с применением шаблонов
(4) объектное моделирование
Дан следующий запрос select 'alter table '|| lower(table_name) || ' modify('||lower(column_name)|| ' varchar2(4000 char));' from cols where cols.data_type like '%VARCHAR2%' and data_length between 1000 and 3999 order by table_name, column_name Представление cols в Оракл содержит информацию о полях таблицы в базе данных. В поле column_name хранится имя поля, а в поле table_name содержится имя таблицы, в которой находится поле. В полях же data_type и data_length хранятся соответственно тип данных и длина поля. Что делает вышеприведенный запрос?
(1) увеличивает длину текстовых полей, размерность которых составляет от 1000 до 3999
(2) генерирует запросы, которые увеличивают длину текстовых полей до 4000, размерность которых составляет от 1000 до 3999
(3) уменьшает длину текстовых полей, размерность которых составляет 4000 на величину от 1000 до 3999
(4) генерирует запросы для добавления текстового поля длиной 4000, если в таблице есть другие поля размерностью от 1000 до 3999
Какие есть возможности расширения функциональности T4?
(1) создание собственного хоста
(2) включение в шаблон других шаблонов
(3) предоставление нового базового класса.
(4) создание пользовательских директив
Дан следующий XML-файл: <?xml-stylesheet type="text/xsl" href="style.xsl"?> <cities> <city country="Казахстан">Астана</city> <city country="Россия">Москва</city> <city country="Узбекистан">Ташкент</city> <city country="Украина">Киев</city> <city country="Киргизия">Бишкек</city> <city country="Белоруссия">Минск</city> </cities> И следующий файл стиля: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <H4>Столицы мира:</H4> <xsl:for-each select="cities/city"> (*) </xsl:for-each> <BR/> </xsl:template> </xsl:stylesheet> Что нужно вставить вместо звездочки(*), чтобы получился следующий результат?
Столицы мира:
Астана
Москва
Ташкент
Киев
Бишкек
Минск
(1) <xsl:value-of select="."/> - <xsl:value-of select="@country"/><BR/>
(2) <xsl:value-of select="."/><BR/>
(3) <xsl:value-of select="."/> <xsl:if test="not(position()=last())">, </xsl:if>
(4) <xsl:value-of select="."/> <xsl:if test="not(position()=last())">,<BR/></xsl:if>
В каких случаях однозначно эффективно применять генератор?
(1) наличие большого обьема повторяющегося кода
(2) присутствие уникального алгоритма
(3) большинство кода хорошо стандартизировано
(4) наличие кода для работы с базами данных
Что будет результатом выполнения следующего шаблона? <#GetMonthName(2); GetMonthName(-1); GetMonthName(7); GetMonthName(13); #> <#+ public void GetMonthName(int a) { if(a>2&&a<6) WriteLine("\t\tВесенний месяц"); if(a>5&&a<9) WriteLine("\t\t\tЛетний месяц"); if(a>8&&a<12) WriteLine("\t\t\t\tОсенний месяц"); if(a>0&&a<3||a>11) WriteLine("\tЗимний месяц"); }#>
(1) Зимний месяц Зимний месяц Летний месяц Зимний месяц
(2) Зимний месяц Летний месяц Зимний месяц
(3) Зимний месяц Летний месяц
(4) Зимний месяц Зимний месяц Летний месяц
Что относится к плюсам применения преобразований XSLT?
(1) поддерживается разделение метаданных и шаблонов
(2) можно заново генерировать код, только изменив шаблон
(3) в XSLT затруднена реализация сложных алгоритмов
(4) XSLT уже поддерживает работу со специальными символами
Выберите верные утверждения касательно разработки генератора:
(1) язык реализации генератора должен выбираться независимо от языка генерируемого приложения
(2) язык реализации генератора должен быть объектно-ориентированным.
(3) интерфейс генератора сделать удобным и дружественным
(4) интегрировать генератор в среду разработки
Выберите верные выражения, касающиеся генерации кода
(1) генерация кода - это автоматическое создание исходного кода программой
(2) генерация кода предназначена для автоматического описания требований к программному проекту
(3) генерация кода избавляет программиста от задачи проектирования приложения
(4) генерация кода уменьшает объем разработки рутинного характера
Дан файл со следующими комментариями: //a=1 //b=a+2 //c=6 //a=c-b Также имеется приведенный ниже программный код: List<string> program = new List<string>(); List<string> vars = new List<string>(); string line; string var; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); var = line[2].ToString(); if (!vars.Contains(var)) { program.Add("int " + line[2] + ";"); vars.Add(var); } program.Add(line.Substring(2) + ";"); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?
(1) int a=1; int b=a+2; int c=6; a=c-b;
(2) int a=1; int b=a+2; int c=6; int a=c-b;
(3) int a; a=1; int b; b=a+2; int c; c=6; a=c-b;
(4) int a=1; int b; b=a+2; int c=6; a=c-b;
Какие виды блоков применяются в шаблонах T4?
(1) блоки кода, блоки вспомогательных методов, блоки выражений, управляющие блоки, служебные блоки
(2) результирующие блоки, блоки кода, блоки вспомогательных методов, блоки выражений, управляющие блоки
(3) блоки директив, блоки кода, блоки вспомогательных методов, блоки выражений, текстовые блоки, предупреждающие блоки
(4) блоки директив, блоки кода, блоки вспомогательных методов, блоки выражений, текстовые блоки
XSLT был разработан
(1) консорциумом W3C в декабре 1996 года - первая версия и в мае 1998 года - вторая версия
(2) комитетом IEEE в ноябре 1999 года - первая версия и в январе 2007 года - вторая версия
(3) консорциумом W3C в ноябре 1999 года - первая версия и в январе 2007 года - вторая версия
(4) комитетом IEEE в декабре 1996 года - первая версия и в мае 1998 года - вторая версия
CodeDom это
(1) объектная модель документов кода
(2) документ объектной модели кода
(3) код объектной модели документов
(4) документный объект кодовой модели
Если заданы шаблоны программного кода, метаданные, правила предметной области, то что можно получить?
(1) предметную область
(2) ключевые составляющие для генерации кода
(3) сгенерированный программный код
(4) генератор кода
Дана следующая программа List<string> program = new List<string>(); List<string> vars = new List<string>(); string line; string var; string rest; int k; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); if (line.Contains("//")) k = 2; else k = 0; var = line[k].ToString(); rest = line.Substring(k); if (!vars.Contains(var)) { program.Add("int " + rest + ";"); vars.Add(var); } else program.Add(rest + ";"); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Каким должен быть входной файл, чтобы на выходе работы программы получить следующий результат? int a=1; int b=2; int x=a+b; int y=b-a;
(1) a=1 b=2 //x=a+b //y=b-a
(2) a=1 //b=2 //x=a+b //y=b-a
(3) //x=a+b //y=b-a a=1 b=2
(4) //int a=1; //int b=2; //int x=a+b; //int y=b-a;
Блок выражений это:
(1) часть шаблона, содержащая программный код и заключенная между знаками <# и #>
(2) часть шаблона, содержащая выражение и заключенная между знаками <#= и #>
(3) часть шаблона, содержащая метод и заключенная между знаками <#+ и #>
(4) часть шаблона, содержащая код на языке C# или Visual Basic и заключенная между знаками <#% и #>
Процессор XSLT это:
(1) приложение, принимающее в качестве входных данных документы XML и стили XSLT и выполняющее преобразование
(2) файл стиля, который используется для выполнения преобразования над документом XML
(3) приложение, выполняющее преобразование стиля XSLT
(4) приложение, которое на основе документов XML генерирует стили XSLT
Каким методом генерируется код из пространства имен?
(1) GenerateCodeFromCompileUnit
(2) GenerateCodeFromNamespace
(3) GenerateCodeFromMember
(4) GenerateCodeFromStatement
Выберите верное утверждение, касающееся шаблонов программного кода
(1) всегда являются нестандартными участками кода
(2) указывают на структуру метаданных предметной области
(3) генератор на их основе создает программный код
(4) являются повторяющимися участками кода
Дан файл со следующими комментариями: //read x y=x+5; //write y //z=2*x+y //write z Также имеется приведенный ниже программный код: List<string> program = new List<string>(); List<string> vars = new List<string>(); string line; string var; string lineoutput; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); if (line.Contains("read")) { var = line[7].ToString(); lineoutput="Console.Read(" + line[7].ToString() + ");"; } else if (line.Contains("write")) { var = line[8].ToString(); lineoutput="Console.WriteLine(" + line[8].ToString() + ");"; } else if (line.Contains("//")) { var = line[2].ToString(); lineoutput = line.Substring(2) + ";"; } else { var = line[0].ToString(); lineoutput =line; } if (!vars.Contains(var)) { vars.Add(var); program.Add("int " + var + ";"); } program.Add(lineoutput); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?
(1) Console.Read(x); y=x+5; Console.WriteLine(y); int z=2*x+y; Console.WriteLine(z);
(2) Console.Read(x); y=x+5; Console.WriteLine(y); z=2*x+y; Console.WriteLine(z);
(3) int x; int y; int z; Console.Read(x); y=x+5; Console.WriteLine(y); z=2*x+y; Console.WriteLine(z);
(4) int x; Console.Read(x); int y; y=x+5; Console.WriteLine(y); int z; z=2*x+y; Console.WriteLine(z);
Текстовый блок это:
(1) часть шаблона, содержащая правила его обработки и заключенная между знаками <#@ и #>
(2) это блок кода, вспомогательных методов и выражений
(3) часть шаблона, содержащая простой текст, выводимый в результат шаблона без изменений
(4) часть шаблона, содержащая вспомогательный метод и заключенная между знаками <#& и #>
XPath это:
(1) язык доступа к стилям XSLT
(2) путь к элементу XML-документа
(3) навигатор в файлах стилей
(4) язык запросов к элементам XML-документа
Для представления класса в CodeDom используется объект типа
(1) CodeTypeDeclaration
(2) CodeClassDeclaration
(3) MyGenericClass
(4) CodeTypeReference
Выберите верное утверждение, касающееся метаданных предметной области
(1) являются структурой, которая моделируется в генерируемой программе
(2) определяют правила, по которым формируются шаблоны
(3) код генерируется согласно информации из метаданных
(4) являются повторяющимися участками кода
Чем является следующий код? List<string> program = new List<string>(); string line; Regex pattern = new Regex(@"^//\s*(?<val>.*?)\s*=", RegexOptions.Singleline); using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); foreach (Match m in pattern.Matches(line)) { program.Add("private int " + m.Groups["val"].Value + ";"); } program.Add(Regex.Replace(line,@"^//\s*","")); } } Output.PutResult(program, filepath);
(1) регулярным выражением
(2) программой с применением регулярных выражений
(3) шаблоном T4
(4) программой с применением XML
Какое назначение у директивы parameter в технологии T4:
(1) указывает правила обработки файла шаблона
(2) указывает расширение и кодировку выходного файла
(3) устанавливает параметры, которые передаются в шаблон
(4) указывает, имеет ли файл параметры
Выберите верные утверждения:
(1) xsl:template служит для вызова шаблона по имени
(2) xml-stylesheet служит для указания пути к файлу стиля
(3) xsl:apply-templates содержит правила, по которым будет преобразовываться документ XML
(4) xsl:stylesheet указывает на то, что данный XML-файл является файлом стиля и содержит все остальные XSLT-элементы
CodeObjectCreateExpression позволяет
(1) объявить переменную
(2) создать новую команду
(3) присвоить выражение переменной
(4) создать новый объект
Выберите верное утверждение, касающееся правил предметной области
(1) являются изменяющимися участками кода
(2) определяют правила, по которым формируются шаблоны
(3) определяют структуру и поведение метаданных
(4) являются повторяющимися участками кода
Каковы основные шаги в разработке и верификации программного кода?
(1) сбор данных, разработка инструкции, составление документации
(2) проектирование, разработка, тестирование, отладка
(3) разработка, отладка, настройка, распространение
(4) проектирование, разработка, установка, настройка
Какое назначение у директивы import:
(1) загружает в шаблон сборку и позволяет применять ее классы и методы
(2) включает в шаблон содержимое другого файла
(3) заключает содержимое данного шаблона внутрь содержимого другого шаблона
(4) импортирует в шаблон пространства имен и позволяет использовать простые имена классов вместо полных имен
xsl:if служит для
(1) циклического прохождения по узлам документа, которые соответствуют критерию выборки
(2) выполнения проверки сразу по нескольким условиям
(3) установки условия над содержимым документа XML
(4) извлечения значения из документа XML и вывода в результат трансформации
Для вывода напрямую в сгенерированном коде текста кода используется объект типа
(1) CodeVariableReferenceExpression
(2) CodeSnippetValue
(3) CodeTextExpression
(4) CodeSnippetExpression
Что является преимуществами применения генерации кода?
(1) гибкость к изменениям
(2) практически всегда присутствует часть кода, которую нужно создать вручную
(3) скорость разработки
(4) единый источник информации о приложении
Выберите верные утверждения касательно применение генератора
(1) достаточно тестировать только ручной код, сгенерированный код в тестировании не нуждается, так как генератор и шаблоны были уже протестированы
(2) сгенерированный код необходимо тестировать также, как и ручной
(3) производительность генератора является главным критерием его работы
(4) отдельным этапом процесса верификации является тестирование самого генератора и шаблонов на соответствие текста сгенерированного кода ожидаемому результату
В состав шаблона включены следующие директивы. Укажите их назначение <#@ output extension=".cs" #> <#@ assembly name="System.Xml"#> <#@ import namespace="System.Xml" #>
(1) код внутри шаблона написан на языке C#, включена сборка System.Xml, к ее классам можно обращаться по короткому имени
(2) выходной файл имеет расширение ".cs", включена сборка System.Xml, импортировано пространство имен System.Xml
(3) выходной файл имеет расширение ".cs", включена сборка System.Xml, в шаблон включен файл "System.Xml"
(4) генерируется код на языке C#, включена сборка System.Xml, к ее классам можно обращаться по короткому имени
Выберите верные утверждения:
(1) xsl:when содержится внутри xsl:otherwise
(2) порядок расположения инструкции xsl: import имеет значение
(3) функция last() возвращает общее число позиций
(4) порядок расположения инструкции xsl:include не играет роли
Что дает генерация пользовательского интерфейса?
(1) быструю скорость разработки
(2) снижение количества ошибок
(3) возможность применения генератора тестов
(4) улучшение оформления пользовательского интерфейса
Что является недостатком применения генерации кода?
(1) гибкость к изменениям
(2) практически всегда присутствует часть кода, которую нужно создать вручную
(3) скорость разработки
(4) единый источник информации о приложении
Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для добавления полей к таблицам, подобные этому? alter table equipment add (service_description varchar2(1000 char))
(1) имя таблицы, имя поля, новое имя поля
(2) имя таблицы, имя поля
(3) имя таблицы, имя поля, новый тип поля
(4) имя таблицы, имя поля, тип поля
Какие методы позволяют установить отступы в результирующем тексте?
(1) PushIndent, PopIndent, ResetIndent
(2) PushIndent, PopIndent, ClearIndent
(3) AddIndent, RemoveIndent, RemoveAllIndent
(4) AddIndent, RemoveIndent, ClearIndent
Дан следующий XML-файл: <?xml-stylesheet type="text/xsl" href="style.xsl"?> <package> <procedure name="prc_save_record"> <parameter name="id" type="number" in="true" out="true"/> <parameter name="name" type="varchar2" in="true"/> <parameter name="title" type="varchar2"/> <parameter name="save_date" type="date" out="true"/> </procedure> <procedure name="prc_delete_record"> <parameter name="id" type="number"/> </procedure> </package> И следующий файл стиля: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:for-each select="package/procedure"> procedure <xsl:value-of select="@name"/> (<xsl:for-each select="parameter"> <xsl:if test="not(position()=last())"><BR/> <xsl:text disable-output-escaping="yes">&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text> </xsl:if> <xsl:value-of select="@name"/> <xsl:text> </xsl:text> <xsl:if test="@in='true'">in </xsl:if> <xsl:if test="@out='true'">out </xsl:if> <xsl:value-of select="@type"/> <xsl:if test="not(position()=last())">, </xsl:if> </xsl:for-each>); <xsl:if test="not(position()=last())"><BR/><BR/></xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet> Каким будет результат?
(1) procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
(2) procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
(3) procedure prc_save_record ( id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record ( id number);
(4) procedure prc_save_record ( id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
Выгодами применения генераторов кода для манипуляции данными являются:
(1) одновременная поддержка множества форматов данных
(2) отсутствие необходимости тестировать существующий код
(3) гибкость к применению данных с различной внутренной структурой
(4) сведение ошибок к минимуму
Где могут храниться метаданные?
(1) в XML-файлах
(2) в базах данных
(3) в текстовых файлах
(4) в коде генератора
Дан следующий запрос select 'alter table '|| lower(table_name) || ' add('||lower(column_name)||'_text varchar2(4000 char));' from cols where cols.data_type='NUMBER' order by table_name, column_name Представление cols в Оракл содержит информацию о полях таблицы в базе данных. В поле column_name хранится имя поля, а в поле table_name содержится имя таблицы, в которой находится поле. В полях же data_type и data_length хранятся соответственно тип данных и длина поля. Что делает вышеприведенный запрос?
(1) добавляет новое текстовое поле
(2) генерирует запрос для каждого целочисленного поля, создающее новое текстовое поле с аналогичным именем и добавлением суффикса к нему
(3) генерирует запрос для замены всех числовых полей на текстовые с аналогичным именем и добавлением суффикса
(4) создает новое текстовое поле для каждого целочисленного поля, с аналогичным именем и добавлением суффикса к нему
Что относится к плюсам применения технологии T4?
(1) возможность расширения функциональности T4
(2) шаблон предназначен для создания одного файла
(3) возможность генерации любой текстовой информации
(4) наглядность и простота шаблонов
Дан следующий XML-файл: <?xml-stylesheet type="text/xsl" href="style.xsl"?> <cities> <city country="Казахстан">Астана</city> <city country="Россия">Москва</city> <city country="Узбекистан">Ташкент</city> <city country="Украина">Киев</city> <city country="Киргизия">Бишкек</city> <city country="Белоруссия">Минск</city> </cities> И следующий файл стиля: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <H4>Столицы мира:</H4> <xsl:for-each select="cities/city"> (*) </xsl:for-each> <BR/> </xsl:template> </xsl:stylesheet> Что нужно вставить вместо звездочки(*), чтобы получился следующий результат?
Столицы мира:
Астана - Казахстан
Москва - Россия
Ташкент - Узбекистан
Киев - Украина
Бишкек - Киргизия
Минск - Белоруссия
(1) <xsl:value-of select="."/><BR/>
(2) <xsl:value-of select="."/> <xsl:if test="not(position()=last())">, </xsl:if>
(3) <xsl:value-of select="."/> - <xsl:value-of select="@country"/><BR/>
(4) <xsl:value-of select="."/> <xsl:if test="not(position()=last())">,<BR/></xsl:if>
Однозначно малоэффективно применять генератор при:
(1) внедрении уникального алгоритма
(2) малом обьеме разрабатываемого кода
(3) манипуляциях с данными и форматами
(4) наличии уникальных шаблонов
Что будет результатом выполнения следующего шаблона? <#GetMonthName(3); GetMonthName(15); GetMonthName(9); GetMonthName(0); #> <#+ public void GetMonthName(int a) { if(a>2&&a<6) PutMonth(2,"Весенний месяц"); if(a>5&&a<9) PutMonth(3,"Летний месяц"); if(a>8&&a<12) PutMonth(4,"Осенний месяц"); if(a>0&&a<3||a==12) PutMonth(1,"Зимний месяц"); if(a<1||a>12) PutMonth(0,"Нет такого месяца"); }#> <#+ public void PutMonth(int n, string s) { for(int i=0;i<n;i++) Write("\t"); WriteLine(s); }#>
(1) Весенний месяц Нет такого месяца Осенний месяц Нет такого месяца
(2) Весенний месяц Нет такого месяца Осенний месяц
(3) Весенний месяц Осенний месяц
(4) Весенний месяц Осенний месяц Нет такого месяца
Что относится к плюсам применения преобразований XSLT?
(1) XSLT достаточно прост для изучения
(2) есть возможность менять шаблоны XSLT динамически, программным путем
(3) шаблоны визуально идентичны выводимому коду
(4) XSLT является стандартом, который поддерживают все производители программного обеспечения
Выберите верные утверждения касательно сгенерированного кода.
(1) если генератор уже протестирован, то нет необходимости тестировать сгенерированный код
(2) стандартные образцы генерируемого кода должны быть в начале написаны вручную и протестированы
(3) генерируемый код стараться стандартизировать во всем: начиная от именования объектов и заканчивая их соведением
(4) должно быть создана система разделения ручного и сгенерированного кода
Автоматическое создание программного кода специальным приложением, при котором по заданным условиям полностью или частично формируется исходный код программы это:
(1) применение всех шагов цикле разработки программного кода
(2) разработка кода программы вручную
(3) генерация исходного программного кода
(4) тестирование исходного программного кода
Дан файл со следующими комментариями: //a=1 //b=a+2 //c=6 //a=c-b Также имеется приведенный ниже программный код: List<string> program = new List<string>(); string line; string var; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); var = line[2].ToString(); program.Add("int " + line.Substring(2) + ";"); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?
(1) int a=1; int b=a+2; int c=6; a=c-b;
(2) int a; a=1; int b; b=a+2; int c; c=6; a=c-b;
(3) int a=1; int b; b=a+2; int c=6; a=c-b;
(4) int a=1; int b=a+2; int c=6; int a=c-b;
Какие виды директив применяются в шаблонах T4?
(1) template, parameter, output, assembly, import, include, пользовательские директивы
(2) template, parameter, output, assembly, import, print, include, пользовательские директивы
(3) template, parameter, language, output, assembly, import, include, пользовательские директивы
(4) template, parameter, output, assembly, import, include, extension, пользовательские директивы
XSL это:
(1) язык преобразования стилей
(2) каскадные стили шаблонов
(3) файл для преобразования документа XML
(4) расширяемый язык стилей
Корневым элементом дерева объектов из System.Codedom является
(1) CodeProvider
(2) CodeNamespace
(3) CodeCompileUnit
(4) CodeTypeDeclaration
Чем являются шаблоны программного кода, метаданные, правила предметной области по отношению к генерации кода?
(1) предметной областью
(2) ключевыми составляющими
(3) сгенерированным программным кодом
(4) генератором кода
Дана следующая программа List<string> program = new List<string>(); List<string> vars = new List<string>(); string line; string var; string rest; int k; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); if (line.Contains("//")) k = 2; else k = 0; var = line[k].ToString(); rest = line.Substring(k); if (!vars.Contains(var)) { program.Add("int " + rest + ";"); vars.Add(var); } else program.Add(rest + ";"); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Каким должен быть входной файл, чтобы на выходе работы программы получить следующий результат? int x=1; int b=2; int a=x+b; x=x+b; int y=a-x;
(1) x=1 b=2 a=x+b //x=x+b //y=a-x
(2) //x=1 //b=2 //a=x+b x=x+b //y=a-x
(3) x=1 b=2 a=x+b x=x+b y=a-x
(4) //int x=1; //int b=2; //int a=x+b; x=x+b; //int y=a-x;
Блок вспомогательных методов это:
(1) часть шаблона, содержащая программный код и заключенная между знаками <# и #>
(2) часть шаблона, содержащая выражение и заключенная между знаками <#= и #>
(3) часть шаблона, содержащая код на языке C# или Visual Basic и заключенная между знаками <#% и #>
(4) часть шаблона, содержащая метод и заключенная между знаками <#+ и #>
Файл стиля XSLT должен быть:
(1) валидным документом XML
(2) корректным документом XML
(3) корректным и валидным документом XML
(4) валидным и откорректированным документом XML
Каким методом генерируется код из класса?
(1) GenerateCodeFromCompileUnit
(2) GenerateCodeFromNamespace
(3) GenerateCodeFromMember
(4) GenerateCodeFromStatement
Пусть есть программа, генерирующая запросы SELECT. Что будет являться шаблоном для этой программы?
(1) имена таблиц, полей и типов полей
(2) образец текста, содержащий ключевые слова SELECT, FROM, WHERE и специально отведенные места для имен таблиц и полей
(3) готовый запрос SELECT с конкретными именами таблиц и полей
(4) правила написания запросов SELECT
Дан файл со следующими комментариями: //read x y=x+5; //write y //z=2*x+y //write z Также имеется приведенный ниже программный код: List<string> program = new List<string>(); string line; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); if (line.Contains("read")) program.Add("Console.Read(" + line[7].ToString() + ");"); else if (line.Contains("write")) program.Add("Console.WriteLine(" + line[8].ToString() + ");"); else if (line.Contains("//")) program.Add(line.Substring(2) + ";"); else program.Add(line); } } Output.PutResult(program, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?
(1) Console.Read(x); y=x+5; Console.WriteLine(y); z=2*x+y; Console.WriteLine(z);
(2) Console.Read(x); y=x+5; Console.WriteLine(y); int z=2*x+y; Console.WriteLine(z);
(3) int x; Console.Read(x); int y; y=x+5; Console.WriteLine(y); int z; z=2*x+y; Console.WriteLine(z);
(4) int x; int y; int z; Console.Read(x); y=x+5; Console.WriteLine(y); z=2*x+y; Console.WriteLine(z);
Управляющие блоки это:
(1) часть шаблона, содержащая правила его обработки и заключенная между знаками <#@ и #>
(2) часть шаблона, содержащая простой текст, выводимый в результат шаблона без изменений
(3) часть шаблона, содержащая вспомогательный метод и заключенная между знаками <#& и #>
(4) это блоки кода, вспомогательных методов и выражений
Какую инструкцию нужно добавить в начало XML-документа для выполнения преобразования над ним?
(1) xsl-stylesheet
(2) xsl:template
(3) xsl:apply-templates
(4) xsl:stylesheet
Для представления процедуры в CodeDom используется объект типа
(1) CodeEntryPointMethod
(2) CodeProcedureType
(3) GenericProcedureType
(4) CodeMemberMethod
Пусть есть программа, генерирующая запросы SELECT. Что будет являться метаданными для этой программы?
(1) имена таблиц, полей и типов полей
(2) образец текста, содержащий ключевые слова SELECT, FROM, WHERE и специально выделенные места для имен таблиц и полей
(3) готовый запрос SELECT с конкретными именами таблиц и полей
(4) правила написания запросов SELECT
Чем является следующий код? <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <xsl:for-each select="VARIABLES/VARIABLE[@Active='true']"> const int <xsl:value-of select="VAR"/> = <xsl:value-of select="VAL"/>;<BR/> </xsl:for-each> </xsl:template> </xsl:stylesheet>
(1) XML-файлом
(2) шаблоном T4
(3) шаблоном XSLT
(4) файлом метаданных
Какое назначение у директивы output:
(1) указывает правила обработки файла шаблона
(2) устанавливает параметры, которые передаются в шаблон
(3) указывает язык, на котором сгенерирован код в результате работы шаблона
(4) указывает расширение и кодировку выходного файла
Выберите верные утверждения:
(1) xsl:template служит для указания пути к файлу стиля
(2) xsl:apply-templates служит для вызова шаблона xsl:template по имени либо по соответствию набора узлов выражению
(3) xsl:stylesheet содержит правила, по которым будет преобразовываться документ XML
(4) xml-stylesheet содержится в файле стилей
CodeTypeReference позволяет
(1) создать новый тип
(2) объявить новую команду
(3) объявить ссылку на тип данных
(4) инициализировать переменную
Пусть есть программа, генерирующая запросы SELECT. Что будет являться правилами предметной области для этой программы?
(1) имена таблиц, полей и типов полей
(2) образец текста, содержащий ключевые слова SELECT, FROM, WHERE и специально выделенные места для имен таблиц и полей
(3) готовый запрос SELECT с конкретными именами таблиц и полей
(4) правила написания запросов SELECT
Что выполняется, если меняются требования к приложению?
(1) если приложение уже применяется в работе, то эти требования отменяются
(2) при необходимости выполняется перепроектирование, изменяется, удаляется или добавляется код с последующим тестированием и отладкой
(3) код разрабатывается или генерируется заново
(4) заново генерируется код, но в тестировании он уже не нуждается, так как предыдущий вариант кода был уже протестирован
Какое назначение у директивы include:
(1) загружает в шаблон сборку и позволяет применять ее классы и методы
(2) импортирует в шаблон пространства имен и позволяет использовать простые имена классов вместо полных имен
(3) включает в шаблон содержимое другого файла
(4) заключает содержимое данного шаблона внутрь содержимого другого шаблона
xsl:choose служит для
(1) выполнения проверки сразу по нескольким условиям
(2) циклического прохождения по узлам документа, которые соответствуют критерию выборки
(3) установки условия над содержимым документа XML
(4) извлечения значения из документа XML и вывода в результат трансформации
Для выполнения компиляции кода используется метод
(1) CodeMemberMethod
(2) CodeEntryPointMethod
(3) CompileAssemblyFromDom
(4) GenerateCodeFromCompileUnit
Что является преимуществами применения генерации кода?
(1) наглядность бизнес логики
(2) усовершенствованный процесс разработки кода
(3) улучшение удобства работы программистов
(4) применение генератора может быть эффективно не во всех случаях
Выберите верные утверждения касательно применения генераторов
(1) отладка сгенерированного кода необходима также как и отладка ручного кода
(2) нет необходимости отладки сгенерированного кода
(3) если тестирование сгенерированного кода завершилось неудачей, выполняется отладка генератора и шаблонов
(4) производительность сгенерированного кода зависит от производительности генератора
В состав шаблона включены следующие директивы. Укажите их назначение <#@ template hostspecific="true" language="C#" #> <#@ output extension=".txt" #>
(1) требуется доступ к API Visual Studio, выходной файл имеет расширение ".txt" и является кодом на языке C#,
(2) код внутри шаблона написан на языке C#, результат является текстовым файлом
(3) генерируется код на языке C#, доступ к API Visual Studio не требуется, выходной файл имеет расширение ".txt"
(4) код внутри шаблона написан на языке C#, требуется доступ к API Visual Studio, выходной файл имеет расширение ".txt"
Выберите верные утверждения:
(1) класс XslCompiledTransform используется для выполнения преобразования программным путем
(2) порядок расположения инструкции xsl: import не играет роли
(3) порядок условий xsl:when не имеет значения
(4) функция position() возвращает номер позиции данного контекста
Что нужно сделать для улучшения генерации пользовательского интерфейса?
(1) разделить ручной и сгенерированный код
(2) интегрировать генератор с существующими инструментами разработки пользовательского интерфейса
(3) генерировать только уровень пользовательского интерфейса, не включая другие уровни приложения
(4) улучшить структуру кода и сделать его более однородным
Что является недостатком применения генерации кода?
(1) наглядность бизнес логики
(2) усовершенствованный процесс разработки кода
(3) улучшение удобства работы программистов
(4) применение генератора может быть эффективно не во всех случаях
Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для удаления полей из таблиц, подобные этому? alter table equipment drop column model
(1) имя таблицы, имя поля, новое имя поля
(2) имя таблицы, имя поля, тип поля
(3) имя таблицы, имя поля
(4) имя таблицы, имя поля, новый тип поля
Выберите верное утверждение:
(1) PushIndent и PopIndent служат для добавления и удаления одного отступа в/из стека отступов
(2) AddIndent и RemoveIndent служат для добавления и удаления одного отступа в/из стека отступов
(3) ClearIndent служит для очистки стека отступов
(4) ResetIndent служит для очистки стека отступов
(5) RemoveAllIndent служит для очистки стека отступов
Дан следующий XML-файл: <?xml-stylesheet type="text/xsl" href="style.xsl"?> <package> <procedure name="prc_save_record"> <parameter name="id" type="number" in="true" out="true"/> <parameter name="name" type="varchar2" in="true"/> <parameter name="title" type="varchar2"/> <parameter name="save_date" type="date" out="true"/> </procedure> <procedure name="prc_delete_record"> <parameter name="id" type="number"/> </procedure> </package> И следующий файл стиля: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:for-each select="package/procedure"> procedure <xsl:value-of select="@name"/> (<xsl:for-each select="parameter"> <xsl:value-of select="@name"/> <xsl:text> </xsl:text> <xsl:if test="@in='true'">in </xsl:if> <xsl:if test="@out='true'">out </xsl:if> <xsl:value-of select="@type"/> <xsl:if test="not(position()=last())">,<BR/> </xsl:if> </xsl:for-each>); <xsl:if test="not(position()=last())"><BR/><BR/></xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet> Каким будет результат?
(1) procedure prc_save_record ( id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
(2) procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
(3) procedure prc_save_record ( id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record ( id number);
(4) procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date); procedure prc_delete_record (id number);
Применение генерации в тестировании позволяет:
(1) экономить время, затрачиваемое на создание тестов и тестовых данных
(2) улучшить качество тестирования
(3) уменьшить время, затрачиваемое на проектирование системы тесторования
(4) не применять существующие средства тестирования приложений
Завершенность сгенерированного кода означает, что
(1) программный проект не содержит вручную созданного кода
(2) сгенерированный код нуждается в дальнейшей ручной модификации
(3) программный код уже создан автоматически и больше не нуждается в повторной генерации
(4) сгенерированный код не нуждается в модификации и его можно выложить в производственную схему, опубликовать
Дан следующий запрос select 'update '|| lower(table_name) || ' set '||lower(column_name)||'_text = to_char('||lower(column_name)||') where '||lower(column_name)||' is not null;' from cols c1 where c1.data_type='NUMBER' and exists (select 1 from cols c2 where c1.table_name = c2.table_name and lower(c1.column_name||'_text') = lower(c2.column_name) and c2.data_type like '%CHAR%') order by c1.table_name, c1.column_name Представление cols в Оракл содержит информацию о полях таблицы в базе данных. В поле column_name хранится имя поля, а в поле table_name содержится имя таблицы, в которой находится поле. В полях же data_type и data_length хранятся соответственно тип данных и длина поля. Что делает вышеприведенный запрос?
(1) генерирует запросы, записывающие значение из целочисленного поля в текстовое, для случаев, когда в таблице имеются оба поля, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания
(2) записывает значение из целочисленного поля в текстовое, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания
(3) генерирует запросы, заменяющие целочисленное поле на текстовое или наоборот, для случаев, когда в таблице нет хотя бы одного поля, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания
(4) генерирует запросы, записывающие значение из текстового поля в целочисленное, для случаев, когда в таблице имеются оба поля, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания
Что относится к минусам применения технологии T4?
(1) использование пользовательских директив в шаблоне
(2) шаблон T4 изначально предназначен для создания только одного файла
(3) шаблоны T4 поддерживают два языка - C# и Visual Basic
(4) в некоторых случаях шаблоны будут очень сложными
(5) зависимость от дальнейшей поддержки технологии T4
Дан следующий XML-файл: <?xml-stylesheet type="text/xsl" href="style.xsl"?> <cities> <city country="Казахстан">Астана</city> <city country="Россия">Москва</city> <city country="Узбекистан">Ташкент</city> <city country="Украина">Киев</city> <city country="Киргизия">Бишкек</city> <city country="Белоруссия">Минск</city> </cities> И следующий файл стиля: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <H4>Столицы мира:</H4> <xsl:for-each select="cities/city"> (*) </xsl:for-each> <BR/> </xsl:template> </xsl:stylesheet> Что нужно вставить вместо звездочки(*), чтобы получился следующий результат?
Столицы мира:
Астана, Москва, Ташкент, Киев, Бишкек, Минск
(1) <xsl:value-of select="."/><BR/>
(2) <xsl:value-of select="."/> - <xsl:value-of select="@country"/><BR/>
(3) <xsl:value-of select="."/> <xsl:if test="not(position()=last())">,<BR/></xsl:if>
(4) <xsl:value-of select="."/> <xsl:if test="not(position()=last())">, </xsl:if>
Какие параметры надо взвешивать при оценке выгоды применения генератора?
(1) время на создание и сопровождение генерации
(2) время на создание шаблонов и введение метаданных
(3) выгоды от генерации в виде согласовенности, безошибочности
(4) время на проектирование приложения
Что будет результатом выполнения следующего шаблона? <#GetMonthName(1); GetMonthName(3); GetMonthName(7); GetMonthName(11); GetMonthName(13); GetMonthName(12); #> <#+ public void GetMonthName(int a) { if(a>2&&a<6) {PushIndent("\t\t"); WriteLine("Весна");} if(a>5&&a<9) {PopIndent(); WriteLine("Лето");} if(a>8&&a<12) {PopIndent(); WriteLine("Осень");PushIndent("\t");} if(a>0&&a<3||a==12) {PushIndent("\t"); WriteLine("Зима");} if(a<1||a>12) {ClearIndent(); WriteLine("Ошибка");} }#>
(1) Зима Весна Лето Осень Ошибка Зима
(2) Зима Весна Лето Осень Ошибка Зима
(3) Зима Весна Лето Осень Ошибка Зима
(4) Зима Весна Лето Осень Ошибка Зима
Что относится к плюсам применения преобразований XSLT?
(1) для генерации кода заново нужно перекомпилировать приложение
(2) шаблоны наглядны и проще для понимания
(3) поддерживается разделение метаданных и шаблонов
(4) простой декларацией можно выполнять многие стандартные функции
Какие действия нужно проводить для более эффективного применения генерации?
(1) время от времени проводить перегенерацию автоматического кода
(2) внедрить генератор на как можно более ранней стадии
(3) поддерживать генератор для долгосрочного применения
(4) проводить обучение по генератору, создать документацию на него
В каком случае масштаб генерации достигает уровня языковой техники?
(1) когда на каждом уровне приложения применяется сгенерированный код
(2) когда выработано достаточное количество шаблонов достаточного качества, чтобы покрывать основные возможности языка или технологии
(3) когда генерируется один уровень в архитектуре приложения
(4) когда генерируется только отдельный файл кода
Дан файл со следующими комментариями: //read x y=x+5; //write y //z=2*x+y //write z Также имеется приведенный ниже программный код: List<string> program = new List<string>(); List<string> vars = new List<string>(); List<string> declarations = new List<string>(); string line; string var; string lineoutput; using (StreamReader sr = File.OpenText(filepath)) { while (!sr.EndOfStream) { line = sr.ReadLine(); if (line.Contains("read")) { var = line[7].ToString(); program.Add("Console.Read(" + line[7].ToString() + ");"); } else if (line.Contains("write")) { var = line[8].ToString(); program.Add("Console.WriteLine(" + line[8].ToString() + ");"); } else if (line.Contains("//")) { var = line[2].ToString(); program.Add(line.Substring(2) + ";"); } else { var = line[0].ToString(); program.Add(line); } if (!vars.Contains(var)) { vars.Add(var); declarations.Add("int " + var + ";"); } } } declarations.AddRange(program); Output.PutResult(declarations, resultpath); В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?
(1) Console.Read( x); y=x+5; Console.WriteLine( y); int z=2*x+y; Console.WriteLine( z);
(2) int x; Console.Read(x); int y; y=x+5; Console.WriteLine(y); int z; z=2*x+y; Console.WriteLine(z);
(3) int x; int y; int z; Console.Read(x); y=x+5; Console.WriteLine(y); z=2*x+y; Console.WriteLine(z);
(4) Console.Read( x); y=x+5; Console.WriteLine( y); z=2*x+y; Console.WriteLine( z);
Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для изменения типов полей таблиц, подобные этому? alter table drawing modify (revision number)
(1) имя таблицы, имя поля, новое имя поля
(2) имя таблицы, имя поля, тип поля
(3) имя таблицы, имя поля, новый тип поля
(4) имя таблицы, имя поля
xsl:value-of служит для
(1) циклического прохождения по узлам документа, которые соответствуют критерию выборки
(2) установки условия над содержимым документа XML
(3) выполнения проверки сразу по нескольким условиям
(4) извлечения значения из документа XML и вывода в результат трансформации