Сертификат "Основы программирования на С 3.0 ядро языка"
  • Сертификат "Основы программирования на С 3.0 ядро языка"
  • Сертификат "Основы программирования на С 3.0 ядро языка"
Сертификат "Основы программирования на С 3.0 ядро языка"
  • Сертификат "Основы программирования на С 3.0 ядро языка"
  • Сертификат "Основы программирования на С 3.0 ядро языка"

Основы программирования на С 3.0 ядро языка

700,00 руб.
В течение часа!
Экзамен "Основы программирования на С# 3.0: ядро языка" для пользователей и системных администраторов.
Количество
Есть в наличии!

Форма сдачи теста: Экстерн
Количество вопросов: 30
Проходной балл: 90% и выше
Срок действия сертификата: неограничен

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.
12335 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Framework Class Library (FCL) - это библиотека классов, которая может быть использована:

как компилятором языка C#, так и при разработке проектов на языке C#. Но она не может быть использована при работе с другими языками программирования, включенными в среду разработки
только компиляторами среды разработки
как компиляторами, так и при разработке проектов на всех языках, включенных в среду разработки
только при разработке проектов на языке C#
только классами этой же бибилиотеки 


Создателем языка C# является

Бертран Мейер
Андреас (Андерс) Хейлсберг
Дональд Кнут
Никлас Вирт


Свойство открытости среды разработки Visual Studio 2008 означает:

возможность открытия файлов
возможность создания новых проектов;
возможность открытия проектов
возможность включения в среду разработки новых языков программирования и их компиляторов


Язык C#:

не имеет ничего общего с языком С++
полностью совпадает с языком С++
унаследовал основные черты С++


Язык C#:

допускает универсализацию
является полностью объектно-ориентированным языком
учитывает все возможности Framework .Net
допускает наследование


Среда разработки Visual Studio 2008 позволяет:

включать новые языки программирования и их компиляторы
создавать новые проекты;
открывать существующие файлы и редактировать их
открывать существующие проекты и работать с ними


Компонентами каркаса Framework .Net являются:

общеязыковая исполнительная среда - CLR (Common Language Runtime)
библиотека классов MFC (Microsoft Foundation Classes)
транслятор в байт-код (MSIL)
библиотека классов FCL (Framework Class Library)


Компонентами каркаса Framework .Net являются:

классы объектов ADO .Net/1
библиотека классов MFC (Microsoft Foundation Classes)
общеязыковая исполнительная среда - CLR (Common Language Runtime)/1
библиотека классов FCL (Framework Class Library)


Язык C# в версии 3.0:

обладает чертами функционального языка программирования, допуская построение лямбда-выражений и анонимных типов и функций
позволяет использовать инструмент LINQ (Language Integrated Query) для построения запросов к базам данных
предлагает новые типы проектов


Каркас Framework .Net:

используется только при создании проектов на языке C++
используется только при создании проектов на языке Net
используется только при создании проектов на языке C#
является единым для всех языков программирования среды разработки


В Visual Studio 2008 число языков программирования, поставляемых корпорацией Microsoft:

увеличилось
уменьшилось
осталось прежним


На каких языках программирования можно работать в Visual Studio 2008:

только на языке C#
на трех языках - Visual C++, C#, Visual Basic
на всех языках программирования, которые фирма Microsoft включит в состав Visual Studio
число языков теоретически не ограничено


Каркас Framework .Net это:

библиотека классов, используемая компилятором
надстройка над операционной системой
набор классов, используемых при построении самой Visual Studio
транслятор JIT, выполняющий трансляцию модулей, написанных на языке IL


Отметьте истинные высказывания:

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


JIT - это:

компонент исполнительной среды CLR
компилятор, используемый сборщиком мусора
компонент компилятора C#;
компилятор одного из языков, включаемых в состав Visual Studio


Отметьте истинные высказывания:

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


Отметьте истинные высказывания:

двухэтапная компиляция позволяет улучшить эффективность и надежность создаваемого программного кода
компилятор языка C# создает код на промежуточном языке IL (Intermediate Language)
двухэтапная компиляция требует от программиста дополнительных усилий по улучшению кода на промежуточном языке IL
компилятор JIT (Just In Time), входящий в состав CLR, транслирует IL код в код текущей платформы с учетом ее особенностей


Отметьте истинные высказывания:

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


Сборщик мусора Garbage Collector это:

компонент Framework .Net
компонент компилятора
компонент Visual Studio


Спецификации CLS задают:

спецификации для программистов, работающих на языке C#
спецификации класса, предназначенного для использования в проектах на разных языках программирования
спецификации, предназначенные для разработчиков трансляторов
спецификации, которые безусловно должны выполняться программистами, работающими в среде Visual Studio 2008


Отметьте истинные высказывания:

для языков программирования, входящих в Visual Studio .Net, компиляторы используют одну и ту же библиотеку классов FCL
для языков программирования, входящих в Visual Studio .Net, каждый компилятор использует собственную библиотеку классов FCL
библиотека классов FCL является частью Visual Studio 2008
библиотека классов FCL является частью каркаса Framework .Net, отделенного от Visual Studio 2008


Отметьте истинные высказывания:

для Visual Studio 2008 разработано много компиляторов разных языков программирования, и каждый программист при наличии компилятора может добавить его в состав используемой им студии
компилятор C# транслирует исходный текст в код на языке IL
класс, удовлетворяющий спецификациям CLS, называется CLS-совместимым


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

Фортран
Симула
Алгол
Кобол
С++


В каком алгоритмическом языке впервые появилось понятие класса:

Симула
Фортран
Кобол
Алгол
С++


Тип данных определяет:

возможные значения, которые могут принимать переменные этого типа
местоположение в программе, где следует определять переменные типа
возможные операции, которые можно выполнять над переменными этого типа
адрес в памяти компьютера, где будут храниться переменные данного типа
максимальное число возможных переменных этого типа


Определение класса в C# и других объектных языках содержит:

равнины
поля
приключения
события
методы
вершины


Метод класса в языке C# - это:

описание переменной, рассматриваемое как описание свойства объектов класса
описание назначения класса
описание определяемой в классе операции


Поле класса в языке C# - это:

описание переменной, рассматриваемое как описание свойства объектов класса
описание назначения класса
описание операции, выполняемой над объектом класса


Типы данных в языке C# принято классифицировать как:

сложные (структурные)
фигурные
простые
встроенные (базисные)
определенные программистом


Типы данных в языке C# принято классифицировать как:

динамические
статические
ссылочные
изощренные
значимые (развернутые)
фигурные


Отметьте истинные высказывания:

программист C# не может определить собственный тип данных
одно значение сложного типа состоит из множества значений данных, организующих сложный тип
базисными типами могут быть только простые типы
значение переменной простого типа неделимо (задается скаляром)


Какой из перечисленных типов языка C# не относится к значимым:

тип, задающий структуру
тип, задающий массив
тип double
логический тип
все арифметические типы


Отметьте истинные высказывания:

для переменных статического типа память под данные отводится в момент объявления, требуемый размер данных известен при их объявлении
для динамического типа размер данных в момент объявления не известен и память им выделяется в процессе выполнения программы
для статического типа размер данных в момент объявления не известен и память им выделяется в процессе выполнения программы
для переменных динамического типа память под данные отводится в момент объявления, требуемый размер данных известен при их объявлении


Отметьте истинные высказывания:

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


Какие объявления переменных являются корректными?

uint k = new uint(), l = k + 1;
int x, y = 1, m = x + 1;
int x, y;
double y = 1, u = y + 0.5, v = u*u +2, w = u+v;
int x, y = 1, n = y + 1;
int y = 1, double u = y + 0.5, v = u*u +2, w = u+v;


К ссылочным типам относятся:

массивы
классы, описание которых начинается с ключевого слова class
строки
тип double


Какие синтаксические правила объявления переменных являются корректными:

[<атрибуты>] [<модификаторы>] <тип> : <список объявителей>;
<тип> [<атрибуты>] [<модификаторы>] <список объявителей>;
<список объявителей> : <тип>;
[<атрибуты>] [<модификаторы>] <тип> <список объявителей>;


В результате выполнения фрагмента программы

  double x = 0, y = 0, z = x/y;
 

возникнет ошибка на этапе компиляции программы
ошибки не будет и значение переменной z будет равно 0
ошибки не будет и значение переменной z будет равно NaN
ошибки не будет и значение переменной z будет равно Infinity
возникнет ошибка на этапе выполнения программы
ошибки не будет и значение переменной z будет равно null


Выражение, инициализирующее переменную:

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


К ссылочным типам относятся:

тип double
классы, описание которых начинается с ключевого слова class
строки
тип, задающий структуру
массивы


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

если такой проект разработан как проект с главной кнопочной формой, то на главной форме располагаются n командных кнопок, каждая из которых связана с соответствующим сервисом
такой проект должен быть разработан как проект с главной кнопочной формой
такой проект может быть разработан как проект с главной кнопочной формой
если такой проект разработан как проект с главной кнопочной формой, то обработчик события Click командной кнопки создает объект интерфейсного класса и форму, связанную с объектом. Затем в обработчике вызывается метод Show этого объекта, соответствующая форма открывается, показывается на экране дисплея, и пользователь получает доступ к интерфейсу сервиса
если такой проект разработан как проект с главной кнопочной формой, то в проект добавляются n интерфейсных классов - наследников класса Form, каждый из которых имеет собственную форму. Каждая такая форма заселяется элементами управления, задавая интерфейс соответствующего сервиса


Правда ли, что объявление переменной x

  int ? x;
 
ошибочно
означает, что нельзя узнать, какое значение имеет переменная x в текущий момент
означает, что переменная x может принимать любые значения
означает, что переменная x может принимать значение null


Операндами выражения являются:

события
переменные
функции
константы
переменные с индексами


Назовем выражением последовательность констант, переменных, функций, объединенных знаками операций и скобок. Правда ли, что:

ошибки синтаксиса в записи выражения обнаруживаются на этапе компиляции
любое синтаксически корректное выражение может быть вычислено на этапе выполнения, не приводя к появлению ошибок
любое выражение, соответствующее этому определению, по правилам языка C# является синтаксически корректным


Правила вычисления выражения задают:

тип и значение результата выполнения операции над заданными значениями операндов определенного типа
приоритет операций
преобразование типов операндов и выбор реализации для перегруженных операций
порядок выполнения операций одного приоритета
приоритет операндов


Каково значение переменной u в результате выполнения следующего фрагмента программы:

  int x = 5, y = 7, z = 12, u = x & y | x & z;
 

12
7
3
5
21


Отметьте истинные высказывания:

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


Укажите правильный порядок следования приоритетов бинарных операций:

отношения, логические, арифметические
арифметические, логические, отношения
арифметические, отношения, логические


Преобразования между значимыми и ссылочными типами:

всегда допустимы
должны быть явными
используют операции boxing и unboxing
никогда не допустимы
могут быть неявными


Отметьте истинные высказывания:

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


В сигнатуру метода входит:

список типов формальных аргументов метода
подпись метода
знаки операндов метода


Явное преобразование типа может быть выполнено:

методами класса Translate из библиотеки FCL
методом Parse
методами класса Convert
приведением типа (кастингом)
методом ToString


Для безопасного преобразования типа справедливо выполнение следующих условий:

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


В результате выполнения фрагмента

  short u1 = 100, u2 = 200, u3 = u1 + u2;
 
ошибок не будет и переменная u3 получит значение 45
возникнет ошибка на этапе компиляции
ошибок не будет и переменная u3 получит значение 300
возникнет ошибка на этапе выполнения


Операция, заданная знаком "точка", в форме X.Y или X.Y()это:

операция вызова - одна из важнейших и часто используемых операций в объектном программировании
такой операции не существует
завершаемая знаком "точка с запятой" задает оператор вызова языка C#
может использоваться в выражениях


Правда ли, что преобразование типа:

всегда может быть выполнено, используя методы класса Convert
не всегда выполнимо
всегда может быть выполнено, используя приведение типа (кастинг)
всегда может быть выполнено, используя метод Parse


Для данного фрагмента программы

  int n = 4; float u = 5.55f; double v;
  v = u + n;
 
при выполнении оператора присваивания будут выполнены два неявных преобразования типа
при выполнении оператора присваивания будет выполнено одно неявное преобразование типа
при выполнении оператора присваивания будут выполнены явные преобразования типа
возникнет ошибка на этапе компиляции


Отметьте истинные высказывания:

вызов объектом X свойства или метода называется квалифицированным, если в вызове явно указано имя объекта
у текущего объекта нет имени
при вызове текущим объектом свойства или метода имя текущего объекта можно опускать
вызов объектом X свойства или метода называется квалифицированным, если X - это текущий объект
this - это имя текущего объекта
любой вызов текущим объектом свойства или метода можно превратить в квалифицированный вызов, добавив имя текущего объекта


В результате выполнения фрагмента

  int n = 1, m = n++ + ++n;
 
переменные m и n получат значения:

n = 3, m = 4
n = 3, m = 3
n = 1, m = 4
n = 1, m = 3


В результате выполнения фрагмента

  double x = 1, y = Math.Sin(x), z = Math.Cos(x);
  double  w = (y < z) ? (x -1)/(x+1) : (x + 1) /(x - 1);
 
ошибок не будет и переменная w получит значение Infinity
возникнет ошибка на этапе компиляции
ошибок не будет и переменная w получит значение 0
возникнет ошибка на этапе выполнения


В каком фрагменте оценка mark получит значение 5:

int mark; if(1 == 1/2 + 1/2) mark = 5; else mark = 2
int mark; if(1 = 1/2 + 1/2) mark = 5; else mark = 2
int mark; if(1 == 1.0/2 + 1.0/2) mark = 5; else mark = 2


В результате выполнения фрагмента

string s = "2009", s1 = "";
if( s[1] == s[2] ) s1 = "happy number";

ошибок не будет и число символов переменной s1 равно 12
возникнет ошибка на этапе выполнения
ошибок не будет и число символов переменной s1 равно 0
возникнет ошибка на этапе компиляции


Выражением с побочным эффектом называется выражение, которое помимо прямого эффекта - вычисления значения и типа выражения:

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


В результате выполнения фрагмента кода

  int p = 1, q = 2, r = 3;
  p += q *= r-= p+q+r;
 
переменные p, q, r примут значения:

p = -5, q = -6, r = -3
p = 1, q = 2, r = 6
p = 6, q = 6, r = 6
p = 5, q = 6, r = 3


К выражениям с побочным эффектом относятся выражения, заданные операциями:

сдвига (x << n, x >> n)
присваивания (x = expr, x += y *= expr)
арифметическими (x + y, x / y)
увеличения и уменьшения (x++, x--, ++x, --x)


Отметьте истинные высказывания:

любой переменной ссылочного типа можно присвоить значение выражения значимого типа
операции "упаковать" и "распаковать" (boxing, unboxing) выполняются, когда цель и источник присваивания относятся к разным типам - ссылочным и значимым
переменной ссылочного типа object можно присвоить значение выражения значимого типа
переменной ссылочного типа нельзя присвоить значение выражения значимого типа


Присваивание является значимым присваиванием, если:

цель присваивания относится к значимому типу, а тип источника может быть любым
ни цель, ни источник присваивания не относятся к значимому типу
источник присваивания относится к значимому типу, а тип цели может быть любым


Присваивание является ссылочным присваиванием, если:

цель присваивания относится к ссылочному типу, а тип источника может быть любым
источник присваивания относится к ссылочному типу, а тип цели может быть любым
ни цель, ни источник присваивания не относятся к ссылочному типу


Правда ли, что при выполнении фрагмента кода

int j = 0;
  for (int i = 1; i < 5; i++)
  {
     if (i < 2) continue;
     j += 2;
     if (i < j) break;               
   }
 
ошибки не возникнет, и переменная j будет иметь значение 0
возникнет ошибка на этапе выполнения
ошибки не возникнет, и переменная j будет иметь значение 2
ошибки не возникнет, и переменная j будет иметь значение 4
при выполнении произойдет зацикливание
возникнет ошибка на этапе компиляции
ошибки не возникнет, и переменная j будет иметь значение 8


При выполнении фрагмента кода

object x = 2+3;

ошибки не возникнет, и переменная x будет иметь значение 5 и тип int
ошибки не возникнет, и переменная x будет иметь значение 5 и тип object
возникнет ошибка на этапе компиляции
возникнет ошибка на этапе выполнения


При выполнении фрагмента кода

  for (int i = 0, j =1; i < 2; i++)
            {
                i--; j = -j;
            }
 
ошибки не возникнет, и переменная j будет иметь значение 1
ошибки не возникнет, и переменная j будет иметь значение -1
при выполнении произойдет зацикливание
возникнет ошибка на этапе выполнения
возникнет ошибка на этапе компиляции


Какие из операторов не относятся к операторам перехода:

goto;
switch;
return;
continue;
break;


Отметьте истинные высказывания:

оператор continue используется только в теле цикла
оператор continue завершает выполнение цикла
оператор break завершает выполнение цикла
оператор return, позволяет завершить выполнение процедуры или функции


Отметьте истинные высказывания:

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


При выполнении фрагмента кода

int j = 0;
  for (int i = 1; i < 5; i++)
  {
    if (i < 2) continue;
    j += 2;
    if (i < j) break;               
   }
 
возникнет ошибка на этапе компиляции
тело цикла выполнится три раза
тело цикла выполнится два раза
тело цикла выполнится четыре раза


Операторами цикла в C# являются:

оператор loop с проверкой условия в середине цикла
оператор do - while с проверкой условия в конце цикла
оператор foreach
оператор for
оператор while с проверкой условия в начале цикла


Отметьте истинные высказывания:

для всех видов цикла тело цикла выполняется хотя бы один раз
оператор yield позволяет заполнить контейнер элементами
тело цикла foreach выполняется столько раз, сколько элементов находится в контейнере
цикл foreach работает только на чтение, но не на запись элементов


Отметьте истинное высказывание:

case-выражение в операторе switch может задавать диапазон значений
присваивание является операцией языка C#
в операторе if число ключевых слов if должно совпадать с числом слов else
в теле оператора foreach текущий элемент позволяет получать и изменять значения элементов, хранящихся в контейнере


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

  int a = 2,  b = 3, c = 5,  x = 0;
  if( a > b)
  if(c > a)  if(c > a + b)  x = a + b + c;  else x = 7;  else x = 12;
 
переменная x получит значение:

12
0
7
10


Отметьте истинные высказывания:

каждая case-ветвь оператора switch должна заканчиваться оператором break
любое выражение может использоваться в качестве оператора
оператор foreach не применим при работе с массивами
оператор if может быть эквивалентен по своему действию пустому оператору


Правда ли, что при выполнении фрагмента кода

int j = 0;
 for (byte i = 1; i > 0; i++) j = i;
 
возникнет ошибка на этапе выполнения
возникнет ошибка на этапе компиляции
ошибки не возникнет, и переменная j будет иметь значение 0
ошибки не возникнет, и переменная j будет иметь значение 255
при выполнении произойдет зацикливание
ошибки не возникнет, и переменная j будет иметь значение 128


Отметьте истинные высказывания:

выражения с побочным эффектом могут использоваться в качестве оператора
оператор switch по своему действию может быть эквивалентен пустому оператору
в заголовке операторе цикла for всегда требуется объявлять переменную, задающую счетчик цикла
в теле оператора foreach не допускается присваивание значения текущему элементу


Отметьте истинные высказывания:

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


Метод можно описать на уровне:

решения
проекта
пространства имен
класса

Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Отметьте истинные высказывания:

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


Отметьте истинные высказывания:

функцию нельзя вызывать как оператор
процедуру нельзя вызывать в выражениях
функция не может возвращать значение void
оператор return можно появиться только в теле метода, реализованного как функция


Укажите те свойства метода, которыми обладают функции, но не обладают процедуры:

метод может быть вызван в выражениях
метод имеет возвращаемое значение типа void
метод может быть вызван как оператор языка
метод имеет возвращаемое значение, тип которого отличен от void
методу доступны поля класса, как для чтения, так и для записи


Укажите свойство метода, которым обладают процедуры, но не обладают функции:

метод имеет возвращаемое значение типа void
метод может быть вызван в выражениях
метод может быть вызван как оператор языка
методу доступны поля класса, как для чтения, так и для записи
метод имеет возвращаемое значение, тип которого отличен от void


Переменные, появляющиеся в теле метода, могут быть:

аргументами метода
полями класса
локальными переменными, объявленными в теле метода
глобальными переменными, объявленными на уровне пространства имен


Отметьте истинные высказывания:

неявные преобразования задаются программистом и явно заданы в программном коде
неявные преобразования безопасны
явные преобразования задаются программистом и явно заданы в программном коде
явные преобразования безопасны
неявные преобразования выполняются автоматически


Заголовок метода позволяет однозначно определить:

сигнатуру метода
как реализован метод - процедурой или функцией
состав полей класса, используемых в методе


Отметьте правильную синтаксическую формулу, задающую заголовок метода:

{void| тип_результата_функции} имя_метода([список_формальных_аргументов])
[атрибуты][модификаторы] имя_метода([список_формальных_аргументов]) : {void| тип_результата_функции}
[атрибуты][модификаторы] имя_метода([список_формальных_аргументов])
[атрибуты][модификаторы]{void| тип_результата_функции} имя_метода([список_формальных_аргументов])


Укажите, какие свойства выполняются для аргументов из списка формальных аргументов метода:

число аргументов может быть произвольным
аргумент может быть выражением
аргумент может быть только именем
аргументы могут сопровождаться ключевыми словами - ref, out
число аргументов фиксировано
явно задается тип аргумента


Укажите, какие свойства выполняются для аргументов из списка фактических аргументов метода:

аргумент может быть только именем
аргументы могут сопровождаться ключевыми словами - ref, out
число аргументов фиксировано
явно задается тип аргумента
аргумент может быть выражением
число аргументов может быть произвольным


Перегруженные методы класса:

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


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

всегда следует создавать функцию
в такой ситуации, скорее всего, следует экономить время и создавать поле класса
в такой ситуации, скорее всего, следует экономить память и создавать функцию
всегда следует создавать поле класса


В каких вызовах возникнет ошибка, если задано описание

  int x=1; int z=0; int p(int x, out int y){y = x +1; return x +y;}
 
x = p(77+z, out z);
p(77+z, out z);
x = p(77, out (77+z)).
x = p(out 77,z);


Какие из приведенных функций являются функциями с побочным эффектом:

int p1(int x, out int y){y = x +1; return x +y;}
int p3(ref int y){ return y++;}
int p2(int x, int y){y = x +1; r


Для метода

  int p(int x, out int y){y = x +1; return x +y;}
 
первый аргумент вызывается по значению, второй по ссылке
оба аргумента вызываются по значению
оба аргумента вызываются по ссылке
первый аргумент вызывается по ссылке, второй по значению


Отметьте истинные высказывания:

если аргумент метода вызывается по ссылке, то изменение аргумента в теле метода не изменяет значение фактического аргумента в результате вызова метода
формальные аргументы значимого типа, представляющие выходные или обновляемые результаты метода, вызываются по ссылке и должны снабжаться ключевыми словами out или ref
если аргумент метода вызывается по значению, то изменение аргумента в теле метода не изменяет значение фактического аргумента в результате вызова метода


Отметьте истинные высказывания:

только последний формальный аргумент метода может сопровождаться ключевым словом params
только первый формальный аргумент метода может сопровождаться ключевым словом params
только первый формальный аргумент метода может сопровождаться ключевым словом out или ref
только последний формальный аргумент метода может сопровождаться ключевым словом out или ref


Отметьте истинные высказывания:

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


Методы класса могут вызывать друг друга и обмениваться информацией. Пусть метод M1 вызывает метод M2. Метод M1 может передать входные данные методу M2 и получить от него результаты работы, используя:

аргументы метода M2
локальные переменные метода M1
локальные переменные метода M2
глобальные переменные, объявленные на уровне пространства имен или на уровне проекта
поля класса


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

всегда следует создавать функцию
в такой ситуации, скорее всего, следует экономить память и создавать функцию
всегда следует создавать поле класса
в такой ситуации, скорее всего, следует экономить время и создавать поле класса


Какие из приведенных функций являются функциями с побочным эффектом:

int p2(int x, int y){y = x +1; return x +y;}
int p4(int y){ return y++;}
int p1(int x, out int y){y = x +1; return x +y;}
int p3(ref int y){ return y++;}


При объявлении массива с инициализацией " int [] x = new int [3] " происходит ли задание значений элементов массива, и если да, то какими значениями:

да, заполняется " 0 "
нет, не происходит
да, заполняется " 1 "
да, заполняется произвольными значениями


Выберите правильный вариант объявление массива:

double x;
double x [5];
double x [];
double [5] x;
double[] x;


Что называется массивом:

упорядоченная совокупность элементов нескольких типов
неупорядоченная совокупность элементов одного типа
неупорядоченная совокупность элементов нескольких типов
упорядоченная совокупность элементов одного типа


Массив массивов позволяет задать:

одномерный массив
изрезанную, ступенчатую структуру
многомерный куб
таких массивов нет в С#


Укажите свойство, которым обладают динамические массивы, но которого нет у статических массивов:

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


Укажите свойства, которыми обладают статические массивы, но которых нет у динамических массивов:

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


Объявление:

  int[] A = new int[5], B= new int[5], C= new int[5];
 

означает, что:

задаются три одномерных массива типа int с пятью элементами, значения которых равны 0
задаются три одномерных массива, в каждом из которых по одному элементу со значением, равным 5
задается трехмерный массив, с элементами, равными 0
задаются три пятимерных массива


Одномерные массивы - это:

частный случай многомерных массивов
массивы, позволяющие задавать матрицы
массивы, позволяющие задавать векторы
массивы, имеющие структуру объявления <тип>[] <объявители>
массивы, имеющие структуру объявления <тип>[, … ,] <объявители>


Укажите корректные объявления массивов:

int[, ] A = new int [3, 3], B = new int [3, 3], С = new int [3, 3];
int[, ] A = new int [3, 5], B = new int [5, 3], С= new int [5, 5];
int[, ] A, B, C = new int [3, 5];
int[3, 5] A, B, C;/2
int(, ) A = new int [3, 5], B = new int [5, 3], С= new int [5, 5];


Правда ли, что:

объявление T[,,] t означает, что переменная t задает трехмерный массив с элементами типа T
массивы C# могут быть динамическими
массивы всегда объявляются с инициализацией


Рассмотрим объявление массивов:

  double[] x1 = new double[5], x2 = new double[5], x3 = new double[7];
  double[] y1, y2;
  int[]  z2 = new int[5], z3 = new int[7];
 

Правда ли, что:

переменные x1, x2 одного типа
переменные x1, x2, x3 одного типа;
переменные x2, z2 одного типа;
переменные x2, y2 одного типа;
все переменные принадлежат разным типам


Укажите те корректные объявления массивов, в которых все массивы заданы с инициализацией:

int[3, 5] A, B, C;
int[, ] A, B, C = new int [3, 5];
int(, ) A = new int [3, 5], B = new int [5, 3], С = new int [5, 5];
int[, ] A = new int [3, 5], B = new int [5, 3], С = new int [5, 5];


Отметьте верные утверждения:

элементы константного массива следует заключать в фигурные скобки
если массив объявляется без инициализации, то создается только висячая ссылка со значением null
для динамических массивов можно указать нижнюю и верхнюю границу изменения индексов


Рассмотрим объявление массивов:

double[,] x1 = { { 2, 4, 8 }, { 3, 5, 15 } }, x2;
     double[][] y1 = { new double[] { 2, 4, 8 }, new double[] { 3, 5, 15 } };
  double [][]z1 = { new double[] { 2, 4 }, new double[] { 3, 5, 15, 31 } };
 
Правда ли, что:

допустимо присваивание: x2 = x1
переменные x1 и y1 принадлежат одному типу
допустимо присваивание: y1 = x1
переменные x1 и x2 принадлежат одному типу


Отметьте истинные высказывания:

функция может возвращать массив в качестве результата
массив массивов может использоваться для представления структур данных, называемых деревьями
переменные, принадлежащие одному типу массива, могут иметь разное число элементов
переменные, принадлежащие одному типу массива, могут иметь разную размерность


Пусть в методе M один из аргументов объявлен следующим образом:

  double [,] mas
 
Какое свойство (метод) следует вызвать для определения числа элементов массива, переданного методу:

int n = mas.GetLength(1);
int n = mas.Rank;
int n = mas.GetLength();
int n = mas. GetLength(0);
int n = mas.Length;


Пусть в методе M один из аргументов объявлен следующим образом:

  double [,] mas
 
Какое свойство (метод) следует вызвать для определения числа строк массива, переданного методу:

int n = mas.Rank;
int n = mas.GetLength(0);
int n = mas.Length;
int n = mas.GetLength(1);
int n = mas.GetLength();


Пусть в методе M один из аргументов объявлен следующим образом:

  double [,] mas
 
Какое свойство (метод) следует вызвать для определения числа столбцов массива, переданного методу:

int n = mas.GetLength();
int n = mas.Rank;
int n = mas.Length;
int n = mas. GetLength(0);
int n = mas.GetLength(1);


Отметьте истинные высказывания:

элементы массива доступны для чтения и записи
после объявления int[] x = new int[5]; переменная x навсегда будет связана с массивом из 5 элементов
массивы относятся к ссылочному типу
если у метода формальный аргумент является массивом, то его можно вызывать по значению, опуская ключевые слова ref или out, при условии, что в теле метода изменяются элементы массива, но не меняется сам массив (ссылка)


Отметьте верные утверждения:

константные массивы можно использовать только при инициализации массивов
в C# многомерный массив и массив массивов принадлежат разным типам массивов
при инициализации массива нужно задавать нижнюю и верхнюю границу изменения индексов


Пусть в методе M один из аргументов объявлен следующим образом:

  double [,] mas
 
Какое свойство (метод) следует вызвать для определения размерности массива, переданного методу:

int n = mas.GetLength();
int n = mas. GetLength(0);
int n = mas.Length;
int n = mas.Rank;
int n = mas.GetLength(1);


Отметьте истинные высказывания:

каждому символу типа char однозначно соответствует код - целое число из фиксированного диапазона
тип char отображается в тип Char библиотеки FCL
код символа задается числом, которое случайным образом выбирается при записи символа в память компьютера


Укажите истинные высказывания:

для кириллицы кодировка символов алфавита является плотной без всяких исключений
зная символ, можно однозначно определить его код
для кириллицы кодировка символов алфавита является плотной за исключением кодировки буквы "ё"
зная код символа, можно однозначно определить сам символ


Множество возможных значений типа char - это:

множество цифр и букв, как в латинице, так и в кириллице
множество из 256 различных символов в кодировке ASCII
множество строчных и заглавных букв в латинице
множество из   различных символов в кодировке Unicode


Отметьте корректные объявления:

Char[] c = new char[5]
char a = new char("a")
char b = "b"
char[] d = {'a','b','c','d'}



Для фрагмента программы:

  string s = "да";
   int x = 0;
  if (s[0] >= 'А' && s[0] <= 'Я' &&  char.IsLetterOrDigit(s[1])) x = 1;
   else if (s[0] >= 'а' && s[0] <= 'я' && char.IsLetterOrDigit(s[1])) x = 2;
   else if (s[0] >= 'A' && s[0] <= 'Z' && char.IsLetterOrDigit(s[1])) x = 3;
   else x = 4;
 
какое значение получит переменная x:

3
2
4
1


Для фрагмента программы:

  string s = "да";
   int x = 0;
  if (s[0] >= 'А' && s[0] <= 'Я' &&  char.IsLetterOrDigit(s[1])) x = 1;
   else if (s[0] >= 'а' && s[0] <= 'я' && char.IsLetterOrDigit(s[1])) x = 2;
   else if (s[0] >= 'A' && s[0] <= 'Z' && char.IsLetterOrDigit(s[1])) x = 3;
   else x = 4;
 
какое значение получит переменная x:

3
2
4
1


В результате выполнения фрагмента кода

  int z = 0;
  string s1 = "ABC", s2 = "AB" + 'C'.ToString(), s3 = s2;
  if(s1 != s2) z = 1;
  else if(s1 != s3) z = 2;
  else if (s1.Length == s3.Length) z = 3;
  else z = 4;
 
переменная z получит значение:

2
1
4
3


Укажите корректные объявления:

string q3 = new string()
string q1 = 'Q'
string q = "2 + 2 = 5"
char[] syms = "string".ToCharArray()
string q2 = 'Q'.ToString()


Над строками определены операции:

"!="
"+"
"*"
">"


Среди конструкторов класса string существует:

конструктор, которому передается массив символов
конструктор, которому передается символ и число его повторений в создаваемой строке
конструктор без аргументов


Константу типа char можно задавать:

Unicode - последовательностью, задающей Unicode код символа
символом, заключенным в одинарные кавычки
символом, заключенным в двойные кавычки
escape - последовательностью, начинающейся с символа обратной косой черты "\"


Укажите истинные высказывания для переменных класса string:

нельзя получить i-й символ строки, используя операцию взятия индекса (char c = s[i]);
операция (s+s1) определена только над строками, содержащими числа
эквивалентность строк (s ==s1) означает совпадение ссылок s и s1
эквивалентность строк (s ==s1) означает совпадение значений s и s1
нельзя заменить i-й символ строки, используя операцию взятия индекса ( s[i] = 'C';);


Класс называется неизменяемым, если:

объекты класса не могут изменять значения, полученные при их создании
в класс нельзя добавлять новые методы
в класс нельзя добавлять новые поля
имя класса нельзя изменить


Какие утверждения справедливы для @-констант:

любой символ кодировки Unicode может быть задан в @-константе
каждый символ @-константы задает непосредствено сам символ за одним исключением - символа кавычки
@-константы принадлежат типу string


Какое утверждение верно для констант 'C', "C", @"C" :

все три константы принадлежат одному типу
первая константа принадлежит типу char, вторая - типу string, третья - StringBuilder
первая константа принадлежит типу char, вторая и третья - типу string
все три константы принадлежат разным типам


Какие утверждения являются справедливыми? Метод Format:

является перегруженным
имеет произвольное число фактических аргументов
первым аргументом метода является строка, содержащая форматы
позволяет изменить тип строки
позволяет форматировать строки string


Изменить значение объекта класса string:

невозможно
можно, используя динамические методы класса
можно, используя статические методы класса


Укажите, как осуществляются преобразования между классами string и StringBuilder:

для преобразования строки класса StringBuilder в строку класса string, следует вызвать конструктор класса string, передав ему строку StringBuilder в качестве аргумента
для преобразования строки класса string в строку класса StringBuilder, следует вызвать метод ToStringBuilder(), возвращающий строку класса StringBuilder
для преобразования строки класса string в строку класса StringBuilder, следует вызвать конструктор класса StringBuilder, передав ему строку string в качестве аргумента
для преобразования строки класса StringBuilder в строку класса string, следует вызвать метод ToString(), возвращающий строку класса string


Укажите утверждения, истинные для класса StringBuilder:

для строк класса StringBuilder, также как и для класса string, нельзя заменить i-й символ строки, используя операцию взятия индекса ( s[i] = 'C';)
методы Insert, Replace этого класса реализованы как процедуры в отличие от аналогичных методов класса string, реализованных как функции, возвращающие новый объект
класс StringBuilder является изменяемым классом


В результате выполнения фрагмента кода

  string f = "{0:P} от суммы {1, 10:x} составляют {2, 10:F}";
  double p = 0.33, x =12355;
  string s1 = string.Format(f, p, x, p * x);
 
переменная s1 получит значение:

"0,33% от суммы 12 355,00р. составляют 40,77"
"33,00% от суммы 12 355,00р. составляют 4077,15"
"33% от суммы 12 355р. составляют 4077,15"


Какое высказывание справедливо для класса StringBuilder?

класс StringBuilder относится к неизменяемым классам
у класса StringBuilder нет конструктора без параметров
у класса StringBuilder нет операции "+" - конкатенации
существует неявное преобразование строки string в строку StringBuilder;

Вы можете обратится к нам напрямую, через:

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png