Типы данных
Логические операции, операции сравнения
Условия
Циклы
Массивы
100

Дать определения для типов данных:

1. Byte (занимает 8 bit памяти);

2. Sbyte (занимает 8 bit памяти);

3. Short (занимает 16 bit памяти);

4. Ushort (занимает 16 bit памяти);

5. Char;

Подсказка: это может быть целое число / целое неотрицательное число / символьное значение.

1. Byte - целое неотрицательное число;

2. Sbyte (signed byte) - целое число;

3. Short - целое число;

4. Ushort (unsigned short)- целое неотрицательное число;

5. Char - символьное значение;

100

Выберите истинные утверждения:

а. Все операторы сравнения - бинарные (участвуют два операнда) и используются для сравнения значений переменных;

б. Результатом выражения на основе оператора сравнения является логическое значение;

в. Результатом выражения на основе оператора сравнения является значение типа bool.

г. Если соотношение истинно, то результатом является значение false, а если соотношение ложно, то true;

а. Истинно;

б. Истинно;

в. Истинно;

г. Ложно;

100

О каком операторе идет речь?

1. Сначала вычисляется значение некоторого логического выражения (условие). Если значение выражения равно (?), выполняется определенный блок команд. Если значение выражения равно (?) (условие ложно), выполняется другой блок команд.

2. Данный оператор используется с тремя операндами. Значение выражения зависит от истинности или ложности логического условия. Синтаксис:
[первый операнд-условие] ? [второй операнд] : [третий операнд].

1. Речь об if else, пропуски: true, false;

2. Тернарный оператор;

100

1. О каком операторе идет речь?

Описание оператора цикла начинается с ключевого слова (?). Далее, в круглых скобках размещается три блока инструкций. Блоки инструкций разделяются точкой с запятой, а инструкции внутри блока - запятыми. Затем указывается блок команд в фигурных скобках. Они формируют тело оператора цикла.

2. Цикл (?) удобно использовать при проходе по всем элементам массива или коллекции без проверки верхнего предела.

Синтаксис цикла (?):

*ключевое слово* (тип имя_переменной in массив){

действие;

}

1. Цикл for;

2. foreach

100

1. Какое слово пропущено?
(?) - это целое число. Количество (?), необходимых для однозначной идентификации переменной в массиве, определяет размерность массива. 

2. (?) массива - это общее количество элементов в массиве.

1. Индекс;

2. Размер;


200

Укажите память в битах для различных типов данных:

1. Int;

2. Double;

3. Bool;

4. Char;

5. Short;

6. Long;

7. Decimal;

1. Int = 32 bit;

2. Double = 64 bit;

3. Bool = 8 bit;

4. Char = 16 bit;

5. Short = 16 bit;

6. Long = 64 bit;

7. Decimal = 128;

200

Дополните высказывания:

а. Значение выражения А < B равно true, если операнд А ... чем операнд В.

б. Значение выражения А >= В равно true, если А ... либо ... В.

в. Значение выражения А == В равно true если А ... В.

г. Значение выражения А != В равно true, если А ... ... В.

а. меньше;

б. больше либо равно;

в. равно;

г. не равно;

200

1. В качестве условия необходимо указать один из операторов сравнения C# (перечислите операторы сравнения).

2. О каком операторе идет речь?
Контрольные значения в блоках сравниваются со значением выражения в инструкции. Если совпадение найдено, то выполняются команды в соответствующем блоке. На случай, если совпадения нет, может быть предусмотрен блок default.

1. >,<,>=, <=, ==, !=;

2. switch case;

200

1. (?) - это цикл с предусловием, в нем сначала проверяется условие, а потом уже выполняется тело цикла. Сначала цикл вычисляет значение логического выражения. Если оно истинно, выполняется тело цикла, иначе происходит выход из цикла и выполнение следующего за циклом оператора.

2. В отличие от цикла while, здесь сначала выполняется тело цикла, а затем проверяется условие. Если условие истинно, то начинается следующая итерация. Тело цикла будет выполнено минимум один раз.

1. while.

2. do while.

200

Выберите корректные варианты создания массива:

а. int[] nums2 = new int[4] { 1, 2, 3, 5 };

б. int[] nums3 = new int[] { 1, 2, 3, 5 };

в. int[] nums4 = new[] { 1, 2, 3, 5 };

г. int[] nums5 = { 1, 2, 3, 5 };

1. Все варианты корректны
300

Перед вами представлена информация о персонаже. Укажите, какой тип данных имеет каждое поле.

Имя: Булик;

Возраст: 18;

Страна: Буляндия;

Пол: М;

Вес: 61,5;

Имя: string;

Возраст: int;

Страна: string;

Пол: char;

Вес: double;

300

Дополните утверждения:
а. Оператор & - «логическое И». Результат выражения равен (?) , только если оба операнда А и В равны true.

б. && - Логическое И (краткая форма). Если при вычислении первого операнда А оказалось, что он равен (?), то значение второго операнда В не вычисляется.

в. | - Логическое ИЛИ. Если хотя бы один из операндов А или В равен (?), то результатом выражения А | B будет (?).

г. || Логическое ИЛИ (краткая форма). Если при вычислении первого операнда А оказалось, что он равен (?), то значение второго операнда В не вычисляется.

д. - Логическое отрицание. Значение выражения !А равно (?), если значение операнда А равно false.
Если значение операнда А равно true, то значение выражения !А равно (?).

а. true;

б. false;

в. true, true;

г. true;

д. true, false;

300

Дополните код (заполнить пропуски)

switch(i){

case 1:

Console.WriteLine('i = 1');

(?);

case 2:

Console.WriteLine('i = 2');

break;

(?) 3:

Console.WriteLine('i = 3');

break;

(?):

Console.WriteLine('undefined');

break ;

}

break;

case;

default;

300

1. Что выполняет данный код?

int sum = 1, max = 5;

int i = 2;

while (i <= max)

{

sum *= i;

i++;

}

Console.WriteLine(sum);

2. Что выведет данный код?

int i = 0;
do

{

    Console.WriteLine("i = {0}", i);

    i++;

    if (i > 5)

        break;

} while (i < 10);

1. Данный код находит произведение чисел  от 2 до 5, на экран будет выведен результат, равный 120.

2. Будут значения i от 0 до 5 включительно.

300

1. Что будет выведено на экран?
2. Сколько массивов создано в программе?
3. Какие типы данных содержатся в массивах?

int[] nums = {1,3,5,7,6,5,4}

char[] symbs = new char [] {'A','Z','B',Y''};

string[] txts = new string [3] {'один','два','три'};

Console.WriteLine("Массив nums:");

for(int k=0; k<nums.Length; k++){

   Console.Write(nums[k]+" ");

}

Console.WriteLine("\nМассив symbs:");

for(int k=0; k<symbs.Length; k++){

   Console.Write(symbs[k]+" ");

}

Console.WriteLine("\nМассив txts:");

for(int k=0; k<txts.Length; k++){

   Console.Write(txts[k]+" ");

}

Console.WriteLine();

}

}

1. На экран будет выведено название и элементы каждого массива;

2. Создано 3 массива;

3. int, char, string.

400

Перед вами представлено несколько массивов. Определите, какой тип данных имеют элементы массивов.

1. тип[] names = new  тип[] {"Альберт", "Артем","Боб"};

2. тип[] letters= new тип[] {"A", "B", "C", "D"};

3. тип[] digits = new тип[] {25, 4, 79, 11};

4. тип[] real = new тип[] {true, false, true};

1. string;

2. char;

3. int;

4. bool;

400

Ответьте на вопросы:

1. Какой результат будет у выражения 10 != 5?

2.  Какой результат будет у выражения 4 <= 4?

3.  Какой результат будет у выражения "Hello" == "hello"?

4. Какой результат будет у следующего кода, если x = 10, y = 20, z = 15?  
x < y && z > x  

1. true;

2. true;

3. false (регистрозависимость);

4. true;

400

1. Каков будет результат выполнения кода?

int x=21;

int y=21,1;

int z = x < y ? (x+y) : (x-y);

Console.WriteLine(z);

2. Что будет выведено на экран?

int i = 20;

Console.WriteLine(i == 10 ? 'i = 10' : 'i != 10');

Console.WriteLine(i == 20 ? 'i = 20' : 'i != 20');

1. 42,1;

2. 'i != 10'; 'i = 20';

400

1. Что выполняет данный код?

int[] array = {20, 10, 5, 44, 7, 12, 9, 11, 77, 56};

int max = array[0];

int min = array[0];


foreach (int value in array){

   if(value > max)

      max = value;

   if(value < min)

      min = value; 

}

1. Данный код вычисляет минимальный и максимальный элементы массива.

400

1. Программа заполняет  массив значениями, дающими 1 в остатке при делении на (?);
2. Укажите тип данных в массиве;
3. Сколько элементов в массиве?

int[] nums = new int[12];

      for (int k=0; k<nums.Length; k++){

         nums[k] = k * 3 + 1;

         Console.Write("| "+nums[k]+" ");

}

   Console.WriteLine(" | ");

}

}

1. На три;

2. int;

3. 12

500

Программист допустил ошибку и перепутал местами имя и фамилию:

*тип* firstname = "Петров"; //тут должно быть имя
*тип* lastname = "Иван"; //тут нужна фамилия
*тип* temp = firstname;
*тип* firstname = lastname;
*тип* lastname = temp;

Ответьте на вопросы:

а. Какого типа должны быть переменные?

б. Объясните, как произошла замена значений переменных firstname и lastname местами? Как в этом помогло использование переменной temp?



а. Переменные имеют тип string;

б. Как произошла замена значений переменных:

для того, чтобы не потерять значение переменной firstname, мы скопировали его в переменную temp. Затем переменная firstname (имя) приняла значение lastname (фамилия). Далее переменная lastname приняла значение переменной temp.

500

Ответьте на вопросы:

1. Какой будет результат выражения: !(true || false)?

2. num1 % 2 == 0 && num2 % 2 == 0;
Если оба операнда четные, то логическое выражение будет равно (false/true?);

3. Каков результат выражения !(5 > 3 && 2 < 1)? 

4. if(age >= 18 && isStudent){...}

Какой результат будет у следующего кода, если age = 20 и isStudent = false? 

5. Если х равен 17, то какое значение будет иметь выражение: x >= 10 && x <= 20 

1. false;

2. true;

3. true;

4. false;

5. true;

500

1. Каков будет результат выполнения программы?

s = 133;

if(s % 2 == 0){

s /= 2;

Console.WriteLine(s);

}

else{

s += 1;

s /= 2;

Console.WriteLine(s);

}

1. 67

500

1. Что выведет данный код?

int n = 10, k, s=0;

Console.Write("Сумма 1+3+5+...+{0} = ",2*n- 1);  

for(k = 1; k <= n; k++){

    s += 2*k - 1; 

}

Console.WriteLine(s);}}

1. Сумма 1+3+5+...+19 = 100

500

1. Укажите размер создаваемого массива;
2. Укажите тип данных в массиве;
3. Истинно ли утверждение, что массив заполняется случайными цифрами?;
4. Истинно ли утверждение, что массив заполняется символами латиницы?
5. Чем отличается определение цикла for для вывода массива в обратном порядке?

   Random rnd = new Random();

   int size = 10, k;

   char[] symbs = new char[size];

   Console.WriteLine("Массив случайных символов");

   for(k = 0; k<symbs.Length; k++){

      symbs[k] = (char) ('A'+rnd.Next(26));

      Console.Write("| "+symbs[k]+" ");

}

   Console.WriteLine(" | ");

   Console.WriteLine("Массив в обратном порядке: ");

   for(k = symbs.Length-1; k>=0; k--){

      Console.Write("| "+symbs[k]+" ");

}

   Console.WriteLine(" | ");

}

}

1. Десять;

2. char;

3. Ложно;

4. Истинно;

5. Отсчет начинается с последнего элемента. Условие выполняется, пока индекс больше нуля. С каждой итерацией индекс уменьшается на единицу.

M
e
n
u