Рубрики

ВОРОТА | GATE-CS-2015 (набор 1) | Вопрос 19

Следующие две функции P1 и P2, которые совместно используют переменную B с начальным значением 2, выполняются одновременно.

P1() 
{ 
   C = B – 1; 
   B = 2*C;  
}

P2()
{
   D = 2 * B;
   B = D - 1; 
}

Число различных значений, которые B может принять после выполнения,
(А) 3
(Б) 2
(С) 5
(D) 4

Ответ: (А)
Объяснение: Существуют следующие способы, которыми могут следовать параллельные процессы.

 C = B – 1;   // C = 1
 B = 2*C;    // B = 2
 D = 2 * B;   // D  = 4
 B = D - 1;   // B  = 3


 C = B – 1;   // C = 1
 D = 2 * B;   // D = 4
 B = D - 1;   // B = 3
 B = 2*C;    // B = 2

 C = B – 1;  // C = 1
 D = 2 * B; // D =  4
 B = 2*C;  // B = 2
 B = D - 1;  // B = 3

 D = 2 * B; // D =  4
 C = B – 1;  // C = 1
 B = 2*C;  // B = 2
 B = D - 1;  // B = 3

 D = 2 * B; // D =  4
 B = D - 1;  // B = 3
 C = B – 1;  // C = 2
 B = 2*C;  // B = 4 

Есть 3 различных возможных значения B: 2, 3 и 4.

Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2015 (набор 1) | Вопрос 19

0.00 (0%) 0 votes