База ответов ИНТУИТ

Основы программирования

<<- Назад к вопросам

Пусть A = A(x) —некоторое условие, зависящее только отзначения переменной x.Указать, чему может быть равно значение переменной yв результате выполнения следующего фрагмента программы:
x := 1;y := 1;цикл пока A(x)| . . .| если y < 0| | то| |   x := 2;| |   y := 10;| | иначе| |   x := 1;| |   y := 20;| конец есликонец цикла

(Отметьте один правильный вариант ответа.)

Варианты ответа
Значение y равно 1 или 20. (Верный ответ)
Значение y равно 1 или 10.
Значение y может быть равным любому из чисел 1, 10, 20.
Похожие вопросы
Указать, чему может быть равно значение переменной zв результате выполнения следующего фрагмента программы:
z := 0;цикл пока x < y| . . .| если z > 100| | то| |   z := 10; x := y;| | иначе| |   z := 20; x := y - 1;| конец есликонец цикла
Чему равно значение целочисленной переменной xв результате выполнения приведенного ниже фрагмента программы?
x := 64;цикл пока x*x > 100| x := -(x / 2);конец цикла
Чему равно значение целочисленной переменной xв результате выполнения приведенного ниже фрагмента программы?
x := 1;цикл пока x < 11| x := -2*x + 11;конец цикла
Чему равно значение целочисленной переменной xв результате выполнения приведенного ниже фрагмента программы?
x := 1;цикл пока x < 100| x := -(x * 2);конец цикла
Рассмотрим следующий фрагмент программы, вычисляющейчастное q и остаток r от деленияцелых чисел a, b:
  дано: целые числа a >= 0, b > 0  цел q, r, e, m;  q := 0; r := a; e := 1; m := b  цикл пока r >= b  | если 2*m <= r  | | то e := e*2; m := m*2;  | иначе если m > r  | | то e := e/2; m := m/2;  | иначе  | | утверждение: m <= r  и  r < 2*m  | | q := q + e; r := r - m;  | конец если  конец цикла  // q и r -- частное и остаток от деления a на b
Какое условие является инвариантом цикла?
Рассмотрим следующий фрагмент программы:
утверждение: A(x)цикл пока B(x)| инвариант: A(x)| x := T(x)конец цикла
Здесь через A(x) и B(x)обозначены условия, зависящие от переменной x.Какое условие выполняется по окончании цикла?
Указать, что произойдет с элементами массива aв результате выполнения следующего фрагмента программы:
вещ a[100]; вещ t; цел i;. . .i := 0;цикл пока i < 50| t := a[i];| a[i] := a[99 - i]; a[99 - i] := t;| i := i+1;конец цикла
Пусть описан тип R2Vector, представляющий векторна плоскости с вещественными координатами:
    typedef struct {        double x;        double y;    } R2Vector;
также описаны три переменные u, v и wтипа вектор и вещественная переменная s:
    R2Vector u, v, w;    double s;
при этом переменная u содержат конкретный векторединичной длины. Указать, чему будетприблизительно равно значение переменной s врезультате выполнения следующего фрагмента программы:
    v.x = (-u.y);    v.y = u.x;    w.x = u.x + v.x;    w.y = u.y + v.y;    s = sqrt(w.x * w.x + w.y * w.y);
(функция sqrt извлекает квадратный корень из вещественногочисла).
Пусть a — целочисленный массив размера n(индекс элементов меняется от 0 до n-1),элементы которого строго возрастают:a[0] < a[1] <... < a[n-1].Определить, содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):
// Программа Поискдано: цел n;      цел a[n]; // a[0] < a[1] < ... < a[n-1]цел x;          // искомый элементцел b, e, c;. . .           // рассматриваются исключительные случаиутверждение: a[0] < x  и  x <= a[n-1];  // общий случайb := 0; e := n - 1;цикл пока e - b > 1| инвариант: a[b] < x  и  x <= a[e];| c := (b + e) / 2; // c -- целая часть (b+e)/2| если x < a[c]| | то    e := c;   // выбираем левую половину отрезка| | иначе b := c;   // выбираем правую половину отрезка| конец есликонец циклаутверждение: b == e - 1  и             a[b] < x  и  x <= a[e];
Указать, что произойдет с элементами массива aв результате выполнения следующего фрагмента программы:
вещ a[100]; цел i;. . .i := 0;цикл пока i < 99| a[i+1] := a[i];| i := i+1;конец циклаa[0] := a[99];