Тесты на тему "Разработка на C++ | Синергия [ID 57043]"

Эта работа представлена в следующих категориях:

Если нужна помощь со сдачей теста => Создать заказ

Перед покупкой сверьте список вопросов и убедитесь, что вам нужны ответы именно на эти вопросы!
С вопросами и вы можете ознакомиться ДО покупки.
Для быстрого поиска вопроса используйте Ctrl+F.

Демо работы

Описание работы

В чём заключается одна из основных проблем при работе с многопоточностью в С++?
• Обеспечение ускорения выполнения программы при использовании многопоточности
• Синхронизация использования ресурсов для исключения взаимной блокировки
• Отсутствие поддержки многопоточности на большинстве современных процессоров

Выберите верное утверждение:
• При работе с кучей управление памятью необходимо осуществлять программисту, например, нужно вручную чистить память
• При работе со стеком управление памятью необходимо осуществлять программисту, например, нужно вручную чистить память
• В С++ есть встроенный сборщик мусора, который почистит ненужную память, даже если программист забыл это сделать вручную

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

Для чего нужна малая теорема Ферма в программировании?
• Для алгоритмов шифрования и проверки чисел на простоту
• Малая теорема Ферма используется в программировании для ускорения алгоритмов генерации случайных чисел
• Малая теорема Ферма используется в программировании для ускорения алгоритмов поиска, сортировки и компрессии данных



Зачем нужны умные указатели в С++?
• Для ускорения работы программы
• Для уменьшения размера исполняемого файла программы
• Для автоматического освобождения памяти и обеспечения безопасного ее использования

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

Как работает mutex в С++?
• Мьютекс автоматически корректно организует работу нескольких потоков с общим ресурсом, полностью исключая возможность взаимной блокировки
• Когда один поток захватывает мьютекс, другие потоки не могут получить доступ к общим данным, пока текущий поток не освободит мьютекс.
• Мьютекс помогает нескольким параллельным потокам синхронизировать возвращение результатов выполнений функций в корректном порядке с точки зрения логики, а не просто по мере готовности

Как работает алгоритм deep first search?
• Метод обхода графа, который начинает с некоторой начальной вершины и перемещается к самой высокой по степени непосещенной вершине, пока не достигнет конца. Затем алгоритм возвращается назад и повторяет процесс для других вершин.
• Метод обхода графа, который начинает с некоторой начальной вершины и перемещается к ближайшей непосещенной вершине, пока не достигнет конца. Затем алгоритм возвращается назад и повторяет процесс для других вершин.
• Метод обхода графа, который начинает с некоторой начальной вершины и исследует как можно дальше вдоль каждой ветви, прежде чем вернуться назад

Как работает алгоритм бинарного поиска в С++?
• Бинарный поиск работает путем сортировки массива и последовательного сравнения каждого элемента с искомым значением до тех пор, пока не будет найден искомый элемент или пока не будут проверены все элементы.
• Бинарный поиск работает путем разделения массива на несколько частей и параллельного поиска в каждой из них. Когда искомый элемент найден в одной из частей, поиск завершается.
• Бинарный поиск работает путем деления отсортированного массива пополам и сравнения искомого значения с элементом в середине. Если значение меньше элемента в середине, то поиск продолжается в левой половине массива, иначе - в правой. Этот процесс повторяется до тех пор, пока не будет найден искомый элемент или пока не останется ни одного элемента для поиска.

Как работает алгоритм Дейкстры, ищущий кратчайшие пути от одной из вершин графа до всех остальных?
• Алгоритм работает пошагово - на каждом шаге он “посещает” одну вершину и пытается уменьшать метку – минимальное известное расстояние от этой вершины до начальной. Работа алгоритма завершается, когда все вершины посещены.
• Алгоритм использует динамическое программирование. Сперва строится матрица расстояний между всеми парами вершин. Затем алгоритм сравнивает все возможные пути через граф между каждой парой вершин и постепенно улучшает оценку кратчайшего пути между двумя вершинами, пока оценка не станет оптимальной.
• Алгоритм начинает с расстояния до начальной вершины равным 0, а до всех остальных - бесконечностью. Затем алгоритм повторяет несколько раз: он смотрит на все ребра и пытается улучшить расстояния до вершин. Если расстояние от начальной вершины до одной вершины на ребре плюс вес ребра меньше текущего расстояния до другой вершины на ребре, то расстояние обновляется.

Как работает динамическое программирование?
• Алгоритм перебирает всевозможные варианты решения, определяя в итоге наилучший вариант
• Алгоритм на каждом шаге старается принять наилучшее локальное решение
• Алгоритм разбивает задачу на подзадачи, предполагая, что они проще исходной, а решение всех этих подзадач позволит решить саму задачу

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

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




Как считать предложение (слова, разделённые пробелами) с консоли и записать его в переменную типа string?
• использовать поток std::cin >>
• использовать операцию getstring()
• использовать операцию getline(cin, string)

Как устроена такая структура данных как куча?
• Это деревообразная структура данных, которая удовлетворяет свойству кучи: значение в каждом узле не меньше (или не больше) значений в его потомках. Кучи часто используются для реализации приоритетных очередей.
• Это хеш-таблица, которая удовлетворяет свойству кучи: значение в каждой ячейке не меньше (или не больше) значений в соседних ячейках. Кучи часто используются для реализации словарей и множеств.
• Это графовая структура данных, которая удовлетворяет свойству кучи: значение в каждой вершине не меньше (или не больше) значений в смежных вершинах. Кучи часто используются для реализации алгоритмов поиска кратчайшего пути.

Какая асимптотическая сложность у алгоритма бинарного поиска?
• O(log n)
• O(n log n)
• O(n)

Какая асимптотическая сложность у операций добавления и удаления элементов в стеке?
• Операции добавления и удаления элементов в стеке имеют асимптотическую сложность O(n log n), так как каждый раз при добавлении или удалении элемента необходимо отсортировать все элементы стека.
• Операции добавления и удаления элементов в стеке имеют асимптотическую сложность O(n), так как каждый раз при добавлении или удалении элемента необходимо переместить все остальные элементы стека.
• Стек реализован таким образом, что добавление и удаление элементов происходит только с вершины стека, что осуществляется быстро и эффективно. Соответственно сложность у таких операций О(1).

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

Какой алгоритм поиска наиболее эффективен для неотсортированных данных?
• Бинарный поиск
• Интерполяционный поиск
• Линейный поиск

Какой алгоритм сортировки является наиболее эффективным для больших данных?
• Пузырьковая сортировка
• Сортировка выбором
• Быстрая сортировка

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

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

Когда нужно прописывать ключевое слово virtual перед методом класса?
• когда метод переопределяется в производном классе, и при этом может произойти обращение к этому переопределённому методу через указатель на базовый класс, то перед методом базового класса нужно прописать слово virtual
• когда метод переопределяется в производном классе, и при этом может произойти обращение к этому переопределённому методу через указатель на базовый класс, то перед методом производного класса нужно прописать слово virtual
• когда метод переопределяется в производном классе, и при этом может произойти обращение к этому переопределённому методу через указатель на производный класс, то перед методом базового класса нужно прописать слово virtual

Может ли быть опущен блок в условном операторе?
• да, может
• нет, не может
• может, но только если условие всегда истинно

Необходимо добавить N элементов в начало пустого std::vector. Какая будет асимптотическая сложность у данной операции?
• Добавление одного элемента в std::vector выполняется очень быстро, за постоянное время, то есть за О(1). Поскольку нужно добавить N элементов, то получаем асимптотическую сложность O(1*N), что равносильно O(N), то есть в результате имеем линейное время
• Добавление одного элемента в начало std::vector имеет сложность O(n), т.к. каждый раз придётся сдвигать все остальные элементы вправо. Следовательно, добавление N элементов в начало будет иметь сложность O(N^2), т.е. получаем квадратичное время
• std::vector является аналогом обычного массива, а значит память под него выделяется сразу и гарантировать добавление всех N элементов нельзя. Однако, пока есть свободная память, добавление элементов будет происходить за постоянное время, то есть сложность получаем О(1)

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

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

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

Что позволяет сделать отладчик в Visual Studio?
• автоматически проверить программу на наличие ошибок
• остановить программу в любой момент выполнения
• пошагово выполнить программу, отслеживая значения переменных
Что такое r-value?
• временный, созданный при выполнении программы, к адресу которого можно обратиться с помощью &
• временный объект, созданный при выполнении программы, к адресу которого нельзя обратиться
• объект, который имеет конкретный адрес в памяти, к которому можно обратиться

Что такое абстрактный класс?
• класс, в котором есть чисто виртуальная функция
• класс, в котором все функции виртуальные
• класс, экземпляры которого не могут вызывать методы класса

Что такое асимптотическая сложность алгоритма?
• Количество операций, которые выполняет алгоритм для решения определённой задачи
• Оценка скорости роста времени выполнения алгоритма в зависимости от размера входных данных
• Скорость выполнения алгоритма при решении конкретной задачи с заданными входными данными

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

Что такое граф?
• Геометрическая фигура, состоящая из точек и соединяющих их отрезков
• Математическая модель для представления отношений между объектами
• Тип данных в С++, отвечающий за построение древовидных структур данных


Что такое дерево в теории графов?
• Граф с несколькими компонентами связности
• Граф с циклами
• Связный ациклический граф

Что такое итератор?
• переменная, помогающая перебирать элементы контейнера
• счётчик циклов методов класса
• статическая переменная, считающая количество экземпляров своего класса

Что такое итерация цикла?
• последовательность действий цикла
• условие выхода из цикла
• единичное выполнения тела цикла

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

Что такое компилятор?
• программа-редактор для создания других программ
• программа, которая переводит код на языке программирования в машинный код
• программа в виде чёрного окна, где пользователь может вести текст




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

Что такое контейнер?
• объект для хранения неограниченно большого количества данных (пока есть доступная память)
• массив, в котором объекты хранятся в отсортированном порядке
• объект для хранения других объектов

Что такое матрица смежности графа?
• Матрица, элементами которой являются расстояния между соответствующими вершинами графа
• Матрица, элементами которой являются степени соответствующих вершин графа
• Матрица, элементами которой являются числа, показывающие, соединены ли соответствующие вершины ребром

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

Что такое наследование?
• такое соотношение между классами, когда производный класс использует структуру и/или функционал базового класса
• обращения к полям и методам класса через указатель на объект этого класса, при этом используется стрелочка “->” вместо точки
• принцип программирования, согласно которому разработчик не должен допускать повторяемости кода
Что такое объект?
• любые данные, которые не имеют конкретного постоянного адреса в памяти
• любые данные, которые имеют конкретный постоянный адрес в памяти
• конкретный экземпляр класса, или переменная класса

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

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

Что такое рекурсия в программировании?
• Это ситуация, при которой функция вызывает сама себя в своем теле. Каждый вызов функции создает новый экземпляр этой функции на стеке вызовов. Рекурсивные функции должны иметь базовый случай, который прекращает рекурсию, иначе они будут вызывать себя бесконечно.
• Это ситуация, при которой функция вызывается из цикла или из другой функции несколько раз подряд. Программист должен предусмотреть условие выхода из рекурсии, иначе функция будет вызываться бесконечно.
• Рекурсия в программировании - это ситуация, при которой функция вызывается несколько раз подряд с разными аргументами. Программист должен прописать выход из рекурсии при определённых значениях аргумента, иначе рекурсия будет вызываться бесконечно много раз с новыми и новыми аргументами


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

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

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

Что такое теория игр?
• Наука, изучающая оптимальные стратегии в играх
• Наука, изучающая баланс в настольных и компьютерных играх
• Наука, изучающая психологию игроков в компьютерных играх

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

Что такое функция в программировании?
• группа операторов, у которой есть имя и которая может возвращать значение
• любая команда в коде программы, заканчивается «;»
• отдельно взятый функционал из стандартных библиотек пространства имён std

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

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

Что такое Эйлеров цикл в графе?
• Цикл, проходящий через каждую вершину графа ровно один раз
• Цикл, проходящий через каждое ребро графа ровно один раз
• Цикл минимальной длины в графе

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

Похожие работы

Другие работы автора

НЕ НАШЛИ, ЧТО ИСКАЛИ? МОЖЕМ ПОМОЧЬ.

СТАТЬ ЗАКАЗЧИКОМ