Тесты на тему "Программирование на языке С++ Синергия МТИ Ответы на тест"

Представлены ответы на большинство вопросов по предмету "Основы программирования на языке С++.ои(dor)".
Итоговый набранный балл 100 из 100 (Скриншот прилагаю).
ВНИМАНИЕ! Покупайте работу, только убедившись, что ваши вопросы совпадают с представленными ниже. Для этого рекомендую сначала запустить тест и сверить хотя бы несколько вопросов.

Демо работы

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

СПИСОК ТЕМ:
Введение в курс
Тема 1. Ввод и вывод, используемые в С++
Тема 2. Использование функций в С++
Тема 3. Объекты и классы
Тема 4. Массивы и строки
Тема 5. Перегрузка операций
Тема 6. Указатели
Тема 7. Виртуальные функции
Тема 8. Работа с потоками и файлами
Тема 9. Многофайловые программы
Тема 10. Шаблоны и исключения

СПИСОК ВОПРОСОВ:

… – это такой способ определения функции, при котором результат возврата из функции для данного значения аргумента определяется на основе результата возврата из той же функции для предыдущего (меньшего или большего) значения аргумента

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

… указатель – это указатель, значение которого не может быть изменено после инициализации

Алгоритмы … используются для того, чтобы упорядочить элементы массива по убыванию или возрастанию

В интегрированную среду программирования может входить такой компонент, как …
наладчик
доводчик
отладчик

В интегрированную среду программирования может входить такой компонент, как …
регулятор
доминатор
компилятор

В переменной типа unsigned char можно хранить число …
-213
213
1213

В переменной типа unsigned char можно хранить число …
-13
1213
13

В ряду причин использования многофайловых программ – …
незаменимость библиотек классов
возможность разделения работы над проектом на нескольких программистов
полное отсутствие однофайловых программ
удобство создания концепции и дизайна программ

В языке С++ в функцию в качестве параметров …
нельзя передавать указатели на переменные
можно передавать указатели на переменные
можно передавать указатели на переменные, только если это массивы
можно передавать указатели на переменные, только если это не массивы

В языке С++ встроенный тип данных int предназначен для хранения …
положительных и отрицательных целых чисел
символов
вещественных чисел
положительных и отрицательных целых чисел, вещественных чисел, а также символов

Виртуальными называются функции …
базового класса, которые не используются в производном классе
базового класса, которые не могут быть переопределены в базовом классе
базового класса, которые могут быть переопределены в производном классе
производного класса, переопределенные относительно базового класса

Возможность и способ обращения производного класса к элементам базового определяются … класса
ключами доступа private, public, protected в теле производного
ключами доступа private, public, protected в заголовке объявления производного
только ключом доступа protected в заголовке объявления производного
ключами доступа private, public, protected в теле базового

Выбор функции-члена зависит от …
типа указателя, а не от класса объекта
того, на объект какого класса при выполнении программы указывает указатель, но не от типа указателя
решения программиста
выбора языка программирования

Говоря о деструкторах, можно утверждать, что …
деструктор – это метод класса, применяемый для удаления объекта
деструктор – это метод класса, применяемый для освобождения памяти, занимаемой объектом
деструктор – это отдельная функция головной программы, применяемая для освобождения памяти, занимаемой объектом
деструктор не наследуется

Говоря о дружественных функциях, следует отметить, что …
дружественная функция объявляется внутри класса, к элементам которого ей нужен доступ
дружественная функция не может быть обычной функцией, а только методом другого класса
дружественная функция не может быть методом другого класса
одна функция может быть дружественной нескольким классам

Говоря о конструкторах, можно утверждать, что … (укажите 2 варианта ответа)
конструкторы класса не наследуются
конструкторов класса может быть несколько, их синтаксис определяется программистом
конструкторов класса может быть несколько, но их синтаксис должен подчиняться правилам перегрузки функций
конструктор возвращает указатель на объект

Говоря о конструкторах, можно утверждать, что … (укажите 3 варианта ответа)
у конструктора могут быть параметры
конструктор должен явно вызываться всегда перед объявлением объекта
конструктор вызывается автоматически при объявлении объекта
объявление каждого класса должно содержать свой конструктор
если конструктор не создан, компилятор создаст его автоматически

Говоря о передаче параметра по ссылке, можно утверждать, что …
если вызываемая сторона изменяет переменную параметра, эффект виден в переменной вызывающей стороны
когда параметр передается по ссылке, вызывающая сторона и вызываемая сторона имеют две независимые переменные с одинаковым значением
когда параметр передается по ссылке, вызывающая сторона и вызываемая сторона используют одну и ту же переменную для этого параметра
если вызываемая сторона изменяет переменную параметра, эффект не виден вызывающей стороне

Говоря о различии в использовании выражений #include <…> и #include «…», можно утверждать, что …
различие заключается в методе поиска препроцессором включаемого файла
различие заключается в использовании заголовочных и исходных файлов
в использовании этих выражений нет различий

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

Две формы использования перегруженных операторов: …
ложная и истинная
инфиксная и бинарная
бинарная и функциональная
инфиксная и функциональная

Деструктором называют …
метод, который уничтожает объект
метод, который удаляет объект
метод, который освобождает память, занимаемую объектом
системная функция, которая освобождает память, занимаемую объектом

Динамическое выделение памяти – это когда память под объект (переменную) …
может выделяться не сразу, а в процессе работы программы, а освобождение памяти производится вручную
может выделяться не сразу, а в процессе работы программы, а освобождение памяти производится автоматически после завершения программы
выделяется каждый раз при обращении к переменной

Директива препроцессора, которую необходимо подключить для организации форматированного ввода-вывода данных, – …
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>

Для доступа к элементам объекта, при обращении через имя объекта – используют …
точку, при обращении через указатель – операцию «->»
два двоеточия, при обращении через указатель – точку
точку, при обращении через указатель – два двоеточия
два двоеточия, при обращении через указатель – операцию «->»

Для инициализации указателя можно использовать …
адрес
0
null
адрес, 0 или null

Для объявления виртуальной функции используется ключевое слово …
int
print
virtual
friend

Для объявления дружественной функции используется ключевое слово …
friend
virtual
double
arr

Для определения указателя необходимо использовать запись: …
тип_указателя * имя_указателя
тип-указателя * имя-указателя
тип указателя * имя указателя
тип_указателя_имя_указателя

Для работы с выходными потоками используется …
getline
iostream
istream
ostream

Дружественная функция – это функция, …
принимающая в качестве аргументов другие функции или возвращающая другую функцию в качестве результата
не выполняющая никакого осмысленного действия и возвращающая пустой результат или входные данные в неизменном виде
которая имеет доступ к закрытым членам класса, как если бы она сама была членом этого класса
имеющая частичный доступ к закрытым членам класса

Если в арифметическом выражении участвуют целый и вещественный операнды, то …
имеет место ошибка компиляции
целый тип приводится к вещественному
вещественный тип приводится к целому

Если дан массив int L[3][3] = { { 2, 3, 4 }, { 3, 4, 8 }, { 1, 0, 9 } };. то значение элемента этого массива L[1][2] будет равно …
2
3
4
8

Если после выражения стоит точка с запятой, то …
выражение вычисляется, а его значение запоминается в специальной переменной, которую можно использовать в следующем операторе
это оператор-выражение, действие которого заключается в вычислении выражения
выражение вычисляется только если первой стоит операция присваивания

Если размер массива 21, то порядковый номер последнего элемента массива – …
20
21
22
определяется программистом

Если элементы класса объявлены как … (укажите 2 варианта ответа)
public, то они доступны наследникам класса, но не внешним функциям
public, то они доступны и наследникам класса, и внешним функциям
private, то они недоступны ни наследникам класса, ни внешним функциям
private, то они доступны только наследникам класса, но не внешним функциям

Значение выражения (a && ! b || c), где a, b и с – величины типа bool, имеющие значения false, true и true соответственно, равно …
false
yes
true

Изменение состояния объекта в ответ на какое-либо действие называется …
событием
методом
атрибутом
классом

К основным принципам объектно-ориентированного программирования можно отнести …
инкапсуляцию, абстракцию, полиморфизм
повторное использование кода, принцип разделения интерфейса
инкапсуляцию, наследование, полиморфизм
принцип единственной ответственности, принцип инверсии зависимостей

Класс, используемый для работы с входными потоками, – …
iostream
istream
ostream
getline

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

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

Класс с методами и переменными для организации работы со строками в языке программирования C++ называется …
implements
parent
extend
string

Ключевое слово … языка С++ используется для описания структурированного типа данных, все элементы которого в памяти начинаются с одного байта
struct
union
enum
template

Коллекция классов и функций, написанных на базовом языке, – это …
многофайловая библиотека
библиотека функций
библиотека классов
стандартная библиотека

Константы могут содержать в себе …
только строки и символы
только целые и дробные числа
строки, символы, дробные числа и целые числа

Конструктором называется метод, имя которого …
совпадает с именем класса и который вызывается автоматически при создании объекта класса
совпадает с именем класса и который вызывается автоматически при объявлении класса (до создания объекта класса)
необязательно совпадает с именем класса и который вызывается при создании объекта класса
совпадает с именем класса и который необходимо явно вызывать из головной программы при объявлении объекта класса

Логическое выражение может возвращать результат типа …
integer
boolean
char
logical

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

Массивом называют …
функцию, которые могут выполнять какие-либо действия над данными (свойствами) класса
упорядоченные в памяти элементы одного и того же типа, имеющие общий адрес
сложный тип данных, состоящий из множества одинаковых элементов
совокупность средств, методов и правил взаимодействия между элементами системы

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

Модульное программирование – это …
программирование, в котором процедуры разнесены по нескольким отдельным файлам (модулям) – данные внутри модуля защищены от изменений в другой части программы
методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования
программирование, в котором возможно создание своих типов данных, в том числе сложные
разделение всей массы программного кода на отдельные блоки (подпрограммы, процедуры, функции), которые выполняют конкретную задачу – дают возможность отладки отдельных частей кода

Наследование – это …
механизм, посредством которого производный класс получает элементы родительского и может дополнять либо изменять их свойства и методы
механизм переопределения методов базового класса
механизм, посредством которого производный класс получает все поля базового класса
механизм, посредством которого производный класс получает элементы родительского, может их дополнить, но не может переопределить

Не содержит синтаксических ошибок выражение …
(-0.18)*a)/(r-0.2*t)
(-0.18)*a)\(r-0.2*t))
-0.18*a/r-0.2*t

Не содержит синтаксических ошибок выражение …
a*exp(t)\(2t)
sin(abs(0.6(e*3))
0XCC00*.34E-4/_do/k-2

Не содержит синтаксических ошибок выражение …
sin(abs(0.6(e*3))
((cos(3*a+1.*abs(x))))
a*exp(t)\(2t)

Неверно, что алгоритм может быть записан …
с помощью псевдокода
с помощью схемы
графически, с помощью блок-схем
с помощью программного кода

Обобщенное описание поведения функций, которые могут вызываться для объектов разных типов, – это … функций
классы
проекции
шаблоны
объекты

Объект – это …
переменная, содержащая указатель на класс
экземпляр класса
класс, который содержит в себе данные и методы их обработки

Объявление char*buf; соответствует созданию …
символьной переменной buf
строковой переменной buf
указателя buf на символьное значение
указателя buf на строку

Объявление char *buf; соответствует созданию …
символьной переменной buf
строковой переменной buf
указателя buf на символьное значение
указателя buf на строку

Ограничение доступа к составляющим объект компонентам (методам и переменным) – это …

Оператор namespace предназначен для …
использования классов, переменных и функций из других модулей программы без использования заголовочных файлов
заключения в группу объявлений классов, переменных и функций в отдельный контекст со своим именем
заключения в группу объявлений классов, переменных и функций для использования только в текущем модуле

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

Определена операция вычитания для двух объектов класса A, а операция преобразования к int не определена. Что будет вызвано при: A a1,a2,a3=5; a3 = a1 – a2;
только операция вычитания
произойдет ошибка
преобразование к целому

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

Отсчитать новую позицию с конца файла можно с помощью …
os_base::arr
ios_base::end
ios_base::beg
ios_base::cur

Отсчитать новую позицию с начала файла можно с помощью …
ios_base::arr i
os_base::end
ios_base::beg
ios_base::cur

Параметр (переменная), указываемый при объявлении или определении, – это … параметр

Перегрузка операторов происходит с помощью операторных …
методов
функций
интерфейсов
алгоритмов

Перегрузка операторов языка С++ необходима для … (укажите 3 варианта ответа)
того, чтобы применять встроенные операторы языка к разным типам, в том числе и пользовательским
переопределения стандартного поведения чего угодно или формирования своего собственного уникального поведения
реализации полиморфизма
реализации инкапсуляции

Перегрузке поддаются … операции
унарные и бинарные
только бинарные
только унарные

Переменная вещественного типа float имеет размер в байтах, равный …
2
4
8
10

Переменная типа signed char может принимать …
только значения символов английского алфавита, цифр и символа подчеркивания
значения из первой половины кодовой таблицы
только значения из алфавита языка C++

Переопределение операций имеет вид: имя_класса, …
ключевое слово operator, символ операции, в круглых скобках могут быть указаны аргументы
ключевое слово operator, список аргументов
два двоеточия, ключевое слово operator, символ операции

Перескочить на n байт начиная от текущей позиции в файле (по умолчанию) можно с помощью …
ios_base::end
ios_base::beg
ios_base::cur

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

Под объектами следует понимать …
сообщение, которое возникает в различных точках исполняемого кода при выполнении определенных условий
некоторую абстрактную сущность, заданную набором имен атрибутов и имен методов поведения
уникальный идентификатор события
данные, которые переносятся от одного объекта к другому

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

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

Полиморфизм в объектно-ориентированном программировании реализуется …
только через механизмы перегрузки (функций и операций) и шаблоны
только через виртуальные функции и шаблоны
через механизмы перегрузки (функций и операций), виртуальные функции и шаблоны
только через механизмы перегрузки (функций и операций) и виртуальные функции

Полиморфизм реализован через механизмы …
перегрузки функций, виртуальных функций, шаблонов
перегрузки функций, наследования методов, шаблонов
наследования методов, виртуальных функций, шаблонов
перегрузки функций, наследования методов, виртуальных функций

Понятие «парадигма программирования» включает в себя … (указать 3 варианта ответа)
совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию)
способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером
написание корректно работающих компьютерных программ для электронно-вычислительных машин
стиль написания программ, который подчиняется определенным идеям и правилам

Потеря точности произойдет в выражении
int i; float x = 2.134, y = 3.14; i = x/y;
short i = 0x3; float x = 2.7, v; v = i + x;
float M = 235.2; double Z = 3; Z *= M;

Поток ввода используется для …
хранения данных, полученных от источника данных (через клавиатуру компьютера, из файла, из Сети и т.д.)
копирования данных и передачи информации
сбора данных в потоковых файлах
синхронизации данных разных типов

Правильно записанный набор перечисляемых значений: …
enum { a, b = 3, c = 4, 3 };
enum { a, b, 3, 4 };
enum {a, b = 3, c, d };

Правильное объявление производного класса: если элементы класса
class MoreDetails:: Details;
class MoreDetails: public class Details;
class MoreDetails: public Details;
class MoreDetails: class(Details);

Правильный вариант выделения динамической памяти под переменную X типа float: …
float *ptr = new float; X = *ptr;
float & ptr = new float; X = & ptr;
float * ptr = &X; X = new float;

При использовании в программе функции scanf требуется разделять числовые значения величин при вводе при помощи …
нажатия клавиш TAB или ENTER
клавиш курсора
пробела или запятой

При использовании в программе функции scanf требуется разделять числовые значения величин при вводе при помощи …
пробела или запятой
по крайней мере одного пробела
клавиш курсора

При открытии файла выполняется следующее действие: …
физический файл связывается с логическим (файловой переменной)
устанавливается тип файла (текстовый или бинарный)
устанавливается вид (режим) использования файла
функцией открытия файла возвращается результат (ошибка)

При создании класса программист создает описание таких переменных, как … (укажите 2 варианта ответа)
функция
метод
поле класса
атрибут

При составлении подпрограмм с параметрами надо соблюдать определенные правила, в частности, … (укажите 2 варианта ответа)
подпрограмма всегда должна иметь собственные параметры
процедура из основной программы вызывается командой вызова, которая по форме ничем не отличается от вызова команды исполнителя
каждая подпрограмма имеет свое имя и список формальных параметров
подпрограмм всегда должно быть не менее трех

Приведено выражение: int d=5; bool b = true, c; c = (!b||(d>3)): Каков будет результат вычисления данного выражения?
true
ошибка компилятора
false

Производить установку текущей позиции в нужную, указываемую числом, возможно с помощью метода …
ostream
seekg
istream
offset

Производить установку текущей позиции в нужную, указываемую числом, можно с помощью метода …
ostream
seekg
istream
offset

Прототипом функции называется …
описание функции, включая ее имя, тип возвращаемого значения, имена и типы параметров
описание функции, включая ее имя, тип возвращаемого значения, типы параметров
имя функции и тип возвращаемого значения
описание функции, включая ее имя, тип возвращаемого значения, имена и типы параметров, тело функции

Размер массива M после выполнения кода char M[ ]="\nGoodlive" …
будет равен 10
будет равен 8
будет равен 9
не определен

Размер массива M, после выполнения кода char M[ ]="\nGoodlive" …
будет равен 10
будет равен 8
будет равен 9
не определен

Результатом вычисления выражения int d=5; bool b = true, c; c = (!b||(d>3)): будет …
ошибка компилятора
false
true

Символьные массивы в С++ используются для …
хранения символьной информации
упорядочивания элементов
хранения строк
упорядочивания элементов, хранения символьной информации и строк

Сложный тип данных, состоящий из множества одинаковых элементов, – это …

Согласно общим правилам выбора перегружаемого оператора, … (укажите 2 варианта ответа)
необходимо учитывать приоритет и ассоциативность операторов: они при перегрузке не меняются и должны соответствовать ожиданиям пользователя
операторы можно перегружать только в одном варианте – как функцию-член
при перегрузке операторов надо стараться, чтобы смысл перегруженного оператора был очевиден для пользователя
при перезагрузке оператора смысл перегруженного оператора не всегда очевиден для пользователя

Специализированный метод класса, предназначенный для уничтожения существующего экземпляра, – это …
деструктор
конструктор
конструктор копирования
интерфейс

Стандартный поток …
нужен для работы с входным потоком данных
нужен для работы с выходным потоком данных
предоставляется программе ее окружением (подключается предварительно)
предоставляется программе ее окружением и нужен для работы с входным и выходным потоками данных

Структура данных, которая работает по принципу FILO, – это …
аргумент
степ
стек
кетч

Существуют … виды исключений
фрагментарные и программные
аппаратные и программные
фрагментарные и аппаратные
фрагментарные, аппаратные и программные

Такой режим работы с потоком, как создание нового файла для записи и чтения, обозначается в языке С (С++) как …
a+
wb
w+
w+b

Тело цикла … всегда будет выполнено хотя бы один раз, независимо от истинности условия
While
Do While
For

Тип int для 32-разрядных вычислительных систем имеет диапазон значений от …
0 до 255
-32 768 до 32 767
0 до 65 535
0 до 4 294 967 295

Тип данных «…» – это класс, входящий в стандартную библиотеку языка и инкапсулирующий строку как массив символов

Указателем называется …
любая локальная переменная
любая глобальная переменная
переменная, хранящая в качестве значения какой-либо адрес в памяти машины
переменная, хранящая в качестве значения ссылку на какой-либо адрес в памяти

Функция …, описанная в заголовочном файле, читает строку символов из файла
gets()
fputs()
fgets()
fscanf()

Функция – это некоторая часть программы, …
содержащая описание переменных и констант основной программы
которая имеет собственное имя и может вызываться из основной программы
которая содержит вредоносный код и блокирует определенные действия системы
в которой происходит начальная инициализация всех полей структур, массивов, переменных

Функция вычисляет произведение двух чисел. Исходные данные вводятся с клавиатуры. Какие проверки целесообразно ввести в программе?
Проверка, что исходные данные являются числами
Проверки не нужны, все возможные ошибки выявит компилятор
Проверка исходных данных на равенство нулю

Функциями называют подпрограммы, …
которые после выполнения заданных действий возвращают вызвавшему их коду некое значение
принадлежащие какому-то классу или объекту
возникающие в различных точках исполняемого кода при выполнении определенных условий
изменяющие состояние объекта в ответ на какое-либо действие

Целое, которое может быть присвоено указателю, является …
1
0
положительным числом
отрицательным числом

Числовое значение выражения e/2*a-abs(e)*1e0 (при e = 4, a = 2) будет равно …
0
1
3

Числовое значение выражения sqrt(4)+142/20*2 равно …
5
16
9

Членами класса могут быть …
как переменные, так и функции, которые могут быть объявлены и как private, и как public
только переменные, объявленные как private
только функции, объявленные как private
только переменные и функции, объявленные как private
только переменные и функции, объявленные как public

Чтобы задать многострочный комментарий в языке С++, нужно набрать …
/*комментарии к программе*/
//комментарии к программе//
//комментарии к программе
{комментарии к программе}

Шаблон функции – это …
прототип функции, в котором вместо имен параметров указан условный тип
определение функции, у которой типу обрабатываемых данных присвоено условное обозначение
определение функции, в котором указаны возможные варианты типов обрабатываемых параметров
определение функции, в котором в прототипе указан условный тип, а в определении указаны варианты типов обрабатываемых параметров

Шаблоны классов – это …
обобщенное описание поведения функций, которые могут вызываться для объектов разных типов
обобщенное описание пользовательского типа, в котором могут быть параметризованы атрибуты и операции типа
переменные, описание которых создает программист при создании класса
особые выражения, позволяющие выполнить один и тот же блок кода несколько раз

Шаблоны функций могут принимать …
несколько аргументов
только один аргумент
не более двух аргументов
не более трех аргументов

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

Экономическая теория
Тесты
Автор: Jjjenya
Другие работы автора

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

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