игра брюс 2048
Главная / Офисные технологии / Основные принципы и концепции программирования на языке VBA в Excel / Тест 6

Основные принципы и концепции программирования на языке VBA в Excel - тест 6

Упражнение 1:
Номер 1
Какой из условных операторов записан корректно?

Ответ:

 (1) IF salary <9000 Then social=salary*0.2 Endif 

 (2) IF salary <9000 Then social=salary*0.2 Endif  

 (3) IF salary <9000 Then social=salary*0.2 Endif  

 (4) IF salary <9000 Then social=salary*0.2 


Номер 2
Процедура запрашивает ввод числа или даты и высвечивает сообщение о типе введенных данных или о некорректном вводе. Какая из логических конструкций записана правильно?

Ответ:

 (1) If IsDate(A) Then MsgBox "Дата " & A ElseIf IsNumeric(A) Then MsgBox "Число " & A Else MsgBox "Некорректный ввод " End If  

 (2) If IsDate(A) Then MsgBox "Дата " & A Else IsNumeric(A) Then MsgBox "Число " & A Else MsgBox "Некорректный ввод " End If  

 (3) If IsDate(A) Then MsgBox "Дата " & A ElseIf IsNumeric(A) Then MsgBox "Число " & A Else MsgBox "Некорректный ввод " End If  


Упражнение 2:
Номер 1
Для значений переменной i, изменяющихся от -7 до 7 с шагом 1 выполняется оператор
  
  Select Case i
Case 1, 3, 5
s = s + i
Case 2, 4, 6
s = s - i
End Select
  
  Значение переменной s не меняется, если

Ответ:

 (1) значение i положительно 

 (2) i=7 

 (3) значение i четно 

 (4) значение i нечетно 


Номер 2
  
    s=0
    For i = -7 To 7
    Select Case i
Case is <0
s = s - i
Case -2, -4, -6
s = s + i
End Select
Next i
  
  В приведенном фрагменте процедуры значение переменной s

Ответ:

 (1) уменьшается, если значение i четное отрицательное 

 (2) не изменяется, если значение i нечетное отрицательное 

 (3) увеличивается, если значение i отрицательно 

 (4) уменьшается, если значение i отрицательно 


Номер 3
Для значений переменной i, изменяющихся от -7 до 7 с шагом 1 выполняется оператор
  
Select Case i
Case 1, 3, 5
s = s + i
Case 2, 4, 6
s = s - i
Case Else
s=s*i
End Select
  
  Отметьте неверное утверждение.
  

Ответ:

 (1) значение переменной s не меняется, если значение i отрицательно 

 (2) если значение i нечетное положительное, то значение s увеличивается  

 (3) если значение i четное положительное, то значение s уменьшается 

 (4) значение переменной равно 0, если значение i равно 0 


Упражнение 3:
Номер 1
Какой из операторов цикла For для вычисления 20! записан правильно и рассчитывает верный результат?

Ответ:

 (1) f=1 For i = 20 To 1 Step -1 f=f*i Next i  

 (2) f=1 For i = 20 To 1 f=f*i Next i  

 (3) f=1 For i = 1 To 20 Step -1 f=f*i Next i  

 (4) f=1 For i = 0 To 20 f=f*i Next Step  


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

Ответ:

 (1) s=0 For i = 0 To 20 i = i + 1 s = s + i Next i  

 (2) s=0 For i = 1 To 20 s = s + i i = i + 1 Next i  

 (3) s = 0 For i = 1 To 20 Step 2 s = s + i Next i  


Номер 3
В приведенном фрагменте процедуры рассчитывается произведение чисел из первых 20 натуральных чисел. Как только значение произведения превосходит 100, выполняется принудительный выход из цикла. Каково значение переменной цикла i после завершения цикла?
  
s = 1
For i = 2 To 20
s = s * i
If s > 100 Then Exit For
Next i
  
  

Ответ:

 (1)

 (2) 20 

 (3) 21 

 (4)


Упражнение 4:
Номер 1
Какой из операторов цикла Do While…Loop выполнится только один раз?

Ответ:

 (1) Counter = 20 Do While Counter <= 20 Counter = Counter + 1 Loop  

 (2) Counter = 0 Do While Counter < 20 Counter = Counter + 1 Loop  

 (3) Counter = 20 Do While Counter < 20 Counter = Counter + 1 Loop  

 (4) Counter = 20 Do While Counter < =20 Counter = Counter - 1 Loop  


Номер 2
В каком из случаев оператор цикла Do While …Loop выполнится хотя бы один раз и не зациклится?

Ответ:

 (1) Counter = 20 Do While Counter <= 20 Counter = Counter + 1 Loop  

 (2) Counter = 20 Do While Counter < 20 Counter = Counter - 1 Loop  

 (3) Counter = 0 Do While Counter < 20 Counter = Counter - 1 Loop  

 (4) Counter = 20 Do While Counter > =20 Counter = Counter + 1 Loop  


Номер 3
В каком случае оператор цикла Do While …Loop вызывет зацикливание программы?

Ответ:

 (1) Counter = 0 Do While Counter < 20 Counter = Counter + 1 Loop  

 (2) Counter = 20 Do While Counter < 20 Counter = Counter + 1 Loop  

 (3) Counter = 0 Do While Counter < 20 Counter = Counter - 1 Loop  

 (4) Counter = 20 Do While Counter <= 20 Counter = Counter + 1 Loop  


Упражнение 5:
Номер 1
В каком из случаев оператор цикла Do…Loop Until не вызывает зацикливание программы?

Ответ:

 (1) Counter = 20 Do Counter = Counter + 1 Loop Until Counter = False  

 (2) Counter = 20 Do Counter = Counter + 1 Loop Until Counter < 20  

 (3) Counter = 20 Do Counter = Counter - 1 Loop Until Counter < 20  

 (4) Counter = 0 Do Counter = Counter - 1 Loop Until Counter > 20  


Номер 2
В каком из случаев оператор цикла Do Until …Loop выполнится хотя бы один раз и не зациклится?

Ответ:

 (1) myNum = 20 Do Until myNum = 10 myNum = myNum - 1 Loop  

 (2) myNum = 20 Do Until myNum = 10 myNum = myNum + 1 Loop  

 (3) myNum = 10 Do Until myNum = 10 myNum = myNum - 1 Loop  

 (4) myNum = 20 Do Until myNum = 10 myNum = myNum - 3 Loop  


Номер 3
Какой из операторов цикла Do…Loop Until выполнится только один раз?

Ответ:

 (1) Counter = 20 Do Counter = Counter + 1 Loop Until Counter = False  

 (2) Counter = 20 Do Counter = Counter + 1 Loop Until Counter < 20  

 (3) Counter = 4 Do Counter = Counter + 1 Loop Until Counter < 20  

 (4) Counter = 0 Do Counter = Counter - 1 Loop Until Counter > 20  


Упражнение 6:
Номер 1
Массив описан как Dim A(-5 to 5). Элементы массива имеют значения 0, 1 или 2. Отметьте корректно записанный оператор цикла, обнаруживающий первое нулевое значение в массиве.

Ответ:

 (1) For Each i In A If i = 0 Then Exit For Next i i=-5  

 (2) For Each i In A If A(i) = 0 Then Exit For Next i i = -5  

 (3) For Each A(i) In A If A(i) = 0 Then Exit For Next  

 (4) For Each i=-5 to 5 If A(i) = 0 Then Exit For Next  


Номер 2
Диапазон ячеек A1:B10 заполняется случайными числами 0 или 1. Отметьте корректно записанный оператор цикла.

Ответ:

 (1) Dim i As Object For Each i In Range("A1:B10") i = Int(Rnd() * 2) Next i  

 (2) Dim myrange As Object Set myrange = Range("A1:B10") For Each i In myrange i = Int(Rnd() * 2) Next i  

 (3) Dim i As Object, myrange As Object Set myrange = Range("A1:B10") For Each In myrange(i) i = Int(Rnd() * 2) Next i  

 (4) Dim i As Range, myrange As Object Set myrange = Range("A1:B10") For Each Cells In myrange i = Int(Rnd() * 2) Next i  


Номер 3
Отметьте правильные утверждения в отношении приведенного фрагмента процедуры.
  
Dim i As Range, myrange As Object
Set myrange = Range("A:B")
For Each i In myrange
i = Int(Rnd() * 2)
Next i
  
  

Ответ:

 (1) тип переменной myrange должен быть Range, а не Object 

 (2) в ссылке на диапазон ячеек оператора Set myrange = Range("A:B") указаны только обозначения столбцов и не указаны номера строк, что является ошибкой 

 (3) в операторе i = Int(Rnd() * 2) обязательно указание свойства value для переменной i, т.е оператор следует записать в виде i.value= Int(Rnd() * 2) 

 (4) в приведенном фрагменте процедуры ошибок нет  




Главная / Офисные технологии / Основные принципы и концепции программирования на языке VBA в Excel / Тест 6