игра брюс 2048
Главная / Программирование / Основы информатики и программирования / Тест 6

Основы информатики и программирования - тест 6

Упражнение 1:
Номер 1
Предикаты нам нужны прежде всего для того, чтобы иметь возможность ясно и недвусмысленно формулировать:

Ответ:

 (1) определенные утверждения о программах 

 (2) определенные утверждения о константах 

 (3) определенные утверждения о программных переменных 


Номер 2
В текст программы зачастую полезно включать предикаты, которые позволяли бы человеку или компьютеру проверять:

Ответ:

 (1) синтаксис кода программы 

 (2) семантику кода программы 

 (3) корректность останова программы 

 (4) корректность хода выполнения программы 


Номер 3
В тех случаях, когда утверждения проверки корректности хода выполнения программы предназначены только для человека, они оформляются в виде:

Ответ:

 (1) специального буфера 

 (2) комментариев 

 (3) специального блока 

 (4) специальной секции 


Упражнение 2:
Номер 1
Часто полезно поручить проверку истинности предикатов в процессе выполнения программы:

Ответ:

 (1) компьютеру 

 (2) человеку 

 (3) не поручать никому 


Номер 2
Проверка истинности предикатов в процессе выполнения программы в различных языках программирования реализована:

Ответ:

 (1) одинаково 

 (2) по-разному 

 (3) не реализована 


Номер 3
В программах на языке C можно использовать следующий макрос, который в случае ложности его аргумента немедленно прекращает выполнение программы, сообщая о причине этого:

Ответ:

 (1) asert(P) 

 (2) assert(P) 

 (3) accept(P) 

 (4) acept(P) 

 (5) accert(P) 

 (6) acert(P) 


Упражнение 3:
Номер 1
Что позволяет реализовать проверку истинности предикатов в процессе выполнения программы в языке Java:

Ответ:

 (1) механизм работы с исключениями 

 (2) механизм работы с ошибками 

 (3) оператор while 

 (4) оператор if 


Номер 2
Данная программа:public class Assert {
    public static void main(String[] args) throws Exception {    
        int n = Xterm.inputInt("Введите n -> ");
        if (n <= 0) 
            throw new Exception("n <= 0");
        Xterm.println("n = " + n);
    }
}содержит:

Ответ:

 (1) проверку истинности утверждения о положительности введенного с клавиатуры целого числа 

 (2) проверку истинности утверждения об отрицательности введенного с клавиатуры вещественного числа 

 (3) проверку утверждения о положительности введенного с клавиатуры не целого числа 


Номер 3
При вводе неположительного числа данная программа:public class Assert {
    public static void main(String[] args) throws Exception {    
        int n = Xterm.inputInt("Введите n -> ");
        if (n <= 0) 
            throw new Exception("n <= 0");
        Xterm.println("n = " + n);
    }
}прекращает свое выполнение и печатает следующий текст:

Ответ:

 (1) java.lang.Exception: n<=0 at Assert.main(Assert.java:4) 

 (2) lang.Exception: n<=0 at Assert.main(Assert.java:5) 

 (3) java.Exception: n<=0 at Assert.main(Assert.java:2) 

 (4) java.lang: n<=1 at Assert.main(Assert.java) 


Упражнение 4:
Номер 1
Для того чтобы доказывать правильность программ необходимо прежде всего дать строгое определение понятию:

Ответ:

 (1) программа 

 (2) алгоритм 

 (3) правильная программа 

 (4) код 


Номер 2
Определение понятия правильная программа зависит от:

Ответ:

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

 (2) от того, в каких условиях начинается ее выполнение 

 (3) от того, в каких условиях заканчивается ее выполнение 


Номер 3
Спецификацией {Q} S {R} программы S, где Q и R — предикаты, называется  предикат, означающий, что если выполнение S началось в состоянии, удовлетворяющем Q, то имеется гарантия, что оно завершится через конечное время:

Ответ:

 (1) в состоянии, удовлетворяющем R 

 (2) в состоянии, удовлетворяющем Q 

 (3) в состоянии, удовлетворяющем S 

 (4) в состоянии, удовлетворяющем T 


Упражнение 5:
Номер 1
В данном случае:{Q} S {R} предикат Q называется:

Ответ:

 (1) предусловием 

 (2) входным утверждением S 

 (3) постусловием 

 (4) выходным утверждением программы S 


Номер 2
В данном случае:{Q} S {R} предикат R называется

Ответ:

 (1) выходным утверждением программы S 

 (2) входным утверждением S 

 (3) постусловием 

 (4) предусловием 


Номер 3
Так как спецификация программы является предикатом, то она может быть:

Ответ:

 (1) истинной 

 (2) ложной 

 (3) простой 

 (4) сложной 

 (5) пустой 

 (6) полной 


Упражнение 6:
Номер 1
Следующая спецификация:{i=0}"i++;"{i=1}:

Ответ:

 (1) является тавтологией 

 (2) ложна во всех состояниях 

 (3) истинна при j=1 и ложна в остальных состояниях 


Номер 2
Следующая спецификация:{i=0}"i++;"{i=0}:

Ответ:

 (1) истинна при j=1 и ложна в остальных состояниях 

 (2) истинна при j=0 и ложна в остальных состояниях 

 (3) является тавтологией 

 (4) ложна во всех состояниях 


Номер 3
Следующая спецификация:{i=0}"i++;"{i=j}:

Ответ:

 (1) ложна во всех состояниях 

 (2) истинна при j=0 и ложна в остальных состояниях 

 (3) истинна при j=1 и ложна в остальных состояниях 

 (4) является тавтологией 

 (5) истинна при j=2 и ложна в остальных состояниях 


Упражнение 7:
Номер 1
Спецификация программы является единственным корректным способом:

Ответ:

 (1) постановки задачи 

 (2) решения задачи 

 (3) кодирования задачи 

 (4) описания задачи 


Номер 2
Программа S является  правильной при заданных Q и R, если спецификация {Q} S {R} является:

Ответ:

 (1) ложной 

 (2) тавтологией 

 (3) ложной при любых условиях 


Номер 3
С практической точки зрения особый интерес представляют программы, которые позволяют:

Ответ:

 (1) получить нужный результат при минимальных требованиях к начальным условиям 

 (2) достичь как можно большего при фиксированном предусловии 

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

 (4) получить нужный результат при максимальных требованиях к конечным условиям 


Упражнение 8:
Номер 1
Предикат, описывающий максимально широкое множество в пространстве состояний переменных программы S, на котором гарантируется получение постусловия R называется:

Ответ:

 (1) слабейшее предусловие 

 (2) сильнейшее постусловие 

 (3) слабейшее постусловие 

 (4) сильнейшее предусловие 


Номер 2
Предикат, описывающий максимально сильные ограничения на состояние переменных программы S, которые могут быть получены при данном предусловии Q:

Ответ:

 (1) сильнейшее предусловие 

 (2) сильнейшее постусловие 

 (3) слабейшее постусловие 

 (4) слабейшее предусловие 


Номер 3
Преобразователь предикатов wp(S,R) обладает следующими свойствами:

Ответ:

 (1) закон исключенного чуда 

 (2) дистрибутивность конъюнкции 

 (3) закон монотонности 

 (4) дистрибутивность дизъюнкции 


Упражнение 9:
Номер 1
Какое свойство является дистрибутивностью конъюнкции преобразователя предикатов wp(S,R):

Ответ:

 (1) wp(S,Q)^wp(S,R)=wp(S,Q^R) 

 (2) wp(S,F)=F 

 (3) wp(S)^wp(S,R)=wp(S,Q) 

 (4) wp(S,Q)^wp(R)=wp(S^Q^R) 


Номер 2
Какое свойство является закон исключенного чуда преобразователя предикатов wp(S,R):

Ответ:

 (1) wp(S,Q)^wp(S,R)=wp(S,Q^R) 

 (2) wp(S,Q^R) 

 (3) wp(S,Q^R)=wp(S,Q) 

 (4) wp(S,F)=F 


Номер 3
В данном случае:wp("System.exit(0);",R)=F выполнение вызова метода "System.exit(0)" приводит:

Ответ:

 (1) к немедленному завершению выполнения программы 

 (2) к отсроченному завершению выполнения программы 

 (3) не влияет на выполнение программы 

 (4) к перезапуску программы 


Упражнение 10:
Номер 1
В данном случае:wp("System.exit(0);",R)=F при каком начальном состоянии после его выполнения предикат R будет истинным:

Ответ:

 (1) эквивалентным единице 

 (2) эквивалентным нулю 

 (3) равным нулю 

 (4) ни при каком начальном состоянии 


Номер 2
Выражение b[i] само по себе может оказаться неопределенным:

Ответ:

 (1) из-за корректного значения индекса i 

 (2) из-за некорректного значения индекса i 

 (3) из-за некорректного значения индекса b 

 (4) из-за корректного значения индекса b 


Номер 3
Предикат inrange(b,i) определяет:

Ответ:

 (1) множество не допустимых значений индекса 

 (2) количество допустимых значений индекса 

 (3) множество допустимых значений индекса 

 (4) количество не допустимых значений индекса 


Упражнение 11:
Номер 1
Управляющая конструкция if эквивалентна использованию пустого оператора:

Ответ:

 (1) в else-ветви 

 (2) в while-ветви> 

 (3) в for-ветви 


Номер 2
Оператор switch может быть заменен несколькими вложенными друг в друга операторами:

Ответ:

 (1) else-if 

 (2) else-else 

 (3) if-if 

 (4) if-else 


Номер 3
Для того чтобы задать все основные конструкции выбора языка Java, достаточно дать определение только одной из них, — конструкции:

Ответ:

 (1) "(e) S1; else S2;" 

 (2) "if (e) ...; else S2;" 

 (3) "if (e) S1; else ...;" 

 (4) "if (e) S1; else S2;" 

 (5) "if e...; else S2;" 


Упражнение 12:
Номер 1
Для практических приложений часто необходимо не вычисление слабейшего предусловия, а лишь проверка того факта, что некоторое другое известное предусловие:

Ответ:

 (1) не обеспечивает его выполнение 

 (2) обеспечивает его выполнение 

 (3) существует 

 (4) не существует 


Номер 2
В терминах слабейшего предусловия можно определить:

Ответ:

 (1) все оставшиеся еще неопределенными конструкции языка 

 (2) все оставшиеся еще неопределенными конструкции сильнейшего постусловия 

 (3) ни чего нельзя определить 


Номер 3
Для определения слабейшего предусловия wp("while(e)S;",R) потребуются:

Ответ:

 (1) вспомогательные определения 

 (2) рекурсии 

 (3) итерации 

 (4) конкатенации 




Главная / Программирование / Основы информатики и программирования / Тест 6