Tikson
14.01.2007, 13:14
Один очень известный сайт проводил семинар на тему "Знание алгоритмов. Языки С/С++" В нем учавствовал и я. На ответы нам давалось 90 секунд.У вас есть больше времени. В течение недели(скорее всего после 18 числа) я сообщю вам ответы.
Вопрос №1
Что будет выведено на экран после выполнения функции:
void main()
{
int i,j;
j=0;
for( i=0; i<10; i++)
{
if (j==5) continue;
j++;
}
cout<<j;
}
1) 0
2) 5
3) 10
4) 11
Вопрос №2
Логическое выражение
(N Mod 10 Mod 2 = 0) Or (N Div 10 Mod 10 Mod 2 = 0) Or (N Div 100 Mod 2 = 0)
, где Div – целочисленное деление, а Mod – остаток от деления
должно принимать значение TRUE тогда и только тогда, когда истинно высказывание
1) в трёхзначном натуральном числе все цифры чётные;
2) в трёхзначном натуральном числе одна чётная цифра;
3) в трёхзначном натуральном числе две чётных цифры;
4) в трёхзначном натуральном числе хотя бы одна чётная цифра;
5) в трёхзначном натуральном числе нет чётных цифр.
Вопрос №3
Цикл с предусловием выполняется так:
1) выполняется тело цикла, изменяется параметр цикла, проверяется условие продолжения выполнения цикла;
2) изменяется параметр цикла, проверяется условие продолжения выполнения цикла, выполняется тело цикла;
3) проверяется условие продолжения выполнения цикла, выполняется тело цикла;
4) тело цикла выполняется N раз (N — натуральное);
5) определяется, сколько раз должен быть выполнен цикл, и далее цикл с предусловием сводится к циклу с параметром.
Вопрос №4
В текстовом файле каждая строка заканчивается
1) числами 10 и 13;
2) символами с кодами 10 и 13;
3) символом с кодом 13;
4) числом 0;
5) символом с кодом 10.
Вопрос №5
Цикл во фрагменте программы
P = 4; Повторить P = P * 0.1 До тех пор, пока не P 0.0001;
будет исполнен
1) 0 раз;
2) 1 раз;
3) 4 раза;
4) 5 раз;
5) бесконечное число раз.
Вопрос №6
Значение R после выполнения операции логического присваивания
R = Not (A Or B Or (X 2) And (Y 0))
при A = False, B = False, X = 3, Y = 2 будет равно
1) –1;
2) False;
3) True;
4) 0;
5) 1.
Вопрос №7
Значения переменных a и b после выполнения следующих действий
a = 15 Div (16 Mod 7); b = 34 Mod a * 5 – 29 Mod 5 * 2;
будут равны
1) a = 1, b = 160;
2) a = 1, b = 4;
3) a = 7, b = 25;
4) a = 7, b = 22;
5) a = 7, b = 28.
Вопрос №8
Во фрагмент алгоритма
Цикл K = 10 До 99 Выполнить
Начало P1 = K Div 10;
P2 = K Mod 10;
S = P1 + P2;
Если ____ То Вывести K
Конец;
печатающий все двузначные числа, в записи которых есть цифра N или сумма цифр которых равна самим числам, нужно вписать логическое выражение
1) (P1 = N) Or (P2 = N) And (S = K);
2) (P1 = N) Or (P2 = N) Or (S = K);
3) (P1 = N) And (P2 = N) Or (S = K);
4) ((P1 = N) Or (P2 = N)) And (S = K);
5) (P1 = N) And (P2 = N) And (S = N).
Вопрос №9
Значения переменных p и d после выполнения фрагмента алгоритма (алгоритм написан на абстрактном языке)
k = 47; Case k Mod 9 Of
5: Begin d = k; p = True End;
0..2: Begin d = 2; p = False End;
8: Begin d = 1; p = False End
Else Begin d = 1; p = True End
End;
Равны
1) p = True, d = 1;
2) p = False, d = 2;
3) p = False, d = 3;
4) p = True, d = 47;
5) p = True, d = 2.
Вопрос №10
Элементы массива p[1..5] равны соответственно 1, –1, 5, 2, 4. Значение выражения
p[1] * p[3] – p[2 * p[2] + p[p[5] – p[2]]]
равно
1) 8;
2) –8;
3) 12;
4) –12;
5) 6.
Вопрос №11
Задан двумерный массив X[1..n, 1..m]. Процедура
Процедура Sub (Переменные X: Myarray);
Переменные i, j: Integer;
Начало Цикл i := 1 До n Выполнить
Цикл j := 1 До m Div 2 Выполнить X[i, 2 * j] := X[i, 2 * j] + X[i, 1];
Конец;
1) к элементам столбцов в первой половине матрицы прибавляет элементы первого столбца соответствующей строки;
2) добавляет к матрице еще M столбцов с элементами, равными соответствующим элементам первого столбца;
3) к элементам четных столбцов прибавляет элементы первого столбца соответствующей строки;
4) к элементам четных строк прибавляет элементы первой строки соответствующего столбца;
5) меняет порядок столбцов таблицы.
Вопрос №12
Какое значение будет принимать переменная после выполнения фрагмента кода на языке C:
int i = 1;
i = (i++) + (i++);
1) 3
2) 4
3) 5
4) Результат выполнения не определён
Вопрос №13
Что в языке C++ означает оператор?
int * FFF(int x);
1) Объявление указателя на функцию
2) Объявление прототипа функции
3) Объявление нового типа - указателя на функцию
4) Недопустимый оператор
Вопрос №14
Символ комментария перед какими операторами printf надо убрать, чтобы было напечатано максимальное количество 200 (код на языке C++)?
int data[3][7]={{1,2,3,4,5,6,7},
{10,20,30,40,50,60,70},
{100,200,300,400,500,600,700}};
int *pi=&data[1][1], (*pd)[7]=data;
.// printf(" %d
",data[2][1]);
.// printf(" %d
",data[3][2]);
.// printf(" %d
",*(*(pd+2)+1));
.// printf(" %d
",*((*pd+2)+1));
.// printf(" %d
",*(*(pd+1)+2));
.// printf(" %d
",*(pi+7));
.// printf(" %d
",*(*pi+7));
1) перед первым и вторым
2) только перед вторым
3) перед первым и третим
4) перед первым и четвертым
5) перед первым, третим и шестым
6) перед вторым и седьмым
7) здесь нет правильного ответа
Вопрос №15
Что будет напечатано после выполнения кода на языке C++?
#include stdio.h
#include string.h
void main()
{
char a[] = "123";
printf( "%d", strlen(a) );
}
1) 6
2) 3
3) 4
4) 8
Вопрос №16
Что напечатает приведенный фрагмент кода на языке С++?
int x = 2, y = 5, z;
z = x+++y++;
printf("x = %d, y = %d, z = %d", x, y, z);
1) x = 3, y = 6, z = 7 (то есть z = x++ +y++; )
2) x = 2, y = 7, z = 8 (то есть z = x + ++y++; )
3) x = 2, y = 6, z = 7 (то есть z = x + + +y++; )
4) оператор вычисления z содержит ошибку
Вопрос №17
Чему равно значение переменной x после выполнения цикла for(i=0; i 10; x=i, i++);?
1) Равно десяти
2) Равно одиннадцати
3) Равно девяти
4) Зависит от начального значения переменной x
ps прошу писать только по теме
отвечать лучше так
Вопрос №1 ответ:
Вопрос №2 ответ:
Вопрос №3 ответ:
Вопрос №4 ответ:
Вопрос №5 ответ:
Вопрос №6 ответ:
Вопрос №7 ответ:
Вопрос №8 ответ:
Вопрос №9 ответ:
Вопрос №10 ответ:
Вопрос №11 ответ:
Вопрос №12 ответ:
Вопрос №13 ответ:
Вопрос №14 ответ:
Вопрос №15 ответ:
Вопрос №16 ответ:
Вопрос №17 ответ:
Вопрос №1
Что будет выведено на экран после выполнения функции:
void main()
{
int i,j;
j=0;
for( i=0; i<10; i++)
{
if (j==5) continue;
j++;
}
cout<<j;
}
1) 0
2) 5
3) 10
4) 11
Вопрос №2
Логическое выражение
(N Mod 10 Mod 2 = 0) Or (N Div 10 Mod 10 Mod 2 = 0) Or (N Div 100 Mod 2 = 0)
, где Div – целочисленное деление, а Mod – остаток от деления
должно принимать значение TRUE тогда и только тогда, когда истинно высказывание
1) в трёхзначном натуральном числе все цифры чётные;
2) в трёхзначном натуральном числе одна чётная цифра;
3) в трёхзначном натуральном числе две чётных цифры;
4) в трёхзначном натуральном числе хотя бы одна чётная цифра;
5) в трёхзначном натуральном числе нет чётных цифр.
Вопрос №3
Цикл с предусловием выполняется так:
1) выполняется тело цикла, изменяется параметр цикла, проверяется условие продолжения выполнения цикла;
2) изменяется параметр цикла, проверяется условие продолжения выполнения цикла, выполняется тело цикла;
3) проверяется условие продолжения выполнения цикла, выполняется тело цикла;
4) тело цикла выполняется N раз (N — натуральное);
5) определяется, сколько раз должен быть выполнен цикл, и далее цикл с предусловием сводится к циклу с параметром.
Вопрос №4
В текстовом файле каждая строка заканчивается
1) числами 10 и 13;
2) символами с кодами 10 и 13;
3) символом с кодом 13;
4) числом 0;
5) символом с кодом 10.
Вопрос №5
Цикл во фрагменте программы
P = 4; Повторить P = P * 0.1 До тех пор, пока не P 0.0001;
будет исполнен
1) 0 раз;
2) 1 раз;
3) 4 раза;
4) 5 раз;
5) бесконечное число раз.
Вопрос №6
Значение R после выполнения операции логического присваивания
R = Not (A Or B Or (X 2) And (Y 0))
при A = False, B = False, X = 3, Y = 2 будет равно
1) –1;
2) False;
3) True;
4) 0;
5) 1.
Вопрос №7
Значения переменных a и b после выполнения следующих действий
a = 15 Div (16 Mod 7); b = 34 Mod a * 5 – 29 Mod 5 * 2;
будут равны
1) a = 1, b = 160;
2) a = 1, b = 4;
3) a = 7, b = 25;
4) a = 7, b = 22;
5) a = 7, b = 28.
Вопрос №8
Во фрагмент алгоритма
Цикл K = 10 До 99 Выполнить
Начало P1 = K Div 10;
P2 = K Mod 10;
S = P1 + P2;
Если ____ То Вывести K
Конец;
печатающий все двузначные числа, в записи которых есть цифра N или сумма цифр которых равна самим числам, нужно вписать логическое выражение
1) (P1 = N) Or (P2 = N) And (S = K);
2) (P1 = N) Or (P2 = N) Or (S = K);
3) (P1 = N) And (P2 = N) Or (S = K);
4) ((P1 = N) Or (P2 = N)) And (S = K);
5) (P1 = N) And (P2 = N) And (S = N).
Вопрос №9
Значения переменных p и d после выполнения фрагмента алгоритма (алгоритм написан на абстрактном языке)
k = 47; Case k Mod 9 Of
5: Begin d = k; p = True End;
0..2: Begin d = 2; p = False End;
8: Begin d = 1; p = False End
Else Begin d = 1; p = True End
End;
Равны
1) p = True, d = 1;
2) p = False, d = 2;
3) p = False, d = 3;
4) p = True, d = 47;
5) p = True, d = 2.
Вопрос №10
Элементы массива p[1..5] равны соответственно 1, –1, 5, 2, 4. Значение выражения
p[1] * p[3] – p[2 * p[2] + p[p[5] – p[2]]]
равно
1) 8;
2) –8;
3) 12;
4) –12;
5) 6.
Вопрос №11
Задан двумерный массив X[1..n, 1..m]. Процедура
Процедура Sub (Переменные X: Myarray);
Переменные i, j: Integer;
Начало Цикл i := 1 До n Выполнить
Цикл j := 1 До m Div 2 Выполнить X[i, 2 * j] := X[i, 2 * j] + X[i, 1];
Конец;
1) к элементам столбцов в первой половине матрицы прибавляет элементы первого столбца соответствующей строки;
2) добавляет к матрице еще M столбцов с элементами, равными соответствующим элементам первого столбца;
3) к элементам четных столбцов прибавляет элементы первого столбца соответствующей строки;
4) к элементам четных строк прибавляет элементы первой строки соответствующего столбца;
5) меняет порядок столбцов таблицы.
Вопрос №12
Какое значение будет принимать переменная после выполнения фрагмента кода на языке C:
int i = 1;
i = (i++) + (i++);
1) 3
2) 4
3) 5
4) Результат выполнения не определён
Вопрос №13
Что в языке C++ означает оператор?
int * FFF(int x);
1) Объявление указателя на функцию
2) Объявление прототипа функции
3) Объявление нового типа - указателя на функцию
4) Недопустимый оператор
Вопрос №14
Символ комментария перед какими операторами printf надо убрать, чтобы было напечатано максимальное количество 200 (код на языке C++)?
int data[3][7]={{1,2,3,4,5,6,7},
{10,20,30,40,50,60,70},
{100,200,300,400,500,600,700}};
int *pi=&data[1][1], (*pd)[7]=data;
.// printf(" %d
",data[2][1]);
.// printf(" %d
",data[3][2]);
.// printf(" %d
",*(*(pd+2)+1));
.// printf(" %d
",*((*pd+2)+1));
.// printf(" %d
",*(*(pd+1)+2));
.// printf(" %d
",*(pi+7));
.// printf(" %d
",*(*pi+7));
1) перед первым и вторым
2) только перед вторым
3) перед первым и третим
4) перед первым и четвертым
5) перед первым, третим и шестым
6) перед вторым и седьмым
7) здесь нет правильного ответа
Вопрос №15
Что будет напечатано после выполнения кода на языке C++?
#include stdio.h
#include string.h
void main()
{
char a[] = "123";
printf( "%d", strlen(a) );
}
1) 6
2) 3
3) 4
4) 8
Вопрос №16
Что напечатает приведенный фрагмент кода на языке С++?
int x = 2, y = 5, z;
z = x+++y++;
printf("x = %d, y = %d, z = %d", x, y, z);
1) x = 3, y = 6, z = 7 (то есть z = x++ +y++; )
2) x = 2, y = 7, z = 8 (то есть z = x + ++y++; )
3) x = 2, y = 6, z = 7 (то есть z = x + + +y++; )
4) оператор вычисления z содержит ошибку
Вопрос №17
Чему равно значение переменной x после выполнения цикла for(i=0; i 10; x=i, i++);?
1) Равно десяти
2) Равно одиннадцати
3) Равно девяти
4) Зависит от начального значения переменной x
ps прошу писать только по теме
отвечать лучше так
Вопрос №1 ответ:
Вопрос №2 ответ:
Вопрос №3 ответ:
Вопрос №4 ответ:
Вопрос №5 ответ:
Вопрос №6 ответ:
Вопрос №7 ответ:
Вопрос №8 ответ:
Вопрос №9 ответ:
Вопрос №10 ответ:
Вопрос №11 ответ:
Вопрос №12 ответ:
Вопрос №13 ответ:
Вопрос №14 ответ:
Вопрос №15 ответ:
Вопрос №16 ответ:
Вопрос №17 ответ: