VB Visual Basic  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Процедуры, функции и параметры

Тест по теме «Процедуры, функции и параметры» состоит из 20 вопросов: нужно читать код, сравнивать близкие решения, находить границы применимости правил и разбирать последствия ошибок. Заданий с кодом — 12; после каждого ответа открывается объяснение.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 55 минут; после ответа можно открыть объяснение.
Вопрос 1 из 20
Раздел «Sub и Function»: код использует Normalize. Какой вывод останется верным при других допустимых входных данных?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Module Demo
    Function Normalize(value As Integer) As Integer
        If value < 0 Then Return 0
        If value > 100 Then Return 100
        Return value
    End Function
    Sub Main()
        Console.WriteLine(Normalize(120))
    End Sub
End Module
Вопрос 2 из 20
Раздел «Sub и Function»: какая претензия к возможной правке относится к поведению программы?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Strict On
Namespace ReviewCase3_1
    Module Demo
        Function Normalize(value As Integer) As Integer
            If value < 0 Then Return 0
            If value > 101 Then Return 101
            Return value
        End Function
        Sub Main()
            Console.WriteLine(Normalize(121))
        End Sub
    End Module
End Namespace
Вопрос 3 из 20
Раздел «Sub и Function»: какое утверждение поможет отличить настоящий дефект от случайности тестовых данных?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Explicit On
Option Infer On
Namespace BoundaryCase3_1
    Module Demo
        Function Normalize(value As Integer) As Integer
            If value < 0 Then Return 0
            If value > 99 Then Return 99
            Return value
        End Function
        Sub Main()
            Console.WriteLine(Normalize(119))
        End Sub
    End Module
End Namespace
Вопрос 4 из 20
Раздел «Sub и Function»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 5 из 20
Какой принцип по теме «Sub и Function» стоит закрепить в командных соглашениях?
Вопрос 6 из 20
Не запуская фрагмент, выберите объяснение, которое учитывает весь механизм «Передача ByVal и ByRef».
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Module Demo
    Sub Rename(ByVal item As List(Of String))
        item(0) = "changed"
        item = New List(Of String) From {"new"}
    End Sub
    Sub Main()
        Dim names = New List(Of String) From {"old"}
        Rename(names)
        Console.WriteLine(names(0))
    End Sub
End Module
Вопрос 7 из 20
Раздел «Передача ByVal и ByRef»: какую договорённость важнее сохранить, чем выиграть несколько строк кода?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Strict On
Namespace ReviewCase3_2
    Module Demo
        Sub Rename(ByVal reviewItem As List(Of String))
            reviewItem(0) = "changed"
            reviewItem = New List(Of String) From {"new"}
        End Sub
        Sub Main()
            Dim reviewNames = New List(Of String) From {"old"}
            Rename(reviewNames)
            Console.WriteLine(reviewNames(0))
        End Sub
    End Module
End Namespace
Вопрос 8 из 20
Раздел «Передача ByVal и ByRef»: какое утверждение поможет отличить настоящий дефект от случайности тестовых данных?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Explicit On
Option Infer On
Namespace BoundaryCase3_2
    Module Demo
        Sub Rename(ByVal edgeItem As List(Of String))
            edgeItem(0) = "changed"
            edgeItem = New List(Of String) From {"new"}
        End Sub
        Sub Main()
            Dim edgeNames = New List(Of String) From {"old"}
            Rename(edgeNames)
            Console.WriteLine(edgeNames(0))
        End Sub
    End Module
End Namespace
Вопрос 9 из 20
Раздел «Передача ByVal и ByRef»: обычный сценарий в рабочем модуле проходит, но поведение ещё не закреплено проверкой. Какое решение не маскирует причину?
Вопрос 10 из 20
Раздел «Передача ByVal и ByRef»: какой вывод можно использовать как основание для ревью кода?
Вопрос 11 из 20
Раздел «Необязательные параметры»: какое утверждение позволяет предсказать поведение фрагмента по правилам Visual Basic и .NET?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Module Demo
    Function Connect(host As String, Optional timeoutSeconds As Integer = 15) As String
        Return $"{host}:{timeoutSeconds}"
    End Function
    Sub Main()
        Console.WriteLine(Connect("db"))
    End Sub
End Module
Вопрос 12 из 20
Раздел «Необязательные параметры»: какую договорённость важнее сохранить, чем выиграть несколько строк кода?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Strict On
Namespace ReviewCase3_3
    Module Demo
        Function Connect(reviewHost As String, Optional reviewTimeoutSeconds As Integer = 16) As String
            Return $"{reviewHost}:{reviewTimeoutSeconds}"
        End Function
        Sub Main()
            Console.WriteLine(Connect("db"))
        End Sub
    End Module
End Namespace
Вопрос 13 из 20
Раздел «Необязательные параметры»: для участка с Connect нужен отрицательный тест. Какой контракт стоит проверить, меняя только одно условие?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Explicit On
Option Infer On
Namespace BoundaryCase3_3
    Module Demo
        Function Connect(edgeHost As String, Optional edgeTimeoutSeconds As Integer = 14) As String
            Return $"{edgeHost}:{edgeTimeoutSeconds}"
        End Function
        Sub Main()
            Console.WriteLine(Connect("db"))
        End Sub
    End Module
End Namespace
Вопрос 14 из 20
Раздел «Необязательные параметры»: что здесь важнее локального удобства: какой контракт должен быть виден в коде?
Вопрос 15 из 20
Раздел «Необязательные параметры»: какой вывод можно использовать как основание для ревью кода?
Вопрос 16 из 20
Какой контракт действительно соблюдает показанный фрагмент из раздела «Массив переменного числа аргументов»?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Module Demo
    Function Sum(ParamArray values() As Integer) As Integer
        Return values.Sum()
    End Function
    Sub Main()
        Console.WriteLine(Sum(1, 2, 4))
    End Sub
End Module
Вопрос 17 из 20
Раздел «Массив переменного числа аргументов»: какой комментарий к изменению будет технически обоснован?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Strict On
Namespace ReviewCase3_4
    Module Demo
        Function Sum(ParamArray reviewValues() As Integer) As Integer
            Return reviewValues.Sum()
        End Function
        Sub Main()
            Console.WriteLine(Sum(1, 3, 8))
        End Sub
    End Module
End Namespace
Вопрос 18 из 20
Раздел «Массив переменного числа аргументов»: обычный сценарий проходит. Что следует закрепить отдельным граничным тестом?
Visual Basic / VB.NETVisual Basic · Процедуры, функции и параметры
Option Explicit On
Option Infer On
Namespace BoundaryCase3_4
    Module Demo
        Function Sum(ParamArray edgeValues() As Integer) As Integer
            Return edgeValues.Sum()
        End Function
        Sub Main()
            Console.WriteLine(Sum(1, 1, 2))
        End Sub
    End Module
End Namespace
Вопрос 19 из 20
Раздел «Массив переменного числа аргументов»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 20 из 20
Раздел «Массив переменного числа аргументов»: какой вывод описывает семантику, а не предпочтение в оформлении?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу