ООО «Программные Технологии». Список заданий для тестеров. Контактная информация: ФИО____________________________________________________гр___________ Телефон:_____________________________________ e-mail:__________________________________________ Математика, геометрия 1. (1 балл). В стакане находятся бактерии. Через секунду каждая из бактерий делится пополам, затем каждая из получившихся бактерий через секунду делится пополам, и так далее. Через минуту от начала эксперимента стакан полон. Укажите отрезок времени в секундах от начала эксперимента, когда стакан был заполнен наполовину. 2. (2 балла). Две деревни находятся по разные стороны реки, берега которой – параллельные прямые. Укажите, в каком месте реки необходимо построить мост, перпендикулярный берегам так, чтобы длина пути из одной деревни в другую была бы минимальна. 3. (3 балла). Построим квадрат со стороной 8 см и разрежем его так, как показано на рис. 1. Из полученных частей сложим прямоугольник 13х5 см (рис.2). Как могло так получиться, что квадрат площадью 64 см2 обратился в прямоугольник площадью 65 см2 ? C А C B А D B D Рис.1 Рис.2 4. (3 балла). Географическая карта пострадала от неправильного хранения и трансформировалась из квадрата 50х50 см в прямоугольную трапецию: L S Напишите код С-функции, которая позволит откорректировать измеренную по искаженной карте длину отрезка ( L) либо площадь произвольной фигуры ( S ). ОС , API, MFC 1. (1 балл). Напишите, в чем на Ваш взгляд заключается основная цель создания MFC. 2. (3 балла). Опишите, каким образом возникает DeadLock, чем он опасен и как узнать является ли некоторая ситуация тупиковой или разрешимой. 3. (1 балл). Опишите, как производится назначение задач на выполнение в ОС Windows. 4. (2 балла). Опишите, каким образом происходит одновременное выполнение нескольких задач. 5. (1 балл). Программа, работающая в сети Windows, должна создавать промежуточный файл. Рабочий каталог доступен только для чтения. Укажите название каталога, в котором можно создавать промежуточный файл, если программа запускается от имени пользователя с произвольными (различными) полномочиями? 6. (2 балла). Опишите в чем разница платформ Java и .Net. В чем сходство? ООО «Программные Технологии». Список заданий для тестеров. ООП 1. (2 балла). Дайте определение полиморфизма. Объясните на примере, для чего он нужен. 2. (2 балла). Создайте объектную модель для решения задачи автоматизации управления автоматическими перевозками груза со станцию на станцию по заданным маршрутам. Изобразите предложенную модель при помощи UML, либо любого другого средства. 3. (3 балла). Существует такой термин «хороший ООП дизайн», опишите, какие признаки Вы бы выделили для оценки качества дизайна как «хорошее». 4. (2 балла). Дайте определение наследования. Объясните на примере, для чего оно нужно. 5. (2 балла). Опишите, как работает и зачем нужен механизм разделения областей доступа к данным в ООП. 6. (3 балла). В чем отличие объектно-ориентированного подхода к проектированию информационных систем от функционального? Какой из них лучше на Ваш взгляд? ЯВУ 1. (3 балла). Напишите, каким образом Вы комментируете свой код, комментарии какого типа Вы используете и в каких случаях? 2. (1 балл). Напишите программный код функции, получающей целое число х и выполняющей следующее: если х < 0, то всегда возвращается строка Сообщение_1 если х = 0, то изредка возвращается строка Сообщение_2 если х > 0, то очень редко возвращается строка Сообщение_3. 3. (2 балла). Напишите С код функции, которая осуществляет операцию заполнения указанной области памяти указанным количеством 0. 4. (2 балла). Напишите на любом известном Вам языке код, тестирующий правильную работу библиотечной функции, выполняющей быстрое возведение числа в указанную степень. 5. (3 балла). Напишите на любом известном Вам языке код, тестирующий производительность библиотечной функции, выполняющей быстрое возведение числа в указанную степень. Алгоритмы 1. (2 балла). Составьте алгоритм, максимально быстро сортирующий массив целых знаковых чисел. 2. (2 балла). Дан 100-элементный неупорядоченный массив целых чисел. Одно из чисел массива было утроено. Напишите алгоритм определения этого числа. 3. (5 баллов). Дано словесное описание алгоритма: «Проходим по массиву и каждый элемент делим на размер массива, и записываем структуру (результат деления, количество таких элементов) в массив списков, где индекс массива определяется остатком от деления, а положение в списке результатом деления. При появлении еще одного такого же элемента в структуре по этому адресу увеличивается количество элементов. После этого проходим по получившемуся массиву и из него выписываем в результирующий массив числа (результат*размер + индекс): из первой позиции списка, если результат деления равен минимальному (для этого он на предыдущей стадии сохраняется в отдельную переменную), так же при этом проходе находится следующее значение минимальной переменной (результата деления). В результирующий массив выписываются столько чисел, сколько указано в структуре. Массив проходится до тех пор, пока в списках не останется элементов. » Сформулируйте задачу, которую решает алгоритм, укажите временную оценку работы такого алгоритма. Предложите варианты улучшения его работы. 4. (3 балла). Предложите как можно больше способов поиска элемента в массиве. 5. (3 балла). Прямая задается координатами двух точек, через которые она проходит. Дан набор прямых на плоскости и программа нахождения площади замкнутой фигуры, ограниченной заданными прямыми. Если заданный набор прямых не образует замкнутой фигуры – программа сообщает от этом пользователю. Предложите набор тестов для проверки корректности работы программы. Сети и технологии 1. (1 балл). Опишите, какие изменения делают обычный пользовательский компьютер Интернетсервером. 2. (2 балла). Опишите работу протокола передачи данных http 3. (2 балла). Напишите, что такое dll, как она используется при создании программ. Каким образом наличие dll влияет на ход тестирования программы?