Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тест_Технология программирования.doc
Скачиваний:
1
Добавлен:
28.09.2019
Размер:
1.01 Mб
Скачать

89. Диаграмма размещения показывает:

  1. состав и взаимосвязи частей ПО на логическом уровне,

  2. состав и взаимосвязи частей ПО на физическом уровне,

  3. взаимосвязи между программными и аппаратными компонентами системы,

  4. состояния объекты, переходы, события и сообщения,

  5. отношения между классами, интерфейсы, атрибуты, операции и ограничения классов,

  6. потоки данных между объектами,

  7. взаимодействие объектов, упорядоченное по времени.

Ответ: 3.

Пользовательский интерфейс

90. Какие компоненты графического пользовательского интерфейса можно использовать для вывода текста на экран без возможности редактирования:

  1. Label,

  2. Edit,

  3. Memo,

  4. Button,

  5. CheckButton,

  6. RadioGroup,

  7. ListBox,

  8. ComboBox.

Ответ: 1, 7.

91. Какие компоненты графического пользовательского интерфейса можно использовать для вывода текста на экран с возможностью редактирования:

  1. Label,

  2. Edit,

  3. Memo,

  4. Button,

  5. CheckButton,

  6. RadioGroup,

  7. ListBox,

  8. ComboBox.

Ответ: 2, 3, 8.

92. Какие компоненты графического пользовательского интерфейса можно использовать для выбора одного варианта из списка:

  1. Label,

  2. Edit,

  3. Memo,

  4. Button,

  5. CheckButton,

  6. RadioGroup,

  7. ListBox,

  8. ComboBox.

Ответ: 6, 7, 8.

93. Какие компоненты графического пользовательского интерфейса можно использовать для выбора нескольких значений из списка:

  1. Label,

  2. Edit,

  3. Memo,

  4. Button,

  5. CheckButton,

  6. RadioGroup,

  7. ListBox,

  8. ComboBox.

Ответ: 7.

94. Какие компоненты графического пользовательского интерфейса можно использовать для ввода-вывода текстовой информации:

  1. Label,

  2. Edit,

  3. Memo,

  4. Button,

  5. CheckButton,

  6. RadioGroup,

  7. ListBox,

  8. ComboBox.

Ответ: 2, 3, 7, 8.

Этап реализации по

Структурное программирование в C++

95. Может ли определение одной функции включать объявления других функций?

Ответ: нет.

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

Ответ: int.

97. Объявление функции представляет собой

  1. заголовок функции,

  2. программный код реализации функции.

Ответ: 1.

98. Определение функции представляет собой

  1. заголовок функции,

  2. программный код реализации функции.

Ответ: 2.

99. Если функция не возвращает никакого значения, то следует указать тип

Ответ: void.

100. Допустимо ли следующее объявление функции

void myFunction (char *strMessage, . . . ) ;

Ответ: да.

101. Допустимо ли следующее объявление функции

int Max (int a,b) ;

Ответ: нет.

102. Вызов функцией самой себя называется

Ответ: рекурсивный вызов.

103. Константа 1.256e6 имеет тип

  1. char;

  2. int;

  3. float;

  4. double;

Ответ: 4

104. Константа .69e7f имеет тип

  1. char;

  2. int;

  3. float;

  4. double;

Ответ: 3

105. Константа 1.256e-6L имеет тип

  1. char;

  2. long int;

  3. long float;

  4. long double;

Ответ: 4

106. Чему равно значение переменной, объявленной int i=010;, в десятичной системе счисления?

Ответ: 8.

107. Чему равно значение переменной, объявленной int i=0x10; , в десятичной системе счисления?

Ответ: 16.

108. Что означают символы UL в операторе присваивания FilePosition=45642UL;?

Ответ: unsigned long.

109. Как объявить переменную типа «Целое без знака в диапазоне (0-255)»?

Ответ: unsigned char.

110. Как объявить переменную типа «Длинное целое без знака»?

Ответ: unsigned long int.

111. Как объявить переменную типа «Короткое целое без знака»?

Ответ: unsigned short int.

112. Какая из символьных констант означает «Возврат каретки»?

  1. '\n'

  2. '\r'

  3. '\t'

  4. '\v'

  5. '\b'

  6. '\f '

  7. '\\'

Ответ: 2.

113. Какая из символьных констант означает «Горизонталь­ная табуляция»?

  1. '\n'

  2. '\r'

  3. '\t'

  4. '\v'

  5. '\b'

  6. '\f '

  7. '\\'

Ответ: 3.

114. Какое значение будет выведено на экран оператором, помеченным цифрой 6?

int i=16;

void рrос()

{

int i=l;

printf ("\n\t Proc: i=%d",i); //1

printf ("\n\t Proc: global i=%d",::i); //2

{

int i=2;

printf ("\n\t Proc: i=%d",i); //3

printf ("\n\t Proc: global i=%d",::i); //4

}

::i=i;

}

void main ()

{

printf ("\n\t Main: i=%d",i); //5

рrос();

printf ("\n\t Main: i=%d\n",i); //6

}

Ответ: 1.

115. Какое значение будет выведено на экран оператором, помеченным цифрой 4?

int i=16;

void рrос()

{

int i=l;

printf ("\n\t Proc: i=%d",i); //1

printf ("\n\t Proc: global i=%d",::i); //2

{

int i=2;

printf ("\n\t Proc: i=%d",i); //3

printf ("\n\t Proc: global i=%d",::i); //4

}

::i=i;

}

void main ()

{

printf ("\n\t Main: i=%d",i); //5

ргос();

printf ("\n\t Main: i=%d\n",i); //6

}

Ответ: 16.

116. Какое значение будет выведено на экран оператором, помеченным цифрой 3?

int i=16;

void рrос()

{

int i=l;

printf ("\n\t Proc: i=%d",i); //1

printf ("\n\t Proc: global i=%d",::i); //2

{

int i=2;

printf ("\n\t Proc: i=%d",i); //3

printf ("\n\t Proc: global i=%d",::i); //4

}

::i=i;

}

void main ()

{

printf ("\n\t Main: i=%d",i); //5

ргос();

printf ("\n\t Main: i=%d\n",i); //6

}

Ответ: 2.

117. Какие идентификаторы из перечисленных недопустимы?

  1. X1,

  2. Парам,

  3. 100_min,

  4. Max Value,

  5. Min_Value,

  6. _strVal,

  7. nCount%,

  8. while.

Ответ: 2, 3, 4, 7, 8.

118. Сколько знаков в идентификаторе различает C++?

Ответ: 31.

119. Различаются ли заглавные и строчные буквы в идентификаторах?

Ответ: да.

120. Чему равно значение переменной i?

int x = 0;

int i = (х<0) ? -1 : (х>0) ? 1 : 0;

Ответ: 0.

121. Чему равно значение переменной i?

int x = 1;

int i;

switch (x)

{

case 1: i=1;

case 2: i+=x;

default: ++i;

}

Ответ: 3.

122. Чему равно значение переменной i?

int x = 0;

int i=1;

while (x)

{

i++;

}

Ответ: 1.

123. Чему равно значение переменной i?

int x = 10;

int i=0;

while (x)

{

x--;

i++;

}

Ответ: 10.

124. Чему равно значение переменной i?

int x = 0;

int i=1;

while (!x)

{

x--;

i++;

}

Ответ: 2.

125. Чему равно значение переменной i?

int x = 0;

int i=1;

do

{

i++;

} while (x);

Ответ: 2.

126. Чему равно значение переменной i?

int x = 10;

int i=0;

do

{

x--;

i++;

} while (x);

Ответ: 10.

127. Чему равно значение переменной i?

int x = 0;

int i=1;

do

{

x--;

i++;

} while (!x);

Ответ: 2.

128. Сколько раз выполнится цикл?

for (int i=0; i< 10; i++)

{

i++;

}

Ответ: 5.

129. Допустима ли такая форма записи оператора цикла?

for (int i=0, x=0; !x; i++,x=(i%3)?x:++x);

Ответ: да.

130. Чему равно значение переменной i?

for (int i=0, x=0; !x; i++,x=(i%3)?x:++x);

printf("i=%d x=%d\n",i,x);

Ответ: 3.

131. Чему равно значение переменной i?

int i=64; i>>=4;

Ответ: 4.

132. Чему равно значение переменной i?

int i=64; i<<=2;

Ответ: 256.

133. Каким символом обозначается операция поразрядного сложения (ИЛИ)?

Ответ: |.

134. Каким символом обозначается операция поразрядного умножения (И)?

Ответ: &.

135. Каким символом обозначается операция поразрядного исключающего ИЛИ (сложение по модулю 2)?

Ответ: ^.

135. Каким символом обозначается операция поразрядного отрицания (НЕ)?

Ответ: ~.

136. Что будет выведено на экран при x=2?

if ((x>=-1)&&(x<=1)&&(x!=0) || (x=3)) puts("true");

else puts("false");

Ответ: true.

137. Что будет выведено на экран?

int k=0;

int M[8]={ 1,-2,3,-4,5,-6,7,-8 };

double p=3.14195;

printf("M[%d]=%d, P=%6.2f, k=%d\n",1,M[1],p,k);

Ответ: M[1]=-2, P=3.14, k=0

138. Чему равно значение элемента массива a[3]?

float a[16],*p; for (int i=0; i<16; i++)

a[i]=float(i*i); p = &а[6]; *р = 3.14f; p++; а[1] = *(р+3); а[2] = ++*р; а[3] = *++р;

Ответ: 64

139. Чему равно значение элемента массива a[6]?

float a[16],*p: for (int i=0; i<16; i++)

a[i]=float(i*i); p = &а[6]; *р = 3.14f; p++; а[1] = *(р+3); а[2] = ++*р; а[3] = *++р;

Ответ: 3.14

140. Отметьте операторы, которые вызовут ошибку компиляции, если указатель объявлен следующим образом:

const char * title = "Diagram";

  1. title[0]='d';

  2. title="Function W(p)";

Ответ: 1

141. Отметьте операторы, которые вызовут ошибку компиляции, если указатель объявлен следующим образом:

char * const title = "Diagram";

  1. title[0]='d';

  2. title="Function W(p)";

Ответ: 2

142. Отметьте операторы, которые вызовут ошибку компиляции, если указатель объявлен следующим образом:

const char * const title = "Diagram";

  1. title[0]='d';

  2. title="Function W(p)";

Ответ: 1, 2

143. Эквивалентны ли следующие фрагменты программы?

float *р = new float[n];

И

float *р;

р = new float [n];

Ответ: да.

144. Каким оператором освобождается память, выделенная оператором new?

Ответ: delete.

145. Напишите оператор для освобождения памяти, на которую указывает переменная p.

float *р = new float[n];

Ответ: delete [] p;.

146. Напишите оператор для освобождения памяти, на которую указывает переменная p.

float *р = new float;

Ответ: delete p;.

147. Значение какого элемента массива a [2][3] изменится?

int a[2][3] = { {1,2,3},

{4,5,6}};

**(a+1) = 8;

Ответ: a[1][0].

148. Значение какого элемента массива a [2][3] изменится?

int a[2][3] = { {1,2,3},

{4,5,6}};

*(*(a+1) + 1) = 9;

Ответ: a[1][1].

149. Какой тип данных имеет переменная a, если объявлен массив double a[10][10]:

  1. double,

  2. double *,

  3. double **,

  4. double ***.

Ответ: 3.

150. Какой тип данных имеет объект a[2][0], если объявлен массив double a[3][10][5]:

  1. double,

  2. double *,

  3. double **,

  4. double ***.

Ответ: 2.

151. Верны ли равенства, если объявлен массив double a[3][10]:

а==&а[0]; а[0]==&а[0][0];

Ответ: да

152. Сколько ошибок содержит фрагмент программы?

typedef struct

{

int nCode;

char aValue[30];

} Entry;

Entry IdEntry,*pId;

IdEntry.nCode=100;

strcpy(IdEntry.aValue,"string");

pId=&IdEntry;

printf("nCode=%d aValue=%s",pId.nCode,pId.aValue);

Ответ: 2

153. Переменная какого типа объявлена в данном случае

typedef enum rank { captain=7, major=8, colonel=12 } rang;

Ответ: перечислимый, rank.

154. Какое значение имеет элемент перечисления excellent?

enum grades { bad=3, good, excellent } g[20], next;

Ответ: 5.

155. Укажите идентификаторы переменных, которые объявлены в данном случае

enum rank {captain, major, colonel} rang;

Ответ: rang.

156. Переменная какого типа объявлена в данном случае

int i=5, &r=i;

Ответ: ссылка, ссылка на int, ссылка на тип int.

157. Какое значение будет выведено на экран

int i=5, &r=i;

i++;

r*=2;

printf(“%d”,i);

Ответ: 12.

158. Как называет такой способ передачи параметров

void swap (int *x, int *y)

{

int temp =*x;

*х = *у;

*у = temp;

}

Ответ: #адрес#, #address#

159. Как называет такой способ передачи параметров

void swap (int &x, int &y)

{

int temp =x;

х = у;

у = temp;

}

Ответ: #ссылк#, #reference#

160. Как называет такой способ передачи параметров

void min (int x, int y)

{

return (x>y)?y:x;

}

Ответ: #значен#, #value#

161. Укажите правильные способы вызова функции void swap (int *, int *);

  1. swap (&a, &b);

  2. swap (a, b);

Ответ:1.

162. Укажите правильные способы вызова функции void swap (int &, int &);

  1. swap (&a, &b);

  2. swap (a, b);

Ответ:2.

163. Отметьте корректные вызовы, если сделаны следующие объявления:

int Young (float *field, int size, double factor = 1.95, char *mes = "Relaxation Procedure");

float data[1000]; char *slow = "Slow Convergence";

  1. Young (data);

  2. Young (data, 1000);

  3. Young (data, 1000, 1.8);

  4. Young (data, 1000, 1.8, slow);

  5. Young (data, 1000, , slow);

Ответ: 2, 3, 4.

164. В программе объявлены переменные

char *fn = "test.txt";

FILE *fp;

Напишите, каким образом открыть текстовый файл “test.txt” в режиме чтения.

Ответ: fp=fopen (fn, "rt")

165. Какой тип имеет переменная FILE *fp;?

Ответ: указатель на файловую структуру

166. В программе объявлены переменные

char *fn = "test.txt";

FILE *fp;

Напишите, каким образом открыть бинарный файл “test.txt” для чтения и записи.

Ответ: fp=fopen (fn, "r+b")

167. Как называется макрорасширение, обозначающее конец файла?

Ответ: EOF

168. Напишите функцию, которая переместит указатель в файле, доступ к которому осуществляется через переменную fp, на 5 позиций от его начала.

Ответ: fseek(fp,5L,SEEK_SET);

169. Напишите функцию, которая вернет на начало указатель в файле, доступ к которому осуществляется через переменную fp.

Ответ: rewind(fp); (или) fseek(fp,0L,SEEK_SET);

170. В программе объявлены переменные

FILE *fp;

double m[10];

Переменная fp указывает на бинарный файл, открытый для чтения и записи.

Напишите функцию, которая запишет весь массив в файл.

Ответ: fwrite(m, sizeof(double), sizeof(m), fp);

171. В программе переменная fp указывает на открытый файл. Напишите функцию, которая закроет файл.

Ответ: fclose(fp);

172. В программе объявлены переменные

FILE *fp;

double m[10];

Переменная fp указывает на бинарный файл, содержащий числа типа double и открытый для чтения и записи. Напишите функцию, которая заполнит весь массив числами из файла.

Ответ: fread(m, sizeof(double), sizeof(m), fp);

173. В программе объявлены переменные

FILE *fp;

double m[10];

Переменная fp указывает на бинарный файл, содержащий 20 чисел типа double и открытый для чтения и записи. Сколько элементов массива будет считано из файла при выполнении функции

fread(m, sizeof(double), sizeof(m), fp);

Ответ: 10.

174. В программе объявлены переменные

FILE *fp;

double m[10];

Переменная fp указывает на бинарный файл, содержащий 5 чисел типа double и открытый для чтения и записи. Сколько элементов массива будет считано из файла при выполнении функции

fread(m, sizeof(double), sizeof(m), fp);

Ответ: 5.

175. В программе объявлены 2 массива символов

char string1[] = "The quick brown dog jumps over the lazy fox";

char string2[] = "The QUICK brown dog jumps over the lazy fox";

Каков будет результат работы функции strcmp( string1, string2 );?

  1. <0;

  2. >0;

  3. =0;

  4. -1;

  5. 1.

Ответ: 2, 5.

176. В программе объявлены 2 массива символов

char string1[] = "The quick brown dog jumps over the lazy fox";

char string2[] = "The QUICK brown dog jumps over the lazy fox";

Как сравнить эти 2 строки с учетом регистра символов?

Ответ: strcmp( string1, string2 );

177. В программе объявлены 3 массива символов

char string1[] = "Hello ";

char string2[] = "world";

char string3[80];

Как из строк string1 и string2 сформировать строку string3 с текстом «Hello world»?

Ответ: strcpy(string3, string1);strcat( string3,string2);

Объектно-ориентированное программирование в C++

178. Взаимодействие объектов программы осуществляется путем передачи …

Ответ: сообщений.

179. Интегрирование данных с подпрограммами их обработки при объектном подходе выполняется в специальной структуре данных, которая называется …

Ответ: классом.

180. Объект представляет собой ….

Ответ: экземпляр класса.

181. Недоступные извне (скрытые) данные и методы класса помещаются в секцию класса с описателем …

Ответ: private

182. Доступные извне данные и методы класса помещаются в секцию класса с описателем …

Ответ: public

183. Данные и методы класса, доступ к которым разрешен из методов производных классов, помещаются в секцию класса с описателем …

Ответ: protected

184. По умолчания для класса принят описатель …

Ответ: private

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

Ответ: инкапсуляцией.

186. Сколько ошибок содержит фрагмент программы?

class Man

{

private:

unsigned int Age;

public:

void in() { cout<<" Age: "; cin>>Age; }

void out (){ cout<<Age; }

};

void main()

{

Man m;

m.in(); m.out ();

m.Age = 20;

Man *pMan = new Man;

pMan.in(); pMan.out();

}

Ответ: 3

187. Как будет выглядеть определение конструктора по умолчанию для класса MyClass?

Ответ: MyClass(){}; или MyClass::MyClass(){};

188. Как будет выглядеть определение деструктора по умолчанию для класса MyClass?

Ответ: ~MyClass(){}; или MyClass:: ~MyClass(){};

189. Какие из следующих утверждений ложны

  1. Конструктор и деструктор имеют тип возвращаемого значения void.

  2. Производный класс наследует конструкторы и деструкторы базового класса.

  3. Конструкторы могут быть виртуальными.

  4. Деструкторы могут быть виртуальными.

  5. Если конструкторы или деструкторы не были определены явно, они ге­нерируются компилятором.

  6. Конструктор можно вызывать как обычную функцию.

  7. Деструктор можно вызвать как обычный метод.

  8. При определении и разрушении объектов вызов конструкторов и дест­рукторов осуществляется автоматически.

  9. Конструкторы и деструкторы, при необходимости выделения объекту па­мяти, могут выполнять неявные вызовы операций new и delete.

Ответ: 1, 2, 3, 6.

190. Как называется конструктор, который будет вызван в данном случае

class Sample{

int nCnt;

public:

Sample(int i) {nCnt = i;}

};

Sample globall(1);

Ответ: конструктор с параметром

191. Как называется конструктор, который будет вызван в данном случае

class Sample{

int nCnt;

public:

Sample(int i) {nCnt = i;}

};

Sample globall;

Ответ: конструктор по умолчанию, конструктор без параметров

192. Как называется конструктор класса MyClass, который будет вызван в данном случае

MyClass clObjl = cl0bj2;

Ответ: конструктор копирования

193. Напишите прототип конструктора копирования для класса MyClass.

Ответ: MyClass::MyClass(MyClass &); или MyClass(MyClass &);

194. Напишите зарезервированное ключевое слово, с помощью которого в методе класса можно обратиться к адресу объекта, ко­торый инициировал этот метод.

Ответ: this.

195. Как называется неявный параметр любого метода, являющийся указателем на объект, которому было послано обрабатываемое сообще­ние?

Ответ: this.

196. Конструктор какого типа используется при создании массива объектов какого-либо класса?

Ответ: конструктор по умолчанию, конструктор без параметров

197. Сколько раз вызываются деструкторы в программе

class Resistors

{

double r;

public:

Resistors (double rs) {r=rs;}

Resistors() {r=100;}

double parallel (Resistors q)

{ return (q.r*r/(q.r+r)); }

double series (Resistors q)

{ return (r+q.r); }

void pr() { cout<<"r="<<r; }

~Resistors() { cout<<"Destructor invoked"<<endl; }

};

void main ()

{

Resistors rl (500), r2 (1000), r3;

cout<<"\n Rl + R2 ="<<rl.series(r2)<<endl;

cout<<"\n Rl || R2 ="<<rl.parallel(r2)<<endl;

cout<<"\n\n Array resistors\n";

Resistors many[6];

for (int i=0; i<4; i++,cout<<endl)

many[i].pr();

}

Ответ:11

198. Как называется конструктор класса MyClass, который будет вызван в данном случае

int Out(MyClass clObjl);

Ответ: конструктор копирования

199. Внешняя по отношению к классу функция, которая имеет прямой до­ступ к любым переменным и методам класса, называется …

Ответ friend-функцией

200. Если friend-функция класса принадлежать какому-либо другому классу, то она называется …

Ответ friend-метод

201. Какая friend-конструкция объявлена в данном случае

class A{

friend int strange(char* ch);

};

Ответ friend-функция, функция

202. Какая friend-конструкция объявлена в данном случае

class A{

friend class B;

};

Ответ friend-класс, класс

203. Какая friend-конструкция объявлена в данном случае

class A{

friend char* C::methc();

};

Ответ friend-метод, метод

204. Какие из следующих утверждений верны:

  1. Секция, в которой объявлена friend-конструкция, не влияет на смысл объявления.

  2. Свойство friend не транзитивно.

  3. Свой­ство friend наследуется производным классом.

Ответ: 1, 2.

205. Какие из следующих утверждений ложны:

  1. Элемент данных, имеющий описатель static, существует только в одном экземпляре и используется всеми объектами рассматриваемого класса.

  2. К статическому элементу класса мож­но обращаться без указания имени объекта, используя лишь имя класса.

  3. Обращение к статическим элементам класса невозможно без создания объекта этого класса.

  4. При вызове static-метода не происходит неявной передачи ука­зателя this.

  5. Внутри статического метода разрешается прямое обращение к любым чле­нам своего класса.

  6. Static-члены класса используются для управ­ления данными, общими для всех объектов класса.

Ответ: 3, 5.