Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технология программирования / Технология программирования.docx
Скачиваний:
19
Добавлен:
09.02.2016
Размер:
103.24 Кб
Скачать

Тесты по курсу «Технология программирования»

[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() , имеющей следующий заголовок