Базовый Эрудит — questions

Jump to: navigation, search
12345
Знание базовых информационных технологий

Variant 135064056.


Your name*:


Question 1

Рассмотрим компьютерную многопроцессорную архитектуру, где каждый процессор имеет свой собственный кеш, и где все они конкурируют за доступ к системной шине (критическому ресурсу).

Каждый процессор может выполнить одну инструкцию за 500 наносекунд, если инструкция ссылается на закешированные ячейки памяти. Но если происходит кеш-промах, то выполнение инструкций процессором задерживается на дополнительных 2000 наносекунд, причем первую половину этой задержки шина обслуживает запрос, а вторую половину задержки, результат этого запроса помещается в кеш процессора и происходят другие действия, а шина может обслуживать запросы от других процессоров. В среднем, каждая инструкция содержит два указателя на память, а кеш-промахи случаются в 1% указателей.

Какую часть пропускной способности шины использует один процессор, если игнорировать конкуренцию других процессоров?

  1.  
  2.  
  3.  
  4.  
  5.  

Question 2

Могут ли приведенной BNF-грамматикой

    <word>::=<letter>|<letter><pairlet>|<letter><pairdig>
    <pairlet>::=<letter><letter>|<pairlet><letter><letter>
    <pairdig>::=<digit><digit>|<pairdig><digit><digit>
    <letter>::=a|b|c|...|y|z
    <digit>::=0|1|2|...|9
быть порождены следующие лексемы:

  1.  Все три может.
  2.  Только (2) и (3)
  3.  Только (1) и (3)
  4.  Только (1) и (2)
  5.  Нет, этих лексем породить не может

Question 3

Какие обьекты СУБД обычно получают параметры от приложения и возвращают некий код результата выполнения?

  1.  triggers
  2.  segments
  3.  constraints
  4.  stored procedures
  5.  cursors

Question 4

Пусть P - рекурсивная процедура. Если гарантируется, что P рано или поздно завершает работу, то какие утверждения верны?

  1.  только (1)
  2.  только (2) и (3)
  3.  все верно.
  4.  только (1) и (2)
  5.  только (2)

Question 5

Приведенная C-программа

    #include <stdio.h>
    main()
    {
        float sum=0.0, j=1.0, i=2.0;
        while (i/j>0.001)
        {
            j=j+j;
            sum=sum+i/j;
            printf("%f \n",sum);
        }
    }
напечатает следующее количество строчек:
  1.  10-19
  2.  20-29
  3.  30-39
  4.  0-9
  5.  >39