Тесты по курсу «Технология программирования» [q]3:1: Какой из этих символов относится к квантору всеобщности ?
[a]
[a]
[a]
[a]
[a] [q]3:1: Какой из этих символов относится к квантору существования?
[a]
[a]
[a]
[a]
[a] [q]3:1: Если внутри одиночных кавычек расположена одна литера, то значение такой последовательности есть:
[a] числовое значение этой литеры в кодировке среды разработки приложений;
[a] литера;
[a] символ таблицы ASCII;
[a] беззнаковое число;
[a] зависит от среды программирования и операционной системы. [q]3:1: Логика – это:
[a] механизм вывода и доказательства утверждений в соответствии с правилами логики;
[a] условия в форме булевских выражений;
[a] условия в виде набора правил;
[a] основа разработки программного обеспечения;
[a] программирование, связанное с доказуемостью и выводимостью; [q]3:1: В чем особенность функции main()?
[a] Функция main() не вызывается при каждом выполнении программы. Она не может быть вызвана какой-либо другой функцией и не обязательно должна присутствовать в каждой программе.
[a] Функция main() вызывается автоматически при каждом выполнении программы. Она может быть вызвана какой-либо другой функцией и не обязательно должна присутствовать в каждой программе.
[a] Функция main() – обязательный атрибут любой программы.
[a] Функция main() вызывается автоматически при каждом выполнении программы. Она не может быть вызвана какой-либо другой функцией и обязательно должна присутствовать в каждой программе.
[a] функция main() используется как дополнительная точка входа в программу.. [q]3:1: Какой из этих знаков относится к символу логического «ИЛИ»
[a]
[a]
[a]
[a]
[a]
[q]3:1: Какой из этих знаков относится к символу логического «И»
[a]
[a]
[a]
[a]
[a]
[q]3:1: Количество объектов связанных в предикате означает [a] арность;
[a] терм;
[a] квантор;
[a] факты;
[a] атом; [q]3:1: Логика нужна для:
[a] понимания той части выводимости, которая базируется на условиях;
[a] базисных высказываний;
[a] базисных высказываний, включающих специфические переменные;
[a] выражения свойств произвольного множества значений;
[a] выражения свойства, которое может иметь в качестве своего значения истину или ложь.
[q]3:1:Чему всегда будет равно значение выражения (х/у)*у + х%у, при условии, что х => 0 и у > 0?
[a] значению х
[a] значению х+у
[a] не определено
[a] нулю
[a] значению у [q]3:1: Укажите символ, выражающий математический аналог логической операции implies
[a] ⇒
[a]
[a]
[a] =
[a] ┐ [q] 3:1: Укажите логическую операцию, являющуюся аналогом математического символа ⇒
[a] implies
[a] not
[a] =
[a] and
[a] or [q]3:1: Пусть заданы переменные int x=2, y=1, z=0; Что будет выведено оператором
printf (“%i”, x && y || z); ?
[a] единица
[a] true
[a] false
[a] число, большее единицы
[a] нуль [q]3:1: Пусть заданы переменные int x=2, y=1, z=0; Что будет выведено оператором
printf (“%i”, x ¦¦ !y && z); ?
[a] единица
[a] true
[a] false
[a] нуль
[a] два [q]3:1: Пусть заданы переменные int z, x=1, y=1; Какое значение будет иметь переменная z, после выполнения операторов: z = x++ - 1; z + = - x++ + ++y; ?
[a] 0
[a] 1
[a] 2
[a] 4
[a] 6 [q]3:1: Пусть заданы переменные int x = 3, y = 2, z = 1; Что будет выведено оператором printf (“%i”, x ¦ y & z);
[a] 3
[a] 4
[a] 1
[a] 2
[a] 0 [q]3:1: Пусть заданы переменные int x = 3, y = 2, z = 1; Что будет выведено оператором
printf(“%i”, x ^ y & z);
[a] 1
[a] 0
[a] 2
[a] 3
[a] 4 [q]3:1: Пусть заданы переменные int x = 3, y =4, z = 4; Что будет выведено оператором
printf ( “%i”, (z >= y >= x)? 1:0); [a] 0
[a] 1
[a] 2
[a] 3
[a] 4 [q]3:1: Пусть заданы переменные int x = 1, y = 1; Чему станет равно значение переменной x после выполнения оператора условия: if (y < 0) if (y > 0) x = 3; else x = 5;
[a] 1
[a] 3
[a] 5
[a] не определенным
[a] условие не имеет решения [q]3:1: Пусть заданы переменные int x, t, y = 1, z = 1; Чему будет равно значение переменной t после выполнения оператора условия:
if ( z = y < 0) x = 3;
else if (y == 0 ) x = 5; else x = 7; t = z + x;
[a] 7
[a] 2
[a] 4
[a] 6
[a] 8 [q]3:1: Пусть заданы переменные int x=0, y=0; Чему будет равно значение переменной Х после выполнения оператора цикла: while (y<5) x += ++y;
[a] 15
[a] 10
[a] 20
[a] 21
[a] 5 [q]3:1: Пусть заданы переменные int x, y = 1, z; Чему будет равно значение переменной у после выполнения оператора цикла: while (y < 10) { x = y++; z = ++y}
[a] 20
[a] 13
[a] 18
[a] 21
[a] 19 [q]3:1: Какие значения будут иметь переменные x и y после выполнения оператора цикла
for ( y=1; ( x=y) <10; y+ +) ;
[a] 10, 10
[a] 9, 10
[a] 10 , 9
[a] 11, 10
[a] 10, 11 [q]3:1: Какие последние значения переменных x и y , будут выведены оператором цикла
for ( x = 0, y = 1000; y > 1; x+ +, y /= 10)
printf ( “%i и %i”, x, y); ?
[a] 2 и 10
[a] 0 и 1000
[a] 4 и 0
[a] 3 и 1
[a] 1 и 100 [q] 3:1 Для выражения из n переменных существует:
[a] 2n истинностных присваиваний
[a] 2n – 1 истинностных присваиваний
[a] 2n + 1 истинностных присваиваний
[a] 2n истинностных присваиваний
[a] 2n + 1 истинностных присваиваний [q]3:1: Укажите одну из приведенных пар булевских выражений, в которой оба выражения являются тавтологиями
[a] (A or (not A)), (A and B) or ((not A) or (not B))
[a] (A or (not A)), not (A or (not A))
[a] (A and (not A)), (A and B) or ((not A) or (not B))
[a] not (A and (not A)), (A or B) and (( not A ) or ( not B))
[a] (A or B) and (( not A) and ( not B), ( A and B) or (( not A) or (not B)) [q]3:1: Значение индекса цикла for после завершения работы цикла:
[a] всегда определено
[a] зависит от параметра цикла
[a] зависит от среды программирования и операционной системы
[a] не определено
[a] зависит от выражения при модификации индекса [q]3:1: Эквивалентность определяет общие правила для доказательства или опровержения:
[a] тавтологий, противоречивости и выполнимости
[a] только тавтологий
[a] только противоречивости
[a] только выполнимости
[a] ассоциаций между операциями or и and [q]3:1: Ассоциативность операций – это свойство, которое:
[a] упрощает нотацию написания булевских выражений
[a] позволяет писать выражения с использованием только операции and
[a] позволяет писать выражения с использованием только операции or
[a] позволяет писать выражения в форме A and B and C
[a] позволяет писать выражения в форме A or B or C [q]3:1: Может ли присваивание встречаться внутри более сложного выражения?
[a] да, может
[a] нет, не может
[a] зависит от применения круглых скобок
[a] только при вводе данных
[a] зависит от среды программирования и операционной системы [q]3:1: Значения переменных и констант типа char в арифметических выражениях идентичны:
[a] значениям типа int
[a] значениям типа char
[a] значениям типа short
[a] значениям типа signed int
[a] зависит от среды программирования и операционной системы [q]3:1: Инструкция return в функции main обычно сигнализирует операционной системе о:
[a] нормальном завершении вычисления
[a] ничего не сообщает системе
[a] ошибочном завершении работы программы
[a] необычном завершении работы программы
[a] зависит от среды программирования и операционной системы [q]3:1: Могут ли к переменным, определенным внутри функции main, прямо обращаться другие функции?
[a] нет, не могут
[a] да, могут
[a] да, если переменная имеет класс памяти auto
[a] да, если переменная имеет класс памяти register
[a] зависит от среды программирования и операционной системы [q]3:1: Какой из приведенных классов памяти позволяет локальной переменной функции сохранять свое значение в промежутках между вызовами этой функции:
[a] static
[a] extern
[a] auto
[a] register
[a] класс памяти по умолчанию [q]3:1 Какую логическую операцию, для произвольного числа операндов, обобщает квантор существования ?
[a] or
[a] and
[a] not
[a] =
[a] implies [q] 3:1: Какую логическую операцию, для произвольного числа операндов, обобщает квантор всеобщности ?
[a] and
[a] or
[a] not
[a] =
[a] implies [q]3:1: Укажите типичные ошибки для циклов:
[a] Выполнение «больше - меньше»; ошибки управления пограничными ситуациями; ошибки завершения.
[a] Выполнение цикла больше заданного количества
[a] Выполнение цикла меньше заданного количества
[a] Цикл работает правильно на больших массивах, но дает ошибки, когда у массива один элемент, или когда он вообще пуст
[a] Ошибки зацикливания в некоторых ситуациях. [q]3:1: Любое выполнение тела цикла
[a] уменьшает значение варианта цикла
[a] увеличивает значение варианта цикла
[a] не изменяет значения варианта цикла
[a] уменьшает значение варианта цикла при завершении его работы
[a] увеличивает значение варианта цикла при завершении его работы [q]3:1: Что характерно для любого не тривиального цикла?
[a] возможные предложения инварианта и варианта цикла
[a] возможное предложение инварианта цикла
[a] возможное предложение варианта цикла
[a] условие выполнения предусловия перед циклом
[a] условие положительности варианта цикла [q]3:1: В языке Си точка с запятой является:
[a] заключающей литерой инструкции
[a] не обязательным элементом
[a] оператором
[a] меткой окончания инструкции, декларации и т.п.
[a] разделителем [q]3:1: Инструкция if проверяет:
[a] числовое значение утверждения
[a] соответствие типов операндов в выражении
[a] логическое значение выражения
[a] условие работы препроцессора
[a] условие выполнения оператора [q]3:1: Какое из приведенных выражений соответствует утверждению:
«Значение k лежит между 1 и 9, но не равно 5»?
[a] k > 1 && k < 9 && k != 5
[a] k > 1 && k < 9 ¦¦ k != 5
[a] k >= 1 && k<= 9 && k != 5
[a] k = 1 && k = 9 && k != 5
[a] k >= 1 && k <= 9 ¦¦ k != 5; [q]3:1: Какое из приведенных выражений соответствует утверждению:
«Значение переменной lit не равно ‘1’ или не равно ‘2’» ?
[a] lit ! =’1’ ¦¦ lit !=’2’
[a] lit ! =’1’ && lit !=’2’
[a] lit ! =’1’ && lit =2
[a] lit ! =1 ¦¦ lit !=2
[a] lit ! =1 && lit !=2 [q]3:1: Что позволяет гарантировать корректность не тривиального цикла?
[a] совместное выполнение инварианта и варианта цикла
[a] обязательное изменение индекса цикла
[a] обязательная положительность варианта цикла
[a] разумное использование утверждений
[a] обязательный контроль допустимых значений данных, обрабатываемых в цикле. [q]3:1: Какое свойство не обеспечивает гарантии завершения циклического процесса:
[a] когда вариант цикла равен конечному числу итераций
[a] вариант цикла всегда не отрицателен
[a] свойство, связанное с уменьшением варианта цикла при любом выполнении тела цикла
[a] вариант цикла является верхней границей применения тела цикла
[a] любое выполнение тела цикла выполняет инструкцию i=i+1, уменьшая тем самым вариант цикла на единицу. [q]3:1: Какой из следующих элементов не является необходимым элементом синтаксиса цикла?
[a ] текущая итерация цикла
[a] инвариант цикла inv
[a] условие выхода exit
[a] вариант цикла var
[a] множество инструкций инициализации. [q]3:1: Проектирование по контракту предназначено для:
[a] формализации взаимоотношения двух программных элементов внутри доверенной среды
[a] формализации взаимоотношения программного элемента с внешним миром
[a] взаимодействия программы с доверенной средой
[a] защиты кода
[a] проверки ненадежных данных.
[q]3:1: Пусть заданы переменные int x, y =1, z; Что будет выведено в результате выполнения следующего оператора условия:
if ( z=y<0) x=3;
else if (y= = 0 ) x=5;
else x=7;
printf ( “ %i, %i”, x, z) ;
[a] 7, 0
[a] 3, 7
[a] 3, 3
[a] 7, 1
[a] 7, 3
[q]3:1: Пусть заданы переменные int x, y=1, z; Что будет выведено в результате выполнения оператора условия:
if ( z = ( y= =0)) x=5; x=3;
printf ( “%i, %i”, x, z);
[a] 3, 0
[a] 3, 1
[a] 5, 0
[a] 5, 3
[a] 5, 5 [q]3:1: Пусть заданы переменные int x, y=1, z; Что будет выведено в результате выполнения оператора условия:
if ( x=z=y); x=3;
printf ( “%i, %i”, x, z);
[a] 3, 1
[a] 1, 1
[a] 3, 0
[a] 1, 3
[a] 3, 3 [q]3:1: Пусть заданы переменные int x=0, y=0; Какие последние значения этих переменных будут выведены оператором цикла:
while ( y<10) ++ y ; x += y;
printf (“%i , %i”, x, y);
[a] 10, 10
[a] 0, 10
[a] 9, 10
[a] 10, 9
[a] 0, 9 [q]3:1: Пусть заданы переменные int x=0, y=0; Какие последние значения x и y будут выведены оператором цикла:
while (y<10) x += ++y;
printf (“ %i, %i” , x, y);
[a] 55, 10
[a] 55, 9
[a] 54, 9
[a] 54, 10
[a] 50, 10 [q]3:1: Пусть заданы переменные int x, y=1, z; Какие последние значения переменных x, y и z будут выведены оператором цикла:
while (y<10) { x = y++; z= ++y;}
printf (“%i, %i, %i”, x, y, z);
[a] 9,11, 11
[a] 9,10,10
[a] 10,9,10
[a] 9,10,11
[a] 9,9, 11 [q]3:1: Пусть заданы переменные int x,y; Какие последние значения x и y будут выведены оператором цикла:
for (y=1; y<10; y++) x = y;
printf (“%i , %i”, x, y);
[a] 9,10
[a] 10,10
[a] 9,11
[a] 10,9
[a] 9,9 [q]3:1: Пусть заданы переменные int x,y; Какие последние значения x и y будут выведены оператором цикла:
for (y=1; ( x=y) <10; y++)
printf (“%i , %i”, x, y);
[a] 9,9
[a] 10,9
[a] 9,11
[a] 10,10
[a] 9,10 [q]]3:1: Пусть заданы переменные int x=1, y=1, z; Что будет выведено:
if (y<0) if (y>0) x = 3; else x = 5;
printf (“%i” ,x);
[a] 1
[a] 0
[a] 3
[a] 5
[a] не определено [q]3:1: Пусть заданы переменные int x=1, y=1, z=0; Какие значения будут иметь эти переменные x,y и z после выполнения следующего выражения:
++x && ++y ¦¦ ++z ? printf (“%i%i%i”, x,y,z);
[a] 2, 2, 0
[a] 2, 1, 1
[a] 1, 2, 1
[a] 1, 1, 2
[a] 1, 1, 1 [q]3:1 Нарушение контракта означает:
[a] отклонение конкретной реализации от заданной спецификации
[a] некорректность реализации
[a] проявление ошибок в программном коде
[a] наличие ошибок на стороне клиента
[a] наличие ошибок в реализации услуги. [q]3:1: В проектировании по контракту выражение спецификации осуществляется с помощью:
[a] механизма утверждений
[a] исходного кода
[a] модульных тестов в актуальном состоянии
[a] сущностей программного обеспечения
[a] постусловий и возможности обращения к результату работы функции [q]3:1: Если тип результата функции явно не задан, то считается, что он имеет тип:
[a] int
[a] void
[a] char
[a] void*
[a] неопределенный [q]3:1: В языке Си все аргументы функции передаются:
[a] по значению
[a] по ссылке
[a] в соответствии с типом
[a] в соответствии с их организацией в стеке
[a] в момент вызова функции [q]3:1: Если имя массива, при вызове функции, используется как аргумент, то этой функции передается:
[a] адрес начала этого массива
[a] количество элементов массива
[a] копия этого массива
[a] ссылка на массив
[a] копия первого (нулевого) элемента массива
[q]3:1: Чему будет равно значение следующего выражения:
3+4 > 5 && 3+5 > 4 && 4+5 > 3 ?
[a] 1
[a] 2
[a] 3
[a] 4
[a] 0 [q]3:1: Вычисление чисел Фибоначчи. Какое значение будет иметь переменная Х после выполнения следующего цикла:
for (a = f1, b = f2, i = 2; i <= 5; x = a + b, a = b, b = x, i++);
[a] 13
[a] 8
[a] 5
[a] 21
[a] 34 [q]3:1: Какая из функций по работе со строками преобразует аргумент - строку в целое число типа int ?
[a] atoi()
[a] atof()
[a] atol()
[a] itoa()
[a] ltoa() [q]3:1: Какая из функций по работе со строками преобразует аргумент - строку в вещественное число типа double?
[a] atof()
[a] atoi()
[a] atol()
[a] itoa()
[a] ltoa() [q]3:1: Какая из функций ввода-вывода считывает один символ с клавиатуры без отображения его на экране?
[a] getch()
[a] getchar()
[a] gets()
[a] scanf()
[a] scanf_s() [q]3:1: Какая из следующих функций возвращает область динамически распределенной памяти системе?
[a] free()
[a] coreleft()
[a] calloc()
[a] malloc()
[a] realloc() [q]3:1: Какая из следующих функций возвращает указатель на выделенный блок динамической памяти ?
[a] malloc()
[a] calloc()
[a] coreleft()
[a] free()
[a] realloc() [q]3:1: Какая из следующих функций ввода-вывода считывает строку из стандартного входного потока?
[a] gets()
[a] puts()
[a] scanf()
[a] getch()
[a] sscanf() [q]3:1: Какая из функций для работы со строками ищет в заданной строке лексемы (неделимые последовательности символов), по набору заданных разделителей ?
[a] strtok
[a] strtol
[a] strstr
[a] strset
[a] strpbrk [q]3:1: Явное освобождение ставшей ненужной динамической памяти является признаком хорошего стиля программирования. Каким образом выполняется явное освобождение участка динамической памяти?
[a] библиотечной функцией free()
[a] любой функцией, при завершении своей работы.
[a] программой, при завершении своей работы
[a] при выходе за пределы блока локализации указателя, адресующего выделенный динамический участок памяти
[a] через указатель, адресующий выделенный динамический участок памяти, каждый раз при повторном входе в блок. [q]3:1: Каково назначение параметров функции main() , имеющей следующий заголовок
int main (int argc, char *argv[]) ?
[a] обеспечить связь выполняемой программы с операционной системой и связь с командной строкой, через которую передается информация исполняемой программе.
[a] для передачи в программу всей информации об окружении, в котором выполняется программа
[a] обеспечить связь с командной строкой, из которой запускается программа
[a] обеспечить связь выполняемой программы с программистом
[a] обеспечить связь выполняемой программы с операционной системой [q]3:1: Укажите правильный вариант использования оператора цикла для вычисления факториала числа N .
[a] for ( i=1, f=1; i <= N; f*=i, i++);
[a] for ( i=1, f=1; i < N; f*=i, i++);
[a] for ( i=1, f=1; i < N; f*=i, ++ i);
[a] for ( i=2, f=1; i < N; f*=i, i++);
[a] for ( i=1, f=1; i <= N; i++, f*=i); [q]3:1: Укажите правильный вариант использования оператора цикла для вычисления степенного выражения 2N.
[a] for ( i=1, sum=1; i <= N; sum *= 2, i++);
[a] for ( i=0, sum =0; i < N; sum *= 2, i++);
[a] for ( i=0, sum =1; i < =N; sum *= 2, i++);
[a] for ( i=1, sum =1; i < N; sum *= 2, ++i);
[a] for ( i=1, sum =0; i <= N; sum *= 2, i++ ); [q]3:1: Какое значение имеет главная функция main() в программах на языке Си?
[a] для организации работы программы и определения всех необходимых программе ресурсов системы
[a] для контроля правильности работы программы и используемых ею ресурсов системы
[a] для управления алгоритмом работы программы
[a] для ввода исходных данных и вывода результатов работы программы
[a] для определения всех необходимых объектов программы и форматов данных результатов работы программы.
[q]3:1: Выбрать правильный вариант вычисления приближенного значения суммы s ряда с заданной точностью – EPS, при начальном значении s равном 0. [a] i=1; do { y=1/i * (i+1); s=s+y; i++;} while (y < EPS);
[a] i=1; do { y=1/i (i+1); s=s+y; } while (y < EPS); [a] do { y=1/i (i+1); s=s+y; } while (y< EPS); [a] do { y=1/i * (i+1); s=s+y; } while (y> EPS); [a] i=1; do { y=1/i * (i+1); s=s+y; } while (y> EPS);
[q]3:1: Выберите правильный вариант упорядочения массива по не возрастанию
[a] for ( i = 0; i < 19; i++)
for ( j = i+1; j < 20; j++)
if (ar[i]< ar[j]) {c=ar[i]; ar[i] = ar[j+1]; ar[j] =c; } [a] for ( i = 0; i < 19; i++)
for ( j = 0; j < 20; j++)
if (ar[i] < ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; } [a] for ( i = 0; i < 19; i++)
for ( j = i+1; j < 20; j++)
if (ar[i] < ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; } [a] for ( i = 0; i < 19; i++)
for ( j = i+1; j < 19; j++)
if (ar[i] > ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; } [a] for ( i = 0; i < 20; i++)
for ( j = i+1; j < 20; j++)
if (ar[i] > ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; }
[q]3:1: Какой метод сортировки применен в данном фрагменте программы?
int ar[20], i, k, buf;
for (i=0; i < 19; i++)
{ for ( k=0; k < 19; k++)
if (ar[k] > ar[k+1]) { buf = ar[k]; ar[k] = ar[k+1]; ar[k+1] = buf;}
} [a] стандартный обмен (метод «пузырька»)
[a] челночная сортировка,
[a] линейная (простая) вставка.
[a] линейный выбор с обменом,
[a] линейный выбор
[q]3:1: В каком месте программы находится точка ее входа?
[a] в месте, где находится заголовок функции main()
[a] с функции main(), если в ней задаются параметры командной строки
[a] в месте, где находится главная функция программы main(), при условии, что она возвращает тип int.
[a] при первом вызове любой пользовательской функции программы
[a] при первом вызове любой стандартной функции
[q]3:1: Какая функция выводит на экран строку символов и переводит курсор в начало следующей строки экрана?
[a] puts();
[a] gets();
[a] printf(“%s”, …);
[a] putch();
[a] putchar();
[q]3:1: Какая функция вводит с клавиатуры строку символов, при этом, строка может содержать пробелы?
[a] gets();
[a] scanf (“%s”, …);
[a] puts();
[a] getch();
[a] getchar(); [q]3:1: Чем отличаются функции printf() и puts() при консольном выводе информации?
[a] после вывода информации функцией puts() происходит перевод курсора в начало следующей строки экрана, а после printf() - нет
[a] ничем не отличаются
[a] после вывода информации функцией printf() происходит перевод курсора в начало следующей строки экрана, а после puts() – нет
[a] после вывода информации обеими функциями происходит перевод курсора в начало следующей строки экрана
[a] после вывода информации обеими функциями не происходит перевод курсора в начало следующей строки [q]3:1: Что собой представляет понятие «блок» в языке Си?
[a] блок – это набор операторов языка Си вместе с определением дополнительной локальной переменной, используемой в операторах блока
[a] блок – это набор любых операторов языка Си
[a] блок – это набор пользовательских функций с определениями локальных переменных блока
[a] блок – это синоним понятия «составной» оператор языка Си
[a] блок – это набор операторов, объединенных одним функциональным смыслом [q]3:1: Какой формат записи должен иметь тернарный оператор условия ?
[a] переменная = (условие)? выражение1: выражение2;
[a] переменная = (условие)? выражение1; выражение2;
[a] переменная = if (условие)? выражение1; else выражение2;
[a] if (условие1) оператор1; else оператор2;
[a] if (условие1) оператор1; else if (условие2) оператор2; else оператор3; [q]3:1: В каких случаях может произойти зацикливание при использовании оператора цикла с постусловием?
[a] в случаях, когда в теле цикла отсутствует оператор по изменению значения выражения постусловия
[a] в случаях, когда выражением постусловия будет оператор отношения
[a] в случаях, когда выражением постусловия будет логическое выражение
[a] в случаях, когда значение постусловия будет истинно
[a] в случаях, когда значением постусловия будет ложь [q]3:1: В каком случае в функции scanf() не используется операция &?
[a] при сканировании массива символов, то есть при вводе строки
[a] при сканировании элемента массива символов
[a] при сканировании чисел типа double
[a] при сканировании одиночных символов
[a] при сканировании целых чисел [q]3:1: В каких случаях может произойти зацикливание при использовании оператора цикла с предусловием?
[a] в случаях, когда в теле цикла отсутствует оператор по изменению значения выражения предусловия
[a] в случаях, когда выражением предусловия будет оператор отношения
[a] в случаях, когда выражением предусловия будет логическое выражение
[a] в случаях, когда значение предусловия будет истинно
[a] в случаях, когда значением предусловия будет ложь [q]3:1: Какое различие в операторах цикла между префиксным и постфиксным инкрементированием параметра цикла?
[a] различия между префиксным и постфиксным инкрементированием параметра цикла нет
[a] различие между ними – в одном лишнем цикле
[a] различие между ними – в лишних двух циклах
[a] постфиксное инкрементирование уменьшает количество циклов на один
[a] префиксное инкрементирование увеличивает количество циклов на один. [q]3:1: Пусть int ar[10]; Компилятор языка Си рассматривает ar - имя массива без индекса как:
[a] константный указатель, содержащий адрес первого байта первого элемента массива
[a] указатель на переменную типа int
[a] адрес первого элемента (элемента, имеющего нулевой индекс)
[a] константный указатель, содержащий адрес какого – либо элемента массива
[a] переменную типа int [q]3:1: Какая из следующих функций записывает строку в файл?
[a] fputs()
[a] puts()
[a] fgets()
[a] fprintf();
[a] fscanf() [q]3:1: Укажите операции, не разрешенные над структурами:
[a] суммирование двух структур
[a] копирование и присваивание структуры как целого
[a] взятие адреса структуры операцией &
[a] передача полей структуры функциям и передача целых структур функциям
[a] передача структуры как результат работы функции [q]3:1: Задана переменная int *p; Какой из следующих вариантов выделения памяти в “куче” под массив размера n будет правильным?
[a] p = (int *)malloc(n * sizeof(int));
[a] p = (int )malloc(n * sizeof(int));
[a] p = (int *)calloc(n * sizeof(int));
[a] p = (int)calloc(n * sizeof(int));
[a] int p[n]; [q]3:1: Что произойдет, если в операторе switch после метки case не использовать оператор break?
[a] будет происходить выполнение операторов всех следующих вариантов, пока не появится оператор перехода break или не закончится оператор переключатель switch.
[a] будет происходить выполнение очередного оператора после метки case
[a] произойдет аварийный выход из переключателя
[a] будет определен следующий вариант в операторе switch
[a] не будет определен вариант в операторе switch [q]3:1: Что произойдет, если в операторе switch не поставить метку default и условие переключения не совпадет ни с одной меткой после case.
[a] переключатель не выполнит никаких действий
[a] переключатель не выполнит никаких действий и произойдет его аварийное завершение
[a] выполняются операторы всех предыдущих вариантов
[a] выполнится только первый оператор
[a] произойдет альтернативный выбор, реализованный при помощи перехода exit() либо break. [q]3:1: Если в качестве параметра функции используется имя массива с квадратными скобками, то фактически в функцию передается
[a] адрес первого байта первого элемента массива
[a] копия всего массива
[a] значение индекса первого элемента массива
[a] значение операции []
[a] значение операции индексирования первого элемента массива [q]3:1: Для массива, передаваемого в функцию, обычно задается параметр, определяющий длину этого массива, а если передается строка, то в этом случае нет необходимости явно указывать ее длину. С помощью какого признака, в этом случае, определяется длина строки?
[a] с помощью признака ‘\o’
[a] с помощью признака ‘\n’
[a] с помощью признака ‘\t’
[a] с помощью точки в конце строки
[a] с помощью пробела в конце строки [q]3:1: Что делает следующая функция, в качестве параметра которой задается строка -массив
void f(char s[])
{ char lit; int i, j, n;
for( n =0; s[n] != ‘\0’; n++);
for(i = 0, j = n – 1; i < j; i++, j--)
{ lit = s[i]; s[i] = s[j]; s[j] = lit; }
}
[a] инвертирует всю исходную строку
[a] находит длину исходной строки
[a] делает сортировку символов исходной строки
[a] меняет местами символы в строке
[a] инвертирует последний символ строки на начальный [q]3:1: Каким образом необходимо описать формальный параметр X функции F для того, чтобы она смогла поменять значение переменной в основной программе, связанной с формальным параметром Х?
[a] F(int *X) {…}
[a] F(int X) {…}
[a] F(int &X) {…}
[a] F(X) {…}
[a] F(int X[]) {…} [q]3:1: Что делает следующая функция, в которую передаются две строки s1 и s2?
void F(char *s1, char *s2) { while (*s1++ = *s2++); }
[a] реализуется операция присваивания строки s2 строке s1
[a] копируется строка s1 в строку s2
[a] копируется последний символ строки s2 в последний символ строки s1
[a] копируется первый символ строки s2 в первый символ строки s1
[a] реализуется «перенос» содержимого строки s2 в строку s1, наподобие функции strcpy() стандартной библиотеки языка Си
[q]3:1: Что лежит в основе структурного подхода к программированию?
[a] иерархическая декомпозиция задачи на простые подзадачи простейшей структуры
[a] декомпозиция исходных данных на простые структуры
[a] проектирование «сверху - вниз»
[a] проектирование «снизу - вверх»
[a] ограничения на конструкции алгоритмов с целью пошаговой детализации [q]3:1: Что составляет основу процедурного языка программирования Си?
[a] вложение подпрограмм, локализация и ограничение области «видимости» данных, а также основные «структурные» операторы и операторы передачи управления
[a] функциональная декомпозиция и использование простейших операторов управления
[a] основные «структурные» операторы передачи управления и иерархическая декомпозиция исходных данных
[a] основные операции и операторы, а также использование операций перехода: goto, break и continue
[a] возможность вызова функций из функции с ограничением области «видимости» данных [q]3:1: Дальнейшее развитие структурного подхода вылилось в модульное программирование. Что предполагает модульное программирование?
[a] выделение групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули
[a] отдельно компилируемые библиотеки подпрограмм
[a] выделение подпрограмм, использующие определенные вычислительные ресурсы
[a] выделение подпрограмм, связи между которыми осуществляются через специальный интерфейс
[a] модули, доступ к реализации которых (телам подпрограмм и к некоторым «внутренним» переменным) запрещен [q]3:1: Каким образом в структурном программировании осуществляется взаимодействие программных объектов?
[a] путем вызова библиотечных и пользовательских функций
[a] путем передачи сообщений
[a] путем передачи данных в вызываемые функции
[a] путем использования операторов управления и меток
[a] путем использования механизма функциональной декомпозиции [q]3:1: Решение о том, как представлять в программе исходные данные задачи невозможно принимать, не зная:
[a] какие алгоритмы будут к ним применяться
[a] какие функции будут использоваться в программе
[a] к каким объектам будут применяться операции программы
[a] структуру алгоритмов, представляемых текстом программы
[a] всех аспектов строения данных. |